This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-06-16
Channels
- # announcements (2)
- # beginners (25)
- # calva (50)
- # cider (33)
- # clj-kondo (46)
- # cljs-dev (5)
- # cljsrn (23)
- # clojure (34)
- # clojure-dev (5)
- # clojure-russia (2)
- # clojure-spec (29)
- # clojurescript (11)
- # datomic (3)
- # docker (2)
- # duct (1)
- # emacs (11)
- # fulcro (15)
- # jobs-discuss (47)
- # off-topic (11)
- # om (2)
- # pathom (6)
- # re-frame (9)
- # reitit (4)
- # remote-jobs (1)
- # shadow-cljs (105)
- # spacemacs (4)
- # tools-deps (6)
- # xtdb (4)
@slack1038 can you merge latest upstream and see if my patch for fixing a bug with .bat
executables on windows doesn’t mess anything new up?
If anyone would want to test this package before I publish it, I would be much more comfortable. (Or more informed, in case there is something funny with it.)
The change I made was to blindly guess where the error @brandon.ringe reported yesterday had crept in. In jack-in.ts where we check for integrated terminal setting. I think it was undefined/null on @brandon.ringe's machine and then the endsWith crashed.
@minhnhat10bk can you try this build for me? I added a keyboard shortcut to the repl window for clearing it, ctrl+l
(that’s lowercase L
). There is no undo… Please tell me what you think about it.
Cool. I'll double check the code some to make sure I'm not doing something too stupid. But you can run with that build until it is published. 😀
I have a trick to work with repl window is vscode cmd focus editor group
(map it to some key) so I can switch between repl and editor
Very cool. I have my finger on the eviction trigger for Calva's linter. Will instead bundle this one with Calva. But it'll be something to decide about together @marc-omorain
@U04V15CAJ the big question is how should I invoke clj-kondo? I’m current doing this: https://github.com/marcomorain/clojure-lint/blob/de399b6fba3931649113b66754ac1dbd09d6ed42/src/extension.ts#L34
I need to add a cache directory, and somehow merge the JSON setting into the users config file somehow.
@marc-omorain I think I would add --cache
to the args and let the users make a .clj-kondo
directory in the root of their projects. That’s how I do it in emacs.
The cache needs to be unique for each project, or you can get namespace conflicting things in there
If clj-kondo can’t find a .clj-kondo
directory, clj-kondo just won’t use the cache, so it’s pretty harmless
To merge the JSON setting, I’m thinking of the following (I might be over cooking this)
- find the closest .clj-kondo working up the directory hierarchy
- load the config.edn if one exists
- assoc in the JSON setting to ensure that it’s true.
- serialize the new settings to an edn string
- pass —config
with the serialized edn string
btw, the JSON output is amazing
that also already works, since the --config
arg is prioritized over the .clj-kondo/config.edn
I can deserialize the JSON directly to this interface: https://github.com/marcomorain/clojure-lint/blob/de399b6fba3931649113b66754ac1dbd09d6ed42/src/extension.ts#L14
Yeah, it means that I don’t need to parse or validate anything.
And no regex 😭
I noticed that VSCode renders :info
as an error.
You can add that case here:
https://github.com/marcomorain/clojure-lint/blob/de399b6fba3931649113b66754ac1dbd09d6ed42/src/extension.ts#L64
I currently emit one linter at the :info
level, which is the unresolved symbols linter
FWIW I've discovered that the REPL window can get a bit sluggish and wonky when I paste in large values (was just working with lists of around 600 vectors, each with 18 small integers). Pasting can take many seconds, etc. I'm guessing this is just a fact of life but I thought I'd mention it in case there's something that could easily address it