Skip to content

Commit 9b2e5c5

Browse files
committed
add NixEdit command to naviage nixpkgs by attribute name
1 parent ec65cf2 commit 9b2e5c5

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

plugin/nix.vim

+23
Original file line numberDiff line numberDiff line change
@@ -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+
if line == 0
7+
echo "error: could not find derivation"
8+
return
9+
endif
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+
endif
21+
endfunction
22+
23+
command! -bang -nargs=* NixEdit call nix#edit(<q-args>)

0 commit comments

Comments
 (0)