Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mattidragon/jsonpatchercode
VSCode extension for JsonPatcher language support
https://github.com/mattidragon/jsonpatchercode
Last synced: 19 days ago
JSON representation
VSCode extension for JsonPatcher language support
- Host: GitHub
- URL: https://github.com/mattidragon/jsonpatchercode
- Owner: MattiDragon
- License: mit
- Created: 2024-06-28T12:48:19.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-06-28T17:24:28.000Z (5 months ago)
- Last Synced: 2024-06-28T18:45:05.889Z (5 months ago)
- Language: TypeScript
- Homepage:
- Size: 1.37 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# JsonPatcher Language Support
This extension provides basic editor support for the language used in the [JsonPatcher minecraft mod](https://modrinth.com/mod/jsonpatcher).
## Features
This extension provides basic syntax highlighting as well as some language server features.
- Syntax highlighting
- Highlighting based on type of variable
- Error highlighting
- Unused variable detection
- Goto definition/references
- Only for variables and types in doc comments## Requirements
In order for the language server to work you need to install java 21 or later. The extension will automatically find java using the `JAVA_HOME` environment variable, but you can also manually configure a java executable in settings.
## Extension Settings
This extension has the following settings:
- `jsonpatcher.trace.server`: Control the amount of logging from the language server
- `jsonpatcher.java.location`: An override for the java executable used for the language server
- `jsonpatcher.java.options`: Addition VM options to pass to the language server
- `jsonpatcher.server.enabled`: Whether the language server is enabled
- `jsonpatcher.server.location`: An override for the location of the server jar
- `jsonpatcher.server.port`: The port that the server listens on## Known Issues and Limitations
Currently the language server only acts within one source file limiting it to resolving references within that file. I have plans to do basic resolution of cross file references using doc comments in the future.
The server also parses the full program key on each keystroke, which could result in bad performance for large files. Although in by simple testing it seems to be able to handle resonably large scripts in a few milliseconds.