mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-12-24 18:53:51 +08:00
aa65856ee0
Before: * hand write arg parse * only accepts one suffix After: * use `arg_parse` to parse args * accepts multi suffixes Closes #9611.
124 lines
5.4 KiB
Fish
124 lines
5.4 KiB
Fish
# Pandoc completions written by David Sanson
|
|
# Copyright (c) 2018 David Sanson
|
|
# Licensed under the GNU General Public License version 2
|
|
|
|
set -l informats (pandoc --list-input-formats)
|
|
set -l outformats (pandoc --list-output-formats)
|
|
set -l highlight_styles (pandoc --list-highlight-styles)
|
|
set -l datadir $HOME/.pandoc
|
|
|
|
# Only suggest installed engines
|
|
set -l pdfengines
|
|
for engine in pdflatex lualatex xelatex latexmk tectonic wkhtmltopdf weasyprint pagedjs-cli prince context pdfroff
|
|
if type -q $engine
|
|
set pdfengines $pdfengines $engine
|
|
end
|
|
end
|
|
|
|
# options that take no arguments
|
|
complete -c pandoc -s p -l preserve-tabs
|
|
complete -c pandoc -l file-scope
|
|
complete -c pandoc -s s -l standalone
|
|
complete -c pandoc -l strip-comments
|
|
complete -c pandoc -l toc -l table-of-contents
|
|
complete -c pandoc -l no-highlight
|
|
complete -c pandoc -l self-contained
|
|
complete -c pandoc -l html-q-tags
|
|
complete -c pandoc -l ascii
|
|
complete -c pandoc -l reference-links
|
|
complete -c pandoc -l atx-headers
|
|
complete -c pandoc -s N -l number-sections
|
|
complete -c pandoc -l listings
|
|
complete -c pandoc -s i -l incremental
|
|
complete -c pandoc -l section-divs
|
|
complete -c pandoc -l natbib -l biblatex
|
|
complete -c pandoc -l dump-args
|
|
complete -c pandoc -l ignore-args
|
|
complete -c pandoc -l verbose
|
|
complete -c pandoc -l quiet
|
|
complete -c pandoc -l fail-if-warnings
|
|
complete -c pandoc -l bash-completion
|
|
complete -c pandoc -l list-input-formats
|
|
complete -c pandoc -l list-output-formats
|
|
complete -c pandoc -l list-extensions
|
|
complete -c pandoc -l list-highlight-languages
|
|
complete -c pandoc -l list-highlight-styles
|
|
complete -c pandoc -s v -l version
|
|
complete -c pandoc -s h -l help
|
|
|
|
# options that complete URLs
|
|
complete -c pandoc -x -l mathml -l webtex -l mathjax -l katex
|
|
complete -c pandoc -x -l katex-stylesheet -s m -l latexmathml
|
|
complete -c pandoc -x -l asciimathml -l mimetex -l jsmath -l gladtex
|
|
complete -c pandoc -x -s c -l css
|
|
|
|
# options that use informats and outformats
|
|
complete -c pandoc -x -s f -s r -l from -l read -a "$informats"
|
|
complete -c pandoc -x -s t -s w -l to -l write -a "$outformats"
|
|
complete -c pandoc -x -s D -l print-default-template -a "$outformats"
|
|
|
|
# TODO: add support for enabling and disabling extensions using the +/- switches
|
|
|
|
# options that take directories
|
|
complete -c pandoc -x -l data-dir -a "(__fish_complete_directories (commandline -ct) "")"
|
|
complete -c pandoc -x -l extract-media -a "(__fish_complete_directories (commandline -ct) "")"
|
|
|
|
# options that take files
|
|
complete -c pandoc -r -s o -l output
|
|
complete -c pandoc -r -s F -l filter
|
|
complete -c pandoc -r -l template
|
|
complete -c pandoc -r -l syntax-definition
|
|
complete -c pandoc -r -s H -l include-in-header
|
|
complete -c pandoc -r -s B -l include-before-body
|
|
complete -c pandoc -r -s A -l include-after-body
|
|
complete -c pandoc -r -l abbreviations
|
|
complete -c pandoc -r -l log
|
|
complete -c pandoc -r -l epub-cover-image
|
|
complete -c pandoc -r -l epub-metadata
|
|
complete -c pandoc -r -l epub-embed-font
|
|
complete -c pandoc -r -l citation-abbreviations
|
|
|
|
# options that take files filtered by extension
|
|
|
|
complete -c pandoc -r -f -l print-highlight-style -k -a "(__fish_complete_suffix 'theme' )"
|
|
complete -c pandoc -r -f -l highlight_style -k -a "(__fish_complete_suffix 'theme' )"
|
|
complete -c pandoc -r -f -l csl -k -a "(__fish_complete_suffix 'csl' )"
|
|
complete -c pandoc -r -f -l reference-file -k -a "(__fish_complete_suffix 'odt' 'docx')"
|
|
complete -c pandoc -r -f -l bibliography -k -a "(__fish_complete_suffix 'bib' 'bibtex' 'copac' 'json' 'yaml' 'enl' 'xml' 'wos' 'medline' 'mods' 'ria')"
|
|
complete -c pandoc -r -f -l lua-filter -k -a "(__fish_complete_suffix 'lua')"
|
|
|
|
# options that take files in DATADIR
|
|
complete -c pandoc -r -s F -l filter -a "(find $datadir/filters -type f 2>/dev/null | string replace -- '$datadir/filters/' '')"
|
|
complete -c pandoc -r -l template -a "(find $datadir/templates -type f 2>/dev/null | string replace -- '$datadir/templates/' '')"
|
|
complete -c pandoc -r -f -l lua-filter -a "(find $datadir -type f 2>/dev/null | string match -r '.lua\$' | string replace -- '$datadir/' '')"
|
|
|
|
# options that require arguments which cannot be autocompleted
|
|
complete -c pandoc -x -l indented-code-classes
|
|
complete -c pandoc -x -s M -l metadata
|
|
complete -c pandoc -x -s V -l variable
|
|
complete -c pandoc -x -l dpi
|
|
complete -c pandoc -x -l columns
|
|
complete -c pandoc -r -l resource-path
|
|
complete -c pandoc -x -l request-header
|
|
complete -c pandoc -x -l number-offset
|
|
complete -c pandoc -x -l id-prefix
|
|
complete -c pandoc -x -s T -l title-prefix
|
|
complete -c pandoc -x -l epub-subdirectory
|
|
complete -c pandoc -x -l pdf-engine-opt
|
|
|
|
# options that take their own arguments
|
|
|
|
complete -c pandoc -x -l default-image-extension -a 'jpg png pdf svg gif'
|
|
complete -c pandoc -x -l base-header-level -a "1 2 3 4 5"
|
|
complete -c pandoc -x -l toc-depth -l slide-level -l epub-chapter-level -a "1 2 3 4 5 6"
|
|
complete -c pandoc -x -l tab-stop -a "1 2 3 4 5 6 7 8"
|
|
complete -c pandoc -x -l track-changes -a "accept reject all"
|
|
complete -c pandoc -x -l print-default-data-file -a "reference.odt reference.docx"
|
|
complete -c pandoc -x -l print-highlight-style -l highlight-style -a "$highlight_styles"
|
|
complete -c pandoc -x -l eol -a "crlf lf native"
|
|
complete -c pandoc -x -l wrap -a "auto none preserve"
|
|
complete -c pandoc -x -l reference-location -a "block section document"
|
|
complete -c pandoc -x -l top-level-division -a "default section chapter part"
|
|
complete -c pandoc -x -l email-obfuscation -a "none javascript references"
|
|
complete -c pandoc -x -l pdf-engine -a "$pdfengines"
|