Uses https://github.com/zigtools/zig-lsp-codegen to the fullest extent permissible by my smol brain. Make sure to periodically update the autogenerated bindings!
MIT
Microsoft's Language Server Protocol implemented in Zig for use in zls and beyond! <3
License: MIT License
Uses https://github.com/zigtools/zig-lsp-codegen to the fullest extent permissible by my smol brain. Make sure to periodically update the autogenerated bindings!
MIT
This issue entails the implementation / updating of all types to match the LSP spec rather than ZLS use-cases only.
$/cancelRequest
$/progress
$/
)initialize
initialized
shutdown
exit
logTrace
setTrace
window/
)showMessage
showMessageRequest
showDocument
logMessage
progress/create
progress/cancel
telemetry/
)event
client/
)registerCapability
unregisterCapability
workspace/
)workspaceFolders
didChangeWorkspaceFolders
didChangeConfiguration
configuration
didChangeWatchedFiles
symbol
executeCommand
applyEdit
textDocument/
)didOpen
didChange
willSave
willSaveWaitUntil
didSave
didClose
publishDiagnostics
textDocument/
)completion
+ resolvehover
signatureHelp
declaration
definition
typeDefinition
implementation
references
documentHighlight
documentSymbol
codeAction
+ resolvecodeLens
+ resolve + refreshdocumentLink
+ resolvedocumentColor
colorPresentation
formatting
rangeFormatting
onTypeFormatting
rename
prepareRename
foldingRange
selectionRange
prepareCallHierarchy
linkedEditingRange
moniker
@slimsag ๐ญ๐ญ๐ญ
Responses need to be deserializable so LSP clients can be implemented with this library.
Depends on a subset of #2.
Some request results have slices, like textDocument/hover
's MarkupContent.
When using lsp.Connection
, the signature is
pub fn @"textDocument/hover"(conn: *Connection, id: lsp.types.RequestId, params: lsp.types.HoverParams) !lsp.types.Hover
If I set up an arena allocator inside the implementation, the memory returned becomes invalid. Is there a simple way to do this without leaking memory?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.