This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2024-02-28
Channels
- # announcements (1)
- # beginners (43)
- # calva (7)
- # clojure (48)
- # clojure-europe (19)
- # clojure-nl (1)
- # clojure-norway (24)
- # clojure-uk (4)
- # clojuredesign-podcast (4)
- # clojurescript (11)
- # conjure (15)
- # core-async (1)
- # cursive (1)
- # datomic (33)
- # events (1)
- # fulcro (2)
- # humbleui (21)
- # hyperfiddle (34)
- # introduce-yourself (1)
- # joyride (24)
- # lambdaisland (8)
- # lsp (3)
- # malli (30)
- # meander (2)
- # observability (5)
- # off-topic (2)
- # pathom (3)
- # polylith (26)
- # portal (5)
- # re-frame (28)
- # shadow-cljs (7)
- # spacemacs (2)
- # xtdb (6)
Has anyone ever written a VSCODE Language Extension for a DSL using Joyride? Is this even possible?
joyride is aimed a little scripts, not extensions that other people can install. For writing extensions I would just choose JS/TS, or CLJS (or #C03U8L2NXNC)
I'm new to this subject. I have designed a DSL, and a Clojure utility program that consumes files written in the DSL and generates C++ code. Some of my utility users want to be able to develop the DSL input files in VSCODE, and have all of the syntax highlighting and other features that an LSP for my DSL can provide. I hope that makes sense 🤓
yeah makes sense. well, clj-kondo + clojure-lsp do something similar, but neither of those are written in something that compiles to JavaScript
the thing is, if you have an lsp server, it kind of works out of the box with VSCode because you implement a protocol
VSCODE starts a platform-specific executable, and communicates with it via some protocol?
but for syntax highlighting I think you need something else. lsp is more for navigation, linting etc. I think if I were you I'd just follow the vscode docs and try to hack something in JS using their basic examples and then when you have something working migrate to CLJS These are the syntax highlighting docs https://code.visualstudio.com/api/language-extensions/syntax-highlight-guide
> VSCODE starts a platform-specific executable, and communicates with it via some protocol? Yes, but it can also be a Java process or JS process or whatever, doesn't have to be an executable
Thank you for the pointers, @U04V15CAJ, it sounds like this is going to be "fun" 😬
I'm not sure I do. I will probably need support different from Clojure when it comes to other things (e.g., completions)
I've done an lsp server for a custom-clojure once which has completions: https://github.com/zen-lang/zen-lsp