diff --git a/.github/packaging/specs-completion.zsh b/.github/packaging/specs-completion.zsh new file mode 100644 index 0000000..1d49994 --- /dev/null +++ b/.github/packaging/specs-completion.zsh @@ -0,0 +1,17 @@ +#compdef specs + +_specs() { + local cur prev + local -a completions + + cur="${words[CURRENT]}" + prev="${words[CURRENT-1]}" + + # Call specs-autocomplete and capture newline-separated results + completions=("${(@f)$(specs-autocomplete specs "$cur" "$prev")}") + + compadd -- $completions +} + +_specs "$@" + diff --git a/specs/src/setup.py b/specs/src/setup.py index 654c6b8..77c9cff 100644 --- a/specs/src/setup.py +++ b/specs/src/setup.py @@ -242,10 +242,12 @@ def python_search(arg): install_mac: $(EXE_DIR)/specs specs.1.gz cp $(EXE_DIR)/specs /usr/local/bin/ + cp $(EXE_DIR)/specs-autocomplete /usr/local/bin/ /bin/rm */*.d $(MKDIR_C) /usr/local/share/man/man1 cp specs.1.gz /usr/local/share/man/man1/ /bin/rm specs.1.gz + cp ../../.github/packaging/specs-completion.zsh /usr/local/share/zsh/site-functions/_specs install_linux: $(EXE_DIR)/specs specs.1.gz cp $(EXE_DIR)/specs /usr/local/bin/ diff --git a/specs/src/test/specs-autocomplete.cc b/specs/src/test/specs-autocomplete.cc index b9a9b11..557842d 100644 --- a/specs/src/test/specs-autocomplete.cc +++ b/specs/src/test/specs-autocomplete.cc @@ -172,7 +172,7 @@ int main(int argc, char** argv) try { cursorPos = std::stoul(safe); } catch (const std::exception&) {} } safe = getenv("COMP_TYPE"); - char type = '\t'; + char type = '?'; if (safe) { try { type = char(std::stoi(safe)); } catch (const std::exception&) {} }