neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

gpg.vim (8489B)


      1 " Vim syntax file
      2 " Language:		gpg(1) configuration file
      3 " Maintainer: This runtime file is looking for a maintainer.
      4 " Previous Maintainer:	Nikolai Weibull <now@bitwi.se>
      5 " Latest Revision:	2024-02-11
      6 " Updated:		
      7 "     2023-01-23 @ObserverOfTime: added a couple of keywords
      8 "			2023-03-21 Todd Zullinger <tmz@pobox.com>: sync with gnupg-2.4.0
      9 "			2024-02-10 Daniel Kahn Gillmor <dkg@fifthhorseman.net>:
     10 "			           mark use-embedded-filename as warning for security reasons
     11 
     12 if exists("b:current_syntax")
     13  finish
     14 endif
     15 
     16 let s:cpo_save = &cpo
     17 set cpo&vim
     18 
     19 setlocal iskeyword+=-
     20 
     21 syn keyword gpgTodo	contained FIXME TODO XXX NOTE
     22 
     23 syn region  gpgComment	contained display oneline start='#' end='$'
     24 		\ contains=gpgTodo,gpgID,@Spell
     25 
     26 syn match   gpgID	contained display '\<\(0x\)\=\x\{8,}\>'
     27 
     28 syn match   gpgBegin	display '^' skipwhite nextgroup=gpgComment,gpgOption,gpgOptionDeprecated,gpgCommand
     29 
     30 syn keyword gpgCommand	contained skipwhite nextgroup=gpgArg
     31 		\ change-passphrase check-sig check-signatures
     32 		\ check-sigs delete-keys delete-secret-and-public-keys
     33 		\ delete-secret-keys desig-revoke export
     34 		\ export-secret-keys export-secret-ssh-key
     35 		\ export-secret-subkeys export-ssh-key list-key
     36 		\ list-keys list-packets list-public-keys
     37 		\ list-secret-keys list-sig list-signatures list-sigs
     38 		\ passwd send-keys fetch-keys
     39 		\ generate-designated-revocation generate-revocation
     40 		\ gen-prime gen-random gen-revoke locate-external-keys
     41 		\ locate-keys lsign-key options print-md quick-add-key
     42 		\ quick-addkey quick-add-uid quick-adduid
     43 		\ quick-generate-key quick-gen-key quick-lsign-key
     44 		\ quick-revoke-sig quick-revoke-uid quick-revuid
     45 		\ quick-set-expire quick-set-primary-uid quick-sign-key
     46 		\ quick-update-pref receive-keys recv-keys refresh-keys
     47 		\ search-keys show-key show-keys sign-key tofu-policy
     48 
     49 syn keyword gpgCommand	contained skipwhite nextgroup=gpgArgError
     50 		\ card-edit card-status change-pin check-trustdb
     51 		\ clear-sign clearsign dearmor dearmour decrypt
     52 		\ decrypt-files detach-sign encrypt encrypt-files
     53 		\ edit-card edit-key enarmor enarmour export-ownertrust
     54 		\ fast-import import import-ownertrust key-edit
     55 		\ fingerprint fix-trustdb full-generate-key
     56 		\ full-gen-key generate-key gen-key gpgconf-list
     57 		\ gpgconf-test list-config list-gcrypt-config
     58 		\ list-trustdb no-options print-mds
     59 		\ rebuild-keydb-caches server sign store symmetric
     60 		\ update-trustdb verify verify-files
     61 
     62 syn keyword gpgOption	contained skipwhite nextgroup=gpgArg
     63 		\ aead-algo agent-program attribute-fd attribute-file
     64 		\ auto-key-locate bzip2-compress-level cert-digest-algo
     65 		\ cert-notation cert-policy-url charset chuid
     66 		\ chunk-size cipher-algo command-fd command-file
     67 		\ comment compatibility-flags completes-needed
     68 		\ compliance compress-algo compression-algo
     69 		\ compress-level ctapi-driver debug
     70 		\ debug-allow-large-chunks debug-level
     71 		\ debug-set-iobuf-size default-cert-check-level
     72 		\ default-cert-expire default-cert-level default-key
     73 		\ default-keyserver-url default-new-key-algo
     74 		\ default-preference-list default-recipient
     75 		\ default-sig-expire digest-algo dirmngr-program
     76 		\ disable-cipher-algo disable-pubkey-algo display
     77 		\ display-charset encrypt-to exec-path export-filter
     78 		\ export-options faked-system-time force-ownertrust
     79 		\ gpg-agent-info group hidden-encrypt-to
     80 		\ hidden-recipient hidden-recipient-file homedir
     81 		\ import-filter import-options input-size-hint
     82 		\ keyboxd-program keyid-format key-origin keyring
     83 		\ keyserver keyserver-options known-notation lc-ctype
     84 		\ lc-messages limit-card-insert-tries list-filter
     85 		\ list-options local-user log-file logger-fd
     86 		\ logger-file marginals-needed max-cert-depth
     87 		\ max-output min-cert-level min-rsa-length output
     88 		\ override-session-key override-session-key-fd
     89 		\ passphrase passphrase-fd passphrase-file
     90 		\ passphrase-repeat pcsc-driver
     91 		\ personal-aead-preferences personal-cipher-preferences
     92 		\ personal-cipher-prefs personal-compress-preferences
     93 		\ personal-compress-prefs personal-digest-preferences
     94 		\ photo-viewer pinentry-mode primary-keyring
     95 		\ reader-port recipient recipient-file remote-user
     96 		\ request-origin s2k-cipher-algo s2k-count
     97 		\ s2k-digest-algo s2k-mode secret-keyring sender
     98 		\ set-filename set-filesize set-notation set-policy-url
     99 		\ sig-keyserver-url sig-notation sign-with
    100 		\ sig-policy-url status-fd status-file temp-directory
    101 		\ tofu-db-format tofu-default-policy trustdb-name
    102 		\ trusted-key trust-model try-secret-key ttyname
    103 		\ ttytype ungroup user verify-options weak-digest
    104 		\ xauthority
    105 
    106 syn keyword gpgOption	contained skipwhite nextgroup=gpgArgError
    107 		\ allow-freeform-uid allow-multiple-messages
    108 		\ allow-multisig-verification allow-non-selfsigned-uid
    109 		\ allow-old-cipher-algos allow-secret-key-import
    110 		\ allow-weak-digest-algos allow-weak-key-signatures
    111 		\ always-trust armor armour ask-cert-expire
    112 		\ ask-cert-level ask-sig-expire auto-check-trustdb
    113 		\ auto-key-import auto-key-retrieve batch
    114 		\ bzip2-decompress-lowmem compress-keys compress-sigs
    115 		\ debug-all debug-iolbf debug-quick-random
    116 		\ default-comment default-recipient-self disable-ccid
    117 		\ disable-dirmngr disable-dsa2 disable-large-rsa
    118 		\ disable-mdc disable-signer-uid dry-run dump-options
    119 		\ dump-option-table emit-version enable-dsa2
    120 		\ enable-large-rsa enable-progress-filter
    121 		\ enable-special-filenames encrypt-to-default-key
    122 		\ escape-from-lines exit-on-status-write-error expert
    123 		\ fast-list-mode file-is-digest fixed-list-mode
    124 		\ forbid-gen-key force-aead force-mdc force-ocb
    125 		\ force-sign-key force-v3-sigs force-v4-certs
    126 		\ for-your-eyes-only full-timestrings gnupg help
    127 		\ honor-http-proxy ignore-crc-error ignore-mdc-error
    128 		\ ignore-time-conflict ignore-valid-from
    129 		\ include-key-block interactive legacy-list-mode
    130 		\ list-only lock-multiple lock-never lock-once
    131 		\ mangle-dos-filenames merge-only mimemode multifile no
    132 		\ no-allow-freeform-uid no-allow-multiple-messages
    133 		\ no-allow-non-selfsigned-uid no-armor no-armour
    134 		\ no-ask-cert-expire no-ask-cert-level
    135 		\ no-ask-sig-expire no-auto-check-trustdb
    136 		\ no-auto-key-import no-auto-key-locate
    137 		\ no-auto-key-retrieve no-autostart
    138 		\ no-auto-trust-new-key no-batch no-comments
    139 		\ no-default-keyring no-default-recipient
    140 		\ no-disable-mdc no-emit-version no-encrypt-to
    141 		\ no-escape-from-lines no-expensive-trust-checks
    142 		\ no-expert no-force-mdc no-force-v3-sigs
    143 		\ no-force-v4-certs no-for-your-eyes-only no-greeting
    144 		\ no-groups no-include-key-block no-keyring no-literal
    145 		\ no-mangle-dos-filenames no-mdc-warning
    146 		\ no-permission-warning no-pgp2 no-pgp6 no-pgp7 no-pgp8
    147 		\ no-random-seed-file no-require-backsigs
    148 		\ no-require-cross-certification no-require-secmem
    149 		\ no-rfc2440-text no-secmem-warning no-show-notation
    150 		\ no-show-photos no-show-policy-url no-sig-cache
    151 		\ no-sk-comments no-skip-hidden-recipients
    152 		\ no-symkey-cache not-dash-escaped no-textmode
    153 		\ no-throw-keyids no-tty no-use-agent
    154 		\ no-utf8-strings no-verbose
    155 		\ no-version only-sign-text-ids openpgp
    156 		\ override-compliance-check pgp6 pgp7 pgp8
    157 		\ preserve-permissions print-dane-records quiet
    158 		\ require-backsigs require-compliance
    159 		\ require-cross-certification require-secmem rfc2440
    160 		\ rfc2440-text rfc4880 rfc4880bis show-keyring
    161 		\ show-notation show-photos show-policy-url
    162 		\ show-session-key sk-comments skip-hidden-recipients
    163 		\ skip-verify textmode throw-keyids try-all-secrets
    164 		\ unwrap use-agent use-keyboxd
    165 		\ use-only-openpgp-card utf8-strings verbose version
    166 		\ warranty with-colons with-fingerprint
    167 		\ with-icao-spelling with-key-data with-keygrip
    168 		\ with-key-origin with-key-screening with-secret
    169 		\ with-sig-check with-sig-list with-subkey-fingerprint
    170 		\ with-subkey-fingerprints with-tofu-info with-wkd-hash
    171 		\ yes
    172 
    173 " depcrated for security reasons
    174 syn keyword gpgOptionDeprecated	contained skipwhite nextgroup=gpgArgError
    175      \ use-embedded-filename no-use-embedded-filename
    176 
    177 syn match   gpgArg	contained display '\S\+\(\s\+\S\+\)*' contains=gpgID
    178 syn match   gpgArgError contained display '\S\+\(\s\+\S\+\)*'
    179 
    180 hi def link gpgComment	Comment
    181 hi def link gpgTodo	Todo
    182 hi def link gpgID	Number
    183 hi def link gpgOption	Keyword
    184 hi def link gpgOptionDeprecated	WarningMsg
    185 hi def link gpgCommand	Error
    186 hi def link gpgArgError	Error
    187 
    188 let b:current_syntax = "gpg"
    189 
    190 let &cpo = s:cpo_save
    191 unlet s:cpo_save