We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent ec65cf2 commit 9b2e5c5Copy full SHA for 9b2e5c5
plugin/nix.vim
@@ -0,0 +1,23 @@
1
+function! nix#find_drv_position()
2
+ let line = search("description")
3
+ if line == 0
4
+ let line = search("name")
5
+ endif
6
7
+ echo "error: could not find derivation"
8
+ return
9
10
+
11
+ return expand("%") . ":" . line
12
+endfunction
13
14
+function! nix#edit(attr)
15
+ let output = system("nix-instantiate --eval ./. -A " . a:attr . ".meta.position")
16
+ if match(output, "^error:") == -1
17
+ let position = split(split(output, '"')[0], ":")
18
+ execute "edit " . position[0]
19
+ execute position[1]
20
21
22
23
+command! -bang -nargs=* NixEdit call nix#edit(<q-args>)
0 commit comments