Skip to main content

No project description provided

Project description

An implementation of the Language Server Protocol for the YARA pattern matching language

https://microsoft.github.io/language-server-protocol/

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yara-language-server-0.0.4.tar.gz (22.4 kB view details)

Uploaded Source

Built Distribution

yara_language_server-0.0.4-py3-none-any.whl (29.8 kB view details)

Uploaded Python 3

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

Hashes for yara-language-server-0.0.4.tar.gz
Algorithm Hash digest
SHA256 3923dd8e664d724cf05b54a8995749fc84f50045d9ae1e8bbfcd127945e8c141
MD5 ec9d60756aab244092eafc74dfd9c1d1
BLAKE2b-256 9254d00bb12084f6a519a6f9488b7ae91af45b3346386602f0be8c2b2cc2cb19

See more details on using hashes here.

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

Hashes for yara_language_server-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 c1c8df52092afa8ed2c1cc43995c1c4c38fef73cf84d8df12fe3f6b9e5f2f3c0
MD5 fb82f5c99924a03760b7bac2ae889d31
BLAKE2b-256 0542a68414575ef909d08e003f3a48b232e385ff4a55cca9964760259bc639f4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page