| 29 May 2023 |
Yingchi Long | Hello guys! I would like to migrate my recently wrote language server (WIP) into nix-community incubator https://github.com/inclyc/nixd . I've sent emails to administrators, and what should I do now?π | 10:52:23 |
| 30 May 2023 |
daxvena | oh i'm not sure, but wow this looks amazing Yingchi Long!! | 00:19:10 |
daxvena | i'm guessing the support for cross-file analysis doesn't do dataflow analysis to infer function argument types from usage? if it did that would be magical, but even if not, this project looks really cool! i'll definitely have to check it out! | 00:19:33 |
daxvena | * i'm guessing the support for cross-file analysis doesn't do dataflow analysis to infer function argument types from usage? if it did that would be magical, but even with that, this project looks really cool! i'll definitely have to check it out! | 00:19:58 |
daxvena | * i'm guessing the support for cross-file analysis doesn't do dataflow analysis to infer function argument types from usage? if it did that would be magical, but even without that, this project looks really cool! i'll definitely have to check it out! | 00:20:10 |
Yingchi Long | In reply to @daxvena:matrix.org i'm guessing the support for cross-file analysis doesn't do dataflow analysis to infer function argument types from usage? if it did that would be magical, but even without that, this project looks really cool! i'll definitely have to check it out! Well, this basic idea is, nixd allow you configure a global installable which has exactly same argument as nix eval. For each evaluation, we inject nix parsing & eval cache with our own AST structure that tracing eval information. If the file is a lambda (e.g. nixos modules), it will be evaluated with real arguments, and we can know which argument is passed to it. Generally lambdas could be invoked many times, nixd stores the lastest information. | 01:42:49 |
daxvena | oh ok!! so it doesn't merge each possible call, but that sounds way better than nothing!! that sounds amazing! | 01:43:58 |
Yingchi Long |  Download Screenshot_20230528_124426_20230530094521.png | 01:45:39 |
Yingchi Long |  Download Screenshot_20230528_124528_20230530094524.png | 01:45:44 |
daxvena | that's really cool! i've been wanting this so badly π
| 01:46:43 |
Yingchi Long | In reply to @daxvena:matrix.org that's really cool! i've been wanting this so badly π
For example you can inspect real arguments for callPackage & nixosModule? | 01:47:54 |
Yingchi Long | AST injections now is generally pure magics. We have our own classes inherited from nix itself, and override its `eval` method.
https://github.com/inclyc/nixd/blob/2ee1ef796dd6dd5f0bc8cc4a3bc804972018c973/lib/nixd/include/nixd/CallbackExpr.h#L21
https://github.com/inclyc/nixd/blob/2ee1ef796dd6dd5f0bc8cc4a3bc804972018c973/lib/nixd/src/CallbackExpr.cpp#L41 | 01:50:43 |
Yingchi Long | * AST injections now are generally pure magics. We have our own classes inherited from nix itself, and override its `eval` method.
https://github.com/inclyc/nixd/blob/2ee1ef796dd6dd5f0bc8cc4a3bc804972018c973/lib/nixd/include/nixd/CallbackExpr.h#L21
https://github.com/inclyc/nixd/blob/2ee1ef796dd6dd5f0bc8cc4a3bc804972018c973/lib/nixd/src/CallbackExpr.cpp#L41 | 01:51:00 |
daxvena | i really like how it's pick-backing off of the existing nix library rather than rewriting a parser & ast from scratch | 01:55:11 |
daxvena | * i really like how it's piggybacking off of the existing nix library rather than rewriting a parser & ast from scratch | 01:55:19 |
daxvena | Yingchi Long: it looks like you should post in the discussion form to get to request to add it to the organization: https://nix-community.org/contact/ | 02:28:01 |
daxvena | * Yingchi Long: it looks like you should post in the discussion forum to get to request to add it to the organization: https://nix-community.org/contact/ | 02:28:15 |
Yingchi Long | In reply to @daxvena:matrix.org Yingchi Long: it looks like you should post in the discussion forum to get to request to add it to the organization: https://nix-community.org/contact/ Thanks :). Posted https://github.com/orgs/nix-community/discussions/611 | 03:03:19 |
Yingchi Long | Also created a project specific discussion room: https://matrix.to/#/#nixd:matrix.org | 03:03:56 |
adisbladis | Yingchi Long: Nice project! I could help you get onboarded to the nix-community org. What we need to do first is to send you an invite to the org so you can transfer the repo. | 03:20:45 |
adisbladis | Yingchi Long: I sent you an invite. | 03:23:03 |
adisbladis | If you don't see the email you can go to https://github.com/nix-community and click the banner that pops up | 03:23:53 |
Yingchi Long | In reply to @adis:blad.is Yingchi Long: I sent you an invite. Thanks! Joinedπ | 03:27:49 |
Yingchi Long |  Download Screenshot_20230530_133052.png | 05:31:28 |
Yingchi Long | Implemented attribute set completion :) | 05:31:45 |
Ilan Joselevich (Kranzes) | I don't think we have that in nil yet | 06:28:12 |
Ilan Joselevich (Kranzes) | well we do, just not for pkgs | 06:28:44 |
Yingchi Long | In reply to @adis:blad.is Yingchi Long: Nice project! I could help you get onboarded to the nix-community org. What we need to do first is to send you an invite to the org so you can transfer the repo. I've transferred the ownership to nix-community/nixd π₯°. What should I do now? | 06:30:30 |
Ilan Joselevich (Kranzes) | In reply to @inclyc:matrix.org I've transferred the ownership to nix-community/nixd π₯°. What should I do now? Lose all access to the repo /s | 07:06:47 |
Ilan Joselevich (Kranzes) | But seriously, you just need to be put on a team in the github org | 07:07:05 |