zen-lang / zen-lsp Goto Github PK
View Code? Open in Web Editor NEWLSP for zen
LSP for zen
Created the initial setup for the zen-lsp server.
@niquola Let's create some more issues to work on next. We could start with some simple linting for single files or index a project (need more info how this should work) first and then do some linting.
We can start here:
:ns
and :symbols
and this can be used for autocompletionsPossible improvements:
[:foo bar baz]
into the EDNWe need more smart-autocompletion, depending on context.
I'll leave this to @niquola.
It has zen.core/read-ns to process import, which uses clojure.java.io/resource to locate files, (thus it searches in classpath)
Example clojure test with the expected errors: zen-lsp-test.tar.gz
If opened in vscode with zen-lsp plugin, more errors found than expected
Right now it was implemented quickly with (CompletedFuture value)
but this is synchronous.
@niquola I'd like to write some unit tests for this part of the code:
zen-lsp/server/src/zen_lang/lsp_server/impl/server.clj
Lines 109 to 138 in 38037ae
In the tests we can capture the correct behavior given a path + text (EDN string) and the expected lint warnings (and expected locations).
Currently I've been experimenting with this bit of code:
which seems to work well, but as we make changes, tests will ensure that it will remain working.
Therefore I need more test cases + expected outputs.
Also provide the last valid namespace (hash-map).
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.