<Profpatsch>
aaronjanse: cool stuff! I’d love to maybe integrate it into lorri, if you want to make it available as rust library
<Profpatsch>
I’m still not quite clear about how composable lsp modes are
<Profpatsch>
e.g. if you can have multiple enabled like how emacs minor modes work
<Profpatsch>
or if you need some kind of lsp proxy
<aaronjanse>
I definitely plan to publish the LSP as a crate
<aaronjanse>
Should I also publish the underlying debugging evaluator thing, so it can be used without the LSP protocol wrapper?
<aaronjanse>
*publish as a crate. Of course I'll at least make it available on github :-)
<Profpatsch>
aaronjanse: yeaaaah, the evaluator part would be awesome
<Profpatsch>
I’d like to get some more features into lorri that don’t depend on modifying the C++ nix codebase
<Profpatsch>
Nix currently has 200 open PRs
<Profpatsch>
so I don’t have much hope of getting any changes upstream
<aaronjanse>
Makes sense
<Profpatsch>
but maybe I should bite the bullet at some point
<Profpatsch>
aaronjanse: maybe we should do it the other way around, you do nix-lsp and we add an optional lorri integration that talks to a lorri daemon if it is running
<Profpatsch>
like how you can add linters that are picked up if they are in PATH
<aaronjanse>
Ooh, that would be cool
<aaronjanse>
Yeah
<Profpatsch>
then the lsp part is strictly in one projct
<Profpatsch>
and lorri could use the eval lib as well, but only to implement some functionality about incremental building when files change
<Profpatsch>
e.g. to find all imported files to know which files to watch for an attribute
<aaronjanse>
It might make sense to just use the rnix parser directly if you're just looking for paths
<Profpatsch>
currently we instrument the file reading builtins to print nix trace messages, which we then parse from the nix stderr
<Profpatsch>
which is … eh
<aaronjanse>
Ahaha, yeah
<Profpatsch>
But also, going from an attribute to the closure of required files would be cool
<aaronjanse>
I'd like to clarify that it doesn't (yet?) support stuff like generating correct /nix/store paths, since I'm currently focusing on the analysis and debugging part
<aaronjanse>
Ooh. I should have the attribute -> required files thing later next week as part of an attempt to do reactive evaluation
<aaronjanse>
Assuming you want a list of files that an attribute's value depends on
<Profpatsch>
aaronjanse: yes, exactly, including source paths (if possible after builtins.filterSource) and stuff like builtins.readFile
__monty__ has joined #nix-lang
andremedeiros has quit [Read error: Connection reset by peer]
rajivr has quit [Quit: Connection closed for inactivity]
andremedeiros has joined #nix-lang
andremedeiros has quit [Read error: Connection reset by peer]
andremedeiros has joined #nix-lang
andremedeiros has quit [Read error: Connection reset by peer]
andremedeiros has joined #nix-lang
andremedeiros has quit [Read error: Connection reset by peer]
andremedeiros has joined #nix-lang
angerman has quit [Ping timeout: 250 seconds]
angerman has joined #nix-lang
andremedeiros has quit [Quit: ZNC 1.8.2 - https://znc.in]
andremedeiros has joined #nix-lang
__monty__ has quit [Quit: leaving]
andremedeiros has quit [Read error: Connection reset by peer]
andremedeiros has joined #nix-lang
andremedeiros has quit [Read error: Connection reset by peer]
andremedeiros has joined #nix-lang
Synthetica has quit [Quit: Connection closed for inactivity]