Got this when starting my work project today: > [Error - 10:05:07 AM] Starting client failed > Launching server using command /Users/peter/.vscode/extensions/betterthantomorrow.calva-2.0.197/clojure-lsp_backup failed. Is this something anyone else has seen as well?
Reloading the window worked.
Never saw this clojure-lsp_backup 😅 maybe a Calva thing?
Yeah, this is the Calva channel, after all. 😃 @brandon.ringe can probably tell us what the _backup
is about.
Not sure why the backup failed to launch, but here's the deal with the backup (from the PR): > Before downloading a new version, the current version of clojure-lsp is backed up. If the download fails, the backup is used
Just a redundancy measure
Is it possible to use Calva on languages other than Clojure, without associating file extensions of that language with Clojure? In my particular case, I'd like to try Calva on Fennel. The language is different from Clojure, but it's a LISP as well, so I'm wondering whether I'll be better off with Calva than with plain text editing.
Oh, I don't plan on using REPL at all. Given that I'm using it with Awesome WM, the REPL setup would have to be quite something to make it work, maybe even some modifications to Awesome WM will have to be made.
Maybe factor things so that some of the code can be developed with the REPL? Sounds awful not to have a REPL! 😃
Not that awful, given that it's just thousands of lines of config. Except for just a handful of things, it's mostly calling Awesome WM Lua functions with specific arguments.
E.g. a very typical code:
(local tag-global-keys
;; Bind all key numbers to tags.
;; Be careful: we use keycodes to make it work on any keyboard layout.
;; This should map on the top row of your keyboard, usually 1 to 9.
(let [t {}]
(for [i 1 (math.min 9 (length tags))]
(let [b (.. "#" (+ i 9))]
(-> t
(add-key! [modkey] (.. "#" (+ i 9))
(fn []
(let [s (awful.screen.focused)]
(-?> (. s.tags i) switch-to-tag)))
{:description (.. "view tag #" i) :group :tag})
(add-key! [modkey :Control] b
(fn []
(let [s (awful.screen.focused)]
(-?> (. s.tags i) awful.tag.viewtoggle)))
{:description (.. "toggle tag #" i) :group :tag})
(add-key! [modkey :Shift] b
(fn []
(match client.focus
c (-?> (. c.screen.tags i) c:move_to_tag)))
{:description (.. "move focused client to tag #" i) :group :tag})
(add-key! [modkey :Control :Shift] b
(fn []
(match client.focus
c (-?> (. c.screen.tags i) c:toggle_tag)))
{:description (.. "toggle focused client on tag #" i) :group :tag}))))
t))
Interesting lang. I never worked with Lua, but I remember seeing things about writing game plugins/extension (like for World of Warcraft). It's cool that you can use something very close to Clojure now for things like that.
Hi. I think the file extensions of that language would need to be associated with Calva, at least, for it to activate for those files. However, I'm not sure if Calva would work well for another language, even if it's a lisp. I'm guessing you're looking for features like formatting and syntax highlighting. If those things were attempted to be used from Calva with another lisp, I'd imagine they'd be a bit buggy at best. I'm curious what @pez has to say here.
I'm looking for formatting and paredit. Syntax highlighting is delivered by another extension. Not sure which one would "win" here though. Yes, I understand that. My point is that exactly of testing it - it might be buggy to the extent where it's still worth it.
If you run Calva in development mode, you can try to modify package.json so that Calva activates also for Fennel files, w/o associating it with the Clojure language. Just to see what happens. I’m thinking that then the Clojure syntax highlight shouldn’t kick in.
Thanks! I'll poke around.
Beyond that it will be a matter of how much special syntax Fennel has. And also a matter of how much we check for clojure file type…
There is a setting for hiding the REPL Ui.