|
| 1 | +--- |
| 2 | +title: "Introducing the YARA language server" |
| 3 | +description: "Introducing an official Language Server for YARA, implemented on top of YARA-X" |
| 4 | +summary: "" |
| 5 | +date: 2026-02-03T00:00:00+01:00 |
| 6 | +lastmod: 2026-02-03T00:00:00+01:00 |
| 7 | +draft: false |
| 8 | +weight: 50 |
| 9 | +categories: [ ] |
| 10 | +tags: [ ] |
| 11 | +contributors: [ "Victor M. Alvarez" ] |
| 12 | +pinned: false |
| 13 | +homepage: false |
| 14 | +seo: |
| 15 | + title: "" # custom title (optional) |
| 16 | + description: "" # custom description (recommended) |
| 17 | + canonical: "" # custom canonical URL (optional) |
| 18 | + noindex: false # false (default) or true |
| 19 | +--- |
| 20 | +From the very beginning of the YARA-X project, our goal was not only to modernize the YARA engine itself but also to |
| 21 | +revolutionize the entire experience of writing YARA rules. We knew that performance and expressiveness were critical, |
| 22 | +but we also recognized that the day-to-day workflow of security researchers and developers needed a significant |
| 23 | +upgrade. Today, we are thrilled to announce a major step towards that vision: the official YARA-X Language Server. |
| 24 | + |
| 25 | +### What is a Language Server? |
| 26 | + |
| 27 | +For those unfamiliar with the term, a Language Server is a dedicated background process that acts as a "brain" for |
| 28 | +a specific language. Your favorite code editor (like VS Code, Sublime Text, or Vim) communicates with this server |
| 29 | +to provide intelligent, context-aware features. This approach, based on the Language Server Protocol (LSP), means |
| 30 | +that we can build a single, powerful engine for YARA-X and have it work across a wide range of editors without |
| 31 | +having to write a new extension from scratch for each one. |
| 32 | + |
| 33 | +### A Smarter Way to Write YARA Rules |
| 34 | + |
| 35 | +So, what does the YARA-X Language Server mean for you? Here are some of the key features available today: |
| 36 | + |
| 37 | +* **Real-time Diagnostics:** Say goodbye to the slow feedback loop of writing a rule, saving it, and running |
| 38 | + it through a compiler only to find a simple syntax error. The language server analyzes your code as you type, |
| 39 | + highlighting mistakes and providing descriptive errors on the fly. |
| 40 | + |
| 41 | +* **Advanced Autocompletion:** The server provides intelligent suggestions for module identifiers |
| 42 | + (e.g., `pe.`, `cuckoo.`), keywords, and more. This not only speeds up your writing but also helps you discover |
| 43 | + the rich features available in YARA-X without constantly referencing documentation. |
| 44 | + |
| 45 | +* **Go to Definition:** Working with large, complex rule sets that span multiple files? You can now instantly jump |
| 46 | + to the definition of a rule or pattern, making it easier to navigate and understand your rules. |
| 47 | + |
| 48 | +* **Automatic Formatting:** Keep your YARA rules consistent and clean with automatic code formatting. The language |
| 49 | + server can automatically format your code according to best practices, saving you time and ensuring readability. |
| 50 | + |
| 51 | + |
| 52 | + |
| 53 | +### Get Started Today |
| 54 | + |
| 55 | +The YARA-X Language Server is now available for Visual Studio Code. It's currently in beta, but you can install |
| 56 | +it from the [Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=virustotal.yara-x-ls) and |
| 57 | +start using it already. |
| 58 | + |
| 59 | +This is just the beginning. We plan to continue enhancing the language server with more powerful features, and we |
| 60 | +encourage the community to integrate it with other editors. |
| 61 | + |
| 62 | +We are incredibly excited to get this into your hands. Try it out, and let us know what you think by opening an |
| 63 | +issue on our [GitHub repository](https://github.com/VirusTotal/yara-x). Happy hunting! |
0 commit comments