{"id":13772081,"url":"https://github.com/pest-parser/pest-ide-tools","last_synced_at":"2025-04-30T14:10:05.472Z","repository":{"id":66091074,"uuid":"600435172","full_name":"pest-parser/pest-ide-tools","owner":"pest-parser","description":"IDE tools for writing pest grammars, using the Language Server Protocol for Visual Studio Code, Vim and other editors","archived":false,"fork":false,"pushed_at":"2024-09-09T02:54:44.000Z","size":11420,"stargazers_count":49,"open_issues_count":18,"forks_count":8,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-10-29T14:22:29.474Z","etag":null,"topics":["extension","ide","language-server","language-server-protocol","lsp","pest","vim","vscode","vscode-extension"],"latest_commit_sha":null,"homepage":"https://pest.rs","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pest-parser.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-11T13:41:55.000Z","updated_at":"2024-10-10T09:13:34.000Z","dependencies_parsed_at":"2023-12-09T22:20:21.440Z","dependency_job_id":"e4251297-bb98-47e8-aefa-2d5bf816a6b3","html_url":"https://github.com/pest-parser/pest-ide-tools","commit_stats":{"total_commits":115,"total_committers":6,"mean_commits":"19.166666666666668","dds":"0.26086956521739135","last_synced_commit":"6344e2a0fdb4af42dfdc106980fe730b818204c5"},"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pest-parser%2Fpest-ide-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pest-parser%2Fpest-ide-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pest-parser%2Fpest-ide-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pest-parser%2Fpest-ide-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pest-parser","download_url":"https://codeload.github.com/pest-parser/pest-ide-tools/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243510126,"owners_count":20302295,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["extension","ide","language-server","language-server-protocol","lsp","pest","vim","vscode","vscode-extension"],"created_at":"2024-08-03T17:00:59.724Z","updated_at":"2025-03-14T02:07:05.902Z","avatar_url":"https://github.com/pest-parser.png","language":"Rust","funding_links":[],"categories":["Tooling"],"sub_categories":["IDE Support"],"readme":"# Pest IDE Tools\n\n_IDE support for [Pest](https://pest.rs), via the LSP._\n\nThis repository contains an implementation of the _Language Server Protocol_ in\nRust, for the Pest parser generator.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"demo.gif\" alt=\"A demo of the Pest VSCode extension.\" /\u003e\n\u003c/p\u003e\n\n## Features\n\n- Error reporting.\n- Warnings for unused rules.\n- Syntax highlighting definitions available.\n- Rename rules.\n- Go to rule declaration, definition, or references.\n- Hover information for built-in rules and documented rules.\n- Autocompletion of rule names.\n- Inline and extract rules.\n- Full-unicode support.\n- Formatting.\n- Update checking.\n\nPlease see the\n[issues page](https://github.com/pest-parser/pest-ide-tools/issues) to suggest\nfeatures or view previous suggestions.\n\n## Usage\n\nYou can find documentation on how to set up the server for in the `DOCS.md`\nfile.\n\n### Supported IDEs\n\n- [Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=pest.pest-ide-tools)\n  - VSCode has a pre-built extension that can compile, update, and start up the\n    language server. It also includes syntax highlighting definitions.\n  - The extension is also available on [OpenVSX](https://open-vsx.org/extension/pest/pest-ide-tools)\n- Sublime Text\n  - Sublime Text packages can be obtained from [the latest release](https://github.com/pest-parser/pest-ide-tools/releases/latest)\n- Vim\n  - Vim support is provided via the [pest.vim](https://github.com/pest-parser/pest.vim) package.\n- Zed\n  - Zed support is provided via the [Zed Pest extension](https://github.com/pest-parser/zed-pest).\n\nDue to the usage of the LSP by this project, adding support for new IDEs should\nbe far more achievable than a custom implementation for each editor. Please see\nthe [tracking issue](https://github.com/pest-parser/pest-ide-tools/issues/10) to\nrequest support for another IDE or view the current status of IDE support.\n\n## Development\n\nThis repository uses a [Taskfile](https://taskfile.dev); install the `task`\ncommand for a better experience developing in this repository.\n\nThe task `fmt-and-lint` can be used to check the formatting and lint your code\nto ensure it fits with the rest of the repository.\n\nIn VSCode, press `F5` to build and debug the VSCode extension. This is the only\nmethod of debugging that we have pre set-up.\n\n### Architecture\n\nThe server itself is implemented in Rust using `tower-lsp`. It communicates with\neditors via JSON-RPC through standard input/output, according to the language\nserver protocol.\n\n### Contributing\n\nWe appreciate contributions! I recommend reaching out on Discord (the invite to\nwhich can be found at [pest.rs](https://pest.rs)) before contributing, to check\nwith us.\n\n## Credits\n\n- [OsoHQ](https://github.com/osohq), for their\n  [blog post](https://www.osohq.com/post/building-vs-code-extension-with-rust-wasm-typescript),\n  and open source code which was used as inspiration.\n- [Stef Gijsberts](https://github.com/Stef-Gijsberts) for their\n  [Pest syntax highlighting TextMate bundle](https://github.com/Stef-Gijsberts/pest-Syntax-Highlighting-for-vscode)\n  which is used in this extension under the MIT license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpest-parser%2Fpest-ide-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpest-parser%2Fpest-ide-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpest-parser%2Fpest-ide-tools/lists"}