No project description provided
Project description
- An implementation of the Language Server Protocol for the YARA pattern matching language
Home-page: https://ch0mler.github.io/yara-language-server/ Author: ch0mler Author-email: thomas@infosec-intern.com License: Apache 2.0 Download-URL: https://github.com/ch0mler/yara-language-server Description: # YARA Language Server
![build_badge](https://github.com/ch0mler/yara-language-server/workflows/build/badge.svg)
An implementation of the Language Server Protocol for the YARA pattern-matching language.
## Features
### Code Completion
Provides completion suggestions for standard YARA modules, including pe, elf, math, and all the others available in the official documentation: http://yara.readthedocs.io/en/latest/modules.html
### Diagnostics
The extension will compile workspace rules in the background and return errors and warnings as you type.
### Definition Provider and Peeking
Allows peeking and Ctrl+clicking to jump to a rule definition. This applies to both rule names and variables.
### Formatter Provider
Reformats YARA rules using the [plyara](https://github.com/plyara/plyara) library.
### Hover Provider
Allows viewing a variable’s value by hovering over it in the condition rule. Does not work for wildcards.
### Reference Provider
Shows the locations of a given symbol (rule name, variable, constant, etc.).
### Rename Provider
Allows user to rename a symbol within a rule without manually changing every instance of that symbol.
## Requirements Python 3.7 or higher is required due to the heavy use of the asyncio library and specific APIs available only since v3.7.
If plyara is installed, documents can be automatically re-formatted according to the package’s rebuild_yara_rule utility.
In addition, yara-python should be installed. If it is not installed, Diagnostics and Compile commands will not be available.
Note: If you are on Windows, you might have to set the $INCLUDE environment variable before building this environment, so that when yara-python is compiled for your local system, Python knows where to find the appropriate DLLs. On Windows 10, this would probably look like: `sh set INCLUDE="C:\Program Files (x86)\Windows Kits\10\Include" && python3 -m pip install -r requirements.txt `
## Problems? If you encounter an issue, please feel free to create an issue or pull request!
## YARA Documentation * [YARA Documentation](https://yara.readthedocs.io/)
## Language Server Protocol * [JSON RPC Specification](https://www.jsonrpc.org/specification) * [Language Server Protocol Specification](https://microsoft.github.io/language-server-protocol/specification) * [VSCode Example Language Server](https://code.visualstudio.com/docs/extensions/example-language-server)
Platform: UNKNOWN Classifier: Development Status :: 3 - Alpha Classifier: Programming Language :: Python :: 3.7 Classifier: License :: OSI Approved :: Apache Software License Provides: yarals Requires-Python: >=3.7 Description-Content-Type: text/markdown
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file yara-language-server-0.0.4.tar.gz
.
File metadata
- Download URL: yara-language-server-0.0.4.tar.gz
- Upload date:
- Size: 22.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.7.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3923dd8e664d724cf05b54a8995749fc84f50045d9ae1e8bbfcd127945e8c141 |
|
MD5 | ec9d60756aab244092eafc74dfd9c1d1 |
|
BLAKE2b-256 | 9254d00bb12084f6a519a6f9488b7ae91af45b3346386602f0be8c2b2cc2cb19 |
File details
Details for the file yara_language_server-0.0.4-py3-none-any.whl
.
File metadata
- Download URL: yara_language_server-0.0.4-py3-none-any.whl
- Upload date:
- Size: 29.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.7.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1c8df52092afa8ed2c1cc43995c1c4c38fef73cf84d8df12fe3f6b9e5f2f3c0 |
|
MD5 | fb82f5c99924a03760b7bac2ae889d31 |
|
BLAKE2b-256 | 0542a68414575ef909d08e003f3a48b232e385ff4a55cca9964760259bc639f4 |