7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
# File 'lib/na/prompt.rb', line 7
def prompt_hook(shell)
case shell
when :zsh
cmd = if NA.global_file
case NA.cwd_is
when :project
'na next --proj $(basename "$PWD")'
when :tag
'na tagged $(basename "$PWD")'
else
NA.notify("#{NA.theme[:error]}When using a global file, a prompt hook requires `--cwd_as [tag|project]`", exit_code: 1)
end
else
'na next'
end
" # zsh prompt hook for na\n chpwd() { \#{cmd} }\n EOHOOK\n when :fish\n cmd = if NA.global_file\n case NA.cwd_is\n when :project\n 'na next --proj (basename \"$PWD\")'\n when :tag\n 'na tagged (basename \"$PWD\")'\n else\n NA.notify(\"\#{NA.theme[:error]}When using a global file, a prompt hook requires `--cwd_as [tag|project]`\", exit_code: 1)\n end\n else\n 'na next'\n end\n <<~EOHOOK\n # Fish Prompt Command\n function __should_na --on-variable PWD\n test -s (basename $PWD)\".\#{NA.extension}\" && \#{cmd}\n end\n EOHOOK\n when :bash\n cmd = if NA.global_file\n case NA.cwd_is\n when :project\n 'na next --proj $(basename \"$PWD\")'\n when :tag\n 'na tagged $(basename \"$PWD\")'\n else\n NA.notify(\"\#{NA.theme[:error]}When using a global file, a prompt hook requires `--cwd_as [tag|project]`\", exit_code: 1)\n end\n else\n 'na next'\n end\n\n <<~EOHOOK\n # Bash PROMPT_COMMAND for na\n last_command_was_cd() {\n [[ $(history 1|sed -e \"s/^[ ]*[0-9]*[ ]*//\") =~ ^((cd|z|j|jump|g|f|pushd|popd|exit)([ ]|$)) ]] && \#{cmd}\n }\n if [[ -z \"$PROMPT_COMMAND\" ]]; then\n PROMPT_COMMAND=\"eval 'last_command_was_cd'\"\n else\n echo $PROMPT_COMMAND | grep -v -q \"last_command_was_cd\" && PROMPT_COMMAND=\"$PROMPT_COMMAND;\"'eval \"last_command_was_cd\"'\n fi\n EOHOOK\n end\nend\n"
|