commit c5e96bc7060c9da9c76206b2f61dcecbe0be4c00 parent 4db28b7743a7b92f436c1e154cda3182dd9b469b Author: mjkloeckner <martin.cachari@gmail.com> Date: Thu, 22 Dec 2022 02:06:06 -0300 removed git submodules and updated config files all git submodules (like zsh plugins) are now removed and specified how to install them by cloning the respectives repositories on the README file, which also gets a huge update Diffstat:
432 files changed, 559 insertions(+), 26686 deletions(-) diff --git a/.config/mimeapps.list b/.config/mimeapps.list @@ -1,11 +1,30 @@ [Added Associations] -text/x-csrc=nvim.desktop; -application/octet-stream=userapp-alacritty -e 'nvim-QA1W30.desktop;nvim.desktop; -application/rar=org.gnome.FileRoller.desktop; -text/plain=nvim.desktop;vim.desktop; -application/xml=nvim.desktop; +application/x-shellscript=nvim.desktop; +image/png=nsxiv-rifle.desktop; +text/html=nvim.desktop;vim.desktop;firefox.desktop;google-chrome.desktop;wine-extension-htm.desktop;calibre-ebook-edit.desktop;org.qutebrowser.qutebrowser.desktop;libreoffice-writer.desktop;emacs.desktop;extract.desktop;code-oss.desktop;wine-extension-ini.desktop;emacsclient.desktop;wine-extension-txt.desktop; +text/plain=nvim.desktop;vim.desktop;libreoffice-writer.desktop;emacs.desktop;extract.desktop;code-oss.desktop;wine-extension-ini.desktop;emacsclient.desktop;wine-extension-txt.desktop; +text/x-csrc=nvim.desktop;vim.desktop;userapp-kitty -e 'nvim-LW8240.desktop;libreoffice-writer.desktop;wine-extension-txt.desktop;emacsclient.desktop;extract.desktop;wine-extension-ini.desktop;code-oss.desktop;emacs.desktop; +video/mp4=mpv.desktop;vlc.desktop; +video/x-matroska=mpv.desktop;vlc.desktop; +x-scheme-handler/tg=userapp-Telegram Desktop-55EXJ1.desktop; [Default Applications] -inode/directory=ranger.desktop +/text/html=/usr/share/applications/firefox.desktop application/pdf=zathura.desktop -audio/mp3=vlc.desktop +application/x-shellscript=nvim.desktop; +image/gif=sxiv.desktop +image/jpeg=sxiv.desktop +image/jpg=/usr/share/applications/sxiv.desktop +image/png=nsxiv-rifle.desktop; +image/tiff=sxiv.desktop +image/webp=sxiv.desktop +inode/directory=org.kde.dolphin.desktop; +text/html=nvim.desktop; +text/plain=nvim.desktop; +text/x-c=/usr/share/applications/nvim.desktop +text/x-csrc=nvim.desktop; +video/mp4=mpv.desktop; +video/x-matroska=mpv.desktop; +x-scheme-handler/http=firefox.desktop +x-scheme-handler/https=firefox.desktop +x-scheme-handler/tg=userapp-Telegram Desktop-55EXJ1.desktop diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim @@ -1,141 +1,287 @@ -" _ -" _ __ ___ _____ _(_)_ __ ___ -" | '_ \ / _ \/ _ \ \ / / | '_ ` _ \ +" _ +" _ __ ___ _____ _(_)_ __ ___ +" | '_ \ / _ \/ _ \ \ / / | '_ ` _ \ " | | | | __/ (_) \ V /| | | | | | | " |_| |_|\___|\___/ \_/ |_|_| |_| |_| " -" by github.com/klewer-martin +" by github.com/mjkloeckner " Plugins call call plug#begin('~/.config/nvim/plugged') - Plug 'vim-airline/vim-airline' - Plug 'vim-airline/vim-airline-themes' - Plug 'preservim/nerdtree' - Plug 'flw-cn/vim-nerdtree-l-open-h-close' + Plug 'alvan/vim-closetag' Plug 'chrisbra/Colorizer' + Plug 'christoomey/vim-tmux-navigator' Plug 'flazz/vim-colorschemes' - Plug 'jiangmiao/auto-pairs' + Plug 'flw-cn/vim-nerdtree-l-open-h-close' Plug 'hattya/vcs-info.vim' + Plug 'iamcco/markdown-preview.nvim', { 'do': { -> mkdp#util#install() }, 'for': 'markdown' } Plug 'justinmk/vim-syntax-extra' - Plug 'sainnhe/gruvbox-material' + Plug 'preservim/nerdtree' + Plug 'ryanoasis/vim-devicons' Plug 'sainnhe/edge' + Plug 'sainnhe/gruvbox-material' Plug 'tpope/vim-commentary' - Plug 'ryanoasis/vim-devicons' + Plug 'tpope/vim-surround' call plug#end() - " Basic settings syntax on set encoding=utf-8 + scriptencoding utf-8 + set fileencoding=utf-8 + set noemoji set tabstop=4 set shiftwidth=4 + set scrolloff=5 + set path+=./** + set wildmenu set incsearch set smartcase - set noshowmode + " set noshowmode set number set relativenumber + set cursorline set mouse=a set undofile - set undodir=~/.config/nvim/undodir - " set backupdir=~/.config/nvim/tmp/backup + set undodir=~/.cache/nvim/undo + set dir=~/.cache/nvim/swap + set backupdir=~/.cache/nvim/backup set clipboard=unnamedplus - set nobackup - set nowritebackup - set noswapfile - -" Plugins settings - "let g:NERDTreeWinSize=27 - "let g:airline_theme='dark' - "let g:airline#extensions#tabline#enabled = 1 - "let g:airline#extensions#tabline#formatter = 'unique_tail' - "let g:airleine_powerline_fonts = 1 - "let g:colorizer_auto_color = 1 - ""let g:airline_section_b = '%{getcwd()}' - "let g:airline_section_x='' - "let g:airline#extensions#tabline#show_buffers = 0 - "let g:airline#extensions#tabline#tab_min_count = 2 - - "" Powerline symbols - "let g:airline#extensions#tabline#enabled = 1 - - "" air-line - "let g:airline_powerline_fonts = 1 - "let g:airline_section_c_only_filename = 0 - - if !exists('g:airline_symbols') - let g:airline_symbols = {} - endif - "" unicode symbols - "let g:airline_symbols.linenr = '¶' - "let g:airline_symbols.branch = '⎇' - "let g:airline_symbols.paste = 'ρ' - "let g:airline_symbols.whitespace = 'Ξ' - - " airline symbols - let g:airline_left_sep = '' - let g:airline_left_alt_sep = '' - let g:airline_right_sep = '' - let g:airline_right_alt_sep = '' - let g:airline_symbols.branch = '' - let g:airline_symbols.readonly = '' - "let g:airline_symbols.linenr = '' - - "" Show just the filename - "let g:airline#extensions#tabline#fnamemod = ':t' - "let g:airline#extensions#syntastic#enabled = 1 - "let g:airline#extensions#tabline#left_sep = '' - "let g:airline#extensions#tabline#left_alt_sep = '' - -" Set colorscheme and transparent background - colorscheme gruvbox + " Enable blinking together with different cursor shapes for insert/command mode, + " and cursor highlighting: + set guicursor=n-v:block,i-ci-ve-c:ver25,r-cr:hor20,o:hor50 + \,a:blinkwait700-blinkoff4000-blinkon2500-Cursor/lCursor + \,sm:block-blinkwait175-blinkoff150-blinkon175 + + " Plugins settings + " source "$HOME/.config/nvim/plugins.vim" + " Set colorscheme and transparent background function! AdaptColorscheme() - hi clear CursorLine - hi Normal guibg=none ctermbg=none - hi LineNr guibg=none ctermbg=none - hi Folded guibg=none ctermbg=none - hi EndOfBuffer guibg=none ctermbg=none - hi SpecialKey guibg=none ctermbg=none - hi VertSplit guibg=none ctermbg=none - hi SignColumn guibg=none ctermbg=none + " hi clear CursorLine + hi Normal guibg=NONE ctermbg=NONE + hi LineNr guibg=NONE ctermbg=NONE + hi Folded guibg=NONE ctermbg=NONE + " hi EndOfBuffer guibg=NONE ctermbg=NONE + hi EndOfBuffer guibg=NONE ctermbg=NONE ctermfg=12 + hi SpecialKey guibg=NONE ctermbg=NONE + hi VertSplit guibg=NONE ctermbg=NONE + hi SignColumn guibg=NONE ctermbg=NONE + + hi TabLineSel ctermfg=LightGreen ctermbg=NONE + hi TabLineFill ctermfg=Gray ctermbg=NONE + hi Title ctermfg=LightBlue ctermbg=NONE + + " hi CursorLine cterm=NONE ctermbg=235 + endfunction + + function! DarkTheme() + set bg=dark + let g:gruvbox_contrast_dark='hard' + colorscheme gruvbox + call AdaptColorscheme() + hi CursorLine cterm=NONE ctermbg=235 endfunction - call AdaptColorscheme() + function! LightTheme() + set bg=light + let g:gruvbox_contrast_light='hard' + colorscheme gruvbox + call AdaptColorscheme() + " hi CursorLine cterm=NONE ctermbg=bg5 + endfunction + + hi TrailingWhitespace ctermbg=yellow guibg=yellow + call matchadd("TrailingWhitespace", '\v\s+$') + + if filereadable('/home/mk/.config/scheme/light') + call LightTheme() + elseif filereadable('/home/mk/.config/scheme/dark') + call DarkTheme() + endif -" Key remaps + " Key remaps let mapleader =' ' - " Open file tree; - map <leader>f :NERDTreeToggle<CR> + "" Open file tree + map <leader>f :NERDTreeToggle %<CR> + + "" Focus file tree + map <leader>F :NERDTreeFocus<CR> - " Open current dir in NERDTree + "" Open current dir in NERDTree map <leader>r :NERDTreeFind<CR> - " Source nvim config file + "" Source nvim config file map <leader>s :source $HOME/.config/nvim/init.vim<CR> - " Disable ex-mode keybinding (type visual thing) + "" Open current dir in NERDTree + map <leader>c :make + + "" Disable ex-mode keybinding (type visual thing) map Q <NOP> - " Improves indenting chunks of code with '<' '>' keys + "" Improves indenting chunks of code with '<' '>' keys vnoremap < <gv vnoremap > >gv - " Stops highlight after a search hitting return; - nnoremap <CR> :noh<CR><CR> + "" Stops highlight after a search hitting return; + nnoremap <silent> <CR> :noh<CR><CR> - " Shortcut for split navigation + "" Shortcut for split navigation noremap <C-Down> <C-W>j<CR> noremap <C-Up> <C-W>k<CR> noremap <C-Left> <C-W>h<CR> noremap <C-Right> <C-W>l<CR> - " Move between windows with Ctrl + hjkl + "" Move between windows with Ctrl + hjkl noremap <C-h> <C-w>h noremap <C-j> <C-w>j noremap <C-k> <C-w>k noremap <C-l> <C-w>l + + "" Go to next/prev quickfix + nnoremap <C-n> :cnext<CR>zz + nnoremap <C-p> :cprev<CR>zz + + "" Go to tab by number + noremap <leader>1 1gt + noremap <leader>2 2gt + noremap <leader>3 3gt + noremap <leader>4 4gt + noremap <leader>5 5gt + noremap <leader>6 6gt + noremap <leader>7 7gt + noremap <leader>8 8gt + noremap <leader>9 9gt + noremap <leader>0 :tablast<cr> + + " Highlight whitespace problems. + " flags is '' to clear highlighting, or is a string to + " specify what to highlight (one or more characters): + " e whitespace at end of line + " i spaces used for indenting + " s spaces before a tab + " t tabs not at start of line + function! ShowWhitespace(flags) + let bad = '' + let pat = [] + for c in split(a:flags, '\zs') + if c == 'e' + call add(pat, '\s\+$') + elseif c == 'i' + call add(pat, '^\t*\zs \+') + elseif c == 's' + call add(pat, ' \+\ze\t') + elseif c == 't' + call add(pat, '[^\t]\zs\t\+') + else + let bad .= c + endif + endfor + if len(pat) > 0 + let s = join(pat, '\|') + exec 'syntax match ExtraWhitespace "'.s.'" containedin=ALL' + else + syntax clear ExtraWhitespace + endif + if len(bad) > 0 + echo 'ShowWhitespace ignored: '.bad + endif + endfunction + + function! ToggleShowWhitespace() + if !exists('b:ws_show') + let b:ws_show = 0 + endif + if !exists('b:ws_flags') + let b:ws_flags = 'est' " default (which whitespace to show) + endif + let b:ws_show = !b:ws_show + if b:ws_show + call ShowWhitespace(b:ws_flags) + else + call ShowWhitespace('') + endif + endfunction + + nnoremap <Leader>ws :call ToggleShowWhitespace()<CR> + + highlight ExtraWhitespace ctermbg=red guibg=red + + nnoremap <A-j> :m .+1<CR>== + nnoremap <A-k> :m .-2<CR>== + + nnoremap <Leader>/ :vsplit<CR> + nnoremap <Leader>" :split<CR> + + inoremap <A-j> <Esc>:m .+1<CR>==gi + inoremap <A-k> <Esc>:m .-2<CR>==gi + + vnoremap <A-j> :m '>+1<CR>gv=gv + vnoremap <A-k> :m '<-2<CR>gv=gv + + nnoremap n nzzzv + nnoremap N Nzzzv + + function! ToggleQuickFix() + if empty(filter(getwininfo(), 'v:val.quickfix')) + copen + else + cclose + endif + endfunction + + nnoremap <silent> <leader>c :call ToggleQuickFix()<cr> + + set laststatus=1 + autocmd VimEnter * set laststatus=1 + + let NERDTreeHijackNetrw=1 + + " Highjack nerdtree's highjacking to keep normal nerdtree from loading on directories + " let g:NERDTreeHijackNetrw=0 + " augroup NERDTreeHijackNetrw + " autocmd VimEnter * silent! autocmd! FileExplorer + " augroup END + + " autocmd VimEnter * call CloseExtraNERDTree() + + " If vim is started with a file, simply show that file + " If vim is started with nothing or a directory close extra NERDTree buffer + " function CloseExtraNERDTree() + " wincmd l " move to right pane + " let l:main_bufnr = bufnr('%') + " let l:fname = expand('%') " get name of current buffer + " if l:fname ==# 'NERD_tree_1' + " exe bufwinnr(l:main_bufnr) . "wincmd w" + " bd + " endif + " endfunction + + " :echo '' | let c = nr2char(getchar()) | exe "ma" c | echon "created mark '" c "' at line " line(".") + function VerboseMark() + echo '' + let c = getchar() + if ((c >= 0x41) && (c <= 0x5A)) || ((c >= 0x61) && (c <= 0x7A)) + exe "mark" nr2char(c) + echon "created mark '" nr2char(c) "' at line " line(".") + else + return + endif + endfunction + + function Text() + set tw=80 + set colorcolumn=80 + set spelllang=es + endfunction + + let g:mkdp_browser = 'qutebrowser' + + nnoremap <Leader>t :call Text()<CR> + nnoremap m :call VerboseMark()<CR> diff --git a/.config/nvim/plugged/Colorizer b/.config/nvim/plugged/Colorizer @@ -1 +0,0 @@ -Subproject commit 826d5691ac7d36589591314621047b1b9d89ed34 diff --git a/.config/nvim/plugged/auto-pairs b/.config/nvim/plugged/auto-pairs @@ -1 +0,0 @@ -Subproject commit 39f06b873a8449af8ff6a3eee716d3da14d63a76 diff --git a/.config/nvim/plugged/nerdtree b/.config/nvim/plugged/nerdtree @@ -1 +0,0 @@ -Subproject commit f63fb6984f9cd07cf723c3e2e20f6ccc0aad48c2 diff --git a/.config/nvim/plugged/vcs-info.vim b/.config/nvim/plugged/vcs-info.vim @@ -1 +0,0 @@ -Subproject commit 8a79ae987a0b17af813a5e88517dd4fe69bd4137 diff --git a/.config/nvim/plugged/vim-airline b/.config/nvim/plugged/vim-airline @@ -1 +0,0 @@ -Subproject commit df956aa08b8bdb176d7127cc4940aea123ec4ffc diff --git a/.config/nvim/plugged/vim-airline-themes b/.config/nvim/plugged/vim-airline-themes @@ -1 +0,0 @@ -Subproject commit fa808d74e0aacf131337b58f01ee45fd3d3588af diff --git a/.config/nvim/plugged/vim-colorschemes b/.config/nvim/plugged/vim-colorschemes @@ -1 +0,0 @@ -Subproject commit fd8f122cef604330c96a6a6e434682dbdfb878c9 diff --git a/.config/ranger/commands.py b/.config/ranger/commands.py @@ -1,62 +0,0 @@ -# This is a sample commands.py. You can add your own commands here. -# -# Please refer to commands_full.py for all the default commands and a complete -# documentation. Do NOT add them all here, or you may end up with defunct -# commands when upgrading ranger. - -# A simple command for demonstration purposes follows. -# ----------------------------------------------------------------------------- - -from __future__ import (absolute_import, division, print_function) - -# You can import any python module as needed. -import os - -# You always need to import ranger.api.commands here to get the Command class: -from ranger.api.commands import Command - - -# Any class that is a subclass of "Command" will be integrated into ranger as a -# command. Try typing ":my_edit<ENTER>" in ranger! -class my_edit(Command): - # The so-called doc-string of the class will be visible in the built-in - # help that is accessible by typing "?c" inside ranger. - """:my_edit <filename> - - A sample command for demonstration purposes that opens a file in an editor. - """ - - # The execute method is called when you run this command in ranger. - def execute(self): - # self.arg(1) is the first (space-separated) argument to the function. - # This way you can write ":my_edit somefilename<ENTER>". - if self.arg(1): - # self.rest(1) contains self.arg(1) and everything that follows - target_filename = self.rest(1) - else: - # self.fm is a ranger.core.filemanager.FileManager object and gives - # you access to internals of ranger. - # self.fm.thisfile is a ranger.container.file.File object and is a - # reference to the currently selected file. - target_filename = self.fm.thisfile.path - - # This is a generic function to print text in ranger. - self.fm.notify("Let's edit the file " + target_filename + "!") - - # Using bad=True in fm.notify allows you to print error messages: - if not os.path.exists(target_filename): - self.fm.notify("The given file does not exist!", bad=True) - return - - # This executes a function from ranger.core.actions, a module with a - # variety of subroutines that can help you construct commands. - # Check out the source, or run "pydoc ranger.core.actions" for a list. - self.fm.edit_file(target_filename) - - # The tab method is called when you press tab, and should return a list of - # suggestions that the user will tab through. - # tabnum is 1 for <TAB> and -1 for <S-TAB> by default - def tab(self, tabnum): - # This is a generic tab-completion function that iterates through the - # content of the current directory. - return self._tab_directory_content() diff --git a/.config/ranger/commands_full.py b/.config/ranger/commands_full.py @@ -1,2009 +0,0 @@ -# -*- coding: utf-8 -*- -# This file is part of ranger, the console file manager. -# This configuration file is licensed under the same terms as ranger. -# =================================================================== -# -# NOTE: If you copied this file to /etc/ranger/commands_full.py or -# ~/.config/ranger/commands_full.py, then it will NOT be loaded by ranger, -# and only serve as a reference. -# -# =================================================================== -# This file contains ranger's commands. -# It's all in python; lines beginning with # are comments. -# -# Note that additional commands are automatically generated from the methods -# of the class ranger.core.actions.Actions. -# -# You can customize commands in the files /etc/ranger/commands.py (system-wide) -# and ~/.config/ranger/commands.py (per user). -# They have the same syntax as this file. In fact, you can just copy this -# file to ~/.config/ranger/commands_full.py with -# `ranger --copy-config=commands_full' and make your modifications, don't -# forget to rename it to commands.py. You can also use -# `ranger --copy-config=commands' to copy a short sample commands.py that -# has everything you need to get started. -# But make sure you update your configs when you update ranger. -# -# =================================================================== -# Every class defined here which is a subclass of `Command' will be used as a -# command in ranger. Several methods are defined to interface with ranger: -# execute(): called when the command is executed. -# cancel(): called when closing the console. -# tab(tabnum): called when <TAB> is pressed. -# quick(): called after each keypress. -# -# tab() argument tabnum is 1 for <TAB> and -1 for <S-TAB> by default -# -# The return values for tab() can be either: -# None: There is no tab completion -# A string: Change the console to this string -# A list/tuple/generator: cycle through every item in it -# -# The return value for quick() can be: -# False: Nothing happens -# True: Execute the command afterwards -# -# The return value for execute() and cancel() doesn't matter. -# -# =================================================================== -# Commands have certain attributes and methods that facilitate parsing of -# the arguments: -# -# self.line: The whole line that was written in the console. -# self.args: A list of all (space-separated) arguments to the command. -# self.quantifier: If this command was mapped to the key "X" and -# the user pressed 6X, self.quantifier will be 6. -# self.arg(n): The n-th argument, or an empty string if it doesn't exist. -# self.rest(n): The n-th argument plus everything that followed. For example, -# if the command was "search foo bar a b c", rest(2) will be "bar a b c" -# self.start(n): Anything before the n-th argument. For example, if the -# command was "search foo bar a b c", start(2) will be "search foo" -# -# =================================================================== -# And this is a little reference for common ranger functions and objects: -# -# self.fm: A reference to the "fm" object which contains most information -# about ranger. -# self.fm.notify(string): Print the given string on the screen. -# self.fm.notify(string, bad=True): Print the given string in RED. -# self.fm.reload_cwd(): Reload the current working directory. -# self.fm.thisdir: The current working directory. (A File object.) -# self.fm.thisfile: The current file. (A File object too.) -# self.fm.thistab.get_selection(): A list of all selected files. -# self.fm.execute_console(string): Execute the string as a ranger command. -# self.fm.open_console(string): Open the console with the given string -# already typed in for you. -# self.fm.move(direction): Moves the cursor in the given direction, which -# can be something like down=3, up=5, right=1, left=1, to=6, ... -# -# File objects (for example self.fm.thisfile) have these useful attributes and -# methods: -# -# tfile.path: The path to the file. -# tfile.basename: The base name only. -# tfile.load_content(): Force a loading of the directories content (which -# obviously works with directories only) -# tfile.is_directory: True/False depending on whether it's a directory. -# -# For advanced commands it is unavoidable to dive a bit into the source code -# of ranger. -# =================================================================== - -from __future__ import (absolute_import, division, print_function) - -from collections import deque -import os -import re - -from ranger import PY3 -from ranger.api.commands import Command - - -class alias(Command): - """:alias <newcommand> <oldcommand> - - Copies the oldcommand as newcommand. - """ - - context = 'browser' - resolve_macros = False - - def execute(self): - if not self.arg(1) or not self.arg(2): - self.fm.notify('Syntax: alias <newcommand> <oldcommand>', bad=True) - return - - self.fm.commands.alias(self.arg(1), self.rest(2)) - - -class echo(Command): - """:echo <text> - - Display the text in the statusbar. - """ - - def execute(self): - self.fm.notify(self.rest(1)) - - -class cd(Command): - """:cd [-r] <path> - - The cd command changes the directory. - If the path is a file, selects that file. - The command 'cd -' is equivalent to typing ``. - Using the option "-r" will get you to the real path. - """ - - def execute(self): - if self.arg(1) == '-r': - self.shift() - destination = os.path.realpath(self.rest(1)) - if os.path.isfile(destination): - self.fm.select_file(destination) - return - else: - destination = self.rest(1) - - if not destination: - destination = '~' - - if destination == '-': - self.fm.enter_bookmark('`') - else: - self.fm.cd(destination) - - def _tab_args(self): - # dest must be rest because path could contain spaces - if self.arg(1) == '-r': - start = self.start(2) - dest = self.rest(2) - else: - start = self.start(1) - dest = self.rest(1) - - if dest: - head, tail = os.path.split(os.path.expanduser(dest)) - if head: - dest_exp = os.path.join(os.path.normpath(head), tail) - else: - dest_exp = tail - else: - dest_exp = '' - return (start, dest_exp, os.path.join(self.fm.thisdir.path, dest_exp), - dest.endswith(os.path.sep)) - - @staticmethod - def _tab_paths(dest, dest_abs, ends_with_sep): - if not dest: - try: - return next(os.walk(dest_abs))[1], dest_abs - except (OSError, StopIteration): - return [], '' - - if ends_with_sep: - try: - return [os.path.join(dest, path) for path in next(os.walk(dest_abs))[1]], '' - except (OSError, StopIteration): - return [], '' - - return None, None - - def _tab_match(self, path_user, path_file): - if self.fm.settings.cd_tab_case == 'insensitive': - path_user = path_user.lower() - path_file = path_file.lower() - elif self.fm.settings.cd_tab_case == 'smart' and path_user.islower(): - path_file = path_file.lower() - return path_file.startswith(path_user) - - def _tab_normal(self, dest, dest_abs): - dest_dir = os.path.dirname(dest) - dest_base = os.path.basename(dest) - - try: - dirnames = next(os.walk(os.path.dirname(dest_abs)))[1] - except (OSError, StopIteration): - return [], '' - - return [os.path.join(dest_dir, d) for d in dirnames if self._tab_match(dest_base, d)], '' - - def _tab_fuzzy_match(self, basepath, tokens): - """ Find directories matching tokens recursively """ - if not tokens: - tokens = [''] - paths = [basepath] - while True: - token = tokens.pop() - matches = [] - for path in paths: - try: - directories = next(os.walk(path))[1] - except (OSError, StopIteration): - continue - matches += [os.path.join(path, d) for d in directories - if self._tab_match(token, d)] - if not tokens or not matches: - return matches - paths = matches - - return None - - def _tab_fuzzy(self, dest, dest_abs): - tokens = [] - basepath = dest_abs - while True: - basepath_old = basepath - basepath, token = os.path.split(basepath) - if basepath == basepath_old: - break - if os.path.isdir(basepath_old) and not token.startswith('.'): - basepath = basepath_old - break - tokens.append(token) - - paths = self._tab_fuzzy_match(basepath, tokens) - if not os.path.isabs(dest): - paths_rel = self.fm.thisdir.path - paths = [os.path.relpath(os.path.join(basepath, path), paths_rel) - for path in paths] - else: - paths_rel = '' - return paths, paths_rel - - def tab(self, tabnum): - from os.path import sep - - start, dest, dest_abs, ends_with_sep = self._tab_args() - - paths, paths_rel = self._tab_paths(dest, dest_abs, ends_with_sep) - if paths is None: - if self.fm.settings.cd_tab_fuzzy: - paths, paths_rel = self._tab_fuzzy(dest, dest_abs) - else: - paths, paths_rel = self._tab_normal(dest, dest_abs) - - paths.sort() - - if self.fm.settings.cd_bookmarks: - paths[0:0] = [ - os.path.relpath(v.path, paths_rel) if paths_rel else v.path - for v in self.fm.bookmarks.dct.values() for path in paths - if v.path.startswith(os.path.join(paths_rel, path) + sep) - ] - - if not paths: - return None - if len(paths) == 1: - return start + paths[0] + sep - return [start + dirname + sep for dirname in paths] - - -class chain(Command): - """:chain <command1>; <command2>; ... - - Calls multiple commands at once, separated by semicolons. - """ - resolve_macros = False - - def execute(self): - if not self.rest(1).strip(): - self.fm.notify('Syntax: chain <command1>; <command2>; ...', bad=True) - return - for command in [s.strip() for s in self.rest(1).split(";")]: - self.fm.execute_console(command) - - -class shell(Command): - escape_macros_for_shell = True - - def execute(self): - if self.arg(1) and self.arg(1)[0] == '-': - flags = self.arg(1)[1:] - command = self.rest(2) - else: - flags = '' - command = self.rest(1) - - if command: - self.fm.execute_command(command, flags=flags) - - def tab(self, tabnum): - from ranger.ext.get_executables import get_executables - if self.arg(1) and self.arg(1)[0] == '-': - command = self.rest(2) - else: - command = self.rest(1) - start = self.line[0:len(self.line) - len(command)] - - try: - position_of_last_space = command.rindex(" ") - except ValueError: - return (start + program + ' ' for program - in get_executables() if program.startswith(command)) - if position_of_last_space == len(command) - 1: - selection = self.fm.thistab.get_selection() - if len(selection) == 1: - return self.line + selection[0].shell_escaped_basename + ' ' - return self.line + '%s ' - - before_word, start_of_word = self.line.rsplit(' ', 1) - return (before_word + ' ' + file.shell_escaped_basename - for file in self.fm.thisdir.files or [] - if file.shell_escaped_basename.startswith(start_of_word)) - - -class open_with(Command): - - def execute(self): - app, flags, mode = self._get_app_flags_mode(self.rest(1)) - self.fm.execute_file( - files=self.fm.thistab.get_selection(), - app=app, - flags=flags, - mode=mode) - - def tab(self, tabnum): - return self._tab_through_executables() - - def _get_app_flags_mode(self, string): # pylint: disable=too-many-branches,too-many-statements - """Extracts the application, flags and mode from a string. - - examples: - "mplayer f 1" => ("mplayer", "f", 1) - "atool 4" => ("atool", "", 4) - "p" => ("", "p", 0) - "" => None - """ - - app = '' - flags = '' - mode = 0 - split = string.split() - - if len(split) == 1: - part = split[0] - if self._is_app(part): - app = part - elif self._is_flags(part): - flags = part - elif self._is_mode(part): - mode = part - - elif len(split) == 2: - part0 = split[0] - part1 = split[1] - - if self._is_app(part0): - app = part0 - if self._is_flags(part1): - flags = part1 - elif self._is_mode(part1): - mode = part1 - elif self._is_flags(part0): - flags = part0 - if self._is_mode(part1): - mode = part1 - elif self._is_mode(part0): - mode = part0 - if self._is_flags(part1): - flags = part1 - - elif len(split) >= 3: - part0 = split[0] - part1 = split[1] - part2 = split[2] - - if self._is_app(part0): - app = part0 - if self._is_flags(part1): - flags = part1 - if self._is_mode(part2): - mode = part2 - elif self._is_mode(part1): - mode = part1 - if self._is_flags(part2): - flags = part2 - elif self._is_flags(part0): - flags = part0 - if self._is_mode(part1): - mode = part1 - elif self._is_mode(part0): - mode = part0 - if self._is_flags(part1): - flags = part1 - - return app, flags, int(mode) - - def _is_app(self, arg): - return not self._is_flags(arg) and not arg.isdigit() - - @staticmethod - def _is_flags(arg): - from ranger.core.runner import ALLOWED_FLAGS - return all(x in ALLOWED_FLAGS for x in arg) - - @staticmethod - def _is_mode(arg): - return all(x in '0123456789' for x in arg) - - -class set_(Command): - """:set <option name>=<python expression> - - Gives an option a new value. - - Use `:set <option>!` to toggle or cycle it, e.g. `:set flush_input!` - """ - name = 'set' # don't override the builtin set class - - def execute(self): - name = self.arg(1) - name, value, _, toggle = self.parse_setting_line_v2() - if toggle: - self.fm.toggle_option(name) - else: - self.fm.set_option_from_string(name, value) - - def tab(self, tabnum): # pylint: disable=too-many-return-statements - from ranger.gui.colorscheme import get_all_colorschemes - name, value, name_done = self.parse_setting_line() - settings = self.fm.settings - if not name: - return sorted(self.firstpart + setting for setting in settings) - if not value and not name_done: - return sorted(self.firstpart + setting for setting in settings - if setting.startswith(name)) - if not value: - value_completers = { - "colorscheme": - # Cycle through colorschemes when name, but no value is specified - lambda: sorted(self.firstpart + colorscheme for colorscheme - in get_all_colorschemes(self.fm)), - - "column_ratios": - lambda: self.firstpart + ",".join(map(str, settings[name])), - } - - def default_value_completer(): - return self.firstpart + str(settings[name]) - - return value_completers.get(name, default_value_completer)() - if bool in settings.types_of(name): - if 'true'.startswith(value.lower()): - return self.firstpart + 'True' - if 'false'.startswith(value.lower()): - return self.firstpart + 'False' - # Tab complete colorscheme values if incomplete value is present - if name == "colorscheme": - return sorted(self.firstpart + colorscheme for colorscheme - in get_all_colorschemes(self.fm) if colorscheme.startswith(value)) - return None - - -class setlocal(set_): - """:setlocal path=<regular expression> <option name>=<python expression> - - Gives an option a new value. - """ - PATH_RE_DQUOTED = re.compile(r'^setlocal\s+path="(.*?)"') - PATH_RE_SQUOTED = re.compile(r"^setlocal\s+path='(.*?)'") - PATH_RE_UNQUOTED = re.compile(r'^path=(.*?)$') - - def _re_shift(self, match): - if not match: - return None - path = os.path.expanduser(match.group(1)) - for _ in range(len(path.split())): - self.shift() - return path - - def execute(self): - path = self._re_shift(self.PATH_RE_DQUOTED.match(self.line)) - if path is None: - path = self._re_shift(self.PATH_RE_SQUOTED.match(self.line)) - if path is None: - path = self._re_shift(self.PATH_RE_UNQUOTED.match(self.arg(1))) - if path is None and self.fm.thisdir: - path = self.fm.thisdir.path - if not path: - return - - name, value, _ = self.parse_setting_line() - self.fm.set_option_from_string(name, value, localpath=path) - - -class setintag(set_): - """:setintag <tag or tags> <option name>=<option value> - - Sets an option for directories that are tagged with a specific tag. - """ - - def execute(self): - tags = self.arg(1) - self.shift() - name, value, _ = self.parse_setting_line() - self.fm.set_option_from_string(name, value, tags=tags) - - -class default_linemode(Command): - - def execute(self): - from ranger.container.fsobject import FileSystemObject - - if len(self.args) < 2: - self.fm.notify( - "Usage: default_linemode [path=<regexp> | tag=<tag(s)>] <linemode>", bad=True) - - # Extract options like "path=..." or "tag=..." from the command line - arg1 = self.arg(1) - method = "always" - argument = None - if arg1.startswith("path="): - method = "path" - argument = re.compile(arg1[5:]) - self.shift() - elif arg1.startswith("tag="): - method = "tag" - argument = arg1[4:] - self.shift() - - # Extract and validate the line mode from the command line - lmode = self.rest(1) - if lmode not in FileSystemObject.linemode_dict: - self.fm.notify( - "Invalid linemode: %s; should be %s" % ( - lmode, "/".join(FileSystemObject.linemode_dict)), - bad=True, - ) - - # Add the prepared entry to the fm.default_linemodes - entry = [method, argument, lmode] - self.fm.default_linemodes.appendleft(entry) - - # Redraw the columns - if self.fm.ui.browser: - for col in self.fm.ui.browser.columns: - col.need_redraw = True - - def tab(self, tabnum): - return (self.arg(0) + " " + lmode - for lmode in self.fm.thisfile.linemode_dict.keys() - if lmode.startswith(self.arg(1))) - - -class quit(Command): # pylint: disable=redefined-builtin - """:quit - - Closes the current tab, if there's more than one tab. - Otherwise quits if there are no tasks in progress. - """ - def _exit_no_work(self): - if self.fm.loader.has_work(): - self.fm.notify('Not quitting: Tasks in progress: Use `quit!` to force quit') - else: - self.fm.exit() - - def execute(self): - if len(self.fm.tabs) >= 2: - self.fm.tab_close() - else: - self._exit_no_work() - - -class quit_bang(Command): - """:quit! - - Closes the current tab, if there's more than one tab. - Otherwise force quits immediately. - """ - name = 'quit!' - allow_abbrev = False - - def execute(self): - if len(self.fm.tabs) >= 2: - self.fm.tab_close() - else: - self.fm.exit() - - -class quitall(Command): - """:quitall - - Quits if there are no tasks in progress. - """ - def _exit_no_work(self): - if self.fm.loader.has_work(): - self.fm.notify('Not quitting: Tasks in progress: Use `quitall!` to force quit') - else: - self.fm.exit() - - def execute(self): - self._exit_no_work() - - -class quitall_bang(Command): - """:quitall! - - Force quits immediately. - """ - name = 'quitall!' - allow_abbrev = False - - def execute(self): - self.fm.exit() - - -class terminal(Command): - """:terminal - - Spawns an "x-terminal-emulator" starting in the current directory. - """ - - def execute(self): - from ranger.ext.get_executables import get_term - self.fm.run(get_term(), flags='f') - - -class delete(Command): - """:delete - - Tries to delete the selection or the files passed in arguments (if any). - The arguments use a shell-like escaping. - - "Selection" is defined as all the "marked files" (by default, you - can mark files with space or v). If there are no marked files, - use the "current file" (where the cursor is) - - When attempting to delete non-empty directories or multiple - marked files, it will require a confirmation. - """ - - allow_abbrev = False - escape_macros_for_shell = True - - def execute(self): - import shlex - from functools import partial - - def is_directory_with_files(path): - return os.path.isdir(path) and not os.path.islink(path) and len(os.listdir(path)) > 0 - - if self.rest(1): - files = shlex.split(self.rest(1)) - many_files = (len(files) > 1 or is_directory_with_files(files[0])) - else: - cwd = self.fm.thisdir - tfile = self.fm.thisfile - if not cwd or not tfile: - self.fm.notify("Error: no file selected for deletion!", bad=True) - return - - # relative_path used for a user-friendly output in the confirmation. - files = [f.relative_path for f in self.fm.thistab.get_selection()] - many_files = (cwd.marked_items or is_directory_with_files(tfile.path)) - - confirm = self.fm.settings.confirm_on_delete - if confirm != 'never' and (confirm != 'multiple' or many_files): - self.fm.ui.console.ask( - "Confirm deletion of: %s (y/N)" % ', '.join(files), - partial(self._question_callback, files), - ('n', 'N', 'y', 'Y'), - ) - else: - # no need for a confirmation, just delete - self.fm.delete(files) - - def tab(self, tabnum): - return self._tab_directory_content() - - def _question_callback(self, files, answer): - if answer.lower() == 'y': - self.fm.delete(files) - - -class trash(Command): - """:trash - - Tries to move the selection or the files passed in arguments (if any) to - the trash, using rifle rules with label "trash". - The arguments use a shell-like escaping. - - "Selection" is defined as all the "marked files" (by default, you - can mark files with space or v). If there are no marked files, - use the "current file" (where the cursor is) - - When attempting to trash non-empty directories or multiple - marked files, it will require a confirmation. - """ - - allow_abbrev = False - escape_macros_for_shell = True - - def execute(self): - import shlex - from functools import partial - - def is_directory_with_files(path): - return os.path.isdir(path) and not os.path.islink(path) and len(os.listdir(path)) > 0 - - if self.rest(1): - files = shlex.split(self.rest(1)) - many_files = (len(files) > 1 or is_directory_with_files(files[0])) - else: - cwd = self.fm.thisdir - tfile = self.fm.thisfile - if not cwd or not tfile: - self.fm.notify("Error: no file selected for deletion!", bad=True) - return - - # relative_path used for a user-friendly output in the confirmation. - files = [f.relative_path for f in self.fm.thistab.get_selection()] - many_files = (cwd.marked_items or is_directory_with_files(tfile.path)) - - confirm = self.fm.settings.confirm_on_delete - if confirm != 'never' and (confirm != 'multiple' or many_files): - self.fm.ui.console.ask( - "Confirm deletion of: %s (y/N)" % ', '.join(files), - partial(self._question_callback, files), - ('n', 'N', 'y', 'Y'), - ) - else: - # no need for a confirmation, just delete - self.fm.execute_file(files, label='trash') - - def tab(self, tabnum): - return self._tab_directory_content() - - def _question_callback(self, files, answer): - if answer.lower() == 'y': - self.fm.execute_file(files, label='trash') - - -class jump_non(Command): - """:jump_non [-FLAGS...] - - Jumps to first non-directory if highlighted file is a directory and vice versa. - - Flags: - -r Jump in reverse order - -w Wrap around if reaching end of filelist - """ - def __init__(self, *args, **kwargs): - super(jump_non, self).__init__(*args, **kwargs) - - flags, _ = self.parse_flags() - self._flag_reverse = 'r' in flags - self._flag_wrap = 'w' in flags - - @staticmethod - def _non(fobj, is_directory): - return fobj.is_directory if not is_directory else not fobj.is_directory - - def execute(self): - tfile = self.fm.thisfile - passed = False - found_before = None - found_after = None - for fobj in self.fm.thisdir.files[::-1] if self._flag_reverse else self.fm.thisdir.files: - if fobj.path == tfile.path: - passed = True - continue - - if passed: - if self._non(fobj, tfile.is_directory): - found_after = fobj.path - break - elif not found_before and self._non(fobj, tfile.is_directory): - found_before = fobj.path - - if found_after: - self.fm.select_file(found_after) - elif self._flag_wrap and found_before: - self.fm.select_file(found_before) - - -class mark_tag(Command): - """:mark_tag [<tags>] - - Mark all tags that are tagged with either of the given tags. - When leaving out the tag argument, all tagged files are marked. - """ - do_mark = True - - def execute(self): - cwd = self.fm.thisdir - tags = self.rest(1).replace(" ", "") - if not self.fm.tags or not cwd.files: - return - for fileobj in cwd.files: - try: - tag = self.fm.tags.tags[fileobj.realpath] - except KeyError: - continue - if not tags or tag in tags: - cwd.mark_item(fileobj, val=self.do_mark) - self.fm.ui.status.need_redraw = True - self.fm.ui.need_redraw = True - - -class console(Command): - """:console [-p N | -s sep] <command> - - Flags: - -p N Set position at N index - -s sep Set position at separator(any char[s] sequence), example '#' - Open the console with the given command. - """ - - def execute(self): - position = None - command = self.rest(1) - if self.arg(1)[0:2] == '-p': - command = self.rest(2) - try: - position = int(self.arg(1)[2:]) - except ValueError: - pass - elif self.arg(1)[0:2] == '-s': - command = self.rest(3) - sentinel = self.arg(2) - pos = command.find(sentinel) - if pos != -1: - command = command.replace(sentinel, '', 1) - position = pos - self.fm.open_console(command, position=position) - - -class load_copy_buffer(Command): - """:load_copy_buffer - - Load the copy buffer from datadir/copy_buffer - """ - copy_buffer_filename = 'copy_buffer' - - def execute(self): - from ranger.container.file import File - from os.path import exists - fname = self.fm.datapath(self.copy_buffer_filename) - unreadable = OSError if PY3 else IOError - try: - fobj = open(fname, 'r') - except unreadable: - return self.fm.notify( - "Cannot open %s" % (fname or self.copy_buffer_filename), bad=True) - - self.fm.copy_buffer = set(File(g) - for g in fobj.read().split("\n") if exists(g)) - fobj.close() - self.fm.ui.redraw_main_column() - return None - - -class save_copy_buffer(Command): - """:save_copy_buffer - - Save the copy buffer to datadir/copy_buffer - """ - copy_buffer_filename = 'copy_buffer' - - def execute(self): - fname = None - fname = self.fm.datapath(self.copy_buffer_filename) - unwritable = OSError if PY3 else IOError - try: - fobj = open(fname, 'w') - except unwritable: - return self.fm.notify("Cannot open %s" % - (fname or self.copy_buffer_filename), bad=True) - fobj.write("\n".join(fobj.path for fobj in self.fm.copy_buffer)) - fobj.close() - return None - - -class unmark_tag(mark_tag): - """:unmark_tag [<tags>] - - Unmark all tags that are tagged with either of the given tags. - When leaving out the tag argument, all tagged files are unmarked. - """ - do_mark = False - - -class mkdir(Command): - """:mkdir <dirname> - - Creates a directory with the name <dirname>. - """ - - def execute(self): - from os.path import join, expanduser, lexists - from os import makedirs - - dirname = join(self.fm.thisdir.path, expanduser(self.rest(1))) - if not lexists(dirname): - makedirs(dirname) - else: - self.fm.notify("file/directory exists!", bad=True) - - def tab(self, tabnum): - return self._tab_directory_content() - - -class touch(Command): - """:touch <fname> - - Creates a file with the name <fname>. - """ - - def execute(self): - from os.path import join, expanduser, lexists, dirname - from os import makedirs - - fname = join(self.fm.thisdir.path, expanduser(self.rest(1))) - dirname = dirname(fname) - if not lexists(fname): - if not lexists(dirname): - makedirs(dirname) - open(fname, 'a').close() - else: - self.fm.notify("file/directory exists!", bad=True) - - def tab(self, tabnum): - return self._tab_directory_content() - - -class edit(Command): - """:edit <filename> - - Opens the specified file in vim - """ - - def execute(self): - if not self.arg(1): - self.fm.edit_file(self.fm.thisfile.path) - else: - self.fm.edit_file(self.rest(1)) - - def tab(self, tabnum): - return self._tab_directory_content() - - -class eval_(Command): - """:eval [-q] <python code> - - Evaluates the python code. - `fm' is a reference to the FM instance. - To display text, use the function `p'. - - Examples: - :eval fm - :eval len(fm.directories) - :eval p("Hello World!") - """ - name = 'eval' - resolve_macros = False - - def execute(self): - # The import is needed so eval() can access the ranger module - import ranger # NOQA pylint: disable=unused-import,unused-variable - if self.arg(1) == '-q': - code = self.rest(2) - quiet = True - else: - code = self.rest(1) - quiet = False - global cmd, fm, p, quantifier # pylint: disable=invalid-name,global-variable-undefined - fm = self.fm - cmd = self.fm.execute_console - p = fm.notify - quantifier = self.quantifier - try: - try: - result = eval(code) # pylint: disable=eval-used - except SyntaxError: - exec(code) # pylint: disable=exec-used - else: - if result and not quiet: - p(result) - except Exception as err: # pylint: disable=broad-except - fm.notify("The error `%s` was caused by evaluating the " - "following code: `%s`" % (err, code), bad=True) - - -class rename(Command): - """:rename <newname> - - Changes the name of the currently highlighted file to <newname> - """ - - def execute(self): - from ranger.container.file import File - from os import access - - new_name = self.rest(1) - - if not new_name: - return self.fm.notify('Syntax: rename <newname>', bad=True) - - if new_name == self.fm.thisfile.relative_path: - return None - - if access(new_name, os.F_OK): - return self.fm.notify("Can't rename: file already exists!", bad=True) - - if self.fm.rename(self.fm.thisfile, new_name): - file_new = File(new_name) - self.fm.bookmarks.update_path(self.fm.thisfile.path, file_new) - self.fm.tags.update_path(self.fm.thisfile.path, file_new.path) - self.fm.thisdir.pointed_obj = file_new - self.fm.thisfile = file_new - - return None - - def tab(self, tabnum): - return self._tab_directory_content() - - -class rename_append(Command): - """:rename_append [-FLAGS...] - - Opens the console with ":rename <current file>" with the cursor positioned - before the file extension. - - Flags: - -a Position before all extensions - -r Remove everything before extensions - """ - def __init__(self, *args, **kwargs): - super(rename_append, self).__init__(*args, **kwargs) - - flags, _ = self.parse_flags() - self._flag_ext_all = 'a' in flags - self._flag_remove = 'r' in flags - - def execute(self): - from ranger import MACRO_DELIMITER, MACRO_DELIMITER_ESC - - tfile = self.fm.thisfile - relpath = tfile.relative_path.replace(MACRO_DELIMITER, MACRO_DELIMITER_ESC) - basename = tfile.basename.replace(MACRO_DELIMITER, MACRO_DELIMITER_ESC) - - if basename.find('.') <= 0 or os.path.isdir(relpath): - self.fm.open_console('rename ' + relpath) - return - - if self._flag_ext_all: - pos_ext = re.search(r'[^.]+', basename).end(0) - else: - pos_ext = basename.rindex('.') - pos = len(relpath) - len(basename) + pos_ext - - if self._flag_remove: - relpath = relpath[:-len(basename)] + basename[pos_ext:] - pos -= pos_ext - - self.fm.open_console('rename ' + relpath, position=(7 + pos)) - - -class chmod(Command): - """:chmod <octal number> - - Sets the permissions of the selection to the octal number. - - The octal number is between 0 and 777. The digits specify the - permissions for the user, the group and others. - - A 1 permits execution, a 2 permits writing, a 4 permits reading. - Add those numbers to combine them. So a 7 permits everything. - """ - - def execute(self): - mode_str = self.rest(1) - if not mode_str: - if self.quantifier is None: - self.fm.notify("Syntax: chmod <octal number> " - "or specify a quantifier", bad=True) - return - mode_str = str(self.quantifier) - - try: - mode = int(mode_str, 8) - if mode < 0 or mode > 0o777: - raise ValueError - except ValueError: - self.fm.notify("Need an octal number between 0 and 777!", bad=True) - return - - for fobj in self.fm.thistab.get_selection(): - try: - os.chmod(fobj.path, mode) - except OSError as ex: - self.fm.notify(ex) - - # reloading directory. maybe its better to reload the selected - # files only. - self.fm.thisdir.content_outdated = True - - -class bulkrename(Command): - """:bulkrename - - This command opens a list of selected files in an external editor. - After you edit and save the file, it will generate a shell script - which does bulk renaming according to the changes you did in the file. - - This shell script is opened in an editor for you to review. - After you close it, it will be executed. - """ - - def __init__(self, *args, **kwargs): - super(bulkrename, self).__init__(*args, **kwargs) - self.flags, _ = self.parse_flags() - if not self.flags: - self.flags = "w" - - def execute(self): - # pylint: disable=too-many-locals,too-many-statements,too-many-branches - import tempfile - from ranger.container.file import File - from ranger.ext.shell_escape import shell_escape as esc - - # Create and edit the file list - filenames = [f.relative_path for f in self.fm.thistab.get_selection()] - with tempfile.NamedTemporaryFile(delete=False) as listfile: - listpath = listfile.name - if PY3: - listfile.write("\n".join(filenames).encode( - encoding="utf-8", errors="surrogateescape")) - else: - listfile.write("\n".join(filenames)) - self.fm.execute_file([File(listpath)], app='editor') - with (open(listpath, 'r', encoding="utf-8", errors="surrogateescape") if - PY3 else open(listpath, 'r')) as listfile: - new_filenames = listfile.read().split("\n") - os.unlink(listpath) - if all(a == b for a, b in zip(filenames, new_filenames)): - self.fm.notify("No renaming to be done!") - return - - # Generate script - with tempfile.NamedTemporaryFile() as cmdfile: - script_lines = [] - script_lines.append("# This file will be executed when you close" - " the editor.") - script_lines.append("# Please double-check everything, clear the" - " file to abort.") - new_dirs = [] - for old, new in zip(filenames, new_filenames): - if old != new: - basepath, _ = os.path.split(new) - if (basepath and basepath not in new_dirs - and not os.path.isdir(basepath)): - script_lines.append("mkdir -vp -- {dir}".format( - dir=esc(basepath))) - new_dirs.append(basepath) - script_lines.append("mv -vi -- {old} {new}".format( - old=esc(old), new=esc(new))) - # Make sure not to forget the ending newline - script_content = "\n".join(script_lines) + "\n" - if PY3: - cmdfile.write(script_content.encode(encoding="utf-8", - errors="surrogateescape")) - else: - cmdfile.write(script_content) - cmdfile.flush() - - # Open the script and let the user review it, then check if the - # script was modified by the user - self.fm.execute_file([File(cmdfile.name)], app='editor') - cmdfile.seek(0) - script_was_edited = (script_content != cmdfile.read()) - - # Do the renaming - self.fm.run(['/bin/sh', cmdfile.name], flags=self.flags) - - # Retag the files, but only if the script wasn't changed during review, - # because only then we know which are the source and destination files. - if not script_was_edited: - tags_changed = False - for old, new in zip(filenames, new_filenames): - if old != new: - oldpath = self.fm.thisdir.path + '/' + old - newpath = self.fm.thisdir.path + '/' + new - if oldpath in self.fm.tags: - old_tag = self.fm.tags.tags[oldpath] - self.fm.tags.remove(oldpath) - self.fm.tags.tags[newpath] = old_tag - tags_changed = True - if tags_changed: - self.fm.tags.dump() - else: - fm.notify("files have not been retagged") - - -class relink(Command): - """:relink <newpath> - - Changes the linked path of the currently highlighted symlink to <newpath> - """ - - def execute(self): - new_path = self.rest(1) - tfile = self.fm.thisfile - - if not new_path: - return self.fm.notify('Syntax: relink <newpath>', bad=True) - - if not tfile.is_link: - return self.fm.notify('%s is not a symlink!' % tfile.relative_path, bad=True) - - if new_path == os.readlink(tfile.path): - return None - - try: - os.remove(tfile.path) - os.symlink(new_path, tfile.path) - except OSError as err: - self.fm.notify(err) - - self.fm.reset() - self.fm.thisdir.pointed_obj = tfile - self.fm.thisfile = tfile - - return None - - def tab(self, tabnum): - if not self.rest(1): - return self.line + os.readlink(self.fm.thisfile.path) - return self._tab_directory_content() - - -class help_(Command): - """:help - - Display ranger's manual page. - """ - name = 'help' - - def execute(self): - def callback(answer): - if answer == "q": - return - elif answer == "m": - self.fm.display_help() - elif answer == "c": - self.fm.dump_commands() - elif answer == "k": - self.fm.dump_keybindings() - elif answer == "s": - self.fm.dump_settings() - - self.fm.ui.console.ask( - "View [m]an page, [k]ey bindings, [c]ommands or [s]ettings? (press q to abort)", - callback, - list("mqkcs") - ) - - -class copymap(Command): - """:copymap <keys> <newkeys1> [<newkeys2>...] - - Copies a "browser" keybinding from <keys> to <newkeys> - """ - context = 'browser' - - def execute(self): - if not self.arg(1) or not self.arg(2): - return self.fm.notify("Not enough arguments", bad=True) - - for arg in self.args[2:]: - self.fm.ui.keymaps.copy(self.context, self.arg(1), arg) - - return None - - -class copypmap(copymap): - """:copypmap <keys> <newkeys1> [<newkeys2>...] - - Copies a "pager" keybinding from <keys> to <newkeys> - """ - context = 'pager' - - -class copycmap(copymap): - """:copycmap <keys> <newkeys1> [<newkeys2>...] - - Copies a "console" keybinding from <keys> to <newkeys> - """ - context = 'console' - - -class copytmap(copymap): - """:copytmap <keys> <newkeys1> [<newkeys2>...] - - Copies a "taskview" keybinding from <keys> to <newkeys> - """ - context = 'taskview' - - -class unmap(Command): - """:unmap <keys> [<keys2>, ...] - - Remove the given "browser" mappings - """ - context = 'browser' - - def execute(self): - for arg in self.args[1:]: - self.fm.ui.keymaps.unbind(self.context, arg) - - -class uncmap(unmap): - """:uncmap <keys> [<keys2>, ...] - - Remove the given "console" mappings - """ - context = 'console' - - -class cunmap(uncmap): - """:cunmap <keys> [<keys2>, ...] - - Remove the given "console" mappings - - DEPRECATED in favor of uncmap. - """ - - def execute(self): - self.fm.notify("cunmap is deprecated in favor of uncmap!") - super(cunmap, self).execute() - - -class unpmap(unmap): - """:unpmap <keys> [<keys2>, ...] - - Remove the given "pager" mappings - """ - context = 'pager' - - -class punmap(unpmap): - """:punmap <keys> [<keys2>, ...] - - Remove the given "pager" mappings - - DEPRECATED in favor of unpmap. - """ - - def execute(self): - self.fm.notify("punmap is deprecated in favor of unpmap!") - super(punmap, self).execute() - - -class untmap(unmap): - """:untmap <keys> [<keys2>, ...] - - Remove the given "taskview" mappings - """ - context = 'taskview' - - -class tunmap(untmap): - """:tunmap <keys> [<keys2>, ...] - - Remove the given "taskview" mappings - - DEPRECATED in favor of untmap. - """ - - def execute(self): - self.fm.notify("tunmap is deprecated in favor of untmap!") - super(tunmap, self).execute() - - -class map_(Command): - """:map <keysequence> <command> - - Maps a command to a keysequence in the "browser" context. - - Example: - map j move down - map J move down 10 - """ - name = 'map' - context = 'browser' - resolve_macros = False - - def execute(self): - if not self.arg(1) or not self.arg(2): - self.fm.notify("Syntax: {0} <keysequence> <command>".format(self.get_name()), bad=True) - return - - self.fm.ui.keymaps.bind(self.context, self.arg(1), self.rest(2)) - - -class cmap(map_): - """:cmap <keysequence> <command> - - Maps a command to a keysequence in the "console" context. - - Example: - cmap <ESC> console_close - cmap <C-x> console_type test - """ - context = 'console' - - -class tmap(map_): - """:tmap <keysequence> <command> - - Maps a command to a keysequence in the "taskview" context. - """ - context = 'taskview' - - -class pmap(map_): - """:pmap <keysequence> <command> - - Maps a command to a keysequence in the "pager" context. - """ - context = 'pager' - - -class scout(Command): - """:scout [-FLAGS...] <pattern> - - Swiss army knife command for searching, traveling and filtering files. - - Flags: - -a Automatically open a file on unambiguous match - -e Open the selected file when pressing enter - -f Filter files that match the current search pattern - -g Interpret pattern as a glob pattern - -i Ignore the letter case of the files - -k Keep the console open when changing a directory with the command - -l Letter skipping; e.g. allow "rdme" to match the file "readme" - -m Mark the matching files after pressing enter - -M Unmark the matching files after pressing enter - -p Permanent filter: hide non-matching files after pressing enter - -r Interpret pattern as a regular expression pattern - -s Smart case; like -i unless pattern contains upper case letters - -t Apply filter and search pattern as you type - -v Inverts the match - - Multiple flags can be combined. For example, ":scout -gpt" would create - a :filter-like command using globbing. - """ - - AUTO_OPEN = "a" - OPEN_ON_ENTER = "e" - FILTER = "f" - SM_GLOB = "g" - IGNORE_CASE = "i" - KEEP_OPEN = "k" - SM_LETTERSKIP = "l" - MARK = "m" - UNMARK = "M" - PERM_FILTER = "p" - SM_REGEX = "r" - SMART_CASE = "s" - AS_YOU_TYPE = "t" - INVERT = "v" - - def __init__(self, *args, **kwargs): - super(scout, self).__init__(*args, **kwargs) - self._regex = None - self.flags, self.pattern = self.parse_flags() - - def execute(self): # pylint: disable=too-many-branches - thisdir = self.fm.thisdir - flags = self.flags - pattern = self.pattern - regex = self._build_regex() - count = self._count(move=True) - - self.fm.thistab.last_search = regex - self.fm.set_search_method(order="search") - - if (self.MARK in flags or self.UNMARK in flags) and thisdir.files: - value = flags.find(self.MARK) > flags.find(self.UNMARK) - if self.FILTER in flags: - for fobj in thisdir.files: - thisdir.mark_item(fobj, value) - else: - for fobj in thisdir.files: - if regex.search(fobj.relative_path): - thisdir.mark_item(fobj, value) - - if self.PERM_FILTER in flags: - thisdir.filter = regex if pattern else None - - # clean up: - self.cancel() - - if self.OPEN_ON_ENTER in flags or \ - (self.AUTO_OPEN in flags and count == 1): - if pattern == '..': - self.fm.cd(pattern) - else: - self.fm.move(right=1) - if self.quickly_executed: - self.fm.block_input(0.5) - - if self.KEEP_OPEN in flags and thisdir != self.fm.thisdir: - # reopen the console: - if not pattern: - self.fm.open_console(self.line) - else: - self.fm.open_console(self.line[0:-len(pattern)]) - - if self.quickly_executed and thisdir != self.fm.thisdir and pattern != "..": - self.fm.block_input(0.5) - - def cancel(self): - self.fm.thisdir.temporary_filter = None - self.fm.thisdir.refilter() - - def quick(self): - asyoutype = self.AS_YOU_TYPE in self.flags - if self.FILTER in self.flags: - self.fm.thisdir.temporary_filter = self._build_regex() - if self.PERM_FILTER in self.flags and asyoutype: - self.fm.thisdir.filter = self._build_regex() - if self.FILTER in self.flags or self.PERM_FILTER in self.flags: - self.fm.thisdir.refilter() - if self._count(move=asyoutype) == 1 and self.AUTO_OPEN in self.flags: - return True - return False - - def tab(self, tabnum): - self._count(move=True, offset=tabnum) - - def _build_regex(self): - if self._regex is not None: - return self._regex - - frmat = "%s" - flags = self.flags - pattern = self.pattern - - if pattern == ".": - return re.compile("") - - # Handle carets at start and dollar signs at end separately - if pattern.startswith('^'): - pattern = pattern[1:] - frmat = "^" + frmat - if pattern.endswith('$'): - pattern = pattern[:-1] - frmat += "$" - - # Apply one of the search methods - if self.SM_REGEX in flags: - regex = pattern - elif self.SM_GLOB in flags: - regex = re.escape(pattern).replace("\\*", ".*").replace("\\?", ".") - elif self.SM_LETTERSKIP in flags: - regex = ".*".join(re.escape(c) for c in pattern) - else: - regex = re.escape(pattern) - - regex = frmat % regex - - # Invert regular expression if necessary - if self.INVERT in flags: - regex = "^(?:(?!%s).)*$" % regex - - # Compile Regular Expression - # pylint: disable=no-member - options = re.UNICODE - if self.IGNORE_CASE in flags or self.SMART_CASE in flags and \ - pattern.islower(): - options |= re.IGNORECASE - # pylint: enable=no-member - try: - self._regex = re.compile(regex, options) - except re.error: - self._regex = re.compile("") - return self._regex - - def _count(self, move=False, offset=0): - count = 0 - cwd = self.fm.thisdir - pattern = self.pattern - - if not pattern or not cwd.files: - return 0 - if pattern == '.': - return 0 - if pattern == '..': - return 1 - - deq = deque(cwd.files) - deq.rotate(-cwd.pointer - offset) - i = offset - regex = self._build_regex() - for fsobj in deq: - if regex.search(fsobj.relative_path): - count += 1 - if move and count == 1: - cwd.move(to=(cwd.pointer + i) % len(cwd.files)) - self.fm.thisfile = cwd.pointed_obj - if count > 1: - return count - i += 1 - - return count == 1 - - -class narrow(Command): - """ - :narrow - - Show only the files selected right now. If no files are selected, - disable narrowing. - """ - def execute(self): - if self.fm.thisdir.marked_items: - selection = [f.basename for f in self.fm.thistab.get_selection()] - self.fm.thisdir.narrow_filter = selection - else: - self.fm.thisdir.narrow_filter = None - self.fm.thisdir.refilter() - - -class filter_inode_type(Command): - """ - :filter_inode_type [dfl] - - Displays only the files of specified inode type. Parameters - can be combined. - - d display directories - f display files - l display links - """ - - def execute(self): - if not self.arg(1): - self.fm.thisdir.inode_type_filter = "" - else: - self.fm.thisdir.inode_type_filter = self.arg(1) - self.fm.thisdir.refilter() - - -class filter_stack(Command): - """ - :filter_stack ... - - Manages the filter stack. - - filter_stack add FILTER_TYPE ARGS... - filter_stack pop - filter_stack decompose - filter_stack rotate [N=1] - filter_stack clear - filter_stack show - """ - def execute(self): - from ranger.core.filter_stack import SIMPLE_FILTERS, FILTER_COMBINATORS - - subcommand = self.arg(1) - - if subcommand == "add": - try: - self.fm.thisdir.filter_stack.append( - SIMPLE_FILTERS[self.arg(2)](self.rest(3)) - ) - except KeyError: - FILTER_COMBINATORS[self.arg(2)](self.fm.thisdir.filter_stack) - elif subcommand == "pop": - self.fm.thisdir.filter_stack.pop() - elif subcommand == "decompose": - inner_filters = self.fm.thisdir.filter_stack.pop().decompose() - if inner_filters: - self.fm.thisdir.filter_stack.extend(inner_filters) - elif subcommand == "clear": - self.fm.thisdir.filter_stack = [] - elif subcommand == "rotate": - rotate_by = int(self.arg(2) or self.quantifier or 1) - self.fm.thisdir.filter_stack = ( - self.fm.thisdir.filter_stack[-rotate_by:] - + self.fm.thisdir.filter_stack[:-rotate_by] - ) - elif subcommand == "show": - stack = list(map(str, self.fm.thisdir.filter_stack)) - pager = self.fm.ui.open_pager() - pager.set_source(["Filter stack: "] + stack) - pager.move(to=100, percentage=True) - return - else: - self.fm.notify( - "Unknown subcommand: {sub}".format(sub=subcommand), - bad=True - ) - return - - self.fm.thisdir.refilter() - - -class grep(Command): - """:grep <string> - - Looks for a string in all marked files or directories - """ - - def execute(self): - if self.rest(1): - action = ['grep', '--line-number'] - action.extend(['-e', self.rest(1), '-r']) - action.extend(f.path for f in self.fm.thistab.get_selection()) - self.fm.execute_command(action, flags='p') - - -class flat(Command): - """ - :flat <level> - - Flattens the directory view up to the specified level. - - -1 fully flattened - 0 remove flattened view - """ - - def execute(self): - try: - level_str = self.rest(1) - level = int(level_str) - except ValueError: - level = self.quantifier - if level is None: - self.fm.notify("Syntax: flat <level>", bad=True) - return - if level < -1: - self.fm.notify("Need an integer number (-1, 0, 1, ...)", bad=True) - self.fm.thisdir.unload() - self.fm.thisdir.flat = level - self.fm.thisdir.load_content() - - -class reset_previews(Command): - """:reset_previews - - Reset the file previews. - """ - def execute(self): - self.fm.previews = {} - self.fm.ui.need_redraw = True - - -# Version control commands -# -------------------------------- - - -class stage(Command): - """ - :stage - - Stage selected files for the corresponding version control system - """ - - def execute(self): - from ranger.ext.vcs import VcsError - - if self.fm.thisdir.vcs and self.fm.thisdir.vcs.track: - filelist = [f.path for f in self.fm.thistab.get_selection()] - try: - self.fm.thisdir.vcs.action_add(filelist) - except VcsError as ex: - self.fm.notify('Unable to stage files: {0}'.format(ex)) - self.fm.ui.vcsthread.process(self.fm.thisdir) - else: - self.fm.notify('Unable to stage files: Not in repository') - - -class unstage(Command): - """ - :unstage - - Unstage selected files for the corresponding version control system - """ - - def execute(self): - from ranger.ext.vcs import VcsError - - if self.fm.thisdir.vcs and self.fm.thisdir.vcs.track: - filelist = [f.path for f in self.fm.thistab.get_selection()] - try: - self.fm.thisdir.vcs.action_reset(filelist) - except VcsError as ex: - self.fm.notify('Unable to unstage files: {0}'.format(ex)) - self.fm.ui.vcsthread.process(self.fm.thisdir) - else: - self.fm.notify('Unable to unstage files: Not in repository') - -# Metadata commands -# -------------------------------- - - -class prompt_metadata(Command): - """ - :prompt_metadata <key1> [<key2> [<key3> ...]] - - Prompt the user to input metadata for multiple keys in a row. - """ - - _command_name = "meta" - _console_chain = None - - def execute(self): - prompt_metadata._console_chain = self.args[1:] - self._process_command_stack() - - def _process_command_stack(self): - if prompt_metadata._console_chain: - key = prompt_metadata._console_chain.pop() - self._fill_console(key) - else: - for col in self.fm.ui.browser.columns: - col.need_redraw = True - - def _fill_console(self, key): - metadata = self.fm.metadata.get_metadata(self.fm.thisfile.path) - if key in metadata and metadata[key]: - existing_value = metadata[key] - else: - existing_value = "" - text = "%s %s %s" % (self._command_name, key, existing_value) - self.fm.open_console(text, position=len(text)) - - -class meta(prompt_metadata): - """ - :meta <key> [<value>] - - Change metadata of a file. Deletes the key if value is empty. - """ - - def execute(self): - key = self.arg(1) - update_dict = dict() - update_dict[key] = self.rest(2) - selection = self.fm.thistab.get_selection() - for fobj in selection: - self.fm.metadata.set_metadata(fobj.path, update_dict) - self._process_command_stack() - - def tab(self, tabnum): - key = self.arg(1) - metadata = self.fm.metadata.get_metadata(self.fm.thisfile.path) - if key in metadata and metadata[key]: - return [" ".join([self.arg(0), self.arg(1), metadata[key]])] - return [self.arg(0) + " " + k for k in sorted(metadata) - if k.startswith(self.arg(1))] - - -class linemode(default_linemode): - """ - :linemode <mode> - - Change what is displayed as a filename. - - - "mode" may be any of the defined linemodes (see: ranger.core.linemode). - "normal" is mapped to "filename". - """ - - def execute(self): - mode = self.arg(1) - - if mode == "normal": - from ranger.core.linemode import DEFAULT_LINEMODE - mode = DEFAULT_LINEMODE - - if mode not in self.fm.thisfile.linemode_dict: - self.fm.notify("Unhandled linemode: `%s'" % mode, bad=True) - return - - self.fm.thisdir.set_linemode_of_children(mode) - - # Ask the browsercolumns to redraw - for col in self.fm.ui.browser.columns: - col.need_redraw = True - - -class yank(Command): - """:yank [name|dir|path] - - Copies the file's name (default), directory or path into both the primary X - selection and the clipboard. - """ - - modes = { - '': 'basename', - 'name_without_extension': 'basename_without_extension', - 'name': 'basename', - 'dir': 'dirname', - 'path': 'path', - } - - def execute(self): - import subprocess - - def clipboards(): - from ranger.ext.get_executables import get_executables - clipboard_managers = { - 'xclip': [ - ['xclip'], - ['xclip', '-selection', 'clipboard'], - ], - 'xsel': [ - ['xsel'], - ['xsel', '-b'], - ], - 'wl-copy': [ - ['wl-copy'], - ], - 'pbcopy': [ - ['pbcopy'], - ], - } - ordered_managers = ['pbcopy', 'wl-copy', 'xclip', 'xsel'] - executables = get_executables() - for manager in ordered_managers: - if manager in executables: - return clipboard_managers[manager] - return [] - - clipboard_commands = clipboards() - - mode = self.modes[self.arg(1)] - selection = self.get_selection_attr(mode) - - new_clipboard_contents = "\n".join(selection) - for command in clipboard_commands: - process = subprocess.Popen(command, universal_newlines=True, - stdin=subprocess.PIPE) - process.communicate(input=new_clipboard_contents) - - def get_selection_attr(self, attr): - return [getattr(item, attr) for item in - self.fm.thistab.get_selection()] - - def tab(self, tabnum): - return ( - self.start(1) + mode for mode - in sorted(self.modes.keys()) - if mode - ) - - -class paste_ext(Command): - """ - :paste_ext - - Like paste but tries to rename conflicting files so that the - file extension stays intact (e.g. file_.ext). - """ - - @staticmethod - def make_safe_path(dst): - if not os.path.exists(dst): - return dst - - dst_name, dst_ext = os.path.splitext(dst) - - if not dst_name.endswith("_"): - dst_name += "_" - if not os.path.exists(dst_name + dst_ext): - return dst_name + dst_ext - n = 0 - test_dst = dst_name + str(n) - while os.path.exists(test_dst + dst_ext): - n += 1 - test_dst = dst_name + str(n) - - return test_dst + dst_ext - - def execute(self): - return self.fm.paste(make_safe_path=paste_ext.make_safe_path) diff --git a/.config/ranger/rc.conf b/.config/ranger/rc.conf @@ -1,761 +0,0 @@ -# =================================================================== -# This file contains the default startup commands for ranger. -# To change them, it is recommended to create either /etc/ranger/rc.conf -# (system-wide) or ~/.config/ranger/rc.conf (per user) and add your custom -# commands there. -# -# If you copy this whole file there, you may want to set the environment -# variable RANGER_LOAD_DEFAULT_RC to FALSE to avoid loading it twice. -# -# The purpose of this file is mainly to define keybindings and settings. -# For running more complex python code, please create a plugin in "plugins/" or -# a command in "commands.py". -# -# Each line is a command that will be run before the user interface -# is initialized. As a result, you can not use commands which rely -# on the UI such as :delete or :mark. -# =================================================================== - -# =================================================================== -# == Options -# =================================================================== - -# Which viewmode should be used? Possible values are: -# miller: Use miller columns which show multiple levels of the hierarchy -# multipane: Midnight-commander like multipane view showing all tabs next -# to each other -set viewmode miller - -# How many columns are there, and what are their relative widths? -set column_ratios 1,3,4 - -# Which files should be hidden? (regular expression) -set hidden_filter ^\.|\.(?:pyc|pyo|bak|swp)$|^lost\+found$|^__(py)?cache__$ - -# Show hidden files? You can toggle this by typing 'zh' -set show_hidden false - -# Ask for a confirmation when running the "delete" command? -# Valid values are "always", "never", "multiple" (default) -# With "multiple", ranger will ask only if you delete multiple files at once. -set confirm_on_delete multiple - -# Use non-default path for file preview script? -# ranger ships with scope.sh, a script that calls external programs (see -# README.md for dependencies) to preview images, archives, etc. -set preview_script ~/.config/ranger/scope.sh - -# Use the external preview script or display simple plain text or image previews? -set use_preview_script true - -# Automatically count files in the directory, even before entering them? -set automatically_count_files true - -# Open all images in this directory when running certain image viewers -# like feh or sxiv? You can still open selected files by marking them. -set open_all_images true - -# Be aware of version control systems and display information. -set vcs_aware false - -# State of the four backends git, hg, bzr, svn. The possible states are -# disabled, local (only show local info), enabled (show local and remote -# information). -set vcs_backend_git enabled -set vcs_backend_hg disabled -set vcs_backend_bzr disabled -set vcs_backend_svn disabled - -# Truncate the long commit messages to this length when shown in the statusbar. -set vcs_msg_length 50 - -# Use one of the supported image preview protocols -set preview_images true - -# Set the preview image method. Supported methods: -# -# * w3m (default): -# Preview images in full color with the external command "w3mimgpreview"? -# This requires the console web browser "w3m" and a supported terminal. -# It has been successfully tested with "xterm" and "urxvt" without tmux. -# -# * iterm2: -# Preview images in full color using iTerm2 image previews -# (http://iterm2.com/images.html). This requires using iTerm2 compiled -# with image preview support. -# -# This feature relies on the dimensions of the terminal's font. By default, a -# width of 8 and height of 11 are used. To use other values, set the options -# iterm2_font_width and iterm2_font_height to the desired values. -# -# * terminology: -# Previews images in full color in the terminology terminal emulator. -# Supports a wide variety of formats, even vector graphics like svg. -# -# * urxvt: -# Preview images in full color using urxvt image backgrounds. This -# requires using urxvt compiled with pixbuf support. -# -# * urxvt-full: -# The same as urxvt but utilizing not only the preview pane but the -# whole terminal window. -# -# * kitty: -# Preview images in full color using kitty image protocol. -# Requires python PIL or pillow library. -# If ranger does not share the local filesystem with kitty -# the transfer method is changed to encode the whole image; -# while slower, this allows remote previews, -# for example during an ssh session. -# Tmux is unsupported. -# -# * ueberzug: -# Preview images in full color with the external command "ueberzug". -# Images are shown by using a child window. -# Only for users who run X11 in GNU/Linux. -set preview_images_method ueberzug - -# Delay in seconds before displaying an image with the w3m method. -# Increase it in case of experiencing display corruption. -set w3m_delay 0.02 - -# Manually adjust the w3mimg offset when using a terminal which needs this -set w3m_offset 0 - -# Default iTerm2 font size (see: preview_images_method: iterm2) -set iterm2_font_width 8 -set iterm2_font_height 11 - -# Use a unicode "..." character to mark cut-off filenames? -set unicode_ellipsis false - -# BIDI support - try to properly display file names in RTL languages (Hebrew, Arabic). -# Requires the python-bidi pip package -set bidi_support false - -# Show dotfiles in the bookmark preview box? -set show_hidden_bookmarks true - -# Which colorscheme to use? These colorschemes are available by default: -# default, jungle, snow, solarized -set colorscheme default - -# Preview files on the rightmost column? -# And collapse (shrink) the last column if there is nothing to preview? -set preview_files true -set preview_directories true -set collapse_preview true - -# Wrap long lines in plain text previews? -set wrap_plaintext_previews false - -# Save the console history on exit? -set save_console_history true - -# Draw the status bar on top of the browser window (default: bottom) -set status_bar_on_top false - -# Draw a progress bar in the status bar which displays the average state of all -# currently running tasks which support progress bars? -set draw_progress_bar_in_status_bar true - -# Draw borders around columns? (separators, outline, both, or none) -# Separators are vertical lines between columns. -# Outline draws a box around all the columns. -# Both combines the two. -set draw_borders none - -# Display the directory name in tabs? -set dirname_in_tabs false - -# Enable the mouse support? -set mouse_enabled true - -# Display the file size in the main column or status bar? -set display_size_in_main_column true -set display_size_in_status_bar true - -# Display the free disk space in the status bar? -set display_free_space_in_status_bar true - -# Display files tags in all columns or only in main column? -set display_tags_in_all_columns true - -# Set a title for the window? Updates both `WM_NAME` and `WM_ICON_NAME` -set update_title false - -# Set the tmux/screen window-name to "ranger"? -set update_tmux_title true - -# Shorten the title if it gets long? The number defines how many -# directories are displayed at once, 0 turns off this feature. -set shorten_title 3 - -# Show hostname in titlebar? -set hostname_in_titlebar true - -# Abbreviate $HOME with ~ in the titlebar (first line) of ranger? -set tilde_in_titlebar false - -# How many directory-changes or console-commands should be kept in history? -set max_history_size 20 -set max_console_history_size 50 - -# Try to keep so much space between the top/bottom border when scrolling: -set scroll_offset 8 - -# Flush the input after each key hit? (Noticeable when ranger lags) -set flushinput true - -# Padding on the right when there's no preview? -# This allows you to click into the space to run the file. -set padding_right true - -# Save bookmarks (used with mX and `X) instantly? -# This helps to synchronize bookmarks between multiple ranger -# instances but leads to *slight* performance loss. -# When false, bookmarks are saved when ranger is exited. -set autosave_bookmarks true - -# Save the "`" bookmark to disk. This can be used to switch to the last -# directory by typing "``". -set save_backtick_bookmark true - -# You can display the "real" cumulative size of directories by using the -# command :get_cumulative_size or typing "dc". The size is expensive to -# calculate and will not be updated automatically. You can choose -# to update it automatically though by turning on this option: -set autoupdate_cumulative_size false - -# Turning this on makes sense for screen readers: -set show_cursor false - -# One of: size, natural, basename, atime, ctime, mtime, type, random -set sort natural - -# Additional sorting options -set sort_reverse false -set sort_case_insensitive true -set sort_directories_first true -set sort_unicode false - -# Enable this if key combinations with the Alt Key don't work for you. -# (Especially on xterm) -set xterm_alt_key false - -# Whether to include bookmarks in cd command -set cd_bookmarks true - -# Changes case sensitivity for the cd command tab completion -set cd_tab_case sensitive - -# Use fuzzy tab completion with the "cd" command. For example, -# ":cd /u/lo/b<tab>" expands to ":cd /usr/local/bin". -set cd_tab_fuzzy false - -# Avoid previewing files larger than this size, in bytes. Use a value of 0 to -# disable this feature. -set preview_max_size 0 - -# The key hint lists up to this size have their sublists expanded. -# Otherwise the submaps are replaced with "...". -set hint_collapse_threshold 10 - -# Add the highlighted file to the path in the titlebar -set show_selection_in_titlebar true - -# The delay that ranger idly waits for user input, in milliseconds, with a -# resolution of 100ms. Lower delay reduces lag between directory updates but -# increases CPU load. -set idle_delay 2000 - -# When the metadata manager module looks for metadata, should it only look for -# a ".metadata.json" file in the current directory, or do a deep search and -# check all directories above the current one as well? -set metadata_deep_search false - -# Clear all existing filters when leaving a directory -set clear_filters_on_dir_change false - -# Disable displaying line numbers in main column. -# Possible values: false, absolute, relative. -set line_numbers false - -# When line_numbers=relative show the absolute line number in the -# current line. -set relative_current_zero false - -# Start line numbers from 1 instead of 0 -set one_indexed false - -# Save tabs on exit -set save_tabs_on_exit false - -# Enable scroll wrapping - moving down while on the last item will wrap around to -# the top and vice versa. -set wrap_scroll false - -# Set the global_inode_type_filter to nothing. Possible options: d, f and l for -# directories, files and symlinks respectively. -set global_inode_type_filter - -# This setting allows to freeze the list of files to save I/O bandwidth. It -# should be 'false' during start-up, but you can toggle it by pressing F. -set freeze_files false - -# Print file sizes in bytes instead of the default human-readable format. -set size_in_bytes false - -# Warn at startup if RANGER_LEVEL env var is greater than 0, in other words -# give a warning when you nest ranger in a subshell started by ranger. -# Special value "error" makes the warning more visible. -set nested_ranger_warning true - -# =================================================================== -# == Local Options -# =================================================================== -# You can set local options that only affect a single directory. - -# Examples: -# setlocal path=~/downloads sort mtime - -# =================================================================== -# == Command Aliases in the Console -# =================================================================== - -alias e edit -alias q quit -alias q! quit! -alias qa quitall -alias qa! quitall! -alias qall quitall -alias qall! quitall! -alias setl setlocal - -alias filter scout -prts -alias hide scout -prtsv -alias find scout -aets -alias mark scout -mr -alias unmark scout -Mr -alias search scout -rs -alias search_inc scout -rts -alias travel scout -aefklst - -# =================================================================== -# == Define keys for the browser -# =================================================================== - -# Basic -map Q quitall -map q quit -copymap q ZZ ZQ - -map R reload_cwd -map F set freeze_files! -map <C-r> reset -map <C-l> redraw_window -map <C-c> abort -map <esc> change_mode normal -map ~ set viewmode! - -map i display_file -map <A-j> scroll_preview 1 -map <A-k> scroll_preview -1 -map ? help -map W display_log -map w taskview_open -map S shell $SHELL - -map : console -map ; console -map ! console shell%space -map @ console -p6 shell %%s -map # console shell -p%space -map s console shell%space -map r chain draw_possible_programs; console open_with%space -map f console find%space -map cd console cd%space - -map <C-p> chain console; eval fm.ui.console.history_move(-1) - -# Change the line mode -map Mf linemode filename -map Mi linemode fileinfo -map Mm linemode mtime -map Mh linemode humanreadablemtime -map Mp linemode permissions -map Ms linemode sizemtime -map MH linemode sizehumanreadablemtime -map Mt linemode metatitle - -# Tagging / Marking -map t tag_toggle -map ut tag_remove -map "<any> tag_toggle tag=%any -map <Space> mark_files toggle=True -map v mark_files all=True toggle=True -map uv mark_files all=True val=False -map V toggle_visual_mode -map uV toggle_visual_mode reverse=True - -# For the nostalgics: Midnight Commander bindings -map <F1> help -map <F2> rename_append -map <F3> display_file -map <F4> edit -map <F5> copy -map <F6> cut -map <F7> console mkdir%space -map <F8> console delete -#map <F8> console trash -map <F10> exit - -# In case you work on a keyboard with dvorak layout -map <UP> move up=1 -map <DOWN> move down=1 -map <LEFT> move left=1 -map <RIGHT> move right=1 -map <HOME> move to=0 -map <END> move to=-1 -map <PAGEDOWN> move down=1 pages=True -map <PAGEUP> move up=1 pages=True -map <CR> move right=1 -#map <DELETE> console delete -map <INSERT> console touch%space - -# VIM-like -copymap <UP> k -copymap <DOWN> j -copymap <LEFT> h -copymap <RIGHT> l -copymap <HOME> gg -copymap <END> G -copymap <PAGEDOWN> <C-F> -copymap <PAGEUP> <C-B> - -map J move down=0.5 pages=True -map K move up=0.5 pages=True -copymap J <C-D> -copymap K <C-U> - -# Jumping around -map H history_go -1 -map L history_go 1 -map ] move_parent 1 -map [ move_parent -1 -map } traverse -map { traverse_backwards -map ) jump_non - -map gh cd ~ -map ge cd /etc -map gu cd /usr -map gd cd /dev -map gl cd -r . -map gL cd -r %f -map go cd /opt -map gv cd /var -map gm cd /media -map gi eval fm.cd('/run/media/' + os.getenv('USER')) -map gM cd /mnt -map gs cd /srv -map gp cd /tmp -map gr cd / -map gR eval fm.cd(ranger.RANGERDIR) -map g/ cd / -map g? cd /usr/share/doc/ranger - -# External Programs -map E edit -map du shell -p du --max-depth=1 -h --apparent-size -map dU shell -p du --max-depth=1 -h --apparent-size | sort -rh -map yp yank path -map yd yank dir -map yn yank name -map y. yank name_without_extension - -# Filesystem Operations -map = chmod - -map cw console rename%space -map a rename_append -map A eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%")) -map I eval fm.open_console('rename ' + fm.thisfile.relative_path.replace("%", "%%"), position=7) - -map pp paste -map po paste overwrite=True -map pP paste append=True -map pO paste overwrite=True append=True -map pl paste_symlink relative=False -map pL paste_symlink relative=True -map phl paste_hardlink -map pht paste_hardlinked_subtree -map pd console paste dest= -map p`<any> paste dest=%any_path -map p'<any> paste dest=%any_path - -map dD console delete -map dT console trash - -map dd cut -map ud uncut -map da cut mode=add -map dr cut mode=remove -map dt cut mode=toggle - -map yy copy -map uy uncut -map ya copy mode=add -map yr copy mode=remove -map yt copy mode=toggle - -# Temporary workarounds -map dgg eval fm.cut(dirarg=dict(to=0), narg=quantifier) -map dG eval fm.cut(dirarg=dict(to=-1), narg=quantifier) -map dj eval fm.cut(dirarg=dict(down=1), narg=quantifier) -map dk eval fm.cut(dirarg=dict(up=1), narg=quantifier) -map ygg eval fm.copy(dirarg=dict(to=0), narg=quantifier) -map yG eval fm.copy(dirarg=dict(to=-1), narg=quantifier) -map yj eval fm.copy(dirarg=dict(down=1), narg=quantifier) -map yk eval fm.copy(dirarg=dict(up=1), narg=quantifier) - -# Searching -map / console search%space -map n search_next -map N search_next forward=False -map ct search_next order=tag -map cs search_next order=size -map ci search_next order=mimetype -map cc search_next order=ctime -map cm search_next order=mtime -map ca search_next order=atime - -# Tabs -map <C-n> tab_new -map <C-w> tab_close -map <TAB> tab_move 1 -map <S-TAB> tab_move -1 -map <A-Right> tab_move 1 -map <A-Left> tab_move -1 -map gt tab_move 1 -map gT tab_move -1 -map gn tab_new -map gc tab_close -map uq tab_restore -map <a-1> tab_open 1 -map <a-2> tab_open 2 -map <a-3> tab_open 3 -map <a-4> tab_open 4 -map <a-5> tab_open 5 -map <a-6> tab_open 6 -map <a-7> tab_open 7 -map <a-8> tab_open 8 -map <a-9> tab_open 9 -map <a-r> tab_shift 1 -map <a-l> tab_shift -1 - -# Sorting -map or set sort_reverse! -map oz set sort=random -map os chain set sort=size; set sort_reverse=False -map ob chain set sort=basename; set sort_reverse=False -map on chain set sort=natural; set sort_reverse=False -map om chain set sort=mtime; set sort_reverse=False -map oc chain set sort=ctime; set sort_reverse=False -map oa chain set sort=atime; set sort_reverse=False -map ot chain set sort=type; set sort_reverse=False -map oe chain set sort=extension; set sort_reverse=False - -map oS chain set sort=size; set sort_reverse=True -map oB chain set sort=basename; set sort_reverse=True -map oN chain set sort=natural; set sort_reverse=True -map oM chain set sort=mtime; set sort_reverse=True -map oC chain set sort=ctime; set sort_reverse=True -map oA chain set sort=atime; set sort_reverse=True -map oT chain set sort=type; set sort_reverse=True -map oE chain set sort=extension; set sort_reverse=True - -map dc get_cumulative_size - -# Settings -map zc set collapse_preview! -map zd set sort_directories_first! -map zh set show_hidden! -map <C-h> set show_hidden! -copymap <C-h> <backspace> -copymap <backspace> <backspace2> -map zI set flushinput! -map zi set preview_images! -map zm set mouse_enabled! -map zp set preview_files! -map zP set preview_directories! -map zs set sort_case_insensitive! -map zu set autoupdate_cumulative_size! -map zv set use_preview_script! -map zf console filter%space -copymap zf zz - -# Filter stack -map .d filter_stack add type d -map .f filter_stack add type f -map .l filter_stack add type l -map .m console filter_stack add mime%space -map .n console filter_stack add name%space -map .# console filter_stack add hash%space -map ." filter_stack add duplicate -map .' filter_stack add unique -map .| filter_stack add or -map .& filter_stack add and -map .! filter_stack add not -map .r filter_stack rotate -map .c filter_stack clear -map .* filter_stack decompose -map .p filter_stack pop -map .. filter_stack show - -# Bookmarks -map `<any> enter_bookmark %any -map '<any> enter_bookmark %any -map m<any> set_bookmark %any -map um<any> unset_bookmark %any - -map m<bg> draw_bookmarks -copymap m<bg> um<bg> `<bg> '<bg> p`<bg> p'<bg> - -# Generate all the chmod bindings with some python help: -eval for arg in "rwxXst": cmd("map +u{0} shell -f chmod u+{0} %s".format(arg)) -eval for arg in "rwxXst": cmd("map +g{0} shell -f chmod g+{0} %s".format(arg)) -eval for arg in "rwxXst": cmd("map +o{0} shell -f chmod o+{0} %s".format(arg)) -eval for arg in "rwxXst": cmd("map +a{0} shell -f chmod a+{0} %s".format(arg)) -eval for arg in "rwxXst": cmd("map +{0} shell -f chmod +{0} %s".format(arg)) - -eval for arg in "rwxXst": cmd("map -u{0} shell -f chmod u-{0} %s".format(arg)) -eval for arg in "rwxXst": cmd("map -g{0} shell -f chmod g-{0} %s".format(arg)) -eval for arg in "rwxXst": cmd("map -o{0} shell -f chmod o-{0} %s".format(arg)) -eval for arg in "rwxXst": cmd("map -a{0} shell -f chmod a-{0} %s".format(arg)) -eval for arg in "rwxXst": cmd("map -{0} shell -f chmod -{0} %s".format(arg)) - -# =================================================================== -# == Define keys for the console -# =================================================================== -# Note: Unmapped keys are passed directly to the console. - -# Basic -cmap <tab> eval fm.ui.console.tab() -cmap <s-tab> eval fm.ui.console.tab(-1) -cmap <ESC> eval fm.ui.console.close() -cmap <CR> eval fm.ui.console.execute() -cmap <C-l> redraw_window - -copycmap <ESC> <C-c> -copycmap <CR> <C-j> - -# Move around -cmap <up> eval fm.ui.console.history_move(-1) -cmap <down> eval fm.ui.console.history_move(1) -cmap <left> eval fm.ui.console.move(left=1) -cmap <right> eval fm.ui.console.move(right=1) -cmap <home> eval fm.ui.console.move(right=0, absolute=True) -cmap <end> eval fm.ui.console.move(right=-1, absolute=True) -cmap <a-b> eval fm.ui.console.move_word(left=1) -cmap <a-f> eval fm.ui.console.move_word(right=1) - -copycmap <a-b> <a-left> -copycmap <a-f> <a-right> - -# Line Editing -cmap <backspace> eval fm.ui.console.delete(-1) -cmap <delete> eval fm.ui.console.delete(0) -cmap <C-w> eval fm.ui.console.delete_word() -cmap <A-d> eval fm.ui.console.delete_word(backward=False) -cmap <C-k> eval fm.ui.console.delete_rest(1) -cmap <C-u> eval fm.ui.console.delete_rest(-1) -cmap <C-y> eval fm.ui.console.paste() -cmap <C-t> eval fm.ui.console.transpose_chars() -cmap <A-t> eval fm.ui.console.transpose_words() - -# And of course the emacs way -copycmap <ESC> <C-g> -copycmap <up> <C-p> -copycmap <down> <C-n> -copycmap <left> <C-b> -copycmap <right> <C-f> -copycmap <home> <C-a> -copycmap <end> <C-e> -copycmap <delete> <C-d> -copycmap <backspace> <C-h> - -# Note: There are multiple ways to express backspaces. <backspace> (code 263) -# and <backspace2> (code 127). To be sure, use both. -copycmap <backspace> <backspace2> - -# This special expression allows typing in numerals: -cmap <allow_quantifiers> false - -# =================================================================== -# == Pager Keybindings -# =================================================================== - -# Movement -pmap <down> pager_move down=1 -pmap <up> pager_move up=1 -pmap <left> pager_move left=4 -pmap <right> pager_move right=4 -pmap <home> pager_move to=0 -pmap <end> pager_move to=-1 -pmap <pagedown> pager_move down=1.0 pages=True -pmap <pageup> pager_move up=1.0 pages=True -pmap <C-d> pager_move down=0.5 pages=True -pmap <C-u> pager_move up=0.5 pages=True - -copypmap <UP> k <C-p> -copypmap <DOWN> j <C-n> <CR> -copypmap <LEFT> h -copypmap <RIGHT> l -copypmap <HOME> g -copypmap <END> G -copypmap <C-d> d -copypmap <C-u> u -copypmap <PAGEDOWN> n f <C-F> <Space> -copypmap <PAGEUP> p b <C-B> - -# Basic -pmap <C-l> redraw_window -pmap <ESC> pager_close -copypmap <ESC> q Q i <F3> -pmap E edit_file - -# =================================================================== -# == Taskview Keybindings -# =================================================================== - -# Movement -tmap <up> taskview_move up=1 -tmap <down> taskview_move down=1 -tmap <home> taskview_move to=0 -tmap <end> taskview_move to=-1 -tmap <pagedown> taskview_move down=1.0 pages=True -tmap <pageup> taskview_move up=1.0 pages=True -tmap <C-d> taskview_move down=0.5 pages=True -tmap <C-u> taskview_move up=0.5 pages=True - -copytmap <UP> k <C-p> -copytmap <DOWN> j <C-n> <CR> -copytmap <HOME> g -copytmap <END> G -copytmap <C-u> u -copytmap <PAGEDOWN> n f <C-F> <Space> -copytmap <PAGEUP> p b <C-B> - -# Changing priority and deleting tasks -tmap J eval -q fm.ui.taskview.task_move(-1) -tmap K eval -q fm.ui.taskview.task_move(0) -tmap dd eval -q fm.ui.taskview.task_remove() -tmap <pagedown> eval -q fm.ui.taskview.task_move(-1) -tmap <pageup> eval -q fm.ui.taskview.task_move(0) -tmap <delete> eval -q fm.ui.taskview.task_remove() - -# Basic -tmap <C-l> redraw_window -tmap <ESC> taskview_close -copytmap <ESC> q Q w <C-c> diff --git a/.config/ranger/rifle.conf b/.config/ranger/rifle.conf @@ -1,292 +0,0 @@ -# vim: ft=cfg -# -# This is the configuration file of "rifle", ranger's file executor/opener. -# Each line consists of conditions and a command. For each line the conditions -# are checked and if they are met, the respective command is run. -# -# Syntax: -# <condition1> , <condition2> , ... = command -# -# The command can contain these environment variables: -# $1-$9 | The n-th selected file -# $@ | All selected files -# -# If you use the special command "ask", rifle will ask you what program to run. -# -# Prefixing a condition with "!" will negate its result. -# These conditions are currently supported: -# match <regexp> | The regexp matches $1 -# ext <regexp> | The regexp matches the extension of $1 -# mime <regexp> | The regexp matches the mime type of $1 -# name <regexp> | The regexp matches the basename of $1 -# path <regexp> | The regexp matches the absolute path of $1 -# has <program> | The program is installed (i.e. located in $PATH) -# env <variable> | The environment variable "variable" is non-empty -# file | $1 is a file -# directory | $1 is a directory -# number <n> | change the number of this command to n -# terminal | stdin, stderr and stdout are connected to a terminal -# X | A graphical environment is available (darwin, Xorg, or Wayland) -# -# There are also pseudo-conditions which have a "side effect": -# flag <flags> | Change how the program is run. See below. -# label <label> | Assign a label or name to the command so it can -# | be started with :open_with <label> in ranger -# | or `rifle -p <label>` in the standalone executable. -# else | Always true. -# -# Flags are single characters which slightly transform the command: -# f | Fork the program, make it run in the background. -# | New command = setsid $command >& /dev/null & -# r | Execute the command with root permissions -# | New command = sudo $command -# t | Run the program in a new terminal. If $TERMCMD is not defined, -# | rifle will attempt to extract it from $TERM. -# | New command = $TERMCMD -e $command -# Note: The "New command" serves only as an illustration, the exact -# implementation may differ. -# Note: When using rifle in ranger, there is an additional flag "c" for -# only running the current file even if you have marked multiple files. - -#------------------------------------------- -# Websites -#------------------------------------------- -# Rarely installed browsers get higher priority; It is assumed that if you -# install a rare browser, you probably use it. Firefox/konqueror/w3m on the -# other hand are often only installed as fallback browsers. -ext x?html?, has surf, X, flag f = surf -- file://"$1" -ext x?html?, has vimprobable, X, flag f = vimprobable -- "$@" -ext x?html?, has vimprobable2, X, flag f = vimprobable2 -- "$@" -ext x?html?, has qutebrowser, X, flag f = qutebrowser -- "$@" -ext x?html?, has dwb, X, flag f = dwb -- "$@" -ext x?html?, has jumanji, X, flag f = jumanji -- "$@" -ext x?html?, has luakit, X, flag f = luakit -- "$@" -ext x?html?, has uzbl, X, flag f = uzbl -- "$@" -ext x?html?, has uzbl-tabbed, X, flag f = uzbl-tabbed -- "$@" -ext x?html?, has uzbl-browser, X, flag f = uzbl-browser -- "$@" -ext x?html?, has uzbl-core, X, flag f = uzbl-core -- "$@" -ext x?html?, has midori, X, flag f = midori -- "$@" -ext x?html?, has opera, X, flag f = opera -- "$@" -ext x?html?, has firefox, X, flag f = firefox -- "$@" -ext x?html?, has seamonkey, X, flag f = seamonkey -- "$@" -ext x?html?, has iceweasel, X, flag f = iceweasel -- "$@" -ext x?html?, has chromium-browser, X, flag f = chromium-browser -- "$@" -ext x?html?, has chromium, X, flag f = chromium -- "$@" -ext x?html?, has google-chrome, X, flag f = google-chrome -- "$@" -ext x?html?, has epiphany, X, flag f = epiphany -- "$@" -ext x?html?, has konqueror, X, flag f = konqueror -- "$@" -ext x?html?, has elinks, terminal = elinks "$@" -ext x?html?, has links2, terminal = links2 "$@" -ext x?html?, has links, terminal = links "$@" -ext x?html?, has lynx, terminal = lynx -- "$@" -ext x?html?, has w3m, terminal = w3m "$@" - -#------------------------------------------- -# Misc -#------------------------------------------- -# Define the "editor" for text files as first action -mime ^text, label editor = ${VISUAL:-$EDITOR} -- "$@" -mime ^text, label pager = $PAGER -- "$@" -!mime ^text, label editor, ext xml|json|csv|tex|py|pl|rb|rs|js|sh|php = ${VISUAL:-$EDITOR} -- "$@" -!mime ^text, label pager, ext xml|json|csv|tex|py|pl|rb|rs|js|sh|php = $PAGER -- "$@" - -ext 1 = man "$1" -ext s[wmf]c, has zsnes, X = zsnes "$1" -ext s[wmf]c, has snes9x-gtk,X = snes9x-gtk "$1" -ext nes, has fceux, X = fceux "$1" -ext exe, has wine = wine "$1" -name ^[mM]akefile$ = make - -#-------------------------------------------- -# Scripts -#------------------------------------------- -ext py = python -- "$1" -ext pl = perl -- "$1" -ext rb = ruby -- "$1" -ext js = node -- "$1" -ext sh = sh -- "$1" -ext php = php -- "$1" - -#-------------------------------------------- -# Audio without X -#------------------------------------------- -mime ^audio|ogg$, terminal, has mpv = mpv -- "$@" -mime ^audio|ogg$, terminal, has mplayer2 = mplayer2 -- "$@" -mime ^audio|ogg$, terminal, has mplayer = mplayer -- "$@" -ext midi?, terminal, has wildmidi = wildmidi -- "$@" - -#-------------------------------------------- -# Video/Audio with a GUI -#------------------------------------------- -mime ^video|^audio, has gmplayer, X, flag f = gmplayer -- "$@" -mime ^video|^audio, has smplayer, X, flag f = smplayer "$@" -mime ^video, has mpv, X, flag f = mpv -- "$@" -mime ^video, has mpv, X, flag f = mpv --fs -- "$@" -mime ^video, has mplayer2, X, flag f = mplayer2 -- "$@" -mime ^video, has mplayer2, X, flag f = mplayer2 -fs -- "$@" -mime ^video, has mplayer, X, flag f = mplayer -- "$@" -mime ^video, has mplayer, X, flag f = mplayer -fs -- "$@" -mime ^video|^audio, has vlc, X, flag f = vlc -- "$@" -mime ^video|^audio, has totem, X, flag f = totem -- "$@" -mime ^video|^audio, has totem, X, flag f = totem --fullscreen -- "$@" -mime ^audio, has audacity, X, flag f = audacity -- "$@" -ext aup, has audacity, X, flag f = audacity -- "$@" - -#-------------------------------------------- -# Video without X -#------------------------------------------- -mime ^video, terminal, !X, has mpv = mpv -- "$@" -mime ^video, terminal, !X, has mplayer2 = mplayer2 -- "$@" -mime ^video, terminal, !X, has mplayer = mplayer -- "$@" - -#------------------------------------------- -# Documents -#------------------------------------------- -ext pdf, has llpp, X, flag f = llpp "$@" -ext pdf, has zathura, X, flag f = zathura -- "$@" -ext pdf, has mupdf, X, flag f = mupdf "$@" -ext pdf, has mupdf-x11,X, flag f = mupdf-x11 "$@" -ext pdf, has apvlv, X, flag f = apvlv -- "$@" -ext pdf, has xpdf, X, flag f = xpdf -- "$@" -ext pdf, has evince, X, flag f = evince -- "$@" -ext pdf, has atril, X, flag f = atril -- "$@" -ext pdf, has okular, X, flag f = okular -- "$@" -ext pdf, has epdfview, X, flag f = epdfview -- "$@" -ext pdf, has qpdfview, X, flag f = qpdfview "$@" -ext pdf, has open, X, flag f = open "$@" -ext pdf, has google-chrome-stable, X, flag f = google-chrome-stable -- "$@" - -ext sc, has sc, = sc -- "$@" -ext docx?, has catdoc, terminal = catdoc -- "$@" | $PAGER - -ext sxc|xlsx?|xlt|xlw|gnm|gnumeric, has gnumeric, X, flag f = gnumeric -- "$@" -ext sxc|xlsx?|xlt|xlw|gnm|gnumeric, has kspread, X, flag f = kspread -- "$@" -ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has libreoffice, X, flag f = libreoffice "$@" -ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has soffice, X, flag f = soffice "$@" -ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has ooffice, X, flag f = ooffice "$@" - -ext djvu, has zathura,X, flag f = zathura -- "$@" -ext djvu, has evince, X, flag f = evince -- "$@" -ext djvu, has atril, X, flag f = atril -- "$@" -ext djvu, has djview, X, flag f = djview -- "$@" - -ext epub, has ebook-viewer, X, flag f = ebook-viewer -- "$@" -ext epub, has zathura, X, flag f = zathura -- "$@" -ext epub, has mupdf, X, flag f = mupdf -- "$@" -ext mobi, has ebook-viewer, X, flag f = ebook-viewer -- "$@" - -ext cbr, has zathura, X, flag f = zathura -- "$@" -ext cbz, has zathura, X, flag f = zathura -- "$@" - -ext sla, has scribus, X, flag f = scribus -- "$@" - -#------------------------------------------- -# Images -#------------------------------------------- -mime ^image/svg, has inkscape, X, flag f = inkscape -- "$@" -mime ^image/svg, has display, X, flag f = display -- "$@" - -mime ^image, has imv, X, flag f = imv -- "$@" -mime ^image, has pqiv, X, flag f = pqiv -- "$@" -mime ^image, has sxiv, X, flag f = sxiv -- "$@" -mime ^image, has feh, X, flag f, !ext gif = feh -- "$@" -mime ^image, has mirage, X, flag f = mirage -- "$@" -mime ^image, has ristretto, X, flag f = ristretto "$@" -mime ^image, has eog, X, flag f = eog -- "$@" -mime ^image, has eom, X, flag f = eom -- "$@" -mime ^image, has nomacs, X, flag f = nomacs -- "$@" -mime ^image, has geeqie, X, flag f = geeqie -- "$@" -mime ^image, has gpicview, X, flag f = gpicview -- "$@" -mime ^image, has gwenview, X, flag f = gwenview -- "$@" -mime ^image, has gimp, X, flag f = gimp -- "$@" -mime ^image, has krita, X, flag f = krita -- "$@" -ext kra, has krita, X, flag f = krita -- "$@" -ext xcf, X, flag f = gimp -- "$@" - -#------------------------------------------- -# Archives -#------------------------------------------- - -# avoid password prompt by providing empty password -ext 7z, has 7z = 7z -p l "$@" | $PAGER -# This requires atool -ext ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has atool = atool --list --each -- "$@" | $PAGER -ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has atool = atool --list --each -- "$@" | $PAGER -ext 7z|ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has atool = atool --extract --each -- "$@" -ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has atool = atool --extract --each -- "$@" - -# Listing and extracting archives without atool: -ext tar|gz|bz2|xz, has tar = tar vvtf "$1" | $PAGER -ext tar|gz|bz2|xz, has tar = for file in "$@"; do tar vvxf "$file"; done -ext bz2, has bzip2 = for file in "$@"; do bzip2 -dk "$file"; done -ext zip, has unzip = unzip -l "$1" | less -ext zip, has unzip = for file in "$@"; do unzip -d "${file%.*}" "$file"; done -ext ace, has unace = unace l "$1" | less -ext ace, has unace = for file in "$@"; do unace e "$file"; done -ext rar, has unrar = unrar l "$1" | less -ext rar, has unrar = for file in "$@"; do unrar x "$file"; done - -#------------------------------------------- -# Fonts -#------------------------------------------- -mime ^font, has fontforge, X, flag f = fontforge "$@" - -#------------------------------------------- -# Flag t fallback terminals -#------------------------------------------- -# Rarely installed terminal emulators get higher priority; It is assumed that -# if you install a rare terminal emulator, you probably use it. -# gnome-terminal/konsole/xterm on the other hand are often installed as part of -# a desktop environment or as fallback terminal emulators. -mime ^ranger/x-terminal-emulator, has terminology = terminology -e "$@" -mime ^ranger/x-terminal-emulator, has kitty = kitty -- "$@" -mime ^ranger/x-terminal-emulator, has alacritty = alacritty -e "$@" -mime ^ranger/x-terminal-emulator, has sakura = sakura -e "$@" -mime ^ranger/x-terminal-emulator, has lilyterm = lilyterm -e "$@" -#mime ^ranger/x-terminal-emulator, has cool-retro-term = cool-retro-term -e "$@" -mime ^ranger/x-terminal-emulator, has termite = termite -x '"$@"' -#mime ^ranger/x-terminal-emulator, has yakuake = yakuake -e "$@" -mime ^ranger/x-terminal-emulator, has guake = guake -ne "$@" -mime ^ranger/x-terminal-emulator, has tilda = tilda -c "$@" -mime ^ranger/x-terminal-emulator, has st = st -e "$@" -mime ^ranger/x-terminal-emulator, has terminator = terminator -x "$@" -mime ^ranger/x-terminal-emulator, has urxvt = urxvt -e "$@" -mime ^ranger/x-terminal-emulator, has pantheon-terminal = pantheon-terminal -e "$@" -mime ^ranger/x-terminal-emulator, has lxterminal = lxterminal -e "$@" -mime ^ranger/x-terminal-emulator, has mate-terminal = mate-terminal -x "$@" -mime ^ranger/x-terminal-emulator, has xfce4-terminal = xfce4-terminal -x "$@" -mime ^ranger/x-terminal-emulator, has konsole = konsole -e "$@" -mime ^ranger/x-terminal-emulator, has gnome-terminal = gnome-terminal -- "$@" -mime ^ranger/x-terminal-emulator, has xterm = xterm -e "$@" - -#------------------------------------------- -# Misc -#------------------------------------------- -label wallpaper, number 11, mime ^image, has feh, X = feh --bg-scale "$1" -label wallpaper, number 12, mime ^image, has feh, X = feh --bg-tile "$1" -label wallpaper, number 13, mime ^image, has feh, X = feh --bg-center "$1" -label wallpaper, number 14, mime ^image, has feh, X = feh --bg-fill "$1" - -#------------------------------------------- -# Generic file openers -#------------------------------------------- -label open, has xdg-open = xdg-open "$@" -label open, has open = open -- "$@" - -# Define the editor for non-text files + pager as last action - !mime ^text, !ext xml|json|csv|tex|py|pl|rb|rs|js|sh|php = ask -label editor, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|rs|js|sh|php = ${VISUAL:-$EDITOR} -- "$@" -label pager, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|rs|js|sh|php = $PAGER -- "$@" - - -###################################################################### -# The actions below are left so low down in this file on purpose, so # -# they are never triggered accidentally. # -###################################################################### - -# Execute a file as program/script. -mime application/x-executable = "$1" - -# Move the file to trash using trash-cli. -label trash, has trash-put = trash-put -- "$@" -label trash = mkdir -p -- "${XDG_DATA_HOME:-$HOME/.local/share}/ranger/trash"; mv -- "$@" "${XDG_DATA_HOME:-$HOME/.local/share}/ranger/trash" diff --git a/.config/ranger/scope.sh b/.config/ranger/scope.sh @@ -1,351 +0,0 @@ -#!/usr/bin/env bash - -set -o noclobber -o noglob -o nounset -o pipefail -IFS=$'\n' - -## If the option `use_preview_script` is set to `true`, -## then this script will be called and its output will be displayed in ranger. -## ANSI color codes are supported. -## STDIN is disabled, so interactive scripts won't work properly - -## This script is considered a configuration file and must be updated manually. -## It will be left untouched if you upgrade ranger. - -## Because of some automated testing we do on the script #'s for comments need -## to be doubled up. Code that is commented out, because it's an alternative for -## example, gets only one #. - -## Meanings of exit codes: -## code | meaning | action of ranger -## -----+------------+------------------------------------------- -## 0 | success | Display stdout as preview -## 1 | no preview | Display no preview at all -## 2 | plain text | Display the plain content of the file -## 3 | fix width | Don't reload when width changes -## 4 | fix height | Don't reload when height changes -## 5 | fix both | Don't ever reload -## 6 | image | Display the image `$IMAGE_CACHE_PATH` points to as an image preview -## 7 | image | Display the file directly as an image - -## Script arguments -FILE_PATH="${1}" # Full path of the highlighted file -PV_WIDTH="${2}" # Width of the preview pane (number of fitting characters) -## shellcheck disable=SC2034 # PV_HEIGHT is provided for convenience and unused -PV_HEIGHT="${3}" # Height of the preview pane (number of fitting characters) -IMAGE_CACHE_PATH="${4}" # Full path that should be used to cache image preview -PV_IMAGE_ENABLED="${5}" # 'True' if image previews are enabled, 'False' otherwise. - -FILE_EXTENSION="${FILE_PATH##*.}" -FILE_EXTENSION_LOWER="$(printf "%s" "${FILE_EXTENSION}" | tr '[:upper:]' '[:lower:]')" - -## Settings -HIGHLIGHT_SIZE_MAX=262143 # 256KiB -HIGHLIGHT_TABWIDTH=${HIGHLIGHT_TABWIDTH:-8} -HIGHLIGHT_STYLE=${HIGHLIGHT_STYLE:-pablo} -HIGHLIGHT_OPTIONS="--replace-tabs=${HIGHLIGHT_TABWIDTH} --style=${HIGHLIGHT_STYLE} ${HIGHLIGHT_OPTIONS:-}" -PYGMENTIZE_STYLE=${PYGMENTIZE_STYLE:-autumn} -OPENSCAD_IMGSIZE=${RNGR_OPENSCAD_IMGSIZE:-1000,1000} -OPENSCAD_COLORSCHEME=${RNGR_OPENSCAD_COLORSCHEME:-Tomorrow Night} - -handle_extension() { - case "${FILE_EXTENSION_LOWER}" in - ## Archive - a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|\ - rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip) - atool --list -- "${FILE_PATH}" && exit 5 - bsdtar --list --file "${FILE_PATH}" && exit 5 - exit 1;; - rar) - ## Avoid password prompt by providing empty password - unrar lt -p- -- "${FILE_PATH}" && exit 5 - exit 1;; - 7z) - ## Avoid password prompt by providing empty password - 7z l -p -- "${FILE_PATH}" && exit 5 - exit 1;; - - ## PDF - pdf) - ## Preview as text conversion - pdftotext -l 10 -nopgbrk -q -- "${FILE_PATH}" - | \ - fmt -w "${PV_WIDTH}" && exit 5 - mutool draw -F txt -i -- "${FILE_PATH}" 1-10 | \ - fmt -w "${PV_WIDTH}" && exit 5 - exiftool "${FILE_PATH}" && exit 5 - exit 1;; - - ## BitTorrent - torrent) - transmission-show -- "${FILE_PATH}" && exit 5 - exit 1;; - - ## OpenDocument - odt|ods|odp|sxw) - ## Preview as text conversion - odt2txt "${FILE_PATH}" && exit 5 - ## Preview as markdown conversion - pandoc -s -t markdown -- "${FILE_PATH}" && exit 5 - exit 1;; - - ## XLSX - xlsx) - ## Preview as csv conversion - ## Uses: https://github.com/dilshod/xlsx2csv - xlsx2csv -- "${FILE_PATH}" && exit 5 - exit 1;; - - ## HTML - htm|html|xhtml) - ## Preview as text conversion - w3m -dump "${FILE_PATH}" && exit 5 - lynx -dump -- "${FILE_PATH}" && exit 5 - elinks -dump "${FILE_PATH}" && exit 5 - pandoc -s -t markdown -- "${FILE_PATH}" && exit 5 - ;; - - ## JSON - json|ipynb) - jq --color-output . "${FILE_PATH}" && exit 5 - python -m json.tool -- "${FILE_PATH}" && exit 5 - ;; - - ## Direct Stream Digital/Transfer (DSDIFF) and wavpack aren't detected - ## by file(1). - dff|dsf|wv|wvc) - mediainfo "${FILE_PATH}" && exit 5 - exiftool "${FILE_PATH}" && exit 5 - ;; # Continue with next handler on failure - esac -} - -handle_image() { - ## Size of the preview if there are multiple options or it has to be - ## rendered from vector graphics. If the conversion program allows - ## specifying only one dimension while keeping the aspect ratio, the width - ## will be used. - local DEFAULT_SIZE="1920x1080" - - local mimetype="${1}" - case "${mimetype}" in - ## SVG - # image/svg+xml|image/svg) - # convert -- "${FILE_PATH}" "${IMAGE_CACHE_PATH}" && exit 6 - # exit 1;; - - ## DjVu - # image/vnd.djvu) - # ddjvu -format=tiff -quality=90 -page=1 -size="${DEFAULT_SIZE}" \ - # - "${IMAGE_CACHE_PATH}" < "${FILE_PATH}" \ - # && exit 6 || exit 1;; - - # Image - image/*) - local orientation - orientation="$( identify -format '%[EXIF:Orientation]\n' -- "${FILE_PATH}" )" - ## If orientation data is present and the image actually - ## needs rotating ("1" means no rotation)... - if [[ -n "$orientation" && "$orientation" != 1 ]]; then - ## ...auto-rotate the image according to the EXIF data. - convert -- "${FILE_PATH}" -auto-orient "${IMAGE_CACHE_PATH}" && exit 6 - fi - - ## `w3mimgdisplay` will be called for all images (unless overriden - ## as above), but might fail for unsupported types. - exit 7;; - - # Video - video/*) - # Thumbnail - ffmpegthumbnailer -i "${FILE_PATH}" -o "${IMAGE_CACHE_PATH}" -s 0 && exit 6 - exit 1;; - - # PDF - application/pdf) - pdftoppm -f 1 -l 1 \ - -scale-to-x "${DEFAULT_SIZE%x*}" \ - -scale-to-y -1 \ - -singlefile \ - -jpeg -tiffcompression jpeg \ - -- "${FILE_PATH}" "${IMAGE_CACHE_PATH%.*}" \ - && exit 6 || exit 1;; - - - ## ePub, MOBI, FB2 (using Calibre) - # application/epub+zip|application/x-mobipocket-ebook|\ - # application/x-fictionbook+xml) - # # ePub (using https://github.com/marianosimone/epub-thumbnailer) - # epub-thumbnailer "${FILE_PATH}" "${IMAGE_CACHE_PATH}" \ - # "${DEFAULT_SIZE%x*}" && exit 6 - # ebook-meta --get-cover="${IMAGE_CACHE_PATH}" -- "${FILE_PATH}" \ - # >/dev/null && exit 6 - # exit 1;; - - ## Font - application/font*|application/*opentype) - preview_png="/tmp/$(basename "${IMAGE_CACHE_PATH%.*}").png" - if fontimage -o "${preview_png}" \ - --pixelsize "120" \ - --fontname \ - --pixelsize "80" \ - --text " ABCDEFGHIJKLMNOPQRSTUVWXYZ " \ - --text " abcdefghijklmnopqrstuvwxyz " \ - --text " 0123456789.:,;(*!?') ff fl fi ffi ffl " \ - --text " The quick brown fox jumps over the lazy dog. " \ - "${FILE_PATH}"; - then - convert -- "${preview_png}" "${IMAGE_CACHE_PATH}" \ - && rm "${preview_png}" \ - && exit 6 - else - exit 1 - fi - ;; - - ## Preview archives using the first image inside. - ## (Very useful for comic book collections for example.) - # application/zip|application/x-rar|application/x-7z-compressed|\ - # application/x-xz|application/x-bzip2|application/x-gzip|application/x-tar) - # local fn=""; local fe="" - # local zip=""; local rar=""; local tar=""; local bsd="" - # case "${mimetype}" in - # application/zip) zip=1 ;; - # application/x-rar) rar=1 ;; - # application/x-7z-compressed) ;; - # *) tar=1 ;; - # esac - # { [ "$tar" ] && fn=$(tar --list --file "${FILE_PATH}"); } || \ - # { fn=$(bsdtar --list --file "${FILE_PATH}") && bsd=1 && tar=""; } || \ - # { [ "$rar" ] && fn=$(unrar lb -p- -- "${FILE_PATH}"); } || \ - # { [ "$zip" ] && fn=$(zipinfo -1 -- "${FILE_PATH}"); } || return - # - # fn=$(echo "$fn" | python -c "from __future__ import print_function; \ - # import sys; import mimetypes as m; \ - # [ print(l, end='') for l in sys.stdin if \ - # (m.guess_type(l[:-1])[0] or '').startswith('image/') ]" |\ - # sort -V | head -n 1) - # [ "$fn" = "" ] && return - # [ "$bsd" ] && fn=$(printf '%b' "$fn") - # - # [ "$tar" ] && tar --extract --to-stdout \ - # --file "${FILE_PATH}" -- "$fn" > "${IMAGE_CACHE_PATH}" && exit 6 - # fe=$(echo -n "$fn" | sed 's/[][*?\]/\\\0/g') - # [ "$bsd" ] && bsdtar --extract --to-stdout \ - # --file "${FILE_PATH}" -- "$fe" > "${IMAGE_CACHE_PATH}" && exit 6 - # [ "$bsd" ] || [ "$tar" ] && rm -- "${IMAGE_CACHE_PATH}" - # [ "$rar" ] && unrar p -p- -inul -- "${FILE_PATH}" "$fn" > \ - # "${IMAGE_CACHE_PATH}" && exit 6 - # [ "$zip" ] && unzip -pP "" -- "${FILE_PATH}" "$fe" > \ - # "${IMAGE_CACHE_PATH}" && exit 6 - # [ "$rar" ] || [ "$zip" ] && rm -- "${IMAGE_CACHE_PATH}" - # ;; - esac - - # openscad_image() { - # TMPPNG="$(mktemp -t XXXXXX.png)" - # openscad --colorscheme="${OPENSCAD_COLORSCHEME}" \ - # --imgsize="${OPENSCAD_IMGSIZE/x/,}" \ - # -o "${TMPPNG}" "${1}" - # mv "${TMPPNG}" "${IMAGE_CACHE_PATH}" - # } - - # case "${FILE_EXTENSION_LOWER}" in - # ## 3D models - # ## OpenSCAD only supports png image output, and ${IMAGE_CACHE_PATH} - # ## is hardcoded as jpeg. So we make a tempfile.png and just - # ## move/rename it to jpg. This works because image libraries are - # ## smart enough to handle it. - # csg|scad) - # openscad_image "${FILE_PATH}" && exit 6 - # ;; - # 3mf|amf|dxf|off|stl) - # openscad_image <(echo "import(\"${FILE_PATH}\");") && exit 6 - # ;; - # esac -} - -handle_mime() { - local mimetype="${1}" - case "${mimetype}" in - ## RTF and DOC - text/rtf|*msword) - ## Preview as text conversion - ## note: catdoc does not always work for .doc files - ## catdoc: http://www.wagner.pp.ru/~vitus/software/catdoc/ - catdoc -- "${FILE_PATH}" && exit 5 - exit 1;; - - ## DOCX, ePub, FB2 (using markdown) - ## You might want to remove "|epub" and/or "|fb2" below if you have - ## uncommented other methods to preview those formats - *wordprocessingml.document|*/epub+zip|*/x-fictionbook+xml) - ## Preview as markdown conversion - pandoc -s -t markdown -- "${FILE_PATH}" && exit 5 - exit 1;; - - ## XLS - *ms-excel) - ## Preview as csv conversion - ## xls2csv comes with catdoc: - ## http://www.wagner.pp.ru/~vitus/software/catdoc/ - xls2csv -- "${FILE_PATH}" && exit 5 - exit 1;; - - ## Text - text/* | */xml) - ## Syntax highlight - if [[ "$( stat --printf='%s' -- "${FILE_PATH}" )" -gt "${HIGHLIGHT_SIZE_MAX}" ]]; then - exit 2 - fi - if [[ "$( tput colors )" -ge 256 ]]; then - local pygmentize_format='terminal256' - local highlight_format='xterm256' - else - local pygmentize_format='terminal' - local highlight_format='ansi' - fi - env HIGHLIGHT_OPTIONS="${HIGHLIGHT_OPTIONS}" highlight \ - --out-format="${highlight_format}" \ - --force -- "${FILE_PATH}" && exit 5 - env COLORTERM=8bit bat --color=always --style="plain" \ - -- "${FILE_PATH}" && exit 5 - pygmentize -f "${pygmentize_format}" -O "style=${PYGMENTIZE_STYLE}"\ - -- "${FILE_PATH}" && exit 5 - exit 2;; - - ## DjVu - image/vnd.djvu) - ## Preview as text conversion (requires djvulibre) - djvutxt "${FILE_PATH}" | fmt -w "${PV_WIDTH}" && exit 5 - exiftool "${FILE_PATH}" && exit 5 - exit 1;; - - ## Image - image/*) - ## Preview as text conversion - # img2txt --gamma=0.6 --width="${PV_WIDTH}" -- "${FILE_PATH}" && exit 4 - exiftool "${FILE_PATH}" && exit 5 - exit 1;; - - ## Video and audio - video/* | audio/*) - mediainfo "${FILE_PATH}" && exit 5 - exiftool "${FILE_PATH}" && exit 5 - exit 1;; - esac -} - -handle_fallback() { - echo '----- File Type Classification -----' && file --dereference --brief -- "${FILE_PATH}" && exit 5 - exit 1 -} - - -MIMETYPE="$( file --dereference --brief --mime-type -- "${FILE_PATH}" )" -if [[ "${PV_IMAGE_ENABLED}" == 'True' ]]; then - handle_image "${MIMETYPE}" -fi -handle_extension -handle_mime "${MIMETYPE}" -handle_fallback - -exit 1 diff --git a/.config/tmux/gitmux.conf b/.config/tmux/gitmux.conf @@ -0,0 +1,28 @@ +tmux: + symbols: + branch: '⎇ ' + hashprefix: ':' + ahead: ↑· + behind: ↓· + staged: '+' + conflict: '✖' + modified: '!' + untracked: '?' + stashed: '⚑' + clean: ✔ + styles: + clear: '#[fg=default]' + state: '#[fg=red,bold]' + branch: '#[fg=colour240]' + remote: '#[fg=cyan]' + staged: '#[fg=green,bold]' + conflict: '#[fg=red,bold]' + modified: '#[fg=red,bold]' + untracked: '#[fg=magenta,bold]' + stashed: '#[fg=cyan,bold]' + clean: '#[fg=green,bold]' + divergence: '#[fg=default]' + layout: [branch,"-",flags] + options: + branch_max_len: 15 + branch_trim: right diff --git a/.config/tmux/tmux.conf b/.config/tmux/tmux.conf @@ -0,0 +1,89 @@ +# _ +# | |_ _ __ ___ _ ___ __ +# | __| '_ ` _ \| | | \ \/ / +# | |_| | | | | | |_| |> < +# \__|_| |_| |_|\__,_/_/\_\ +# +# by github.com/klewer-martin + +# Use prefix + vi navigation keys to navigate panes +bind h select-pane -L +bind j select-pane -D +bind k select-pane -U +bind l select-pane -R + +# Start counting windows from 1, to avoid pressing 0 to go to the first one +set -g base-index 1 + +# Avoid esc delay +set -g escape-time 10 + +# Enable mouse support +set -g mouse on + +set-option -g focus-events on + +# More friendly split pane +bind-key / split-window -v +bind-key "'" split-window -h + +bind-key \" split-window -h -c "#{pane_current_path}" +bind-key '?' split-window -c "#{pane_current_path}" + +bind-key \; last-window + +set-option -g history-limit 50000 + +#source /usr/share/powerline/bindings/tmux/powerline.conf + +# Status bar theme +set -g status-bg 'colour233' + +set -g status-justify 'left' +set -g status-left-length '65' +set -g status 'on' +set -g status-right-length '100' +setw -g window-status-separator '' + +set -g message-command-style fg=black,bg=green +set -g message-style fg=black,bg=cyan +set -g pane-active-border-style fg=colour236 +set -g pane-border-style fg=colour236 +setw -g window-status-style fg=yellow,none +setw -g window-status-activity-style fg=green,bg=black,none +setw -g window-status-style bg=black + + +# Status bar style +set -g status-left "#[fg=colour240,bold,bg=colour233] #S #(echo '#{pane_current_path}' | shortpath) #(tmux_status.sh '#{pane_current_path}')" +set -g status-right '' +set -g set-titles on + +setw -g window-status-format '#[fg=colour239,bg=colour233,nobold,nounderscore,noitalics] #I #W #F ' +setw -g window-status-current-format '#[fg=colour207,bg=colour233,nobold,nounderscore,noitalics] #I #W #F ' + +# Smart pane switching with awareness of Vim splits. +# See: https://github.com/christoomey/vim-tmux-navigator +is_vim="ps -o state= -o comm= -t '#{pane_tty}' \ + | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'" +bind-key -n 'C-h' if-shell "$is_vim" 'send-keys C-h' 'select-pane -L' +bind-key -n 'C-j' if-shell "$is_vim" 'send-keys C-j' 'select-pane -D' +bind-key -n 'C-k' if-shell "$is_vim" 'send-keys C-k' 'select-pane -U' +bind-key -n 'C-l' if-shell "$is_vim" 'send-keys C-l' 'select-pane -R' +tmux_version='$(tmux -V | sed -En "s/^tmux ([0-9]+(.[0-9]+)?).*/\1/p")' +if-shell -b '[ "$(echo "$tmux_version < 3.0" | bc)" = 1 ]' \ + "bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\' 'select-pane -l'" +if-shell -b '[ "$(echo "$tmux_version >= 3.0" | bc)" = 1 ]' \ + "bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\\\' 'select-pane -l'" + +bind-key -T copy-mode-vi 'C-h' select-pane -L +bind-key -T copy-mode-vi 'C-j' select-pane -D +bind-key -T copy-mode-vi 'C-k' select-pane -U +bind-key -T copy-mode-vi 'C-l' select-pane -R +# bind-key -T copy-mode-vi 'C-\' select-pane -l + +set-option -g status-interval 1 +set-option -g automatic-rename on + +# change \E[?12l to \E[?12h +# set-option -ga terminal-overrides ',xterm-kitty:cnorm=\E[?12h\E[?25h' diff --git a/.config/zsh/.zcompdump b/.config/zsh/.zcompdump @@ -1,1802 +0,0 @@ -#files: 800 version: 5.8 - -_comps=( -'-' '_precommand' -'.' '_source' -'5g' '_go' -'5l' '_go' -'6g' '_go' -'6l' '_go' -'8g' '_go' -'8l' '_go' -'a2ps' '_a2ps' -'aaaa' '_hosts' -'aap' '_aap' -'abcde' '_abcde' -'ack' '_ack' -'ack2' '_ack' -'ack-grep' '_ack' -'ack-standalone' '_ack' -'acpi' '_acpi' -'acpitool' '_acpitool' -'acroread' '_acroread' -'adb' '_adb' -'add-zle-hook-widget' '_add-zle-hook-widget' -'add-zsh-hook' '_add-zsh-hook' -'admin' '_sccs' -'alacritty' '_alacritty' -'ali' '_mh' -'alias' '_alias' -'amaya' '_webbrowser' -'analyseplugin' '_analyseplugin' -'animate' '_imagemagick' -'anno' '_mh' -'ansible' '_ansible' -'ansible-config' '_ansible' -'ansible-console' '_ansible' -'ansible-doc' '_ansible' -'ansible-galaxy' '_ansible' -'ansible-inventory' '_ansible' -'ansible-playbook' '_ansible' -'ansible-pull' '_ansible' -'ansible-vault' '_ansible' -'ant' '_ant' -'antiword' '_antiword' -'aodh' '_openstack' -'aoss' '_precommand' -'apache2ctl' '_apachectl' -'apachectl' '_apachectl' -'aplay' '_alsa-utils' -'apm' '_apm' -'appletviewer' '_java' -'apropos' '_man' -'apvlv' '_pdf' -'arecord' '_alsa-utils' -'arena' '_webbrowser' -'arp' '_arp' -'arping' '_arping' -'-array-value-' '_value' -'asciidoctor' '_asciidoctor' -'asciinema' '_asciinema' -'ash' '_sh' -'-assign-parameter-' '_assign' -'at' '_at' -'atq' '_at' -'atrm' '_at' -'attr' '_attr' -'augtool' '_augeas' -'autoload' '_typeset' -'avahi-browse' '_avahi' -'avahi-browse-domains' '_avahi' -'avahi-resolve' '_avahi' -'avahi-resolve-address' '_avahi' -'avahi-resolve-host-name' '_avahi' -'awk' '_awk' -'b2sum' '_md5sum' -'barbican' '_openstack' -'base32' '_base64' -'base64' '_base64' -'basename' '_basename' -'bash' '_bash' -'batch' '_at' -'baz' '_baz' -'beep' '_beep' -'bg' '_jobs_bg' -'bibtex' '_bibtex' -'bindkey' '_bindkey' -'bison' '_bison' -'bmake' '_make' -'bogofilter' '_bogofilter' -'bogotune' '_bogofilter' -'bogoutil' '_bogofilter' -'bootctl' '_bootctl' -'bpython' '_bpython' -'bpython2' '_bpython' -'bpython2-gtk' '_bpython' -'bpython2-urwid' '_bpython' -'bpython3' '_bpython' -'bpython3-gtk' '_bpython' -'bpython3-urwid' '_bpython' -'bpython-gtk' '_bpython' -'bpython-urwid' '_bpython' -'-brace-parameter-' '_brace_parameter' -'brctl' '_brctl' -'bsdgrep' '_grep' -'bsdtar' '_tar' -'btdownloadcurses' '_bittorrent' -'btdownloadgui' '_bittorrent' -'btdownloadheadless' '_bittorrent' -'btlaunchmany' '_bittorrent' -'btlaunchmanycurses' '_bittorrent' -'btmakemetafile' '_bittorrent' -'btreannounce' '_bittorrent' -'btrename' '_bittorrent' -'btrfs' '_btrfs' -'btshowmetainfo' '_bittorrent' -'bttrack' '_bittorrent' -'buildhash' '_ispell' -'builtin' '_builtin' -'bunzip2' '_bzip2' -'burst' '_mh' -'busctl' '_busctl' -'bwrap' '_bwrap' -'bzcat' '_bzip2' -'bzegrep' '_grep' -'bzfgrep' '_grep' -'bzgrep' '_grep' -'bzip2' '_bzip2' -'bzip2recover' '_bzip2' -'bzr' '_bzr' -'c++' '_gcc' -'cabal' '_cabal' -'cal' '_cal' -'calendar' '_calendar' -'cat' '_cat' -'catchsegv' '_precommand' -'cc' '_gcc' -'ccal' '_ccal' -'cd' '_cd' -'cdc' '_sccs' -'cdcd' '_cdcd' -'cdr' '_cdr' -'cdrdao' '_cdrdao' -'cdrecord' '_cdrecord' -'ceilometer' '_openstack' -'certtool' '_gnutls' -'cftp' '_twisted' -'chage' '_users' -'chattr' '_chattr' -'chcon' '_chcon' -'chdir' '_cd' -'chfn' '_users' -'chgrp' '_chown' -'chimera' '_webbrowser' -'chkconfig' '_chkconfig' -'chkstow' '_stow' -'chmod' '_chmod' -'chown' '_chown' -'chpass' '_chsh' -'chroot' '_chroot' -'chrt' '_chrt' -'chsh' '_chsh' -'ci' '_rcs' -'cifsiostat' '_sysstat' -'cinder' '_openstack' -'ckeygen' '_twisted' -'cksum' '_cksum' -'clang' '_gcc' -'clang++' '_gcc' -'clay' '_clay' -'clear' '_nothing' -'cloudkitty' '_openstack' -'clusterdb' '_postgresql' -'cmp' '_cmp' -'cmus' '_cmus' -'cmus-remote' '_cmus' -'co' '_rcs' -'code' '_code' -'code-oss' '_code-oss' -'column' '_column' -'comb' '_sccs' -'combine' '_imagemagick' -'combinediff' '_patchutils' -'comm' '_comm' -'-command-' '_autocd' -'command' '_command' -'-command-line-' '_normal' -'comp' '_mh' -'compadd' '_compadd' -'compdef' '_compdef' -'composer' '_composer' -'composer.phar' '_composer' -'composite' '_imagemagick' -'compress' '_compress' -'conch' '_twisted' -'-condition-' '_condition' -'config.status' '_configure' -'configure' '_configure' -'convert' '_imagemagick' -'coredumpctl' '_coredumpctl' -'cowsay' '_cowsay' -'cowthink' '_cowsay' -'cp' '_cp' -'cpio' '_cpio' -'cplay' '_cplay' -'cpupower' '_cpupower' -'createdb' '_postgresql' -'createuser' '_postgresql' -'crontab' '_crontab' -'crsh' '_cssh' -'cryptsetup' '_cryptsetup' -'cscope' '_cscope' -'csh' '_sh' -'cssh' '_cssh' -'curl' '_curl' -'cut' '_cut' -'cvs' '_cvs' -'darcs' '_darcs' -'dash' '_sh' -'date' '_date' -'dbus-launch' '_dbus' -'dbus-monitor' '_dbus' -'dbus-send' '_dbus' -'dconf' '_dconf' -'dcop' '_dcop' -'dcopclient' '_dcop' -'dcopfind' '_dcop' -'dcopobject' '_dcop' -'dcopref' '_dcop' -'dcopstart' '_dcop' -'dd' '_dd' -'declare' '_typeset' -'-default-' '_default' -'delta' '_sccs' -'designate' '_openstack' -'devtodo' '_devtodo' -'df' '_df' -'dhclient' '_dhclient' -'dhclient3' '_dhclient' -'dict' '_dict' -'diff' '_diff' -'diff3' '_diff3' -'diffstat' '_diffstat' -'dig' '_dig' -'dillo' '_webbrowser' -'dircmp' '_directories' -'dirs' '_dirs' -'disable' '_disable' -'disown' '_jobs_fg' -'display' '_imagemagick' -'dist' '_mh' -'django-admin' '_django' -'django-admin.py' '_django' -'dkms' '_dkms' -'dmake' '_make' -'dmesg' '_dmesg' -'dmidecode' '_dmidecode' -'doas' '_doas' -'domainname' '_yp' -'dos2unix' '_dos2unix' -'drill' '_drill' -'dropdb' '_postgresql' -'dropuser' '_postgresql' -'dsh' '_dsh' -'dtruss' '_dtruss' -'du' '_du' -'dvibook' '_dvi' -'dviconcat' '_dvi' -'dvicopy' '_dvi' -'dvidvi' '_dvi' -'dvipdf' '_dvi' -'dvips' '_dvi' -'dviselect' '_dvi' -'dvitodvi' '_dvi' -'dvitype' '_dvi' -'dwb' '_webbrowser' -'e2label' '_e2label' -'eatmydata' '_precommand' -'ecasound' '_ecasound' -'echotc' '_echotc' -'echoti' '_echoti' -'ed' '_ed' -'egrep' '_grep' -'elfdump' '_elfdump' -'elinks' '_elinks' -'emulate' '_emulate' -'enable' '_enable' -'enscript' '_enscript' -'entr' '_entr' -'env' '_env' -'eog' '_eog' -'epdfview' '_pdf' -'epsffit' '_psutils' -'-equal-' '_equal' -'erb' '_ruby' -'espeak' '_espeak' -'etags' '_etags' -'ethtool' '_ethtool' -'eu-nm' '_nm' -'eu-objdump' '_objdump' -'eu-readelf' '_readelf' -'eu-strings' '_strings' -'eval' '_precommand' -'eview' '_vim' -'evim' '_vim' -'evince' '_evince' -'exa' '_exa' -'exec' '_exec' -'expand' '_unexpand' -'export' '_typeset' -'express' '_webbrowser' -'extcheck' '_java' -'extractres' '_psutils' -'fakeroot' '_fakeroot' -'false' '_nothing' -'fc' '_fc' -'fc-list' '_xft_fonts' -'fc-match' '_xft_fonts' -'fd' '_fd' -'feh' '_feh' -'fetchmail' '_fetchmail' -'ffcast' '_ffcast' -'ffmpeg' '_ffmpeg' -'fg' '_jobs_fg' -'fgrep' '_grep' -'figlet' '_figlet' -'filterdiff' '_patchutils' -'find' '_find' -'findaffix' '_ispell' -'findmnt' '_findmnt' -'finger' '_finger' -'firefox' '_mozilla' -'-first-' '_first' -'fixdlsrps' '_psutils' -'fixfmps' '_psutils' -'fixmacps' '_psutils' -'fixpsditps' '_psutils' -'fixpspps' '_psutils' -'fixscribeps' '_psutils' -'fixtpps' '_psutils' -'fixwfwps' '_psutils' -'fixwpps' '_psutils' -'fixwwps' '_psutils' -'flac' '_flac' -'flex' '_flex' -'flex++' '_flex' -'flipdiff' '_patchutils' -'flist' '_mh' -'flists' '_mh' -'float' '_typeset' -'fmt' '_fmt' -'fmttest' '_mh' -'fned' '_zed' -'fnext' '_mh' -'fold' '_fold' -'folder' '_mh' -'folders' '_mh' -'fortune' '_fortune' -'forw' '_mh' -'fprev' '_mh' -'free' '_free' -'freebsd-make' '_make' -'freezer' '_openstack' -'fsh' '_fsh' -'ftp' '_hosts' -'functions' '_typeset' -'fuser' '_fuser' -'fusermount' '_fusermount' -'fwhois' '_whois' -'g++' '_gcc' -'galeon' '_webbrowser' -'gawk' '_awk' -'gb2sum' '_md5sum' -'gbase32' '_base64' -'gbase64' '_base64' -'gbasename' '_basename' -'gcat' '_cat' -'gcc' '_gcc' -'gccgo' '_go' -'gchgrp' '_chown' -'gchmod' '_chmod' -'gchown' '_chown' -'gchroot' '_chroot' -'gcksum' '_cksum' -'gcmp' '_cmp' -'gcomm' '_comm' -'gcore' '_gcore' -'gcp' '_cp' -'gcut' '_cut' -'gdate' '_date' -'gdb' '_gdb' -'gdd' '_dd' -'gdf' '_df' -'gdiff' '_diff' -'gdu' '_du' -'geany' '_geany' -'gegrep' '_grep' -'gem' '_gem' -'genisoimage' '_genisoimage' -'genv' '_env' -'get' '_sccs' -'getafm' '_psutils' -'getconf' '_getconf' -'getent' '_getent' -'getfacl' '_getfacl' -'getfacl.exe' '_getfacl' -'getfattr' '_attr' -'getmail' '_getmail' -'getopt' '_getopt' -'getopts' '_vars' -'gex' '_vim' -'gexpand' '_unexpand' -'gfgrep' '_grep' -'gfind' '_find' -'gfmt' '_fmt' -'gfold' '_fold' -'ggetopt' '_getopt' -'ggrep' '_grep' -'ggv' '_gnome-gv' -'ghead' '_head' -'ghostscript' '_ghostscript' -'ghostview' '_pspdf' -'gid' '_id' -'ginstall' '_install' -'git' '_git' -'git-cvsserver' '_git' -'gitk' '_git' -'git-receive-pack' '_git' -'git-shell' '_git' -'git-upload-archive' '_git' -'git-upload-pack' '_git' -'gjoin' '_join' -'glance' '_openstack' -'gln' '_ln' -'global' '_global' -'glocate' '_locate' -'gls' '_ls' -'gm' '_graphicsmagick' -'gmake' '_make' -'gmd5sum' '_md5sum' -'gmkdir' '_mkdir' -'gmkfifo' '_mkfifo' -'gmknod' '_mknod' -'gmktemp' '_mktemp' -'gmplayer' '_mplayer' -'gmv' '_mv' -'gnl' '_nl' -'gnocchi' '_openstack' -'gnome-gv' '_gnome-gv' -'gnumfmt' '_numfmt' -'gnupod_addsong' '_gnupod' -'gnupod_addsong.pl' '_gnupod' -'gnupod_check' '_gnupod' -'gnupod_check.pl' '_gnupod' -'gnupod_INIT' '_gnupod' -'gnupod_INIT.pl' '_gnupod' -'gnupod_search' '_gnupod' -'gnupod_search.pl' '_gnupod' -'gnutls-cli' '_gnutls' -'gnutls-cli-debug' '_gnutls' -'gnutls-serv' '_gnutls' -'god' '_od' -'gofmt' '_go' -'googler' '_googler' -'gpasswd' '_gpasswd' -'gpaste' '_paste' -'gpatch' '_patch' -'gpg' '_gpg' -'gpg2' '_gpg' -'gpgv' '_gpg' -'gpg-zip' '_gpg' -'gphoto2' '_gphoto2' -'gprintenv' '_printenv' -'gprof' '_gprof' -'gqview' '_gqview' -'gradle' '_gradle' -'gradlew' '_gradle' -'grail' '_webbrowser' -'greadlink' '_readlink' -'grep' '_grep' -'grepdiff' '_patchutils' -'grm' '_rm' -'grmdir' '_rmdir' -'groff' '_groff' -'groupadd' '_user_admin' -'groupdel' '_groups' -'groupmod' '_user_admin' -'groups' '_users' -'growisofs' '_growisofs' -'gs' '_ghostscript' -'gsbj' '_pspdf' -'gsdj' '_pspdf' -'gsdj500' '_pspdf' -'gsed' '_sed' -'gseq' '_seq' -'gsettings' '_gsettings' -'gsha1sum' '_md5sum' -'gsha224sum' '_md5sum' -'gsha256sum' '_md5sum' -'gsha384sum' '_md5sum' -'gsha512sum' '_md5sum' -'gshred' '_shred' -'gshuf' '_shuf' -'gslj' '_pspdf' -'gslp' '_pspdf' -'gsnd' '_pspdf' -'gsort' '_sort' -'gsplit' '_split' -'gstat' '_stat' -'gstdbuf' '_stdbuf' -'gstrings' '_strings' -'gstty' '_stty' -'gsum' '_cksum' -'gtac' '_tac' -'gtail' '_tail' -'gtar' '_tar' -'gtee' '_tee' -'gtimeout' '_timeout' -'gtouch' '_touch' -'gtr' '_tr' -'gtty' '_tty' -'guilt' '_guilt' -'guilt-add' '_guilt' -'guilt-applied' '_guilt' -'guilt-delete' '_guilt' -'guilt-files' '_guilt' -'guilt-fold' '_guilt' -'guilt-fork' '_guilt' -'guilt-header' '_guilt' -'guilt-help' '_guilt' -'guilt-import' '_guilt' -'guilt-import-commit' '_guilt' -'guilt-init' '_guilt' -'guilt-new' '_guilt' -'guilt-next' '_guilt' -'guilt-patchbomb' '_guilt' -'guilt-pop' '_guilt' -'guilt-prev' '_guilt' -'guilt-push' '_guilt' -'guilt-rebase' '_guilt' -'guilt-refresh' '_guilt' -'guilt-rm' '_guilt' -'guilt-series' '_guilt' -'guilt-status' '_guilt' -'guilt-top' '_guilt' -'guilt-unapplied' '_guilt' -'guname' '_uname' -'gunexpand' '_unexpand' -'guniq' '_uniq' -'gunzip' '_gzip' -'guptime' '_uptime' -'gv' '_gv' -'gview' '_vim' -'gvim' '_vim' -'gvimdiff' '_vim' -'gwc' '_wc' -'gwho' '_who' -'gxargs' '_xargs' -'gzcat' '_gzip' -'gzegrep' '_grep' -'gzfgrep' '_grep' -'gzgrep' '_grep' -'gzilla' '_webbrowser' -'gzip' '_gzip' -'hash' '_hash' -'hd' '_hexdump' -'head' '_head' -'heat' '_openstack' -'help' '_sccs' -'hexdump' '_hexdump' -'hilite' '_precommand' -'history' '_fc' -'host' '_host' -'hostname' '_hostname' -'hostnamectl' '_hostnamectl' -'hotjava' '_webbrowser' -'htop' '_htop' -'iceweasel' '_mozilla' -'icombine' '_ispell' -'iconv' '_iconv' -'iconvconfig' '_iconvconfig' -'id' '_id' -'identify' '_imagemagick' -'ifconfig' '_ifconfig' -'ifdown' '_net_interfaces' -'iftop' '_iftop' -'ifup' '_net_interfaces' -'ijoin' '_ispell' -'import' '_imagemagick' -'inc' '_mh' -'includeres' '_psutils' -'info' '_texinfo' -'infocmp' '_terminals' -'initctl' '_initctl' -'initdb' '_postgresql' -'insmod' '_modutils' -'install' '_install' -'install-info' '_texinfo' -'integer' '_typeset' -'interdiff' '_patchutils' -'ionice' '_ionice' -'iostat' '_iostat' -'ip' '_ip' -'ip6tables' '_iptables' -'ip6tables-restore' '_iptables' -'ip6tables-save' '_iptables' -'ipkg' '_opkg' -'ipsec' '_ipsec' -'ipset' '_ipset' -'iptables' '_iptables' -'iptables-restore' '_iptables' -'iptables-save' '_iptables' -'irb' '_ruby' -'ironic' '_openstack' -'irssi' '_irssi' -'isag' '_sysstat' -'ispell' '_ispell' -'iwconfig' '_iwconfig' -'jadetex' '_tex' -'jar' '_java' -'jarsigner' '_java' -'java' '_java' -'javac' '_java' -'javadoc' '_java' -'javah' '_java' -'javap' '_java' -'jdb' '_java' -'jobs' '_jobs_builtin' -'joe' '_joe' -'join' '_join' -'journalctl' '_journalctl' -'jq' '_jq' -'kdeconnect-cli' '_kdeconnect' -'kernel-install' '_kernel-install' -'keystone' '_openstack' -'keytool' '_java' -'kfmclient' '_kfmclient' -'kill' '_kill' -'killall' '_killall' -'killall5' '_killall' -'kioclient' '_kfmclient' -'kitty' '_kitty' -'knock' '_knock' -'konqueror' '_webbrowser' -'kpartx' '_kpartx' -'kpdf' '_pdf' -'ksh' '_sh' -'ksh88' '_sh' -'ksh93' '_sh' -'kvno' '_kvno' -'last' '_last' -'lastb' '_last' -'latex' '_tex' -'latexmk' '_tex' -'ldconfig' '_ldconfig' -'ldconfig.real' '_ldconfig' -'ldd' '_ldd' -'less' '_less' -'let' '_math' -'lf' '_lf' -'lftp' '_ncftp' -'lha' '_lha' -'libinput' '_libinput' -'light' '_webbrowser' -'limit' '_limit' -'links' '_links' -'links2' '_links' -'linux' '_uml' -'lldb' '_lldb' -'llvm-g++' '_gcc' -'llvm-gcc' '_gcc' -'llvm-objdump' '_objdump' -'ln' '_ln' -'loadkeys' '_loadkeys' -'local' '_typeset' -'locale' '_locale' -'localectl' '_localectl' -'localedef' '_localedef' -'locate' '_locate' -'log' '_nothing' -'loginctl' '_loginctl' -'logname' '_nothing' -'look' '_look' -'losetup' '_losetup' -'lp' '_lp' -'lpadmin' '_lp' -'lpinfo' '_lp' -'lpoptions' '_lp' -'lpq' '_lp' -'lpr' '_lp' -'lprm' '_lp' -'lpstat' '_lp' -'ls' '_ls' -'lsattr' '_lsattr' -'lsblk' '_lsblk' -'lsdiff' '_patchutils' -'lsinitcpio' '_mkinitcpio' -'lsmod' '_modutils' -'lsof' '_lsof' -'lsusb' '_lsusb' -'ltrace' '_ltrace' -'lua' '_lua' -'luarocks' '_luarocks' -'lynx' '_lynx' -'lz4' '_lz4' -'lz4c' '_lz4' -'lz4c32' '_lz4' -'lz4cat' '_lz4' -'lzcat' '_xz' -'lzma' '_xz' -'lzop' '_lzop' -'mac2unix' '_dos2unix' -'machinectl' '_machinectl' -'magnum' '_openstack' -'mail' '_mail' -'Mail' '_mail' -'mailx' '_mail' -'make' '_make' -'makeinfo' '_texinfo' -'makepkg' '_pacman' -'man' '_man' -'manage.py' '_django' -'manila' '_openstack' -'mark' '_mh' -'-math-' '_math' -'matlab' '_matlab' -'mattrib' '_mtools' -'mcd' '_mtools' -'mcopy' '_mtools' -'md2' '_cksum' -'md4' '_cksum' -'md5' '_cksum' -'md5sum' '_md5sum' -'mdadm' '_mdadm' -'mdel' '_mtools' -'mdeltree' '_mtools' -'mdir' '_mtools' -'mdu' '_mtools' -'mencal' '_mencal' -'mere' '_mere' -'merge' '_rcs' -'meson' '_meson' -'metaflac' '_flac' -'mformat' '_mtools' -'mgv' '_pspdf' -'mhfixmsg' '_mh' -'mhlist' '_mh' -'mhmail' '_mh' -'mhn' '_mh' -'mhparam' '_mh' -'mhpath' '_mh' -'mhshow' '_mh' -'mhstore' '_mh' -'mii-tool' '_mii-tool' -'mistral' '_openstack' -'mkdir' '_mkdir' -'mkfifo' '_mkfifo' -'mkinitcpio' '_mkinitcpio' -'mkisofs' '_growisofs' -'mknod' '_mknod' -'mksh' '_sh' -'mktemp' '_mktemp' -'mktunes' '_gnupod' -'mktunes.pl' '_gnupod' -'mlabel' '_mtools' -'mlocate' '_locate' -'mmd' '_mtools' -'mmm' '_webbrowser' -'mmount' '_mtools' -'mmove' '_mtools' -'modinfo' '_modutils' -'modprobe' '_modutils' -'module' '_module' -'mogrify' '_imagemagick' -'monasca' '_openstack' -'mondoarchive' '_mondo' -'montage' '_imagemagick' -'moosic' '_moosic' -'Mosaic' '_webbrowser' -'mosh' '_mosh' -'mount' '_mount' -'mozilla' '_mozilla' -'mozilla-firefox' '_mozilla' -'mozilla-xremote-client' '_mozilla' -'mpc' '_mpc' -'mplayer' '_mplayer' -'mpstat' '_sysstat' -'mpv' '_mpv' -'mr' '_myrepos' -'mrd' '_mtools' -'mread' '_mtools' -'mren' '_mtools' -'msgchk' '_mh' -'mt' '_mt' -'mtn' '_monotone' -'mtoolstest' '_mtools' -'mtr' '_mtr' -'mtype' '_mtools' -'munchlist' '_ispell' -'mupdf' '_mupdf' -'murano' '_openstack' -'mush' '_mail' -'mutt' '_mutt' -'mv' '_mv' -'mvim' '_vim' -'mx' '_hosts' -'mysql' '_mysql_utils' -'mysqladmin' '_mysql_utils' -'mysqldiff' '_mysqldiff' -'mysqldump' '_mysql_utils' -'mysqlimport' '_mysql_utils' -'mysqlshow' '_mysql_utils' -'nail' '_mail' -'native2ascii' '_java' -'nautilus' '_nautilus' -'nawk' '_awk' -'nc' '_netcat' -'ncal' '_cal' -'ncftp' '_ncftp' -'ncl' '_nedit' -'nedit' '_nedit' -'nedit-nc' '_nedit' -'netcat' '_netcat' -'netrik' '_webbrowser' -'netscape' '_netscape' -'netstat' '_netstat' -'networkctl' '_networkctl' -'neutron' '_openstack' -'new' '_mh' -'newgrp' '_groups' -'next' '_mh' -'nginx' '_nginx' -'ngrep' '_ngrep' -'nice' '_nice' -'ninja' '_ninja' -'nkf' '_nkf' -'nl' '_nl' -'nm' '_nm' -'nmap' '_nmap' -'nmblookup' '_samba' -'nmcli' '_networkmanager' -'nocorrect' '_precommand' -'noglob' '_precommand' -'nohup' '_precommand' -'nova' '_openstack' -'npm' '_npm' -'ns' '_hosts' -'nslookup' '_nslookup' -'ntalk' '_other_accounts' -'numfmt' '_numfmt' -'nvim' '_vim' -'objdump' '_objdump' -'od' '_od' -'ogg123' '_vorbis' -'oggdec' '_vorbis' -'oggenc' '_vorbis' -'ogginfo' '_vorbis' -'oksh' '_sh' -'okular' '_okular' -'openstack' '_openstack' -'opera' '_webbrowser' -'opera-next' '_webbrowser' -'opkg' '_opkg' -'p4' '_perforce' -'p4d' '_perforce' -'pacat' '_pulseaudio' -'pack' '_pack' -'packf' '_mh' -'pacman' '_pacman' -'pacman-conf' '_pacman' -'pacman-key' '_pacman' -'pacman.static' '_pacman' -'pacmd' '_pulseaudio' -'pactl' '_pulseaudio' -'padsp' '_pulseaudio' -'pandoc' '_pandoc' -'paplay' '_pulseaudio' -'-parameter-' '_parameter' -'parec' '_pulseaudio' -'parecord' '_pulseaudio' -'passwd' '_users' -'paste' '_paste' -'pasuspender' '_pulseaudio' -'patch' '_patch' -'pax' '_pax' -'pcat' '_pack' -'pcred' '_pids' -'pdf2dsc' '_pdf' -'pdf2ps' '_pdf' -'pdffonts' '_pdf' -'pdfimages' '_pdf' -'pdfinfo' '_pdf' -'pdfjadetex' '_tex' -'pdflatex' '_tex' -'pdfopt' '_pdf' -'pdftex' '_tex' -'pdftexi2dvi' '_texinfo' -'pdftk' '_pdftk' -'pdftopbm' '_pdf' -'pdftops' '_pdf' -'pdftotext' '_pdf' -'pdksh' '_sh' -'perl' '_perl' -'perldoc' '_perldoc' -'pfiles' '_pids' -'pflags' '_pids' -'pg_config' '_postgresql' -'pg_ctl' '_postgresql' -'pg_dump' '_postgresql' -'pg_dumpall' '_postgresql' -'pg_isready' '_postgresql' -'pgrep' '_pgrep' -'pg_restore' '_postgresql' -'pg_upgrade' '_postgresql' -'php' '_php' -'pick' '_mh' -'picocom' '_picocom' -'pidof' '_pidof' -'pidstat' '_sysstat' -'pigz' '_gzip' -'pine' '_pine' -'pinef' '_pine' -'pinfo' '_texinfo' -'ping' '_ping' -'ping6' '_ping' -'pkgadd' '_pkgadd' -'pkg-config' '_pkg-config' -'pkginfo' '_pkginfo' -'pkgrm' '_pkgrm' -'pkill' '_pgrep' -'playerctl' '_playerctl' -'pldd' '_pids' -'pmake' '_make' -'pman' '_perl_modules' -'pmap' '_pmap' -'pmcat' '_perl_modules' -'pmdesc' '_perl_modules' -'pmeth' '_perl_modules' -'pmexp' '_perl_modules' -'pmfunc' '_perl_modules' -'pmload' '_perl_modules' -'pmls' '_perl_modules' -'pmpath' '_perl_modules' -'pmvers' '_perl_modules' -'podgrep' '_perl_modules' -'podpath' '_perl_modules' -'podtoc' '_perl_modules' -'poff' '_pon' -'policytool' '_java' -'pon' '_pon' -'popd' '_directory_stack' -'postconf' '_postfix' -'postgres' '_postgresql' -'postmaster' '_postgresql' -'postqueue' '_postfix' -'postsuper' '_postfix' -'prev' '_mh' -'print' '_print' -'printenv' '_printenv' -'printf' '_print' -'prompt' '_prompt' -'prove' '_prove' -'prs' '_sccs' -'prt' '_sccs' -'prun' '_pids' -'ps' '_ps' -'ps2ascii' '_pspdf' -'ps2epsi' '_postscript' -'ps2pdf' '_postscript' -'ps2pdf12' '_postscript' -'ps2pdf13' '_postscript' -'ps2pdf14' '_postscript' -'ps2pdfwr' '_postscript' -'ps2ps' '_postscript' -'psbook' '_psutils' -'psed' '_sed' -'psig' '_pids' -'psmerge' '_psutils' -'psmulti' '_postscript' -'psnup' '_psutils' -'psql' '_postgresql' -'psresize' '_psutils' -'psselect' '_psutils' -'pstack' '_pids' -'pstoedit' '_pspdf' -'pstop' '_pids' -'pstops' '_psutils' -'pstotgif' '_pspdf' -'pswrap' '_postscript' -'pulseaudio' '_pulseaudio' -'pump' '_pump' -'pushd' '_cd' -'pv' '_pv' -'pwait' '_pids' -'pwdx' '_pids' -'pwgen' '_pwgen' -'pyhtmlizer' '_twisted' -'qdbus' '_qdbus' -'qiv' '_qiv' -'qpdf' '_qpdf' -'quilt' '_quilt' -'r' '_fc' -'r2' '_r2' -'rabin2' '_rabin2' -'radiff2' '_radiff2' -'rafind2' '_rafind2' -'ragg2' '_ragg2' -'rahash2' '_rahash2' -'rake' '_rake' -'ranlib' '_ranlib' -'rar' '_rar' -'rasm2' '_rasm2' -'rax2' '_rax2' -'rc' '_sh' -'rclone' '_rclone' -'rcp' '_rlogin' -'rcs' '_rcs' -'rcsdiff' '_rcs' -'rdesktop' '_rdesktop' -'read' '_read' -'readelf' '_readelf' -'readlink' '_readlink' -'readonly' '_typeset' -'-redirect-' '_redirect' -'-redirect-,<,bunzip2' '_bzip2' -'-redirect-,<,bzip2' '_bzip2' -'-redirect-,>,bzip2' '_bzip2' -'-redirect-,<,compress' '_compress' -'-redirect-,>,compress' '_compress' -'-redirect-,-default-,-default-' '_files' -'-redirect-,<,gunzip' '_gzip' -'-redirect-,<,gzip' '_gzip' -'-redirect-,>,gzip' '_gzip' -'-redirect-,<,uncompress' '_compress' -'-redirect-,<,unxz' '_xz' -'-redirect-,<,xz' '_xz' -'-redirect-,>,xz' '_xz' -'refile' '_mh' -'rehash' '_hash' -'reindexdb' '_postgresql' -'reload' '_initctl' -'remsh' '_rlogin' -'renice' '_renice' -'repl' '_mh' -'resolvectl' '_resolvectl' -'restart' '_initctl' -'retawq' '_webbrowser' -'rg' '_rg' -'rgview' '_vim' -'rgvim' '_vim' -'ri' '_ri' -'rlogin' '_rlogin' -'rm' '_rm' -'rmd160' '_cksum' -'rmdel' '_sccs' -'rmdir' '_rmdir' -'rmf' '_mh' -'rmic' '_java' -'rmid' '_java' -'rmiregistry' '_java' -'rmm' '_mh' -'rmmod' '_modutils' -'route' '_route' -'rrdtool' '_rrdtool' -'rsh' '_rlogin' -'rsync' '_rsync' -'rtin' '_tin' -'rubber' '_rubber' -'rubber-info' '_rubber' -'rubber-pipe' '_rubber' -'ruby' '_ruby' -'ruby-mri' '_ruby' -'run-help' '_run-help' -'rup' '_hosts' -'rusage' '_precommand' -'rview' '_vim' -'rvim' '_vim' -'rwho' '_hosts' -'rxvt' '_urxvt' -'s2p' '_sed' -'sact' '_sccs' -'sadf' '_sysstat' -'sahara' '_openstack' -'sar' '_sysstat' -'scan' '_mh' -'sccs' '_sccs' -'sccsdiff' '_sccs' -'sched' '_sched' -'schedtool' '_schedtool' -'scons' '_scons' -'scp' '_ssh' -'screen' '_screen' -'script' '_script' -'scriptreplay' '_script' -'seaf-cli' '_seafile' -'sed' '_sed' -'senlin' '_openstack' -'seq' '_seq' -'serialver' '_java' -'service' '_service' -'set' '_set' -'setfacl' '_setfacl' -'setfacl.exe' '_setfacl' -'setfattr' '_attr' -'setopt' '_setopt' -'setsid' '_setsid' -'setxkbmap' '_setxkbmap' -'sftp' '_ssh' -'sh' '_sh' -'sha1' '_cksum' -'sha1sum' '_md5sum' -'sha224sum' '_md5sum' -'sha256' '_cksum' -'sha256sum' '_md5sum' -'sha384' '_cksum' -'sha384sum' '_md5sum' -'sha512' '_cksum' -'sha512sum' '_md5sum' -'sha512t256' '_cksum' -'shasum' '_shasum' -'shift' '_arrays' -'show' '_mh' -'showchar' '_psutils' -'showmount' '_showmount' -'shred' '_shred' -'shuf' '_shuf' -'shutdown' '_shutdown' -'sisu' '_sisu' -'skein1024' '_cksum' -'skein256' '_cksum' -'skein512' '_cksum' -'skipstone' '_webbrowser' -'slabtop' '_slabtop' -'slitex' '_tex' -'slocate' '_locate' -'slogin' '_ssh' -'slrn' '_slrn' -'smartctl' '_smartmontools' -'smbclient' '_samba' -'smbcontrol' '_samba' -'smbstatus' '_samba' -'soa' '_hosts' -'socket' '_socket' -'sort' '_sort' -'sortm' '_mh' -'source' '_source' -'spamassassin' '_spamassassin' -'split' '_split' -'splitdiff' '_patchutils' -'sqlite' '_sqlite' -'sqlite3' '_sqlite' -'sqsh' '_sqsh' -'sr' '_surfraw' -'srptool' '_gnutls' -'ss' '_ss' -'ssh' '_ssh' -'ssh-add' '_ssh' -'ssh-agent' '_ssh' -'ssh-copy-id' '_ssh' -'sshfs' '_sshfs' -'ssh-keygen' '_ssh' -'ssh-keyscan' '_ssh' -'star' '_tar' -'start' '_initctl' -'stat' '_stat' -'status' '_initctl' -'stdbuf' '_stdbuf' -'stg' '_stgit' -'stop' '_initctl' -'stow' '_stow' -'strace' '_strace' -'strace64' '_strace' -'strftime' '_strftime' -'strings' '_strings' -'strip' '_strip' -'strongswan' '_ipsec' -'stty' '_stty' -'su' '_su' -'subl' '_sublimetext' -'-subscript-' '_subscript' -'sudo' '_sudo' -'sudoedit' '_sudo' -'sum' '_cksum' -'surfraw' '_surfraw' -'sv' '_runit' -'svn' '_subversion' -'svnadmin' '_subversion' -'svnadmin-static' '_subversion' -'svnlite' '_subversion' -'swaks' '_swaks' -'swanctl' '_swanctl' -'swift' '_swift' -'swiftc' '_swift' -'sync' '_nothing' -'sysctl' '_sysctl' -'systemctl' '_systemctl' -'systemd-analyze' '_systemd-analyze' -'systemd-ask-password' '_systemd' -'systemd-cat' '_systemd' -'systemd-cgls' '_systemd' -'systemd-cgtop' '_systemd' -'systemd-delta' '_systemd-delta' -'systemd-detect-virt' '_systemd' -'systemd-inhibit' '_systemd-inhibit' -'systemd-machine-id-setup' '_systemd' -'systemd-notify' '_systemd' -'systemd-nspawn' '_systemd-nspawn' -'systemd-path' '_systemd-path' -'systemd-resolve' '_resolvectl' -'systemd-run' '_systemd-run' -'systemd-tmpfiles' '_systemd-tmpfiles' -'systemd-tty-ask-password-agent' '_systemd' -'tac' '_tac' -'tacker' '_openstack' -'tail' '_tail' -'talk' '_other_accounts' -'tar' '_tar' -'tardy' '_tardy' -'tcpdump' '_tcpdump' -'tcp_open' '_tcpsys' -'tcptraceroute' '_tcptraceroute' -'tcsh' '_sh' -'tda' '_devtodo' -'tdd' '_devtodo' -'tde' '_devtodo' -'tdr' '_devtodo' -'tee' '_tee' -'telnet' '_telnet' -'tex' '_tex' -'texi2any' '_texinfo' -'texi2dvi' '_texinfo' -'texi2pdf' '_texinfo' -'texindex' '_texinfo' -'tg' '_topgit' -'tidy' '_tidy' -'tig' '_git' -'-tilde-' '_tilde' -'time' '_precommand' -'timedatectl' '_timedatectl' -'timeout' '_timeout' -'times' '_nothing' -'tin' '_tin' -'tkconch' '_twisted' -'tkinfo' '_texinfo' -'tla' '_tla' -'tload' '_tload' -'tmux' '_tmux' -'todo' '_devtodo' -'todo.sh' '_todo.sh' -'toilet' '_toilet' -'top' '_top' -'totdconfig' '_totd' -'touch' '_touch' -'tpb' '_tpb' -'tput' '_tput' -'tr' '_tr' -'tracepath' '_tracepath' -'tracepath6' '_tracepath' -'traceroute' '_hosts' -'transmission-remote' '_transmission' -'trap' '_trap' -'tree' '_tree' -'trial' '_twisted' -'trove' '_openstack' -'true' '_nothing' -'truss' '_truss' -'tryaffix' '_ispell' -'tty' '_tty' -'ttyctl' '_ttyctl' -'tunctl' '_uml' -'tune2fs' '_tune2fs' -'tunes2pod' '_gnupod' -'tunes2pod.pl' '_gnupod' -'twidge' '_twidge' -'twist' '_twisted' -'twistd' '_twisted' -'txt' '_hosts' -'type' '_which' -'typeset' '_typeset' -'udevadm' '_udevadm' -'ulimit' '_ulimit' -'uml_mconsole' '_uml' -'uml_moo' '_uml' -'uml_switch' '_uml' -'umount' '_mount' -'unace' '_unace' -'unalias' '_aliases' -'uname' '_uname' -'uncompress' '_compress' -'unexpand' '_unexpand' -'unfunction' '_functions' -'unget' '_sccs' -'unhash' '_unhash' -'uniq' '_uniq' -'unison' '_unison' -'units' '_units' -'unix2dos' '_dos2unix' -'unix2mac' '_dos2unix' -'unlimit' '_limits' -'unlz4' '_lz4' -'unlzma' '_xz' -'unpack' '_pack' -'unpigz' '_gzip' -'unrar' '_rar' -'unset' '_vars' -'unsetopt' '_setopt' -'unwrapdiff' '_patchutils' -'unxz' '_xz' -'unzip' '_zip' -'uptime' '_uptime' -'urxvt' '_urxvt' -'urxvt256c' '_urxvt' -'urxvt256cc' '_urxvt' -'urxvt256c-ml' '_urxvt' -'urxvt256c-mlc' '_urxvt' -'urxvtc' '_urxvt' -'useradd' '_user_admin' -'userdel' '_users' -'usermod' '_user_admin' -'vacuumdb' '_postgresql' -'val' '_sccs' -'valgrind' '_valgrind' -'-value-' '_value' -'-value-,ADB_TRACE,-default-' '_adb' -'-value-,ANDROID_LOG_TAGS,-default-' '_adb' -'-value-,ANDROID_SERIAL,-default-' '_adb' -'-value-,ANSIBLE_STDOUT_CALLBACK,-default-' '_ansible' -'-value-,ANT_ARGS,-default-' '_ant' -'-value-,CFLAGS,-default-' '_gcc' -'-value-,CPPFLAGS,-default-' '_gcc' -'-value-,CXXFLAGS,-default-' '_gcc' -'-value-,-default-,-command-' '_zargs' -'-value-,-default-,-default-' '_value' -'-value-,DISPLAY,-default-' '_x_display' -'-value-,GREP_OPTIONS,-default-' '_grep' -'-value-,GZIP,-default-' '_gzip' -'-value-,LANG,-default-' '_locales' -'-value-,LANGUAGE,-default-' '_locales' -'-value-,LD_DEBUG,-default-' '_ld_debug' -'-value-,LDFLAGS,-default-' '_gcc' -'-value-,LESSCHARSET,-default-' '_less' -'-value-,LESS,-default-' '_less' -'-value-,LOOPDEV_DEBUG,-default-' '_losetup' -'-value-,LPDEST,-default-' '_printers' -'-value-,MPD_HOST,-default' '_mpc' -'-value-,P4CLIENT,-default-' '_perforce' -'-value-,P4MERGE,-default-' '_perforce' -'-value-,P4PORT,-default-' '_perforce' -'-value-,P4USER,-default-' '_perforce' -'-value-,PERLDOC,-default-' '_perldoc' -'-value-,PRINTER,-default-' '_printers' -'-value-,PROMPT2,-default-' '_ps1234' -'-value-,PROMPT3,-default-' '_ps1234' -'-value-,PROMPT4,-default-' '_ps1234' -'-value-,PROMPT,-default-' '_ps1234' -'-value-,PS1,-default-' '_ps1234' -'-value-,PS2,-default-' '_ps1234' -'-value-,PS3,-default-' '_ps1234' -'-value-,PS4,-default-' '_ps1234' -'-value-,RPROMPT2,-default-' '_ps1234' -'-value-,RPROMPT,-default-' '_ps1234' -'-value-,RPS1,-default-' '_ps1234' -'-value-,RPS2,-default-' '_ps1234' -'-value-,SPROMPT,-default-' '_ps1234' -'-value-,TERM,-default-' '_terminals' -'-value-,TERMINFO_DIRS,-default-' '_dir_list' -'-value-,TZ,-default-' '_time_zone' -'-value-,VALGRIND_OPTS,-default-' '_valgrind' -'-value-,WWW_HOME,-default-' '_urls' -'-value-,XML_CATALOG_FILES,-default-' '_xmlsoft' -'-value-,XZ_DEFAULTS,-default-' '_xz' -'-value-,XZ_OPT,-default-' '_xz' -'-vared-' '_in_vared' -'vared' '_vared' -'vcsh' '_vcsh' -'vim' '_vim' -'vimdiff' '_vim' -'virsh' '_libvirt' -'virt-admin' '_libvirt' -'virt-host-validate' '_libvirt' -'virt-pki-validate' '_libvirt' -'virt-xml-validate' '_libvirt' -'visudo' '_visudo' -'vitrage' '_openstack' -'vmstat' '_vmstat' -'vncserver' '_vnc' -'vncviewer' '_vnc' -'vorbiscomment' '_vorbis' -'vpnc' '_vpnc' -'vpnc-connect' '_vpnc' -'vserver' '_vserver' -'w' '_w' -'w3m' '_w3m' -'wait' '_wait' -'watch' '_watch' -'watcher' '_openstack' -'wc' '_wc' -'wget' '_wget' -'what' '_sccs' -'whatis' '_man' -'whence' '_which' -'where' '_which' -'whereis' '_whereis' -'which' '_which' -'who' '_who' -'whoami' '_nothing' -'whois' '_whois' -'whom' '_mh' -'wiggle' '_wiggle' -'wipefs' '_wipefs' -'wodim' '_cdrecord' -'wpa_cli' '_wpa_cli' -'write' '_users_on' -'www' '_webbrowser' -'xargs' '_xargs' -'xattr' '_attr' -'xauth' '_xauth' -'xautolock' '_xautolock' -'xclip' '_xclip' -'xdpyinfo' '_x_utils' -'xdvi' '_xdvi' -'xelatex' '_tex' -'xetex' '_tex' -'xev' '_x_utils' -'xfd' '_x_utils' -'xfig' '_xfig' -'xfontsel' '_x_utils' -'xfreerdp' '_rdesktop' -'xhost' '_x_utils' -'xkill' '_x_utils' -'xli' '_xloadimage' -'xloadimage' '_xloadimage' -'xlsatoms' '_x_utils' -'xlsclients' '_x_utils' -'xml' '_xmlstarlet' -'xmllint' '_xmlsoft' -'xmlstarlet' '_xmlstarlet' -'xmms2' '_xmms2' -'xmodmap' '_xmodmap' -'xmosaic' '_webbrowser' -'xon' '_x_utils' -'xournal' '_xournal' -'xpdf' '_xpdf' -'xping' '_hosts' -'xprop' '_x_utils' -'xrandr' '_xrandr' -'xrdb' '_x_utils' -'xscreensaver-command' '_xscreensaver' -'xset' '_xset' -'xsetbg' '_xloadimage' -'xsetroot' '_x_utils' -'xsltproc' '_xmlsoft' -'xss-lock' '_xss-lock' -'xterm' '_xterm' -'xtightvncviewer' '_vnc' -'xtp' '_imagemagick' -'xv' '_xv' -'xview' '_xloadimage' -'xvnc4viewer' '_vnc' -'xvncviewer' '_vnc' -'xwd' '_x_utils' -'xwininfo' '_x_utils' -'xwit' '_xwit' -'xwud' '_x_utils' -'xxd' '_xxd' -'xz' '_xz' -'xzcat' '_xz' -'yafc' '_yafc' -'yash' '_sh' -'yay' '_yay' -'ypbind' '_yp' -'ypcat' '_yp' -'ypmatch' '_yp' -'yppasswd' '_yp' -'yppoll' '_yp' -'yppush' '_yp' -'ypserv' '_yp' -'ypset' '_yp' -'ypwhich' '_yp' -'ypxfr' '_yp' -'ytalk' '_other_accounts' -'zargs' '_zargs' -'zathura' '_zathura' -'zcalc' '_zcalc' -'-zcalc-line-' '_zcalc_line' -'zcat' '_zcat' -'zcompile' '_zcompile' -'zcp' '_zmv' -'zdelattr' '_zattr' -'zdump' '_zdump' -'zeal' '_zeal' -'zed' '_zed' -'zegrep' '_grep' -'zen' '_webbrowser' -'zf_chgrp' '_chown' -'zf_chmod' '_chmod' -'zf_chown' '_chown' -'zfgrep' '_grep' -'zf_ln' '_ln' -'zf_mkdir' '_mkdir' -'zf_mv' '_mv' -'zf_rm' '_rm' -'zf_rmdir' '_rmdir' -'zfs' '_zfs' -'zgetattr' '_zattr' -'zgrep' '_grep' -'zip' '_zip' -'zipinfo' '_zip' -'zle' '_zle' -'zlistattr' '_zattr' -'zln' '_zmv' -'zmail' '_mail' -'zmodload' '_zmodload' -'zmv' '_zmv' -'zone' '_hosts' -'zparseopts' '_zparseopts' -'zpool' '_zpool' -'zpty' '_zpty' -'zsetattr' '_zattr' -'zsh' '_zsh' -'zsh-mime-handler' '_zsh-mime-handler' -'zsocket' '_zsocket' -'zstat' '_stat' -'zstyle' '_zstyle' -'ztodo' '_ztodo' -'zun' '_openstack' -'zxpdf' '_xpdf' -) - -_services=( -'bzcat' 'bunzip2' -'gchgrp' 'chgrp' -'gchown' 'chown' -'gnupod_addsong.pl' 'gnupod_addsong' -'gnupod_check.pl' 'gnupod_check' -'gnupod_INIT.pl' 'gnupod_INIT' -'gnupod_search.pl' 'gnupod_search' -'gpg2' 'gpg' -'gzcat' 'gunzip' -'iceweasel' 'firefox' -'lzcat' 'unxz' -'lzma' 'xz' -'Mail' 'mail' -'mailx' 'mail' -'mktunes.pl' 'mktunes' -'nail' 'mail' -'ncl' 'nc' -'nedit-nc' 'nc' -'pacman.static' 'pacman' -'pcat' 'unpack' -'-redirect-,<,bunzip2' 'bunzip2' -'-redirect-,<,bzip2' 'bzip2' -'-redirect-,>,bzip2' 'bunzip2' -'-redirect-,<,compress' 'compress' -'-redirect-,>,compress' 'uncompress' -'-redirect-,<,gunzip' 'gunzip' -'-redirect-,<,gzip' 'gzip' -'-redirect-,>,gzip' 'gunzip' -'-redirect-,<,uncompress' 'uncompress' -'-redirect-,<,unxz' 'unxz' -'-redirect-,<,xz' 'xz' -'-redirect-,>,xz' 'unxz' -'remsh' 'rsh' -'slogin' 'ssh' -'svnadmin-static' 'svnadmin' -'svnlite' 'svn' -'tunes2pod.pl' 'tunes2pod' -'unlzma' 'unxz' -'xelatex' 'latex' -'xetex' 'tex' -'xzcat' 'unxz' -'zf_chgrp' 'chgrp' -'zf_chown' 'chown' -) - -_patcomps=( -'*/(init|rc[0-9S]#).d/*' '_init_d' -) - -_postpatcomps=( -'c++-*' '_gcc' -'g++-*' '_gcc' -'gcc-*' '_gcc' -'gem[0-9.]#' '_gem' -'lua[0-9.-]##' '_lua' -'(p[bgpn]m*|*top[bgpn]m)' '_pbm' -'php[0-9.-]' '_php' -'pydoc[0-9.]#' '_pydoc' -'python[0-9.]#' '_python' -'qemu(|-system-*)' '_qemu' -'(ruby|[ei]rb)[0-9.]#' '_ruby' -'shasum(|5).*' '_shasum' -'(texi(2*|ndex))' '_texi' -'(tiff*|*2tiff|pal2rgb)' '_tiff' -'-value-,(ftp|http(|s))_proxy,-default-' '_urls' -'-value-,LC_*,-default-' '_locales' -'-value-,*path,-default-' '_directories' -'-value-,*PATH,-default-' '_dir_list' -'-value-,RUBY(LIB|OPT|PATH),-default-' '_ruby' -'*/X11(|R<4->)/*' '_x_arguments' -'yodl(|2*)' '_yodl' -'zf*' '_zftp' -) - -_compautos=( -'_call_program' '+X' -) - -zle -C _bash_complete-word .complete-word _bash_completions -zle -C _bash_list-choices .list-choices _bash_completions -zle -C _complete_debug .complete-word _complete_debug -zle -C _complete_help .complete-word _complete_help -zle -C _complete_tag .complete-word _complete_tag -zle -C _correct_filename .complete-word _correct_filename -zle -C _correct_word .complete-word _correct_word -zle -C _expand_alias .complete-word _expand_alias -zle -C _expand_word .complete-word _expand_word -zle -C _history-complete-newer .complete-word _history_complete_word -zle -C _history-complete-older .complete-word _history_complete_word -zle -C _list_expansions .list-choices _expand_word -zle -C _most_recent_file .complete-word _most_recent_file -zle -C _next_tags .list-choices _next_tags -zle -C _read_comp .complete-word _read_comp -bindkey '^X^R' _read_comp -bindkey '^X?' _complete_debug -bindkey '^XC' _correct_filename -bindkey '^Xa' _expand_alias -bindkey '^Xc' _correct_word -bindkey '^Xd' _list_expansions -bindkey '^Xe' _expand_word -bindkey '^Xh' _complete_help -bindkey '^Xm' _most_recent_file -bindkey '^Xn' _next_tags -bindkey '^Xt' _complete_tag -bindkey '^X~' _bash_list-choices -bindkey '^[,' _history-complete-newer -bindkey '^[/' _history-complete-older -bindkey '^[~' _bash_complete-word - -autoload -Uz _alacritty _bootctl _busctl _bwrap _cmus \ - _code _code-oss _coredumpctl _curl _exa \ - _fd _ffcast _googler _hostnamectl _journalctl \ - _kernel-install _kitty _lf _libinput _localectl \ - _loginctl _machinectl _meson _mkinitcpio _mpv \ - _networkctl _ninja _pacman _playerctl _pulseaudio \ - _qpdf _r2 _rabin2 _radiff2 _rafind2 \ - _ragg2 _rahash2 _rasm2 _rax2 _resolvectl \ - _rg _sd_hosts_or_user_at_host _sd_machines _sd_outputmodes _sd_unit_files \ - _systemctl _systemd _systemd-analyze _systemd-delta _systemd-inhibit \ - _systemd-nspawn _systemd-path _systemd-run _systemd-tmpfiles _timedatectl \ - _udevadm _xss-lock _yay _zathura _cdr \ - _all_labels _all_matches _alternative _approximate _arg_compile \ - _arguments _bash_completions _cache_invalid _call_function _combination \ - _complete _complete_debug _complete_help _complete_help_generic _complete_tag \ - _comp_locale _correct _correct_filename _correct_word _describe \ - _description _dispatch _expand _expand_alias _expand_word \ - _extensions _external_pwds _generic _guard _history \ - _history_complete_word _ignored _list _main_complete _match \ - _menu _message _most_recent_file _multi_parts _next_label \ - _next_tags _normal _nothing _oldlist _pick_variant \ - _prefix _read_comp _regex_arguments _regex_words _requested \ - _retrieve_cache _sep_parts _sequence _set_command _setup \ - _store_cache _sub_commands _tags _user_expand _values \ - _wanted _acpi _acpitool _alsa-utils _analyseplugin \ - _brctl _btrfs _chattr _chcon _chrt \ - _cpupower _cryptsetup _dkms _e2label _ethtool \ - _findmnt _free _fuse_arguments _fusermount _fuse_values \ - _gpasswd _htop _iconvconfig _ionice _ipset \ - _iptables _iwconfig _kpartx _losetup _lsattr \ - _lsblk _lsusb _ltrace _mdadm _mii-tool \ - _modutils _mondo _networkmanager _opkg _pidof \ - _pmap _qdbus _schedtool _selinux_contexts _selinux_roles \ - _selinux_types _selinux_users _setsid _slabtop _ss \ - _sshfs _strace _sysstat _tload _tpb \ - _tracepath _tune2fs _uml _valgrind _vserver \ - _wakeup_capable_devices _wipefs _wpa_cli _a2ps _aap \ - _abcde _absolute_command_paths _ack _adb _ansible \ - _ant _antiword _apachectl _apm _arch_archives \ - _arch_namespace _arp _arping _asciidoctor _asciinema \ - _at _attr _augeas _avahi _awk \ - _base64 _basename _bash _baudrates _baz \ - _beep _bibtex _bind_addresses _bison _bittorrent \ - _bogofilter _bpf_filters _bpython _bzip2 _bzr \ - _cabal _cal _calendar _canonical_paths _cat \ - _ccal _cdcd _cdrdao _cdrecord _chkconfig \ - _chmod _chown _chroot _chsh _cksum \ - _clay _cmdambivalent _cmdstring _cmp _column \ - _comm _composer _compress _configure _cowsay \ - _cp _cpio _cplay _crontab _cscope \ - _cssh _ctags_tags _curl _cut _cvs \ - _darcs _date _date_formats _dates _dbus \ - _dconf _dd _devtodo _df _dhclient \ - _dict _dict_words _diff _diff3 _diff_options \ - _diffstat _dig _directories _dir_list _django \ - _dmesg _dmidecode _dns_types _doas _domains \ - _dos2unix _drill _dsh _dtruss _du \ - _dvi _ecasound _ed _elfdump _elinks \ - _email_addresses _enscript _entr _env _espeak \ - _etags _fakeroot _feh _fetchmail _ffmpeg \ - _figlet _file_modes _files _file_systems _find \ - _find_net_interfaces _finger _flac _flex _fmt \ - _fold _fortune _fsh _fuser _gcc \ - _gcore _gdb _gem _genisoimage _getconf \ - _getent _getfacl _getmail _getopt _ghostscript \ - _git _global _global_tags _gnu_generic _gnupod \ - _gnutls _go _gpg _gphoto2 _gprof \ - _gradle _graphicsmagick _grep _groff _groups \ - _growisofs _gsettings _guilt _gzip _have_glob_qual \ - _head _hexdump _host _hostname _hosts \ - _iconv _id _ifconfig _iftop _imagemagick \ - _initctl _init_d _install _iostat _ip \ - _ipsec _irssi _ispell _java _java_class \ - _joe _join _jq _killall _knock \ - _kvno _last _ldconfig _ldd _ld_debug \ - _less _lha _libvirt _links _list_files \ - _lldb _ln _loadkeys _locale _localedef \ - _locales _locate _look _lp _ls \ - _lsof _lua _luarocks _lynx _lz4 \ - _lzop _mail _mailboxes _make _man \ - _md5sum _mencal _mh _mime_types _mkdir \ - _mkfifo _mknod _mktemp _module _monotone \ - _moosic _mosh _mount _mpc _mt \ - _mtools _mtr _mutt _mv _my_accounts \ - _myrepos _mysqldiff _mysql_utils _ncftp _netcat \ - _net_interfaces _netstat _newsgroups _nginx _ngrep \ - _nice _nkf _nl _nm _nmap \ - _npm _nslookup _numfmt _objdump _object_files \ - _od _openstack _other_accounts _pack _pandoc \ - _paste _patch _patchutils _path_commands _path_files \ - _pax _pbm _pdf _perforce _perl \ - _perl_basepods _perldoc _perl_modules _pgrep _php \ - _picocom _pids _pine _ping _pkgadd \ - _pkg-config _pkginfo _pkg_instance _pkgrm _pon \ - _ports _postfix _postgresql _postscript _printenv \ - _printers _process_names _prove _ps _pspdf \ - _psutils _pump _pv _pwgen _pydoc \ - _python _python_modules _qemu _quilt _rake \ - _ranlib _rar _rclone _rcs _readelf \ - _readlink _remote_files _renice _ri _rlogin \ - _rm _rmdir _route _rrdtool _rsync \ - _rubber _ruby _runit _samba _sccs \ - _scons _screen _script _seafile _sed \ - _seq _service _services _setfacl _sh \ - _shasum _showmount _shred _shuf _shutdown \ - _signals _sisu _slrn _smartmontools _socket \ - _sort _spamassassin _split _sqlite _sqsh \ - _ssh _ssh_hosts _stat _stdbuf _stgit \ - _stow _strings _strip _stty _su \ - _subversion _sudo _surfraw _swaks _swanctl \ - _swift _sys_calls _sysctl _tac _tail \ - _tar _tar_archive _tardy _tcpdump _tcptraceroute \ - _tee _telnet _terminals _tex _texi \ - _texinfo _tidy _tiff _tilde_files _timeout \ - _time_zone _tin _tla _tmux _todo.sh \ - _toilet _top _topgit _totd _touch \ - _tput _tr _transmission _tree _truss \ - _tty _ttys _twidge _twisted _umountable \ - _unace _uname _unexpand _uniq _unison \ - _units _uptime _urls _user_admin _user_at_host \ - _users _users_on _vcsh _vim _visudo \ - _vmstat _vorbis _vpnc _w _w3m \ - _watch _wc _webbrowser _wget _whereis \ - _who _whois _wiggle _xargs _xmlsoft \ - _xmlstarlet _xmms2 _xxd _xz _yafc \ - _yodl _yp _zcat _zdump _zfs \ - _zfs_dataset _zfs_keysource_props _zfs_pool _zip _zpool \ - _zsh _acroread _code _dcop _eog \ - _evince _geany _gnome-gv _gqview _gv \ - _kdeconnect _kfmclient _matlab _mozilla _mplayer \ - _mupdf _nautilus _nedit _netscape _okular \ - _pdftk _qiv _rdesktop _setxkbmap _sublimetext \ - _urxvt _vnc _x_arguments _xauth _xautolock \ - _x_borderwidth _xclip _x_color _x_colormapid _x_cursor \ - _x_display _xdvi _x_extension _xfig _x_font \ - _xft_fonts _x_geometry _x_keysym _xloadimage _x_locale \ - _x_modifier _xmodmap _x_name _xournal _xpdf \ - _xrandr _x_resource _xscreensaver _x_selection_timeout _xset \ - _xt_arguments _xterm _x_title _xt_session_id _x_utils \ - _xv _x_visual _x_window _xwit _zeal \ - _add-zle-hook-widget _add-zsh-hook _alias _aliases _arrays \ - _assign _autocd _bindkey _brace_parameter _builtin \ - _cd _command _command_names _compadd _compdef \ - _completers _condition _default _delimiters _directory_stack \ - _dirs _disable _dynamic_directory_name _echotc _echoti \ - _emulate _enable _equal _exec _fc \ - _file_descriptors _first _functions _globflags _globqual_delims \ - _globquals _hash _history_modifiers _in_vared _jobs \ - _jobs_bg _jobs_builtin _jobs_fg _kill _limit \ - _limits _math _math_params _mere _module_math_func \ - _options _options_set _options_unset _parameter _parameters \ - _precommand _print _prompt _ps1234 _read \ - _redirect _run-help _sched _set _setopt \ - _source _strftime _subscript _suffix_alias_files _tcpsys \ - _tilde _trap _ttyctl _typeset _ulimit \ - _unhash _user_math_func _value _vared _vars \ - _wait _which _widgets _zargs _zattr \ - _zcalc _zcalc_line _zcompile _zed _zftp \ - _zle _zmodload _zmv _zparseopts _zpty \ - _zsh-mime-handler _zsocket _zstyle _ztodo -autoload -Uz +X _call_program - -typeset -gUa _comp_assocs -_comp_assocs=( '' ) diff --git a/.config/zsh/aliases.sh b/.config/zsh/aliases.sh @@ -1,38 +1,59 @@ +# alias sv='sudo nvim' +alias bat='bat -pp' alias cal='cal -3' alias cdwm='cd $HOME/.config/dwm && $EDITOR config.def.h' alias ckitty='$EDITOR $HOME/.config/kitty/kitty.conf' alias cnvim='$EDITOR $HOME/.config/nvim/init.vim' alias cp='cp -iv' +alias de:en="trans de:en" +alias dev='tmux attach-session -t dev || tmux new-session -s dev' alias devbox='ssh -Y mk@192.168.0.101' alias df='df -h | grep -v snapd' -alias diff='diff --color=auto' +alias diff='diff --color=auto' +alias en:de="trans en:de" +alias en:es="trans en:es" +alias es:en="trans en:es" alias f='fzf' alias g='git' alias gaa='git add .' +alias gbr="git branch" alias gc='git commit' -alias gcc='gcc -ansi -pedantic -std=c99 -Wall' +alias gck='git checkout' alias gcm='git commit -m' +alias glg="git --no-pager log --pretty --graph --decorate --color=always \ + --oneline" +alias glgf="git --no-pager log --graph --abbrev-commit --decorate \ + --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) \ + %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)'\ + --all; echo" +alias glgt="git --no-pager log --graph --abbrev-commit --decorate \ + --format=format:'%C(bold blue)%h%C(reset) %C(white)%s\ + %C(reset)%C(bold yellow)%d%C(reset)' --all; echo" alias gpl='git pull' alias gps='git push' -alias gst='git status' alias grep='grep --color=auto' +alias gst='git status' +alias j='jobs' alias l='ls --color=auto' alias la='ls --color=auto -oah' -alias ll='ls --color=auto -oh' -alias lf_='lf' +alias less='less -f' alias lf='lfrun' -alias ls='ls --color=auto' -alias matrix='unimatrix -n -s 96 -l o -a' +alias lf_='lf' +alias ll='ls --color=auto -oh' +alias ls='ls --color=auto --group-directories-first' +alias matrix='unimatrix -s 96 -l o -a -f' alias mkdir='mkdir -v' alias mv='mv -vi' +alias news='newsboat' +alias nvi='nvim' alias open='xdg-open' alias py='python' alias r='ranger' +alias sdcv='sdcv --color' alias ss='sudo systemctl' -# alias sv='sudo nvim' alias svim='sudo nvim' alias tree='tree --dirsfirst -C' alias vi='vim' -alias nvi='nvim' +alias vim='nvim' alias wget='wget --hsts-file ~/.cache/wget-hsts' alias xclip='xclip -selection clipboard' diff --git a/.config/zsh/plugged/zsh-autosuggestions/.circleci/config.yml b/.config/zsh/plugged/zsh-autosuggestions/.circleci/config.yml @@ -1,15 +0,0 @@ -version: 2 -jobs: - build: - parallelism: 4 - shell: /bin/bash --login - docker: - - image: ericfreese/zsh-autosuggestions-test:latest - steps: - - checkout - - run: - name: Running tests - command: | - for v in $(grep "^[^#]" ZSH_VERSIONS | awk "(NR + $CIRCLE_NODE_INDEX) % $CIRCLE_NODE_TOTAL == 0"); do - TEST_ZSH_BIN=zsh-$v make test || exit 1 - done diff --git a/.config/zsh/plugged/zsh-autosuggestions/.editorconfig b/.config/zsh/plugged/zsh-autosuggestions/.editorconfig @@ -1,18 +0,0 @@ -[*] -charset = utf-8 -end_of_line = lf -insert_final_newline = true -trim_trailing_whitespace = true -indent_style = tab -indent_size = 4 - -[*.md] -indent_style = space - -[*.rb] -indent_style = space -indent_size = 2 - -[*.yml] -indent_style = space -indent_size = 2 diff --git a/.config/zsh/plugged/zsh-autosuggestions/.github/ISSUE_TEMPLATE/bug-report.md b/.config/zsh/plugged/zsh-autosuggestions/.github/ISSUE_TEMPLATE/bug-report.md @@ -1,36 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: '' -labels: bug -assignees: '' - ---- - -### Describe the bug -<!-- A clear and concise description of what the bug is. --> - -### To Reproduce -Steps to reproduce the behavior: - -<!-- If you are not able to reproduce it by running `zsh -df` and sourcing the plugin manually, it means there that the issue is caused by something in your local config file(s). Temporarily comment out or remove sections of your config and restart `zsh` until you narrow down exactly what is causing the issue. --> - -```sh -% zsh -df -% source path/to/zsh-autosuggestions.zsh -% ... # what do you do to reproduce? -``` - -### Expected behavior -<!-- A clear and concise description of what you expected to happen. --> - -### Screenshots -<!-- If applicable, add screenshots to help explain your problem. --> - -### Desktop - - OS + distribution: <!-- e.g. Arch Linux 2019.07.01 --> - - Zsh version: <!-- `echo $ZSH_VERSION` --> - - Plugin version: <!-- or git commit hash if installed via git --> - -### Additional context -<!-- Add any other context about the problem here. --> diff --git a/.config/zsh/plugged/zsh-autosuggestions/.github/ISSUE_TEMPLATE/feature_request.md b/.config/zsh/plugged/zsh-autosuggestions/.github/ISSUE_TEMPLATE/feature_request.md @@ -1,20 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: '' -labels: enhancement -assignees: '' - ---- - -### Is your feature request related to a problem? Please describe. -<!-- A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] --> - -### Describe the solution you'd like -<!-- A clear and concise description of what you want to happen. --> - -### Describe alternatives you've considered -<!-- A clear and concise description of any alternative solutions or features you've considered. --> - -### Additional context -<!-- Add any other context or screenshots about the feature request here. --> diff --git a/.config/zsh/plugged/zsh-autosuggestions/.rspec b/.config/zsh/plugged/zsh-autosuggestions/.rspec @@ -1,3 +0,0 @@ ---color ---require spec_helper ---format documentation diff --git a/.config/zsh/plugged/zsh-autosuggestions/.rubocop.yml b/.config/zsh/plugged/zsh-autosuggestions/.rubocop.yml @@ -1,30 +0,0 @@ -# Rails: -# Enabled: true - -AllCops: - TargetRubyVersion: 2.3 - Include: - - '**/Rakefile' - - '**/config.ru' - - '**/Gemfile' - -Metrics/LineLength: - Max: 120 - -Style/Documentation: - Enabled: false - -Style/DotPosition: - EnforcedStyle: trailing - -Style/FrozenStringLiteralComment: - Enabled: false - -Style/Lambda: - Enabled: false - -Style/MultilineMethodCallIndentation: - EnforcedStyle: indented - -Style/TrailingUnderscoreVariable: - Enabled: false diff --git a/.config/zsh/plugged/zsh-autosuggestions/.ruby-version b/.config/zsh/plugged/zsh-autosuggestions/.ruby-version @@ -1 +0,0 @@ -2.5.3 diff --git a/.config/zsh/plugged/zsh-autosuggestions/CHANGELOG.md b/.config/zsh/plugged/zsh-autosuggestions/CHANGELOG.md @@ -1,111 +0,0 @@ -# Changelog - -## v0.6.4 -- Fix `vi-forward-char` triggering a bell when using it to accept a suggestion (#488) -- New configuration option to skip completion suggestions when buffer matches a pattern (#487) -- New configuration option to ignore history entries matching a pattern (#456) - -## v0.6.3 -- Fixed bug moving cursor to end of buffer after accepting suggestion (#453) - -## v0.6.2 -- Fixed bug deleting the last character in the buffer in vi mode (#450) -- Degrade gracefully when user doesn't have `zsh/system` module installed (#447) - -## v0.6.1 -- Fixed bug occurring when `_complete` had been aliased (#443) - -## v0.6.0 -- Added `completion` suggestion strategy powered by completion system (#111) -- Allow setting `ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE` to an empty string (#422) -- Don't fetch suggestions after copy-earlier-word (#439) -- Allow users to unignore zle-\* widgets (e.g. zle-line-init) (#432) - - -## v0.5.2 -- Allow disabling automatic widget re-binding for better performance (#418) -- Fix async suggestions when `SH_WORD_SPLIT` is set -- Refactor async mode to use process substitution instead of zpty (#417) - -## v0.5.1 -- Speed up widget rebinding (#413) -- Clean up global variable creations (#403) -- Respect user's set options when running original widget (#402) - -## v0.5.0 -- Don't overwrite config with default values (#335) -- Support fallback strategies by supplying array to suggestion config var -- Rename "default" suggestion strategy to "history" to name it based on what it actually does -- Reset opts in some functions affected by `GLOB_SUBST` (#334) -- Support widgets starting with dashes (ex: `-a-widget`) (#337) -- Skip async tests in zsh versions less than 5.0.8 because of reliability issues -- Fix handling of newline + carriage return in async pty (#333) - - -## v0.4.3 -- Avoid bell when accepting suggestions with `autosuggest-accept` (#228) -- Don't fetch suggestions after [up,down]-line-or-beginning-search (#227, #241) -- We are now running CI against new 5.5.1 version -- Fix partial-accept in vi mode (#188) -- Fix suggestion disappearing on fast movement after switching to `vicmd` mode (#290) -- Fix issue rotating through kill ring with `yank-pop` (#301) -- Fix issue creating new pty for async mode when previous pty is not properly cleaned up (#249) - -## v0.4.2 -- Fix bug in zsh versions older than 5.0.8 (#296) -- Officially support back to zsh v4.3.11 - -## v0.4.1 -- Switch to [[ and (( conditionals instead of [ (#257) -- Avoid warnnestedvar warnings with `typeset -g` (#275) -- Replace tabs with spaces in yaml (#268) -- Clean up and fix escaping of special characters (#267) -- Add `emacs-forward-word` to default list of partial accept widgets (#246) - -## v0.4.0 -- High-level integration tests using RSpec and tmux -- Add continuous integration with Circle CI -- Experimental support for asynchronous suggestions (#170) -- Fix problems with multi-line suggestions (#225) -- Optimize case where manually typing in suggestion -- Avoid wrapping any zle-\* widgets (#206) -- Remove support for deprecated options from v0.0.x -- Handle history entries that begin with dashes -- Gracefully handle being sourced multiple times (#126) -- Add enable/disable/toggle widgets to disable/enable suggestions (#219) - - -## v0.3.3 -- Switch from $history array to fc builtin for better performance with large HISTFILEs (#164) -- Fix tilde handling when extended_glob is set (#168) -- Add config option for maximum buffer length to fetch suggestions for (#178) -- Add config option for list of widgets to ignore (#184) -- Don't fetch a new suggestion unless a modification widget actually modifies the buffer (#183) - -## v0.3.2 -- Test runner now supports running specific tests and choosing zsh binary -- Return code from original widget is now correctly passed through (#135) -- Add `vi-add-eol` to list of accept widgets (#143) -- Escapes widget names within evals to fix problems with irregular widget names (#152) -- Plugin now clears suggestion while within a completion menu (#149) -- .plugin file no longer relies on symbolic link support, fixing issues on Windows (#156) - -## v0.3.1 - -- Fixes issue with `vi-next-char` not accepting suggestion (#137). -- Fixes global variable warning when WARN_CREATE_GLOBAL option enabled (#133). -- Split out a separate test file for each widget. - -## v0.3.0 - -- Adds `autosuggest-execute` widget (PR #124). -- Adds concept of suggestion "strategies" for different ways of fetching suggestions. -- Adds "match_prev_cmd" strategy (PR #131). -- Uses git submodules for testing dependencies. -- Lots of test cleanup. -- Various bug fixes for zsh 5.0.x and `sh_word_split` option. - - -## v0.2.17 - -Start of changelog. diff --git a/.config/zsh/plugged/zsh-autosuggestions/DESCRIPTION b/.config/zsh/plugged/zsh-autosuggestions/DESCRIPTION @@ -1 +0,0 @@ -Fish-like fast/unobtrusive autosuggestions for zsh. diff --git a/.config/zsh/plugged/zsh-autosuggestions/Dockerfile b/.config/zsh/plugged/zsh-autosuggestions/Dockerfile @@ -1,20 +0,0 @@ -FROM ruby:2.5.3-alpine - -RUN apk add --no-cache autoconf -RUN apk add --no-cache libtool -RUN apk add --no-cache libcap-dev -RUN apk add --no-cache pcre-dev -RUN apk add --no-cache curl -RUN apk add --no-cache build-base -RUN apk add --no-cache ncurses-dev -RUN apk add --no-cache tmux - -WORKDIR /zsh-autosuggestions - -ADD ZSH_VERSIONS /zsh-autosuggestions/ZSH_VERSIONS -ADD install_test_zsh.sh /zsh-autosuggestions/install_test_zsh.sh -RUN ./install_test_zsh.sh - -ADD Gemfile /zsh-autosuggestions/Gemfile -ADD Gemfile.lock /zsh-autosuggestions/Gemfile.lock -RUN bundle install diff --git a/.config/zsh/plugged/zsh-autosuggestions/Gemfile b/.config/zsh/plugged/zsh-autosuggestions/Gemfile @@ -1,5 +0,0 @@ -source 'https://rubygems.org' - -gem 'rspec' -gem 'rspec-wait' -gem 'pry-byebug' diff --git a/.config/zsh/plugged/zsh-autosuggestions/Gemfile.lock b/.config/zsh/plugged/zsh-autosuggestions/Gemfile.lock @@ -1,41 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - byebug (9.0.5) - coderay (1.1.1) - diff-lcs (1.3) - method_source (0.8.2) - pry (0.10.4) - coderay (~> 1.1.0) - method_source (~> 0.8.1) - slop (~> 3.4) - pry-byebug (3.4.0) - byebug (~> 9.0) - pry (~> 0.10) - rspec (3.5.0) - rspec-core (~> 3.5.0) - rspec-expectations (~> 3.5.0) - rspec-mocks (~> 3.5.0) - rspec-core (3.5.4) - rspec-support (~> 3.5.0) - rspec-expectations (3.5.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.5.0) - rspec-mocks (3.5.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.5.0) - rspec-support (3.5.0) - rspec-wait (0.0.9) - rspec (>= 3, < 4) - slop (3.6.0) - -PLATFORMS - ruby - -DEPENDENCIES - pry-byebug - rspec - rspec-wait - -BUNDLED WITH - 1.13.6 diff --git a/.config/zsh/plugged/zsh-autosuggestions/INSTALL.md b/.config/zsh/plugged/zsh-autosuggestions/INSTALL.md @@ -1,61 +0,0 @@ -# Installation - -* [Packages](#packages) -* [Antigen](#antigen) -* [Oh My Zsh](#oh-my-zsh) -* [Manual](#manual-git-clone) - -## Packages - -| System | Package | -| ------------- | ------------- | -| Debian / Ubuntu | [zsh-autosuggestions OBS repository](https://software.opensuse.org/download.html?project=shells%3Azsh-users%3Azsh-autosuggestions&package=zsh-autosuggestions) | -| Fedora / CentOS / RHEL / Scientific Linux | [zsh-autosuggestions OBS repository](https://software.opensuse.org/download.html?project=shells%3Azsh-users%3Azsh-autosuggestions&package=zsh-autosuggestions) | -| OpenSUSE / SLE | [zsh-autosuggestions OBS repository](https://software.opensuse.org/download.html?project=shells%3Azsh-users%3Azsh-autosuggestions&package=zsh-autosuggestions) | -| Arch Linux / Manjaro / Antergos / Hyperbola | [zsh-autosuggestions](https://www.archlinux.org/packages/zsh-autosuggestions), [zsh-autosuggestions-git](https://aur.archlinux.org/packages/zsh-autosuggestions-git) | -| NixOS | [zsh-autosuggestions](https://github.com/NixOS/nixpkgs/blob/master/pkgs/shells/zsh/zsh-autosuggestions/default.nix) | -| Void Linux | [zsh-autosuggestions](https://github.com/void-linux/void-packages/blob/master/srcpkgs/zsh-autosuggestions/template) | -| Mac OS | [homebrew](https://github.com/Homebrew/homebrew-core/blob/master/Formula/zsh-autosuggestions.rb) | -| NetBSD | [pkgsrc](http://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/shells/zsh-autosuggestions/README.html) | - -## Antigen - -1. Add the following to your `.zshrc`: - - ```sh - antigen bundle zsh-users/zsh-autosuggestions - ``` - -2. Start a new terminal session. - -## Oh My Zsh - -1. Clone this repository into `$ZSH_CUSTOM/plugins` (by default `~/.oh-my-zsh/custom/plugins`) - - ```sh - git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions - ``` - -2. Add the plugin to the list of plugins for Oh My Zsh to load (inside `~/.zshrc`): - - ```sh - plugins=(zsh-autosuggestions) - ``` - -3. Start a new terminal session. - -## Manual (Git Clone) - -1. Clone this repository somewhere on your machine. This guide will assume `~/.zsh/zsh-autosuggestions`. - - ```sh - git clone https://github.com/zsh-users/zsh-autosuggestions ~/.zsh/zsh-autosuggestions - ``` - -2. Add the following to your `.zshrc`: - - ```sh - source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh - ``` - -3. Start a new terminal session. diff --git a/.config/zsh/plugged/zsh-autosuggestions/LICENSE b/.config/zsh/plugged/zsh-autosuggestions/LICENSE @@ -1,23 +0,0 @@ -Copyright (c) 2013 Thiago de Arruda -Copyright (c) 2016-2019 Eric Freese - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. diff --git a/.config/zsh/plugged/zsh-autosuggestions/Makefile b/.config/zsh/plugged/zsh-autosuggestions/Makefile @@ -1,35 +0,0 @@ -SRC_DIR := ./src - -SRC_FILES := \ - $(SRC_DIR)/config.zsh \ - $(SRC_DIR)/util.zsh \ - $(SRC_DIR)/bind.zsh \ - $(SRC_DIR)/highlight.zsh \ - $(SRC_DIR)/widgets.zsh \ - $(SRC_DIR)/strategies/*.zsh \ - $(SRC_DIR)/fetch.zsh \ - $(SRC_DIR)/async.zsh \ - $(SRC_DIR)/start.zsh - -HEADER_FILES := \ - DESCRIPTION \ - URL \ - VERSION \ - LICENSE - -PLUGIN_TARGET := zsh-autosuggestions.zsh - -all: $(PLUGIN_TARGET) - -$(PLUGIN_TARGET): $(HEADER_FILES) $(SRC_FILES) - cat $(HEADER_FILES) | sed -e 's/^/# /g' > $@ - cat $(SRC_FILES) >> $@ - -.PHONY: clean -clean: - rm $(PLUGIN_TARGET) - -.PHONY: test -test: all - @test -n "$$TEST_ZSH_BIN" && echo "Testing zsh binary: $(TEST_ZSH_BIN)" || true - bundle exec rspec $(TESTS) diff --git a/.config/zsh/plugged/zsh-autosuggestions/README.md b/.config/zsh/plugged/zsh-autosuggestions/README.md @@ -1,189 +0,0 @@ -# zsh-autosuggestions - -_[Fish](http://fishshell.com/)-like fast/unobtrusive autosuggestions for zsh._ - -It suggests commands as you type based on history and completions. - -Requirements: Zsh v4.3.11 or later - -[![CircleCI](https://img.shields.io/circleci/build/github/zsh-users/zsh-autosuggestions.svg)](https://circleci.com/gh/zsh-users/zsh-autosuggestions) -[![Chat on Gitter](https://img.shields.io/gitter/room/zsh-users/zsh-autosuggestions.svg)](https://gitter.im/zsh-users/zsh-autosuggestions) - -<a href="https://asciinema.org/a/37390" target="_blank"><img src="https://asciinema.org/a/37390.png" width="400" /></a> - - -## Installation - -See [INSTALL.md](INSTALL.md). - - -## Usage - -As you type commands, you will see a completion offered after the cursor in a muted gray color. This color can be changed by setting the `ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE` variable. See [configuration](#configuration). - -If you press the <kbd>→</kbd> key (`forward-char` widget) or <kbd>End</kbd> (`end-of-line` widget) with the cursor at the end of the buffer, it will accept the suggestion, replacing the contents of the command line buffer with the suggestion. - -If you invoke the `forward-word` widget, it will partially accept the suggestion up to the point that the cursor moves to. - - -## Configuration - -You may want to override the default global config variables. Default values of these variables can be found [here](src/config.zsh). - -**Note:** If you are using Oh My Zsh, you can put this configuration in a file in the `$ZSH_CUSTOM` directory. See their comments on [overriding internals](https://github.com/robbyrussell/oh-my-zsh/wiki/Customization#overriding-internals). - - -### Suggestion Highlight Style - -Set `ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE` to configure the style that the suggestion is shown with. The default is `fg=8`, which will set the foreground color to color 8 from the [256-color palette](https://upload.wikimedia.org/wikipedia/commons/1/15/Xterm_256color_chart.svg). If your terminal only supports 8 colors, you will need to use a number between 0 and 7. - -Background color can also be set, and the suggestion can be styled bold, underlined, or standout. For example, this would show suggestions with bold, underlined, pink text on a cyan background: - -```sh -ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=#ff00ff,bg=cyan,bold,underline" -``` - -For more info, read the Character Highlighting section of the zsh manual: `man zshzle` or [online](http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Character-Highlighting). - -**Note:** Some iTerm2 users have reported [not being able to see the suggestions](https://github.com/zsh-users/zsh-autosuggestions/issues/416#issuecomment-486516333). If this affects you, the problem is likely caused by incorrect color settings. In order to correct this, go into iTerm2's setting, navigate to profile > colors and make sure that the colors for Basic Colors > Background and ANSI Colors > Bright Black are **different**. - - -### Suggestion Strategy - -`ZSH_AUTOSUGGEST_STRATEGY` is an array that specifies how suggestions should be generated. The strategies in the array are tried successively until a suggestion is found. There are currently three built-in strategies to choose from: - -- `history`: Chooses the most recent match from history. -- `completion`: Chooses a suggestion based on what tab-completion would suggest. (requires `zpty` module) -- `match_prev_cmd`: Like `history`, but chooses the most recent match whose preceding history item matches the most recently executed command ([more info](src/strategies/match_prev_cmd.zsh)). Note that this strategy won't work as expected with ZSH options that don't preserve the history order such as `HIST_IGNORE_ALL_DUPS` or `HIST_EXPIRE_DUPS_FIRST`. - -For example, setting `ZSH_AUTOSUGGEST_STRATEGY=(history completion)` will first try to find a suggestion from your history, but, if it can't find a match, will find a suggestion from the completion engine. - - -### Widget Mapping - -This plugin works by triggering custom behavior when certain [zle widgets](http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Zle-Widgets) are invoked. You can add and remove widgets from these arrays to change the behavior of this plugin: - -- `ZSH_AUTOSUGGEST_CLEAR_WIDGETS`: Widgets in this array will clear the suggestion when invoked. -- `ZSH_AUTOSUGGEST_ACCEPT_WIDGETS`: Widgets in this array will accept the suggestion when invoked. -- `ZSH_AUTOSUGGEST_EXECUTE_WIDGETS`: Widgets in this array will execute the suggestion when invoked. -- `ZSH_AUTOSUGGEST_PARTIAL_ACCEPT_WIDGETS`: Widgets in this array will partially accept the suggestion when invoked. -- `ZSH_AUTOSUGGEST_IGNORE_WIDGETS`: Widgets in this array will not trigger any custom behavior. - -Widgets that modify the buffer and are not found in any of these arrays will fetch a new suggestion after they are invoked. - -**Note:** A widget shouldn't belong to more than one of the above arrays. - - -### Disabling suggestion for large buffers - -Set `ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE` to an integer value to disable autosuggestion for large buffers. The default is unset, which means that autosuggestion will be tried for any buffer size. Recommended value is 20. -This can be useful when pasting large amount of text in the terminal, to avoid triggering autosuggestion for strings that are too long. - -### Enable Asynchronous Mode - -As of `v0.4.0`, suggestions can be fetched asynchronously. To enable this behavior, set the `ZSH_AUTOSUGGEST_USE_ASYNC` variable (it can be set to anything). - -### Disabling automatic widget re-binding - -Set `ZSH_AUTOSUGGEST_MANUAL_REBIND` (it can be set to anything) to disable automatic widget re-binding on each precmd. This can be a big boost to performance, but you'll need to handle re-binding yourself if any of the widget lists change or if you or another plugin wrap any of the autosuggest widgets. To re-bind widgets, run `_zsh_autosuggest_bind_widgets`. - -### Ignoring history suggestions that match a pattern - -Set `ZSH_AUTOSUGGEST_HISTORY_IGNORE` to a glob pattern to prevent offering suggestions for history entries that match the pattern. For example, set it to `"cd *"` to never suggest any `cd` commands from history. Or set to `"?(#c50,)"` to never suggest anything 50 characters or longer. - -**Note:** This only affects the `history` and `match_prev_cmd` suggestion strategies. - -### Skipping completion suggestions for certain cases - -Set `ZSH_AUTOSUGGEST_COMPLETION_IGNORE` to a glob pattern to prevent offering completion suggestions when the buffer matches that pattern. For example, set it to `"git *"` to disable completion suggestions for git subcommands. - -**Note:** This only affects the `completion` suggestion strategy. - - -### Key Bindings - -This plugin provides a few widgets that you can use with `bindkey`: - -1. `autosuggest-accept`: Accepts the current suggestion. -2. `autosuggest-execute`: Accepts and executes the current suggestion. -3. `autosuggest-clear`: Clears the current suggestion. -4. `autosuggest-fetch`: Fetches a suggestion (works even when suggestions are disabled). -5. `autosuggest-disable`: Disables suggestions. -6. `autosuggest-enable`: Re-enables suggestions. -7. `autosuggest-toggle`: Toggles between enabled/disabled suggestions. - -For example, this would bind <kbd>ctrl</kbd> + <kbd>space</kbd> to accept the current suggestion. - -```sh -bindkey '^ ' autosuggest-accept -``` - - -## Troubleshooting - -If you have a problem, please search through [the list of issues on GitHub](https://github.com/zsh-users/zsh-autosuggestions/issues?q=) to see if someone else has already reported it. - -### Reporting an Issue - -Before reporting an issue, please try temporarily disabling sections of your configuration and other plugins that may be conflicting with this plugin to isolate the problem. - -When reporting an issue, please include: - -- The smallest, simplest `.zshrc` configuration that will reproduce the problem. See [this comment](https://github.com/zsh-users/zsh-autosuggestions/issues/102#issuecomment-180944764) for a good example of what this means. -- The version of zsh you're using (`zsh --version`) -- Which operating system you're running - - -## Uninstallation - -1. Remove the code referencing this plugin from `~/.zshrc`. - -2. Remove the git repository from your hard drive - - ```sh - rm -rf ~/.zsh/zsh-autosuggestions # Or wherever you installed - ``` - - -## Development - -### Build Process - -Edit the source files in `src/`. Run `make` to build `zsh-autosuggestions.zsh` from those source files. - - -### Pull Requests - -Pull requests are welcome! If you send a pull request, please: - -- Request to merge into the `develop` branch (*NOT* `master`) -- Match the existing coding conventions. -- Include helpful comments to keep the barrier-to-entry low for people new to the project. -- Write tests that cover your code as much as possible. - - -### Testing - -Tests are written in ruby using the [`rspec`](http://rspec.info/) framework. They use [`tmux`](https://tmux.github.io/) to drive a pseudoterminal, sending simulated keystrokes and making assertions on the terminal content. - -Test files live in `spec/`. To run the tests, run `make test`. To run a specific test, run `TESTS=spec/some_spec.rb make test`. You can also specify a `zsh` binary to use by setting the `TEST_ZSH_BIN` environment variable (ex: `TEST_ZSH_BIN=/bin/zsh make test`). - -A docker image for testing is available [on docker hub](https://hub.docker.com/r/ericfreese/zsh-autosuggestions-test). It comes with ruby, the bundler dependencies, and all supported versions of zsh installed. - -Pull the docker image with: - -```sh -docker pull ericfreese/zsh-autosuggestions-test -``` - -To run the tests for a specific version of zsh (where `<version>` below is substituted with the contents of a line from the [`ZSH_VERSIONS`](ZSH_VERSIONS) file): - -```sh -docker run -it -e TEST_ZSH_BIN=zsh-<version> -v $PWD:/zsh-autosuggestions zsh-autosuggestions-test make test -``` - - -## License - -This project is licensed under [MIT license](http://opensource.org/licenses/MIT). -For the full text of the license, see the [LICENSE](LICENSE) file. diff --git a/.config/zsh/plugged/zsh-autosuggestions/URL b/.config/zsh/plugged/zsh-autosuggestions/URL @@ -1 +0,0 @@ -https://github.com/zsh-users/zsh-autosuggestions diff --git a/.config/zsh/plugged/zsh-autosuggestions/VERSION b/.config/zsh/plugged/zsh-autosuggestions/VERSION @@ -1 +0,0 @@ -v0.6.4 diff --git a/.config/zsh/plugged/zsh-autosuggestions/ZSH_VERSIONS b/.config/zsh/plugged/zsh-autosuggestions/ZSH_VERSIONS @@ -1,16 +0,0 @@ -# Zsh releases to run tests against -# See https://github.com/zsh-users/zsh/releases -# -# When modifying this file, rebuild and push docker image: -# $ docker build -t ericfreese/zsh-autosuggestions-test . -# $ docker push ericfreese/zsh-autosuggestions-test -4.3.11 -5.0.2 -5.0.8 -5.1.1 -5.2 -5.3.1 -5.4.2 -5.5.1 -5.6.2 -5.7.1 diff --git a/.config/zsh/plugged/zsh-autosuggestions/install_test_zsh.sh b/.config/zsh/plugged/zsh-autosuggestions/install_test_zsh.sh @@ -1,26 +0,0 @@ -#!/bin/sh - -set -ex - -for v in $(grep "^[^#]" ZSH_VERSIONS); do - mkdir zsh-$v - cd zsh-$v - - curl -L https://api.github.com/repos/zsh-users/zsh/tarball/zsh-$v | tar xz --strip=1 - - ./Util/preconfig - ./configure --enable-pcre \ - --enable-cap \ - --enable-multibyte \ - --with-term-lib='ncursesw tinfo' \ - --with-tcsetpgrp \ - --program-suffix="-$v" - - make install.bin - make install.modules - make install.fns - - cd .. - - rm -rf zsh-$v -done diff --git a/.config/zsh/plugged/zsh-autosuggestions/spec/async_spec.rb b/.config/zsh/plugged/zsh-autosuggestions/spec/async_spec.rb @@ -1,70 +0,0 @@ -context 'with asynchronous suggestions enabled' do - let(:options) { ["ZSH_AUTOSUGGEST_USE_ASYNC="] } - - describe '`up-line-or-beginning-search`' do - let(:before_sourcing) do - -> do - session. - run_command('autoload -U up-line-or-beginning-search'). - run_command('zle -N up-line-or-beginning-search'). - send_string('bindkey "'). - send_keys('C-v').send_keys('up'). - send_string('" up-line-or-beginning-search'). - send_keys('enter') - end - end - - it 'should show previous history entries' do - with_history( - 'echo foo', - 'echo bar', - 'echo baz' - ) do - session.clear_screen - 3.times { session.send_keys('up') } - wait_for { session.content }.to eq("echo foo") - end - end - end - - describe '`copy-earlier-word`' do - let(:before_sourcing) do - -> do - session. - run_command('autoload -Uz copy-earlier-word'). - run_command('zle -N copy-earlier-word'). - run_command('bindkey "^N" copy-earlier-word') - end - end - - it 'should cycle through previous words in the buffer' do - session.clear_screen - session.send_string('foo bar baz') - sleep 0.5 - session.send_keys('C-n') - wait_for { session.content }.to eq('foo bar bazbaz') - session.send_keys('C-n') - wait_for { session.content }.to eq('foo bar bazbar') - session.send_keys('C-n') - wait_for { session.content }.to eq('foo bar bazfoo') - end - end - - describe 'pressing ^C after fetching a suggestion' do - before do - skip 'Workaround does not work below v5.0.8' if session.zsh_version < Gem::Version.new('5.0.8') - end - - it 'terminates the prompt and begins a new one' do - session.send_keys('e') - sleep 0.5 - session.send_keys('C-c') - sleep 0.5 - session.send_keys('echo') - - wait_for { session.content }.to eq("e\necho") - end - end -end - - diff --git a/.config/zsh/plugged/zsh-autosuggestions/spec/integrations/auto_cd_spec.rb b/.config/zsh/plugged/zsh-autosuggestions/spec/integrations/auto_cd_spec.rb @@ -1,14 +0,0 @@ -describe 'with `AUTO_CD` option set' do - let(:after_sourcing) do - -> { - session.run_command('setopt AUTO_CD') - session.run_command('autoload compinit && compinit') - } - end - - it 'directory names are still completed' do - session.send_string('sr') - session.send_keys('C-i') - wait_for { session.content }.to eq('src/') - end -end diff --git a/.config/zsh/plugged/zsh-autosuggestions/spec/integrations/bracketed_paste_magic_spec.rb b/.config/zsh/plugged/zsh-autosuggestions/spec/integrations/bracketed_paste_magic_spec.rb @@ -1,43 +0,0 @@ -describe 'pasting using bracketed-paste-magic' do - let(:before_sourcing) do - -> do - session. - run_command('autoload -Uz bracketed-paste-magic'). - run_command('zle -N bracketed-paste bracketed-paste-magic') - end - end - - context 'with suggestions disabled while pasting' do - before do - session. - run_command('bpm_init() { zle autosuggest-disable }'). - run_command('bpm_finish() { zle autosuggest-enable }'). - run_command('zstyle :bracketed-paste-magic paste-init bpm_init'). - run_command('zstyle :bracketed-paste-magic paste-finish bpm_finish') - end - - it 'does not show an incorrect suggestion' do - with_history('echo hello') do - session.paste_string("echo #{'a' * 60}") - sleep 1 - expect(session.content).to eq("echo #{'a' * 60}") - end - end - end - - context 'with `bracketed-paste` added to the list of widgets that clear the suggestion' do - let(:options) { ['ZSH_AUTOSUGGEST_CLEAR_WIDGETS+=(bracketed-paste)'] } - - it 'does not retain an old suggestion' do - with_history ('echo foo') do - session.send_string('echo ') - wait_for { session.content }.to eq('echo foo') - session.paste_string('bar') - wait_for { session.content }.to eq('echo bar') - session.send_keys('C-a') # Any cursor movement works - sleep 1 - expect(session.content).to eq('echo bar') - end - end - end -end diff --git a/.config/zsh/plugged/zsh-autosuggestions/spec/integrations/client_zpty_spec.rb b/.config/zsh/plugged/zsh-autosuggestions/spec/integrations/client_zpty_spec.rb @@ -1,14 +0,0 @@ -describe 'a running zpty command' do - let(:before_sourcing) { -> { session.run_command('zmodload zsh/zpty && zpty -b kitty cat') } } - - context 'when using `completion` strategy' do - let(:options) { ["ZSH_AUTOSUGGEST_STRATEGY=completion"] } - - it 'is not affected' do - session.send_keys('a').send_keys('C-h') - session.run_command('zpty -t kitty; echo $?') - - wait_for { session.content }.to end_with("\n0") - end - end -end diff --git a/.config/zsh/plugged/zsh-autosuggestions/spec/integrations/glob_subst_spec.rb b/.config/zsh/plugged/zsh-autosuggestions/spec/integrations/glob_subst_spec.rb @@ -1,12 +0,0 @@ -describe 'with `GLOB_SUBST` option set' do - let(:after_sourcing) do - -> { - session.run_command('setopt GLOB_SUBST') - } - end - - it 'error messages are not printed' do - session.send_string('[[') - wait_for { session.content }.to eq('[[') - end -end diff --git a/.config/zsh/plugged/zsh-autosuggestions/spec/integrations/rebound_bracket_spec.rb b/.config/zsh/plugged/zsh-autosuggestions/spec/integrations/rebound_bracket_spec.rb @@ -1,13 +0,0 @@ -describe 'rebinding [' do - context 'initialized before sourcing the plugin' do - before do - session.run_command("function [ { $commands[\\[] \"$@\" }") - session.clear_screen - end - - it 'executes the custom behavior and the built-in behavior' do - session.send_string('asdf') - wait_for { session.content }.to eq('asdf') - end - end -end diff --git a/.config/zsh/plugged/zsh-autosuggestions/spec/integrations/vi_mode_spec.rb b/.config/zsh/plugged/zsh-autosuggestions/spec/integrations/vi_mode_spec.rb @@ -1,80 +0,0 @@ -describe 'when using vi mode' do - let(:before_sourcing) do - -> do - session.run_command('bindkey -v') - end - end - - describe 'moving the cursor after exiting insert mode' do - it 'should not clear the current suggestion' do - with_history('foobar foo') do - session. - send_string('foo'). - send_keys('escape'). - send_keys('h') - - wait_for { session.content }.to eq('foobar foo') - end - end - end - - describe '`vi-forward-word-end`' do - it 'should accept through the end of the current word' do - with_history('foobar foo') do - session. - send_string('foo'). - send_keys('escape'). - send_keys('e'). # vi-forward-word-end - send_keys('a'). # vi-add-next - send_string('baz') - - wait_for { session.content }.to eq('foobarbaz') - end - end - end - - describe '`vi-forward-word`' do - it 'should accept through the first character of the next word' do - with_history('foobar foo') do - session. - send_string('foo'). - send_keys('escape'). - send_keys('w'). # vi-forward-word - send_keys('a'). # vi-add-next - send_string('az') - - wait_for { session.content }.to eq('foobar faz') - end - end - end - - describe '`vi-find-next-char`' do - it 'should accept through the next occurrence of the character' do - with_history('foobar foo') do - session. - send_string('foo'). - send_keys('escape'). - send_keys('f'). # vi-find-next-char - send_keys('o'). - send_keys('a'). # vi-add-next - send_string('b') - - wait_for { session.content }.to eq('foobar fob') - end - end - end - - describe '`vi-delete`' do - it 'should be able to remove the last character in the buffer' do - skip 'deleting last char did not work below zsh version 5.0.8' if session.zsh_version < Gem::Version.new('5.0.8') - - session. - send_string('echo foo'). - send_keys('escape'). - send_keys('d'). - send_keys('l') - - wait_for { session.content }.to eq('echo fo') - end - end -end diff --git a/.config/zsh/plugged/zsh-autosuggestions/spec/integrations/wrapped_widget_spec.rb b/.config/zsh/plugged/zsh-autosuggestions/spec/integrations/wrapped_widget_spec.rb @@ -1,39 +0,0 @@ -describe 'a wrapped widget' do - let(:widget) { 'backward-delete-char' } - - context 'initialized before sourcing the plugin' do - let(:before_sourcing) do - -> do - session. - run_command("_orig_#{widget}() { zle .#{widget} }"). - run_command("zle -N orig-#{widget} _orig_#{widget}"). - run_command("#{widget}-magic() { zle orig-#{widget}; BUFFER+=b }"). - run_command("zle -N #{widget} #{widget}-magic") - end - end - - it 'executes the custom behavior and the built-in behavior' do - with_history('foobar', 'foodar') do - session.send_string('food').send_keys('C-h') - wait_for { session.content }.to eq('foobar') - end - end - end - - context 'initialized after sourcing the plugin' do - before do - session. - run_command("zle -N orig-#{widget} ${widgets[#{widget}]#*:}"). - run_command("#{widget}-magic() { zle orig-#{widget}; BUFFER+=b }"). - run_command("zle -N #{widget} #{widget}-magic"). - clear_screen - end - - it 'executes the custom behavior and the built-in behavior' do - with_history('foobar', 'foodar') do - session.send_string('food').send_keys('C-h') - wait_for { session.content }.to eq('foobar') - end - end - end -end diff --git a/.config/zsh/plugged/zsh-autosuggestions/spec/integrations/zle_input_stack_spec.rb b/.config/zsh/plugged/zsh-autosuggestions/spec/integrations/zle_input_stack_spec.rb @@ -1,24 +0,0 @@ -describe 'using `zle -U`' do - let(:before_sourcing) do - -> do - session. - run_command('_zsh_autosuggest_strategy_test() { sleep 1; _zsh_autosuggest_strategy_history "$1" }'). - run_command('foo() { zle -U - "echo hello" }; zle -N foo; bindkey ^B foo') - end - end - - let(:options) { ['unset ZSH_AUTOSUGGEST_USE_ASYNC', 'ZSH_AUTOSUGGEST_STRATEGY=test'] } - - # TODO: This is only possible with the $KEYS_QUEUED_COUNT widget parameter, coming soon... - xit 'does not fetch a suggestion for every inserted character' do - session.send_keys('C-b') - wait_for { session.content }.to eq('echo hello') - end - - it 'shows a suggestion when the widget completes' do - with_history('echo hello world') do - session.send_keys('C-b') - wait_for { session.content(esc_seqs: true) }.to match(/\Aecho hello\e\[[0-9]+m world/) - end - end -end diff --git a/.config/zsh/plugged/zsh-autosuggestions/spec/kill_ring_spec.rb b/.config/zsh/plugged/zsh-autosuggestions/spec/kill_ring_spec.rb @@ -1,23 +0,0 @@ -context 'with some items in the kill ring' do - before do - session. - send_string('echo foo'). - send_keys('C-u'). - send_string('echo bar'). - send_keys('C-u') - end - - describe '`yank-pop`' do - it 'should cycle through all items in the kill ring' do - session.send_keys('C-y') - wait_for { session.content }.to eq('echo bar') - - session.send_keys('escape').send_keys('y') - wait_for { session.content }.to eq('echo foo') - - session.send_keys('escape').send_keys('y') - wait_for { session.content }.to eq('echo bar') - end - end -end - diff --git a/.config/zsh/plugged/zsh-autosuggestions/spec/line_init_spec.rb b/.config/zsh/plugged/zsh-autosuggestions/spec/line_init_spec.rb @@ -1,17 +0,0 @@ -context 'with zle-line-init unignored' do - let(:after_sourcing) do - -> do - session. - run_command('setopt extendedglob'). - run_command('ZSH_AUTOSUGGEST_IGNORE_WIDGETS=(${(@)ZSH_AUTOSUGGEST_IGNORE_WIDGETS:#zle-\*} zle-\^line-init)'). - run_command('zle-line-init() { BUFFER="echo" }') - end - end - - it 'should fetch a suggestion on each line initialization' do - with_history('echo foo') do - session.run_command('zle -N zle-line-init') - wait_for { session.content }.to end_with('echo foo') - end - end -end diff --git a/.config/zsh/plugged/zsh-autosuggestions/spec/multi_line_spec.rb b/.config/zsh/plugged/zsh-autosuggestions/spec/multi_line_spec.rb @@ -1,13 +0,0 @@ -describe 'a multi-line suggestion' do - it 'should be displayed on multiple lines' do - with_history(-> { - session.send_string('echo "') - session.send_keys('enter') - session.send_string('"') - session.send_keys('enter') - }) do - session.send_keys('e') - wait_for { session.content }.to eq("echo \"\n\"") - end - end -end diff --git a/.config/zsh/plugged/zsh-autosuggestions/spec/options/buffer_max_size_spec.rb b/.config/zsh/plugged/zsh-autosuggestions/spec/options/buffer_max_size_spec.rb @@ -1,30 +0,0 @@ -describe 'a suggestion' do - let(:term_opts) { { width: 200 } } - let(:long_command) { "echo #{'a' * 100}" } - - around do |example| - with_history(long_command) { example.run } - end - - it 'is provided for any buffer length' do - session.send_string(long_command[0...-1]) - wait_for { session.content }.to eq(long_command) - end - - context 'when ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE is specified' do - let(:buffer_max_size) { 10 } - let(:options) { ["ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE=#{buffer_max_size}"] } - - it 'is provided when the buffer is shorter than the specified length' do - session.send_string(long_command[0...(buffer_max_size - 1)]) - wait_for { session.content }.to eq(long_command) - end - - it 'is provided when the buffer is equal to the specified length' do - session.send_string(long_command[0...(buffer_max_size)]) - wait_for { session.content }.to eq(long_command) - end - - it 'is not provided when the buffer is longer than the specified length' - end -end diff --git a/.config/zsh/plugged/zsh-autosuggestions/spec/options/highlight_style_spec.rb b/.config/zsh/plugged/zsh-autosuggestions/spec/options/highlight_style_spec.rb @@ -1,7 +0,0 @@ -describe 'a displayed suggestion' do - it 'is shown in the default style' - - describe 'when ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE is set to a zle_highlight string' do - it 'is shown in the specified style' - end -end diff --git a/.config/zsh/plugged/zsh-autosuggestions/spec/options/original_widget_prefix_spec.rb b/.config/zsh/plugged/zsh-autosuggestions/spec/options/original_widget_prefix_spec.rb @@ -1,7 +0,0 @@ -describe 'an original zle widget' do - context 'is accessible with the default prefix' - - context 'when ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX is set' do - it 'is accessible with the specified prefix' - end -end diff --git a/.config/zsh/plugged/zsh-autosuggestions/spec/options/strategy_spec.rb b/.config/zsh/plugged/zsh-autosuggestions/spec/options/strategy_spec.rb @@ -1,55 +0,0 @@ -describe 'a suggestion for a given prefix' do - let(:history_strategy) { '_zsh_autosuggest_strategy_history() { suggestion="history" }' } - let(:foobar_strategy) { '_zsh_autosuggest_strategy_foobar() { [[ "foobar baz" = $1* ]] && suggestion="foobar baz" }' } - let(:foobaz_strategy) { '_zsh_autosuggest_strategy_foobaz() { [[ "foobaz bar" = $1* ]] && suggestion="foobaz bar" }' } - - let(:after_sourcing) do - -> do - session.run_command(history_strategy) - end - end - - it 'by default is determined by calling the `history` strategy function' do - session.send_string('h') - wait_for { session.content }.to eq('history') - end - - context 'when ZSH_AUTOSUGGEST_STRATEGY is set to an array' do - let(:after_sourcing) do - -> do - session. - run_command(foobar_strategy). - run_command(foobaz_strategy). - run_command('ZSH_AUTOSUGGEST_STRATEGY=(foobar foobaz)') - end - end - - it 'is determined by the first strategy function to return a suggestion' do - session.send_string('foo') - wait_for { session.content }.to eq('foobar baz') - - session.send_string('baz') - wait_for { session.content }.to eq('foobaz bar') - end - end - - context 'when ZSH_AUTOSUGGEST_STRATEGY is set to a string' do - let(:after_sourcing) do - -> do - session. - run_command(foobar_strategy). - run_command(foobaz_strategy). - run_command('ZSH_AUTOSUGGEST_STRATEGY="foobar foobaz"') - end - end - - it 'is determined by the first strategy function to return a suggestion' do - session.send_string('foo') - wait_for { session.content }.to eq('foobar baz') - - session.send_string('baz') - wait_for { session.content }.to eq('foobaz bar') - end - end -end - diff --git a/.config/zsh/plugged/zsh-autosuggestions/spec/options/use_async_spec.rb b/.config/zsh/plugged/zsh-autosuggestions/spec/options/use_async_spec.rb @@ -1,7 +0,0 @@ -describe 'suggestion fetching' do - it 'is performed synchronously' - - context 'when ZSH_AUTOSUGGEST_USE_ASYNC is set' do - it 'is performed asynchronously' - end -end diff --git a/.config/zsh/plugged/zsh-autosuggestions/spec/options/widget_lists_spec.rb b/.config/zsh/plugged/zsh-autosuggestions/spec/options/widget_lists_spec.rb @@ -1,121 +0,0 @@ -describe 'a zle widget' do - let(:widget) { 'my-widget' } - let(:before_sourcing) { -> { session.run_command("#{widget}() {}; zle -N #{widget}; bindkey ^B #{widget}") } } - - context 'when added to ZSH_AUTOSUGGEST_ACCEPT_WIDGETS' do - let(:options) { ["ZSH_AUTOSUGGEST_ACCEPT_WIDGETS+=(#{widget})"] } - - it 'accepts the suggestion and moves the cursor to the end of the buffer when invoked' do - with_history('echo hello') do - session.send_string('e') - wait_for { session.content }.to eq('echo hello') - session.send_keys('C-b') - wait_for { session.content(esc_seqs: true) }.to eq('echo hello') - wait_for { session.cursor }.to eq([10, 0]) - end - end - end - - context 'when added to ZSH_AUTOSUGGEST_CLEAR_WIDGETS' do - let(:options) { ["ZSH_AUTOSUGGEST_CLEAR_WIDGETS+=(#{widget})"] } - - it 'clears the suggestion when invoked' do - with_history('echo hello') do - session.send_string('e') - wait_for { session.content }.to eq('echo hello') - session.send_keys('C-b') - wait_for { session.content }.to eq('e') - end - end - end - - context 'when added to ZSH_AUTOSUGGEST_EXECUTE_WIDGETS' do - let(:options) { ["ZSH_AUTOSUGGEST_EXECUTE_WIDGETS+=(#{widget})"] } - - it 'executes the suggestion when invoked' do - with_history('echo hello') do - session.send_string('e') - wait_for { session.content }.to eq('echo hello') - session.send_keys('C-b') - wait_for { session.content }.to end_with("\nhello") - end - end - end - - context 'when added to ZSH_AUTOSUGGEST_IGNORE_WIDGETS' do - let(:options) { ["ZSH_AUTOSUGGEST_IGNORE_WIDGETS=(#{widget})"] } - - it 'should not be wrapped with an autosuggest widget' do - session.run_command("echo $widgets[#{widget}]") - wait_for { session.content }.to end_with("\nuser:#{widget}") - end - end - - context 'that moves the cursor forward' do - before { session.run_command("#{widget}() { zle forward-char }") } - - context 'when added to ZSH_AUTOSUGGEST_PARTIAL_ACCEPT_WIDGETS' do - let(:options) { ["ZSH_AUTOSUGGEST_PARTIAL_ACCEPT_WIDGETS=(#{widget})"] } - - it 'accepts the suggestion as far as the cursor is moved when invoked' do - with_history('echo hello') do - session.send_string('e') - wait_for { session.content }.to start_with('echo hello') - session.send_keys('C-b') - wait_for { session.content(esc_seqs: true) }.to match(/\Aec\e\[[0-9]+mho hello/) - end - end - end - end - - context 'that modifies the buffer' do - before { session.run_command("#{widget}() { BUFFER=\"foo\" }") } - - context 'when not added to any of the widget lists' do - it 'modifies the buffer and fetches a new suggestion' do - with_history('foobar') do - session.send_keys('C-b') - wait_for { session.content }.to eq('foobar') - end - end - end - end -end - -describe 'a modification to the widget lists' do - let(:widget) { 'my-widget' } - let(:before_sourcing) { -> { session.run_command("#{widget}() {}; zle -N #{widget}; bindkey ^B #{widget}") } } - before { session.run_command("ZSH_AUTOSUGGEST_ACCEPT_WIDGETS+=(#{widget})") } - - it 'takes effect on the next cmd line' do - with_history('echo hello') do - session.send_string('e') - wait_for { session.content }.to eq('echo hello') - session.send_keys('C-b') - wait_for { session.content(esc_seqs: true) }.to eq('echo hello') - end - end - - context 'when manual rebind is enabled' do - let(:options) { ["ZSH_AUTOSUGGEST_MANUAL_REBIND=true"] } - - it 'does not take effect until bind command is re-run' do - with_history('echo hello') do - session.send_string('e') - wait_for { session.content }.to eq('echo hello') - session.send_keys('C-b') - sleep 1 - expect(session.content(esc_seqs: true)).not_to eq('echo hello') - - session.send_keys('C-c') - session.run_command('_zsh_autosuggest_bind_widgets').clear_screen - wait_for { session.content }.to eq('') - - session.send_string('e') - wait_for { session.content }.to eq('echo hello') - session.send_keys('C-b') - wait_for { session.content(esc_seqs: true) }.to eq('echo hello') - end - end - end -end diff --git a/.config/zsh/plugged/zsh-autosuggestions/spec/spec_helper.rb b/.config/zsh/plugged/zsh-autosuggestions/spec/spec_helper.rb @@ -1,51 +0,0 @@ -require 'pry' -require 'rspec/wait' -require 'terminal_session' - -RSpec.shared_context 'terminal session' do - let(:term_opts) { {} } - let(:session) { TerminalSession.new(term_opts) } - let(:before_sourcing) { -> {} } - let(:after_sourcing) { -> {} } - let(:options) { [] } - - around do |example| - before_sourcing.call - session.run_command(['source zsh-autosuggestions.zsh', *options].join('; ')) - after_sourcing.call - session.clear_screen - - example.run - - session.destroy - end - - def with_history(*commands, &block) - session.run_command('fc -p') - - commands.each do |c| - c.respond_to?(:call) ? c.call : session.run_command(c) - end - - session.clear_screen - - yield block - - session.send_keys('C-c') - session.run_command('fc -P') - end -end - -RSpec.configure do |config| - config.expect_with :rspec do |expectations| - expectations.include_chain_clauses_in_custom_matcher_descriptions = true - end - - config.mock_with :rspec do |mocks| - mocks.verify_partial_doubles = true - end - - config.wait_timeout = 2 - - config.include_context 'terminal session' -end diff --git a/.config/zsh/plugged/zsh-autosuggestions/spec/strategies/completion_spec.rb b/.config/zsh/plugged/zsh-autosuggestions/spec/strategies/completion_spec.rb @@ -1,72 +0,0 @@ -describe 'the `completion` suggestion strategy' do - let(:options) { ['ZSH_AUTOSUGGEST_STRATEGY=completion'] } - let(:before_sourcing) do - -> do - session. - run_command('autoload compinit && compinit'). - run_command('_foo() { compadd bar; compadd bat }'). - run_command('_num() { compadd two; compadd three }'). - run_command('compdef _foo baz'). - run_command('compdef _num one') - end - end - - it 'suggests the first completion result' do - session.send_string('baz ') - wait_for { session.content }.to eq('baz bar') - end - - it 'does not add extra carriage returns when prefix has a line feed' do - skip '`stty` does not work inside zpty below zsh version 5.0.3' if session.zsh_version < Gem::Version.new('5.0.3') - session.send_string('baz \\').send_keys('C-v', 'C-j') - wait_for { session.content }.to eq("baz \\\nbar") - end - - context 'when `_complete` is aliased' do - let(:before_sourcing) do - -> do - session. - run_command('autoload compinit && compinit'). - run_command('_foo() { compadd bar; compadd bat }'). - run_command('compdef _foo baz'). - run_command('alias _complete=_complete') - end - end - - it 'suggests the first completion result' do - session.send_string('baz ') - wait_for { session.content }.to eq('baz bar') - end - end - - context 'when ZSH_AUTOSUGGEST_COMPLETION_IGNORE is set to a pattern' do - let(:options) { ['ZSH_AUTOSUGGEST_STRATEGY=completion', 'ZSH_AUTOSUGGEST_COMPLETION_IGNORE="one *"'] } - - it 'makes suggestions when the buffer does not match the pattern' do - session.send_string('baz ') - wait_for { session.content }.to eq('baz bar') - end - - it 'does not make suggestions when the buffer matches the pattern' do - session.send_string('one t') - sleep 1 - expect(session.content).to eq('one t') - end - end - - context 'when async mode is enabled' do - let(:options) { ['ZSH_AUTOSUGGEST_USE_ASYNC=true', 'ZSH_AUTOSUGGEST_STRATEGY=completion'] } - - it 'suggests the first completion result' do - session.send_string('baz ') - wait_for { session.content }.to eq('baz bar') - end - - it 'does not add extra carriage returns when prefix has a line feed' do - skip '`stty` does not work inside zpty below zsh version 5.0.3' if session.zsh_version < Gem::Version.new('5.0.3') - session.send_string('baz \\').send_keys('C-v', 'C-j') - wait_for { session.content }.to eq("baz \\\nbar") - end - end -end - diff --git a/.config/zsh/plugged/zsh-autosuggestions/spec/strategies/history_spec.rb b/.config/zsh/plugged/zsh-autosuggestions/spec/strategies/history_spec.rb @@ -1,23 +0,0 @@ -require 'strategies/special_characters_helper' - -describe 'the `history` suggestion strategy' do - it 'suggests the last matching history entry' do - with_history('ls foo', 'ls bar', 'echo baz') do - session.send_string('ls') - wait_for { session.content }.to eq('ls bar') - end - end - - context 'when ZSH_AUTOSUGGEST_HISTORY_IGNORE is set to a pattern' do - let(:options) { ['ZSH_AUTOSUGGEST_HISTORY_IGNORE="* bar"'] } - - it 'does not make suggestions that match the pattern' do - with_history('ls foo', 'ls bar', 'echo baz') do - session.send_string('ls') - wait_for { session.content }.to eq('ls foo') - end - end - end - - include_examples 'special characters' -end diff --git a/.config/zsh/plugged/zsh-autosuggestions/spec/strategies/match_prev_cmd_spec.rb b/.config/zsh/plugged/zsh-autosuggestions/spec/strategies/match_prev_cmd_spec.rb @@ -1,34 +0,0 @@ -require 'strategies/special_characters_helper' - -describe 'the `match_prev_cmd` strategy' do - let(:options) { ['ZSH_AUTOSUGGEST_STRATEGY=match_prev_cmd'] } - - let(:history) { [ - 'echo what', - 'ls foo', - 'echo what', - 'ls bar', - 'ls baz', - 'echo what' - ] } - - it 'suggests the last matching history entry after the previous command' do - with_history(*history) do - session.send_string('ls') - wait_for { session.content }.to eq('ls bar') - end - end - - context 'when ZSH_AUTOSUGGEST_HISTORY_IGNORE is set to a pattern' do - let(:options) { ['ZSH_AUTOSUGGEST_STRATEGY=match_prev_cmd', 'ZSH_AUTOSUGGEST_HISTORY_IGNORE="* bar"'] } - - it 'does not make suggestions that match the pattern' do - with_history(*history) do - session.send_string('ls') - wait_for { session.content }.to eq('ls foo') - end - end - end - - include_examples 'special characters' -end diff --git a/.config/zsh/plugged/zsh-autosuggestions/spec/strategies/special_characters_helper.rb b/.config/zsh/plugged/zsh-autosuggestions/spec/strategies/special_characters_helper.rb @@ -1,62 +0,0 @@ -shared_examples 'special characters' do - describe 'a special character in the buffer' do - it 'should be treated like any other character' do - with_history('echo "hello*"', 'echo "hello."') do - session.send_string('echo "hello*') - wait_for { session.content }.to eq('echo "hello*"') - end - - with_history('echo "hello?"', 'echo "hello."') do - session.send_string('echo "hello?') - wait_for { session.content }.to eq('echo "hello?"') - end - - with_history('echo "hello\nworld"') do - session.send_string('echo "hello\\') - wait_for { session.content }.to eq('echo "hello\nworld"') - end - - with_history('echo "\\\\"') do - session.send_string('echo "\\\\') - wait_for { session.content }.to eq('echo "\\\\"') - end - - with_history('echo ~/foo') do - session.send_string('echo ~') - wait_for { session.content }.to eq('echo ~/foo') - end - - with_history('echo "$(ls foo)"') do - session.send_string('echo "$(') - wait_for { session.content }.to eq('echo "$(ls foo)"') - end - - with_history('echo "$history[123]"') do - session.send_string('echo "$history[') - wait_for { session.content }.to eq('echo "$history[123]"') - session.send_string('123]') - wait_for { session.content }.to eq('echo "$history[123]"') - end - - with_history('echo "#yolo"') do - session.send_string('echo "#') - wait_for { session.content }.to eq('echo "#yolo"') - end - - with_history('echo "#foo"', 'echo $#abc') do - session.send_string('echo "#') - wait_for { session.content }.to eq('echo "#foo"') - end - - with_history('echo "^A"', 'echo "^B"') do - session.send_string('echo "^A') - wait_for { session.content }.to eq('echo "^A"') - end - - with_history('-foo() {}') do - session.send_string('-') - wait_for { session.content }.to eq('-foo() {}') - end - end - end -end diff --git a/.config/zsh/plugged/zsh-autosuggestions/spec/terminal_session.rb b/.config/zsh/plugged/zsh-autosuggestions/spec/terminal_session.rb @@ -1,99 +0,0 @@ -require 'securerandom' - -class TerminalSession - ZSH_BIN = ENV['TEST_ZSH_BIN'] || 'zsh' - - def initialize(opts = {}) - opts = { - width: 80, - height: 24, - prompt: '', - term: 'xterm-256color', - zsh_bin: ZSH_BIN - }.merge(opts) - - @opts = opts - - cmd="PS1=\"#{opts[:prompt]}\" TERM=#{opts[:term]} #{ZSH_BIN} -f" - tmux_command("new-session -d -x #{opts[:width]} -y #{opts[:height]} '#{cmd}'") - end - - def zsh_version - @zsh_version ||= Gem::Version.new(`#{ZSH_BIN} -c 'echo -n $ZSH_VERSION'`) - end - - def tmux_socket_name - @tmux_socket_name ||= SecureRandom.hex(6) - end - - def run_command(command) - send_string(command) - send_keys('enter') - - self - end - - def send_string(str) - tmux_command("send-keys -t 0 -l -- '#{str.gsub("'", "\\'")}'") - - self - end - - def send_keys(*keys) - tmux_command("send-keys -t 0 #{keys.join(' ')}") - - self - end - - def paste_string(str) - tmux_command("set-buffer -- '#{str}'") - tmux_command("paste-buffer -dpr -t 0") - - self - end - - def content(esc_seqs: false) - cmd = 'capture-pane -p -t 0' - cmd += ' -e' if esc_seqs - tmux_command(cmd).strip - end - - def clear_screen - send_keys('C-l') - - i = 0 - until content == opts[:prompt] || i > 20 do - sleep(0.1) - i = i + 1 - end - - self - end - - def destroy - tmux_command('kill-session') - end - - def cursor - tmux_command("display-message -t 0 -p '\#{cursor_x},\#{cursor_y}'"). - strip. - split(','). - map(&:to_i) - end - - def attach! - tmux_command('attach-session') - end - - private - - attr_reader :opts - - def tmux_command(cmd) - out = `tmux -u -L #{tmux_socket_name} #{cmd}` - - raise("tmux error running: '#{cmd}'") unless $?.success? - - out - end -end diff --git a/.config/zsh/plugged/zsh-autosuggestions/spec/widgets/disable_spec.rb b/.config/zsh/plugged/zsh-autosuggestions/spec/widgets/disable_spec.rb @@ -1,19 +0,0 @@ -describe 'the `autosuggest-disable` widget' do - before do - session.run_command('bindkey ^B autosuggest-disable') - end - - it 'disables suggestions and clears the suggestion' do - with_history('echo hello') do - session.send_string('echo') - wait_for { session.content }.to eq('echo hello') - - session.send_keys('C-b') - wait_for { session.content }.to eq('echo') - - session.send_string(' h') - sleep 1 - expect(session.content).to eq('echo h') - end - end -end diff --git a/.config/zsh/plugged/zsh-autosuggestions/spec/widgets/enable_spec.rb b/.config/zsh/plugged/zsh-autosuggestions/spec/widgets/enable_spec.rb @@ -1,42 +0,0 @@ -describe 'the `autosuggest-enable` widget' do - before do - session. - run_command('typeset -g _ZSH_AUTOSUGGEST_DISABLED'). - run_command('bindkey ^B autosuggest-enable') - end - - it 'enables suggestions and fetches a suggestion' do - with_history('echo hello') do - session.send_string('e') - sleep 1 - expect(session.content).to eq('e') - - session.send_keys('C-b') - session.send_string('c') - wait_for { session.content }.to eq('echo hello') - end - end - - context 'invoked on an empty buffer' do - it 'does not fetch a suggestion' do - with_history('echo hello') do - session.send_keys('C-b') - sleep 1 - expect(session.content).to eq('') - end - end - end - - context 'invoked on a non-empty buffer' do - it 'fetches a suggestion' do - with_history('echo hello') do - session.send_string('e') - sleep 1 - expect(session.content).to eq('e') - - session.send_keys('C-b') - wait_for { session.content }.to eq('echo hello') - end - end - end -end diff --git a/.config/zsh/plugged/zsh-autosuggestions/spec/widgets/fetch_spec.rb b/.config/zsh/plugged/zsh-autosuggestions/spec/widgets/fetch_spec.rb @@ -1,24 +0,0 @@ -describe 'the `autosuggest-fetch` widget' do - context 'when suggestions are disabled' do - before do - session. - run_command('bindkey ^B autosuggest-disable'). - run_command('bindkey ^F autosuggest-fetch'). - send_keys('C-b') - end - - it 'will fetch and display a suggestion' do - with_history('echo hello') do - session.send_string('echo h') - sleep 1 - expect(session.content).to eq('echo h') - - session.send_keys('C-f') - wait_for { session.content }.to eq('echo hello') - - session.send_string('e') - wait_for { session.content }.to eq('echo hello') - end - end - end -end diff --git a/.config/zsh/plugged/zsh-autosuggestions/spec/widgets/toggle_spec.rb b/.config/zsh/plugged/zsh-autosuggestions/spec/widgets/toggle_spec.rb @@ -1,26 +0,0 @@ -describe 'the `autosuggest-toggle` widget' do - before do - session.run_command('bindkey ^B autosuggest-toggle') - end - - it 'toggles suggestions' do - with_history('echo world', 'echo hello') do - session.send_string('echo') - wait_for { session.content }.to eq('echo hello') - - session.send_keys('C-b') - wait_for { session.content }.to eq('echo') - - session.send_string(' h') - sleep 1 - expect(session.content).to eq('echo h') - - session.send_keys('C-b') - wait_for { session.content }.to eq('echo hello') - - session.send_keys('C-h') - session.send_string('w') - wait_for { session.content }.to eq('echo world') - end - end -end diff --git a/.config/zsh/plugged/zsh-autosuggestions/src/async.zsh b/.config/zsh/plugged/zsh-autosuggestions/src/async.zsh @@ -1,75 +0,0 @@ - -#--------------------------------------------------------------------# -# Async # -#--------------------------------------------------------------------# - -_zsh_autosuggest_async_request() { - zmodload zsh/system 2>/dev/null # For `$sysparams` - - typeset -g _ZSH_AUTOSUGGEST_ASYNC_FD _ZSH_AUTOSUGGEST_CHILD_PID - - # If we've got a pending request, cancel it - if [[ -n "$_ZSH_AUTOSUGGEST_ASYNC_FD" ]] && { true <&$_ZSH_AUTOSUGGEST_ASYNC_FD } 2>/dev/null; then - # Close the file descriptor and remove the handler - exec {_ZSH_AUTOSUGGEST_ASYNC_FD}<&- - zle -F $_ZSH_AUTOSUGGEST_ASYNC_FD - - # We won't know the pid unless the user has zsh/system module installed - if [[ -n "$_ZSH_AUTOSUGGEST_CHILD_PID" ]]; then - # Zsh will make a new process group for the child process only if job - # control is enabled (MONITOR option) - if [[ -o MONITOR ]]; then - # Send the signal to the process group to kill any processes that may - # have been forked by the suggestion strategy - kill -TERM -$_ZSH_AUTOSUGGEST_CHILD_PID 2>/dev/null - else - # Kill just the child process since it wasn't placed in a new process - # group. If the suggestion strategy forked any child processes they may - # be orphaned and left behind. - kill -TERM $_ZSH_AUTOSUGGEST_CHILD_PID 2>/dev/null - fi - fi - fi - - # Fork a process to fetch a suggestion and open a pipe to read from it - exec {_ZSH_AUTOSUGGEST_ASYNC_FD}< <( - # Tell parent process our pid - echo $sysparams[pid] - - # Fetch and print the suggestion - local suggestion - _zsh_autosuggest_fetch_suggestion "$1" - echo -nE "$suggestion" - ) - - # There's a weird bug here where ^C stops working unless we force a fork - # See https://github.com/zsh-users/zsh-autosuggestions/issues/364 - command true - - # Read the pid from the child process - read _ZSH_AUTOSUGGEST_CHILD_PID <&$_ZSH_AUTOSUGGEST_ASYNC_FD - - # When the fd is readable, call the response handler - zle -F "$_ZSH_AUTOSUGGEST_ASYNC_FD" _zsh_autosuggest_async_response -} - -# Called when new data is ready to be read from the pipe -# First arg will be fd ready for reading -# Second arg will be passed in case of error -_zsh_autosuggest_async_response() { - emulate -L zsh - - local suggestion - - if [[ -z "$2" || "$2" == "hup" ]]; then - # Read everything from the fd and give it as a suggestion - IFS='' read -rd '' -u $1 suggestion - zle autosuggest-suggest -- "$suggestion" - - # Close the fd - exec {1}<&- - fi - - # Always remove the handler - zle -F "$1" -} diff --git a/.config/zsh/plugged/zsh-autosuggestions/src/bind.zsh b/.config/zsh/plugged/zsh-autosuggestions/src/bind.zsh @@ -1,106 +0,0 @@ - -#--------------------------------------------------------------------# -# Widget Helpers # -#--------------------------------------------------------------------# - -_zsh_autosuggest_incr_bind_count() { - typeset -gi bind_count=$((_ZSH_AUTOSUGGEST_BIND_COUNTS[$1]+1)) - _ZSH_AUTOSUGGEST_BIND_COUNTS[$1]=$bind_count -} - -# Bind a single widget to an autosuggest widget, saving a reference to the original widget -_zsh_autosuggest_bind_widget() { - typeset -gA _ZSH_AUTOSUGGEST_BIND_COUNTS - - local widget=$1 - local autosuggest_action=$2 - local prefix=$ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX - - local -i bind_count - - # Save a reference to the original widget - case $widgets[$widget] in - # Already bound - user:_zsh_autosuggest_(bound|orig)_*) - bind_count=$((_ZSH_AUTOSUGGEST_BIND_COUNTS[$widget])) - ;; - - # User-defined widget - user:*) - _zsh_autosuggest_incr_bind_count $widget - zle -N $prefix$bind_count-$widget ${widgets[$widget]#*:} - ;; - - # Built-in widget - builtin) - _zsh_autosuggest_incr_bind_count $widget - eval "_zsh_autosuggest_orig_${(q)widget}() { zle .${(q)widget} }" - zle -N $prefix$bind_count-$widget _zsh_autosuggest_orig_$widget - ;; - - # Completion widget - completion:*) - _zsh_autosuggest_incr_bind_count $widget - eval "zle -C $prefix$bind_count-${(q)widget} ${${(s.:.)widgets[$widget]}[2,3]}" - ;; - esac - - # Pass the original widget's name explicitly into the autosuggest - # function. Use this passed in widget name to call the original - # widget instead of relying on the $WIDGET variable being set - # correctly. $WIDGET cannot be trusted because other plugins call - # zle without the `-w` flag (e.g. `zle self-insert` instead of - # `zle self-insert -w`). - eval "_zsh_autosuggest_bound_${bind_count}_${(q)widget}() { - _zsh_autosuggest_widget_$autosuggest_action $prefix$bind_count-${(q)widget} \$@ - }" - - # Create the bound widget - zle -N -- $widget _zsh_autosuggest_bound_${bind_count}_$widget -} - -# Map all configured widgets to the right autosuggest widgets -_zsh_autosuggest_bind_widgets() { - emulate -L zsh - - local widget - local ignore_widgets - - ignore_widgets=( - .\* - _\* - autosuggest-\* - $ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX\* - $ZSH_AUTOSUGGEST_IGNORE_WIDGETS - ) - - # Find every widget we might want to bind and bind it appropriately - for widget in ${${(f)"$(builtin zle -la)"}:#${(j:|:)~ignore_widgets}}; do - if [[ -n ${ZSH_AUTOSUGGEST_CLEAR_WIDGETS[(r)$widget]} ]]; then - _zsh_autosuggest_bind_widget $widget clear - elif [[ -n ${ZSH_AUTOSUGGEST_ACCEPT_WIDGETS[(r)$widget]} ]]; then - _zsh_autosuggest_bind_widget $widget accept - elif [[ -n ${ZSH_AUTOSUGGEST_EXECUTE_WIDGETS[(r)$widget]} ]]; then - _zsh_autosuggest_bind_widget $widget execute - elif [[ -n ${ZSH_AUTOSUGGEST_PARTIAL_ACCEPT_WIDGETS[(r)$widget]} ]]; then - _zsh_autosuggest_bind_widget $widget partial_accept - else - # Assume any unspecified widget might modify the buffer - _zsh_autosuggest_bind_widget $widget modify - fi - done -} - -# Given the name of an original widget and args, invoke it, if it exists -_zsh_autosuggest_invoke_original_widget() { - # Do nothing unless called with at least one arg - (( $# )) || return 0 - - local original_widget_name="$1" - - shift - - if (( ${+widgets[$original_widget_name]} )); then - zle $original_widget_name -- $@ - fi -} diff --git a/.config/zsh/plugged/zsh-autosuggestions/src/config.zsh b/.config/zsh/plugged/zsh-autosuggestions/src/config.zsh @@ -1,93 +0,0 @@ - -#--------------------------------------------------------------------# -# Global Configuration Variables # -#--------------------------------------------------------------------# - -# Color to use when highlighting suggestion -# Uses format of `region_highlight` -# More info: http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Zle-Widgets -(( ! ${+ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE} )) && -typeset -g ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=8' - -# Prefix to use when saving original versions of bound widgets -(( ! ${+ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX} )) && -typeset -g ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX=autosuggest-orig- - -# Strategies to use to fetch a suggestion -# Will try each strategy in order until a suggestion is returned -(( ! ${+ZSH_AUTOSUGGEST_STRATEGY} )) && { - typeset -ga ZSH_AUTOSUGGEST_STRATEGY - ZSH_AUTOSUGGEST_STRATEGY=(history) -} - -# Widgets that clear the suggestion -(( ! ${+ZSH_AUTOSUGGEST_CLEAR_WIDGETS} )) && { - typeset -ga ZSH_AUTOSUGGEST_CLEAR_WIDGETS - ZSH_AUTOSUGGEST_CLEAR_WIDGETS=( - history-search-forward - history-search-backward - history-beginning-search-forward - history-beginning-search-backward - history-substring-search-up - history-substring-search-down - up-line-or-beginning-search - down-line-or-beginning-search - up-line-or-history - down-line-or-history - accept-line - copy-earlier-word - ) -} - -# Widgets that accept the entire suggestion -(( ! ${+ZSH_AUTOSUGGEST_ACCEPT_WIDGETS} )) && { - typeset -ga ZSH_AUTOSUGGEST_ACCEPT_WIDGETS - ZSH_AUTOSUGGEST_ACCEPT_WIDGETS=( - forward-char - end-of-line - vi-forward-char - vi-end-of-line - vi-add-eol - ) -} - -# Widgets that accept the entire suggestion and execute it -(( ! ${+ZSH_AUTOSUGGEST_EXECUTE_WIDGETS} )) && { - typeset -ga ZSH_AUTOSUGGEST_EXECUTE_WIDGETS - ZSH_AUTOSUGGEST_EXECUTE_WIDGETS=( - ) -} - -# Widgets that accept the suggestion as far as the cursor moves -(( ! ${+ZSH_AUTOSUGGEST_PARTIAL_ACCEPT_WIDGETS} )) && { - typeset -ga ZSH_AUTOSUGGEST_PARTIAL_ACCEPT_WIDGETS - ZSH_AUTOSUGGEST_PARTIAL_ACCEPT_WIDGETS=( - forward-word - emacs-forward-word - vi-forward-word - vi-forward-word-end - vi-forward-blank-word - vi-forward-blank-word-end - vi-find-next-char - vi-find-next-char-skip - ) -} - -# Widgets that should be ignored (globbing supported but must be escaped) -(( ! ${+ZSH_AUTOSUGGEST_IGNORE_WIDGETS} )) && { - typeset -ga ZSH_AUTOSUGGEST_IGNORE_WIDGETS - ZSH_AUTOSUGGEST_IGNORE_WIDGETS=( - orig-\* - beep - run-help - set-local-history - which-command - yank - yank-pop - zle-\* - ) -} - -# Pty name for capturing completions for completion suggestion strategy -(( ! ${+ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME} )) && -typeset -g ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME=zsh_autosuggest_completion_pty diff --git a/.config/zsh/plugged/zsh-autosuggestions/src/fetch.zsh b/.config/zsh/plugged/zsh-autosuggestions/src/fetch.zsh @@ -1,27 +0,0 @@ - -#--------------------------------------------------------------------# -# Fetch Suggestion # -#--------------------------------------------------------------------# -# Loops through all specified strategies and returns a suggestion -# from the first strategy to provide one. -# - -_zsh_autosuggest_fetch_suggestion() { - typeset -g suggestion - local -a strategies - local strategy - - # Ensure we are working with an array - strategies=(${=ZSH_AUTOSUGGEST_STRATEGY}) - - for strategy in $strategies; do - # Try to get a suggestion from this strategy - _zsh_autosuggest_strategy_$strategy "$1" - - # Ensure the suggestion matches the prefix - [[ "$suggestion" != "$1"* ]] && unset suggestion - - # Break once we've found a valid suggestion - [[ -n "$suggestion" ]] && break - done -} diff --git a/.config/zsh/plugged/zsh-autosuggestions/src/highlight.zsh b/.config/zsh/plugged/zsh-autosuggestions/src/highlight.zsh @@ -1,26 +0,0 @@ - -#--------------------------------------------------------------------# -# Highlighting # -#--------------------------------------------------------------------# - -# If there was a highlight, remove it -_zsh_autosuggest_highlight_reset() { - typeset -g _ZSH_AUTOSUGGEST_LAST_HIGHLIGHT - - if [[ -n "$_ZSH_AUTOSUGGEST_LAST_HIGHLIGHT" ]]; then - region_highlight=("${(@)region_highlight:#$_ZSH_AUTOSUGGEST_LAST_HIGHLIGHT}") - unset _ZSH_AUTOSUGGEST_LAST_HIGHLIGHT - fi -} - -# If there's a suggestion, highlight it -_zsh_autosuggest_highlight_apply() { - typeset -g _ZSH_AUTOSUGGEST_LAST_HIGHLIGHT - - if (( $#POSTDISPLAY )); then - typeset -g _ZSH_AUTOSUGGEST_LAST_HIGHLIGHT="$#BUFFER $(($#BUFFER + $#POSTDISPLAY)) $ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE" - region_highlight+=("$_ZSH_AUTOSUGGEST_LAST_HIGHLIGHT") - else - unset _ZSH_AUTOSUGGEST_LAST_HIGHLIGHT - fi -} diff --git a/.config/zsh/plugged/zsh-autosuggestions/src/start.zsh b/.config/zsh/plugged/zsh-autosuggestions/src/start.zsh @@ -1,23 +0,0 @@ - -#--------------------------------------------------------------------# -# Start # -#--------------------------------------------------------------------# - -# Start the autosuggestion widgets -_zsh_autosuggest_start() { - # By default we re-bind widgets on every precmd to ensure we wrap other - # wrappers. Specifically, highlighting breaks if our widgets are wrapped by - # zsh-syntax-highlighting widgets. This also allows modifications to the - # widget list variables to take effect on the next precmd. However this has - # a decent performance hit, so users can set ZSH_AUTOSUGGEST_MANUAL_REBIND - # to disable the automatic re-binding. - if (( ${+ZSH_AUTOSUGGEST_MANUAL_REBIND} )); then - add-zsh-hook -d precmd _zsh_autosuggest_start - fi - - _zsh_autosuggest_bind_widgets -} - -# Start the autosuggestion widgets on the next precmd -autoload -Uz add-zsh-hook -add-zsh-hook precmd _zsh_autosuggest_start diff --git a/.config/zsh/plugged/zsh-autosuggestions/src/strategies/completion.zsh b/.config/zsh/plugged/zsh-autosuggestions/src/strategies/completion.zsh @@ -1,139 +0,0 @@ - -#--------------------------------------------------------------------# -# Completion Suggestion Strategy # -#--------------------------------------------------------------------# -# Fetches a suggestion from the completion engine -# - -_zsh_autosuggest_capture_postcompletion() { - # Always insert the first completion into the buffer - compstate[insert]=1 - - # Don't list completions - unset 'compstate[list]' -} - -_zsh_autosuggest_capture_completion_widget() { - # Add a post-completion hook to be called after all completions have been - # gathered. The hook can modify compstate to affect what is done with the - # gathered completions. - local -a +h comppostfuncs - comppostfuncs=(_zsh_autosuggest_capture_postcompletion) - - # Only capture completions at the end of the buffer - CURSOR=$#BUFFER - - # Run the original widget wrapping `.complete-word` so we don't - # recursively try to fetch suggestions, since our pty is forked - # after autosuggestions is initialized. - zle -- ${(k)widgets[(r)completion:.complete-word:_main_complete]} - - if is-at-least 5.0.3; then - # Don't do any cr/lf transformations. We need to do this immediately before - # output because if we do it in setup, onlcr will be re-enabled when we enter - # vared in the async code path. There is a bug in zpty module in older versions - # where the tty is not properly attached to the pty slave, resulting in stty - # getting stopped with a SIGTTOU. See zsh-workers thread 31660 and upstream - # commit f75904a38 - stty -onlcr -ocrnl -F /dev/tty - fi - - # The completion has been added, print the buffer as the suggestion - echo -nE - $'\0'$BUFFER$'\0' -} - -zle -N autosuggest-capture-completion _zsh_autosuggest_capture_completion_widget - -_zsh_autosuggest_capture_setup() { - autoload -Uz is-at-least - - # There is a bug in zpty module in older zsh versions by which a - # zpty that exits will kill all zpty processes that were forked - # before it. Here we set up a zsh exit hook to SIGKILL the zpty - # process immediately, before it has a chance to kill any other - # zpty processes. - if ! is-at-least 5.4; then - zshexit() { - # The zsh builtin `kill` fails sometimes in older versions - # https://unix.stackexchange.com/a/477647/156673 - kill -KILL $$ 2>&- || command kill -KILL $$ - - # Block for long enough for the signal to come through - sleep 1 - } - fi - - # Try to avoid any suggestions that wouldn't match the prefix - zstyle ':completion:*' matcher-list '' - zstyle ':completion:*' path-completion false - zstyle ':completion:*' max-errors 0 not-numeric - - bindkey '^I' autosuggest-capture-completion -} - -_zsh_autosuggest_capture_completion_sync() { - _zsh_autosuggest_capture_setup - - zle autosuggest-capture-completion -} - -_zsh_autosuggest_capture_completion_async() { - _zsh_autosuggest_capture_setup - - zmodload zsh/parameter 2>/dev/null || return # For `$functions` - - # Make vared completion work as if for a normal command line - # https://stackoverflow.com/a/7057118/154703 - autoload +X _complete - functions[_original_complete]=$functions[_complete] - function _complete() { - unset 'compstate[vared]' - _original_complete "$@" - } - - # Open zle with buffer set so we can capture completions for it - vared 1 -} - -_zsh_autosuggest_strategy_completion() { - # Reset options to defaults and enable LOCAL_OPTIONS - emulate -L zsh - - # Enable extended glob for completion ignore pattern - setopt EXTENDED_GLOB - - typeset -g suggestion - local line REPLY - - # Exit if we don't have completions - whence compdef >/dev/null || return - - # Exit if we don't have zpty - zmodload zsh/zpty 2>/dev/null || return - - # Exit if our search string matches the ignore pattern - [[ -n "$ZSH_AUTOSUGGEST_COMPLETION_IGNORE" ]] && [[ "$1" == $~ZSH_AUTOSUGGEST_COMPLETION_IGNORE ]] && return - - # Zle will be inactive if we are in async mode - if zle; then - zpty $ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME _zsh_autosuggest_capture_completion_sync - else - zpty $ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME _zsh_autosuggest_capture_completion_async "\$1" - zpty -w $ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME $'\t' - fi - - { - # The completion result is surrounded by null bytes, so read the - # content between the first two null bytes. - zpty -r $ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME line '*'$'\0''*'$'\0' - - # Extract the suggestion from between the null bytes. On older - # versions of zsh (older than 5.3), we sometimes get extra bytes after - # the second null byte, so trim those off the end. - # See http://www.zsh.org/mla/workers/2015/msg03290.html - suggestion="${${(@0)line}[2]}" - } always { - # Destroy the pty - zpty -d $ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME - } -} diff --git a/.config/zsh/plugged/zsh-autosuggestions/src/strategies/history.zsh b/.config/zsh/plugged/zsh-autosuggestions/src/strategies/history.zsh @@ -1,32 +0,0 @@ - -#--------------------------------------------------------------------# -# History Suggestion Strategy # -#--------------------------------------------------------------------# -# Suggests the most recent history item that matches the given -# prefix. -# - -_zsh_autosuggest_strategy_history() { - # Reset options to defaults and enable LOCAL_OPTIONS - emulate -L zsh - - # Enable globbing flags so that we can use (#m) and (x~y) glob operator - setopt EXTENDED_GLOB - - # Escape backslashes and all of the glob operators so we can use - # this string as a pattern to search the $history associative array. - # - (#m) globbing flag enables setting references for match data - # TODO: Use (b) flag when we can drop support for zsh older than v5.0.8 - local prefix="${1//(#m)[\\*?[\]<>()|^~#]/\\$MATCH}" - - # Get the history items that match the prefix, excluding those that match - # the ignore pattern - local pattern="$prefix*" - if [[ -n $ZSH_AUTOSUGGEST_HISTORY_IGNORE ]]; then - pattern="($pattern)~($ZSH_AUTOSUGGEST_HISTORY_IGNORE)" - fi - - # Give the first history item matching the pattern as the suggestion - # - (r) subscript flag makes the pattern match on values - typeset -g suggestion="${history[(r)$pattern]}" -} diff --git a/.config/zsh/plugged/zsh-autosuggestions/src/strategies/match_prev_cmd.zsh b/.config/zsh/plugged/zsh-autosuggestions/src/strategies/match_prev_cmd.zsh @@ -1,66 +0,0 @@ - -#--------------------------------------------------------------------# -# Match Previous Command Suggestion Strategy # -#--------------------------------------------------------------------# -# Suggests the most recent history item that matches the given -# prefix and whose preceding history item also matches the most -# recently executed command. -# -# For example, suppose your history has the following entries: -# - pwd -# - ls foo -# - ls bar -# - pwd -# -# Given the history list above, when you type 'ls', the suggestion -# will be 'ls foo' rather than 'ls bar' because your most recently -# executed command (pwd) was previously followed by 'ls foo'. -# -# Note that this strategy won't work as expected with ZSH options that don't -# preserve the history order such as `HIST_IGNORE_ALL_DUPS` or -# `HIST_EXPIRE_DUPS_FIRST`. - -_zsh_autosuggest_strategy_match_prev_cmd() { - # Reset options to defaults and enable LOCAL_OPTIONS - emulate -L zsh - - # Enable globbing flags so that we can use (#m) and (x~y) glob operator - setopt EXTENDED_GLOB - - # TODO: Use (b) flag when we can drop support for zsh older than v5.0.8 - local prefix="${1//(#m)[\\*?[\]<>()|^~#]/\\$MATCH}" - - # Get the history items that match the prefix, excluding those that match - # the ignore pattern - local pattern="$prefix*" - if [[ -n $ZSH_AUTOSUGGEST_HISTORY_IGNORE ]]; then - pattern="($pattern)~($ZSH_AUTOSUGGEST_HISTORY_IGNORE)" - fi - - # Get all history event numbers that correspond to history - # entries that match the pattern - local history_match_keys - history_match_keys=(${(k)history[(R)$~pattern]}) - - # By default we use the first history number (most recent history entry) - local histkey="${history_match_keys[1]}" - - # Get the previously executed command - local prev_cmd="$(_zsh_autosuggest_escape_command "${history[$((HISTCMD-1))]}")" - - # Iterate up to the first 200 history event numbers that match $prefix - for key in "${(@)history_match_keys[1,200]}"; do - # Stop if we ran out of history - [[ $key -gt 1 ]] || break - - # See if the history entry preceding the suggestion matches the - # previous command, and use it if it does - if [[ "${history[$((key - 1))]}" == "$prev_cmd" ]]; then - histkey="$key" - break - fi - done - - # Give back the matched history entry - typeset -g suggestion="$history[$histkey]" -} diff --git a/.config/zsh/plugged/zsh-autosuggestions/src/util.zsh b/.config/zsh/plugged/zsh-autosuggestions/src/util.zsh @@ -1,11 +0,0 @@ - -#--------------------------------------------------------------------# -# Utility Functions # -#--------------------------------------------------------------------# - -_zsh_autosuggest_escape_command() { - setopt localoptions EXTENDED_GLOB - - # Escape special chars in the string (requires EXTENDED_GLOB) - echo -E "${1//(#m)[\"\'\\()\[\]|*?~]/\\$MATCH}" -} diff --git a/.config/zsh/plugged/zsh-autosuggestions/src/widgets.zsh b/.config/zsh/plugged/zsh-autosuggestions/src/widgets.zsh @@ -1,234 +0,0 @@ - -#--------------------------------------------------------------------# -# Autosuggest Widget Implementations # -#--------------------------------------------------------------------# - -# Disable suggestions -_zsh_autosuggest_disable() { - typeset -g _ZSH_AUTOSUGGEST_DISABLED - _zsh_autosuggest_clear -} - -# Enable suggestions -_zsh_autosuggest_enable() { - unset _ZSH_AUTOSUGGEST_DISABLED - - if (( $#BUFFER )); then - _zsh_autosuggest_fetch - fi -} - -# Toggle suggestions (enable/disable) -_zsh_autosuggest_toggle() { - if [[ -n "${_ZSH_AUTOSUGGEST_DISABLED+x}" ]]; then - _zsh_autosuggest_enable - else - _zsh_autosuggest_disable - fi -} - -# Clear the suggestion -_zsh_autosuggest_clear() { - # Remove the suggestion - unset POSTDISPLAY - - _zsh_autosuggest_invoke_original_widget $@ -} - -# Modify the buffer and get a new suggestion -_zsh_autosuggest_modify() { - local -i retval - - # Only available in zsh >= 5.4 - local -i KEYS_QUEUED_COUNT - - # Save the contents of the buffer/postdisplay - local orig_buffer="$BUFFER" - local orig_postdisplay="$POSTDISPLAY" - - # Clear suggestion while waiting for next one - unset POSTDISPLAY - - # Original widget may modify the buffer - _zsh_autosuggest_invoke_original_widget $@ - retval=$? - - emulate -L zsh - - # Don't fetch a new suggestion if there's more input to be read immediately - if (( $PENDING > 0 || $KEYS_QUEUED_COUNT > 0 )); then - POSTDISPLAY="$orig_postdisplay" - return $retval - fi - - # Optimize if manually typing in the suggestion - if (( $#BUFFER > $#orig_buffer )); then - local added=${BUFFER#$orig_buffer} - - # If the string added matches the beginning of the postdisplay - if [[ "$added" = "${orig_postdisplay:0:$#added}" ]]; then - POSTDISPLAY="${orig_postdisplay:$#added}" - return $retval - fi - fi - - # Don't fetch a new suggestion if the buffer hasn't changed - if [[ "$BUFFER" = "$orig_buffer" ]]; then - POSTDISPLAY="$orig_postdisplay" - return $retval - fi - - # Bail out if suggestions are disabled - if [[ -n "${_ZSH_AUTOSUGGEST_DISABLED+x}" ]]; then - return $? - fi - - # Get a new suggestion if the buffer is not empty after modification - if (( $#BUFFER > 0 )); then - if [[ -z "$ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE" ]] || (( $#BUFFER <= $ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE )); then - _zsh_autosuggest_fetch - fi - fi - - return $retval -} - -# Fetch a new suggestion based on what's currently in the buffer -_zsh_autosuggest_fetch() { - if (( ${+ZSH_AUTOSUGGEST_USE_ASYNC} )); then - _zsh_autosuggest_async_request "$BUFFER" - else - local suggestion - _zsh_autosuggest_fetch_suggestion "$BUFFER" - _zsh_autosuggest_suggest "$suggestion" - fi -} - -# Offer a suggestion -_zsh_autosuggest_suggest() { - emulate -L zsh - - local suggestion="$1" - - if [[ -n "$suggestion" ]] && (( $#BUFFER )); then - POSTDISPLAY="${suggestion#$BUFFER}" - else - unset POSTDISPLAY - fi -} - -# Accept the entire suggestion -_zsh_autosuggest_accept() { - local -i retval max_cursor_pos=$#BUFFER - - # When vicmd keymap is active, the cursor can't move all the way - # to the end of the buffer - if [[ "$KEYMAP" = "vicmd" ]]; then - max_cursor_pos=$((max_cursor_pos - 1)) - fi - - # If we're not in a valid state to accept a suggestion, just run the - # original widget and bail out - if (( $CURSOR != $max_cursor_pos || !$#POSTDISPLAY )); then - _zsh_autosuggest_invoke_original_widget $@ - return - fi - - # Only accept if the cursor is at the end of the buffer - # Add the suggestion to the buffer - BUFFER="$BUFFER$POSTDISPLAY" - - # Remove the suggestion - unset POSTDISPLAY - - # Run the original widget before manually moving the cursor so that the - # cursor movement doesn't make the widget do something unexpected - _zsh_autosuggest_invoke_original_widget $@ - retval=$? - - # Move the cursor to the end of the buffer - if [[ "$KEYMAP" = "vicmd" ]]; then - CURSOR=$(($#BUFFER - 1)) - else - CURSOR=$#BUFFER - fi - - return $retval -} - -# Accept the entire suggestion and execute it -_zsh_autosuggest_execute() { - # Add the suggestion to the buffer - BUFFER="$BUFFER$POSTDISPLAY" - - # Remove the suggestion - unset POSTDISPLAY - - # Call the original `accept-line` to handle syntax highlighting or - # other potential custom behavior - _zsh_autosuggest_invoke_original_widget "accept-line" -} - -# Partially accept the suggestion -_zsh_autosuggest_partial_accept() { - local -i retval cursor_loc - - # Save the contents of the buffer so we can restore later if needed - local original_buffer="$BUFFER" - - # Temporarily accept the suggestion. - BUFFER="$BUFFER$POSTDISPLAY" - - # Original widget moves the cursor - _zsh_autosuggest_invoke_original_widget $@ - retval=$? - - # Normalize cursor location across vi/emacs modes - cursor_loc=$CURSOR - if [[ "$KEYMAP" = "vicmd" ]]; then - cursor_loc=$((cursor_loc + 1)) - fi - - # If we've moved past the end of the original buffer - if (( $cursor_loc > $#original_buffer )); then - # Set POSTDISPLAY to text right of the cursor - POSTDISPLAY="${BUFFER[$(($cursor_loc + 1)),$#BUFFER]}" - - # Clip the buffer at the cursor - BUFFER="${BUFFER[1,$cursor_loc]}" - else - # Restore the original buffer - BUFFER="$original_buffer" - fi - - return $retval -} - -() { - local action - for action in clear modify fetch suggest accept partial_accept execute enable disable toggle; do - eval "_zsh_autosuggest_widget_$action() { - local -i retval - - _zsh_autosuggest_highlight_reset - - _zsh_autosuggest_$action \$@ - retval=\$? - - _zsh_autosuggest_highlight_apply - - zle -R - - return \$retval - }" - done - - zle -N autosuggest-fetch _zsh_autosuggest_widget_fetch - zle -N autosuggest-suggest _zsh_autosuggest_widget_suggest - zle -N autosuggest-accept _zsh_autosuggest_widget_accept - zle -N autosuggest-clear _zsh_autosuggest_widget_clear - zle -N autosuggest-execute _zsh_autosuggest_widget_execute - zle -N autosuggest-enable _zsh_autosuggest_widget_enable - zle -N autosuggest-disable _zsh_autosuggest_widget_disable - zle -N autosuggest-toggle _zsh_autosuggest_widget_toggle -} diff --git a/.config/zsh/plugged/zsh-autosuggestions/zsh-autosuggestions.plugin.zsh b/.config/zsh/plugged/zsh-autosuggestions/zsh-autosuggestions.plugin.zsh @@ -1 +0,0 @@ -source ${0:A:h}/zsh-autosuggestions.zsh diff --git a/.config/zsh/plugged/zsh-autosuggestions/zsh-autosuggestions.zsh b/.config/zsh/plugged/zsh-autosuggestions/zsh-autosuggestions.zsh @@ -1,858 +0,0 @@ -# Fish-like fast/unobtrusive autosuggestions for zsh. -# https://github.com/zsh-users/zsh-autosuggestions -# v0.6.4 -# Copyright (c) 2013 Thiago de Arruda -# Copyright (c) 2016-2019 Eric Freese -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. - -#--------------------------------------------------------------------# -# Global Configuration Variables # -#--------------------------------------------------------------------# - -# Color to use when highlighting suggestion -# Uses format of `region_highlight` -# More info: http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Zle-Widgets -(( ! ${+ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE} )) && -typeset -g ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=8' - -# Prefix to use when saving original versions of bound widgets -(( ! ${+ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX} )) && -typeset -g ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX=autosuggest-orig- - -# Strategies to use to fetch a suggestion -# Will try each strategy in order until a suggestion is returned -(( ! ${+ZSH_AUTOSUGGEST_STRATEGY} )) && { - typeset -ga ZSH_AUTOSUGGEST_STRATEGY - ZSH_AUTOSUGGEST_STRATEGY=(history) -} - -# Widgets that clear the suggestion -(( ! ${+ZSH_AUTOSUGGEST_CLEAR_WIDGETS} )) && { - typeset -ga ZSH_AUTOSUGGEST_CLEAR_WIDGETS - ZSH_AUTOSUGGEST_CLEAR_WIDGETS=( - history-search-forward - history-search-backward - history-beginning-search-forward - history-beginning-search-backward - history-substring-search-up - history-substring-search-down - up-line-or-beginning-search - down-line-or-beginning-search - up-line-or-history - down-line-or-history - accept-line - copy-earlier-word - ) -} - -# Widgets that accept the entire suggestion -(( ! ${+ZSH_AUTOSUGGEST_ACCEPT_WIDGETS} )) && { - typeset -ga ZSH_AUTOSUGGEST_ACCEPT_WIDGETS - ZSH_AUTOSUGGEST_ACCEPT_WIDGETS=( - forward-char - end-of-line - vi-forward-char - vi-end-of-line - vi-add-eol - ) -} - -# Widgets that accept the entire suggestion and execute it -(( ! ${+ZSH_AUTOSUGGEST_EXECUTE_WIDGETS} )) && { - typeset -ga ZSH_AUTOSUGGEST_EXECUTE_WIDGETS - ZSH_AUTOSUGGEST_EXECUTE_WIDGETS=( - ) -} - -# Widgets that accept the suggestion as far as the cursor moves -(( ! ${+ZSH_AUTOSUGGEST_PARTIAL_ACCEPT_WIDGETS} )) && { - typeset -ga ZSH_AUTOSUGGEST_PARTIAL_ACCEPT_WIDGETS - ZSH_AUTOSUGGEST_PARTIAL_ACCEPT_WIDGETS=( - forward-word - emacs-forward-word - vi-forward-word - vi-forward-word-end - vi-forward-blank-word - vi-forward-blank-word-end - vi-find-next-char - vi-find-next-char-skip - ) -} - -# Widgets that should be ignored (globbing supported but must be escaped) -(( ! ${+ZSH_AUTOSUGGEST_IGNORE_WIDGETS} )) && { - typeset -ga ZSH_AUTOSUGGEST_IGNORE_WIDGETS - ZSH_AUTOSUGGEST_IGNORE_WIDGETS=( - orig-\* - beep - run-help - set-local-history - which-command - yank - yank-pop - zle-\* - ) -} - -# Pty name for capturing completions for completion suggestion strategy -(( ! ${+ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME} )) && -typeset -g ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME=zsh_autosuggest_completion_pty - -#--------------------------------------------------------------------# -# Utility Functions # -#--------------------------------------------------------------------# - -_zsh_autosuggest_escape_command() { - setopt localoptions EXTENDED_GLOB - - # Escape special chars in the string (requires EXTENDED_GLOB) - echo -E "${1//(#m)[\"\'\\()\[\]|*?~]/\\$MATCH}" -} - -#--------------------------------------------------------------------# -# Widget Helpers # -#--------------------------------------------------------------------# - -_zsh_autosuggest_incr_bind_count() { - typeset -gi bind_count=$((_ZSH_AUTOSUGGEST_BIND_COUNTS[$1]+1)) - _ZSH_AUTOSUGGEST_BIND_COUNTS[$1]=$bind_count -} - -# Bind a single widget to an autosuggest widget, saving a reference to the original widget -_zsh_autosuggest_bind_widget() { - typeset -gA _ZSH_AUTOSUGGEST_BIND_COUNTS - - local widget=$1 - local autosuggest_action=$2 - local prefix=$ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX - - local -i bind_count - - # Save a reference to the original widget - case $widgets[$widget] in - # Already bound - user:_zsh_autosuggest_(bound|orig)_*) - bind_count=$((_ZSH_AUTOSUGGEST_BIND_COUNTS[$widget])) - ;; - - # User-defined widget - user:*) - _zsh_autosuggest_incr_bind_count $widget - zle -N $prefix$bind_count-$widget ${widgets[$widget]#*:} - ;; - - # Built-in widget - builtin) - _zsh_autosuggest_incr_bind_count $widget - eval "_zsh_autosuggest_orig_${(q)widget}() { zle .${(q)widget} }" - zle -N $prefix$bind_count-$widget _zsh_autosuggest_orig_$widget - ;; - - # Completion widget - completion:*) - _zsh_autosuggest_incr_bind_count $widget - eval "zle -C $prefix$bind_count-${(q)widget} ${${(s.:.)widgets[$widget]}[2,3]}" - ;; - esac - - # Pass the original widget's name explicitly into the autosuggest - # function. Use this passed in widget name to call the original - # widget instead of relying on the $WIDGET variable being set - # correctly. $WIDGET cannot be trusted because other plugins call - # zle without the `-w` flag (e.g. `zle self-insert` instead of - # `zle self-insert -w`). - eval "_zsh_autosuggest_bound_${bind_count}_${(q)widget}() { - _zsh_autosuggest_widget_$autosuggest_action $prefix$bind_count-${(q)widget} \$@ - }" - - # Create the bound widget - zle -N -- $widget _zsh_autosuggest_bound_${bind_count}_$widget -} - -# Map all configured widgets to the right autosuggest widgets -_zsh_autosuggest_bind_widgets() { - emulate -L zsh - - local widget - local ignore_widgets - - ignore_widgets=( - .\* - _\* - autosuggest-\* - $ZSH_AUTOSUGGEST_ORIGINAL_WIDGET_PREFIX\* - $ZSH_AUTOSUGGEST_IGNORE_WIDGETS - ) - - # Find every widget we might want to bind and bind it appropriately - for widget in ${${(f)"$(builtin zle -la)"}:#${(j:|:)~ignore_widgets}}; do - if [[ -n ${ZSH_AUTOSUGGEST_CLEAR_WIDGETS[(r)$widget]} ]]; then - _zsh_autosuggest_bind_widget $widget clear - elif [[ -n ${ZSH_AUTOSUGGEST_ACCEPT_WIDGETS[(r)$widget]} ]]; then - _zsh_autosuggest_bind_widget $widget accept - elif [[ -n ${ZSH_AUTOSUGGEST_EXECUTE_WIDGETS[(r)$widget]} ]]; then - _zsh_autosuggest_bind_widget $widget execute - elif [[ -n ${ZSH_AUTOSUGGEST_PARTIAL_ACCEPT_WIDGETS[(r)$widget]} ]]; then - _zsh_autosuggest_bind_widget $widget partial_accept - else - # Assume any unspecified widget might modify the buffer - _zsh_autosuggest_bind_widget $widget modify - fi - done -} - -# Given the name of an original widget and args, invoke it, if it exists -_zsh_autosuggest_invoke_original_widget() { - # Do nothing unless called with at least one arg - (( $# )) || return 0 - - local original_widget_name="$1" - - shift - - if (( ${+widgets[$original_widget_name]} )); then - zle $original_widget_name -- $@ - fi -} - -#--------------------------------------------------------------------# -# Highlighting # -#--------------------------------------------------------------------# - -# If there was a highlight, remove it -_zsh_autosuggest_highlight_reset() { - typeset -g _ZSH_AUTOSUGGEST_LAST_HIGHLIGHT - - if [[ -n "$_ZSH_AUTOSUGGEST_LAST_HIGHLIGHT" ]]; then - region_highlight=("${(@)region_highlight:#$_ZSH_AUTOSUGGEST_LAST_HIGHLIGHT}") - unset _ZSH_AUTOSUGGEST_LAST_HIGHLIGHT - fi -} - -# If there's a suggestion, highlight it -_zsh_autosuggest_highlight_apply() { - typeset -g _ZSH_AUTOSUGGEST_LAST_HIGHLIGHT - - if (( $#POSTDISPLAY )); then - typeset -g _ZSH_AUTOSUGGEST_LAST_HIGHLIGHT="$#BUFFER $(($#BUFFER + $#POSTDISPLAY)) $ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE" - region_highlight+=("$_ZSH_AUTOSUGGEST_LAST_HIGHLIGHT") - else - unset _ZSH_AUTOSUGGEST_LAST_HIGHLIGHT - fi -} - -#--------------------------------------------------------------------# -# Autosuggest Widget Implementations # -#--------------------------------------------------------------------# - -# Disable suggestions -_zsh_autosuggest_disable() { - typeset -g _ZSH_AUTOSUGGEST_DISABLED - _zsh_autosuggest_clear -} - -# Enable suggestions -_zsh_autosuggest_enable() { - unset _ZSH_AUTOSUGGEST_DISABLED - - if (( $#BUFFER )); then - _zsh_autosuggest_fetch - fi -} - -# Toggle suggestions (enable/disable) -_zsh_autosuggest_toggle() { - if [[ -n "${_ZSH_AUTOSUGGEST_DISABLED+x}" ]]; then - _zsh_autosuggest_enable - else - _zsh_autosuggest_disable - fi -} - -# Clear the suggestion -_zsh_autosuggest_clear() { - # Remove the suggestion - unset POSTDISPLAY - - _zsh_autosuggest_invoke_original_widget $@ -} - -# Modify the buffer and get a new suggestion -_zsh_autosuggest_modify() { - local -i retval - - # Only available in zsh >= 5.4 - local -i KEYS_QUEUED_COUNT - - # Save the contents of the buffer/postdisplay - local orig_buffer="$BUFFER" - local orig_postdisplay="$POSTDISPLAY" - - # Clear suggestion while waiting for next one - unset POSTDISPLAY - - # Original widget may modify the buffer - _zsh_autosuggest_invoke_original_widget $@ - retval=$? - - emulate -L zsh - - # Don't fetch a new suggestion if there's more input to be read immediately - if (( $PENDING > 0 || $KEYS_QUEUED_COUNT > 0 )); then - POSTDISPLAY="$orig_postdisplay" - return $retval - fi - - # Optimize if manually typing in the suggestion - if (( $#BUFFER > $#orig_buffer )); then - local added=${BUFFER#$orig_buffer} - - # If the string added matches the beginning of the postdisplay - if [[ "$added" = "${orig_postdisplay:0:$#added}" ]]; then - POSTDISPLAY="${orig_postdisplay:$#added}" - return $retval - fi - fi - - # Don't fetch a new suggestion if the buffer hasn't changed - if [[ "$BUFFER" = "$orig_buffer" ]]; then - POSTDISPLAY="$orig_postdisplay" - return $retval - fi - - # Bail out if suggestions are disabled - if [[ -n "${_ZSH_AUTOSUGGEST_DISABLED+x}" ]]; then - return $? - fi - - # Get a new suggestion if the buffer is not empty after modification - if (( $#BUFFER > 0 )); then - if [[ -z "$ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE" ]] || (( $#BUFFER <= $ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE )); then - _zsh_autosuggest_fetch - fi - fi - - return $retval -} - -# Fetch a new suggestion based on what's currently in the buffer -_zsh_autosuggest_fetch() { - if (( ${+ZSH_AUTOSUGGEST_USE_ASYNC} )); then - _zsh_autosuggest_async_request "$BUFFER" - else - local suggestion - _zsh_autosuggest_fetch_suggestion "$BUFFER" - _zsh_autosuggest_suggest "$suggestion" - fi -} - -# Offer a suggestion -_zsh_autosuggest_suggest() { - emulate -L zsh - - local suggestion="$1" - - if [[ -n "$suggestion" ]] && (( $#BUFFER )); then - POSTDISPLAY="${suggestion#$BUFFER}" - else - unset POSTDISPLAY - fi -} - -# Accept the entire suggestion -_zsh_autosuggest_accept() { - local -i retval max_cursor_pos=$#BUFFER - - # When vicmd keymap is active, the cursor can't move all the way - # to the end of the buffer - if [[ "$KEYMAP" = "vicmd" ]]; then - max_cursor_pos=$((max_cursor_pos - 1)) - fi - - # If we're not in a valid state to accept a suggestion, just run the - # original widget and bail out - if (( $CURSOR != $max_cursor_pos || !$#POSTDISPLAY )); then - _zsh_autosuggest_invoke_original_widget $@ - return - fi - - # Only accept if the cursor is at the end of the buffer - # Add the suggestion to the buffer - BUFFER="$BUFFER$POSTDISPLAY" - - # Remove the suggestion - unset POSTDISPLAY - - # Run the original widget before manually moving the cursor so that the - # cursor movement doesn't make the widget do something unexpected - _zsh_autosuggest_invoke_original_widget $@ - retval=$? - - # Move the cursor to the end of the buffer - if [[ "$KEYMAP" = "vicmd" ]]; then - CURSOR=$(($#BUFFER - 1)) - else - CURSOR=$#BUFFER - fi - - return $retval -} - -# Accept the entire suggestion and execute it -_zsh_autosuggest_execute() { - # Add the suggestion to the buffer - BUFFER="$BUFFER$POSTDISPLAY" - - # Remove the suggestion - unset POSTDISPLAY - - # Call the original `accept-line` to handle syntax highlighting or - # other potential custom behavior - _zsh_autosuggest_invoke_original_widget "accept-line" -} - -# Partially accept the suggestion -_zsh_autosuggest_partial_accept() { - local -i retval cursor_loc - - # Save the contents of the buffer so we can restore later if needed - local original_buffer="$BUFFER" - - # Temporarily accept the suggestion. - BUFFER="$BUFFER$POSTDISPLAY" - - # Original widget moves the cursor - _zsh_autosuggest_invoke_original_widget $@ - retval=$? - - # Normalize cursor location across vi/emacs modes - cursor_loc=$CURSOR - if [[ "$KEYMAP" = "vicmd" ]]; then - cursor_loc=$((cursor_loc + 1)) - fi - - # If we've moved past the end of the original buffer - if (( $cursor_loc > $#original_buffer )); then - # Set POSTDISPLAY to text right of the cursor - POSTDISPLAY="${BUFFER[$(($cursor_loc + 1)),$#BUFFER]}" - - # Clip the buffer at the cursor - BUFFER="${BUFFER[1,$cursor_loc]}" - else - # Restore the original buffer - BUFFER="$original_buffer" - fi - - return $retval -} - -() { - local action - for action in clear modify fetch suggest accept partial_accept execute enable disable toggle; do - eval "_zsh_autosuggest_widget_$action() { - local -i retval - - _zsh_autosuggest_highlight_reset - - _zsh_autosuggest_$action \$@ - retval=\$? - - _zsh_autosuggest_highlight_apply - - zle -R - - return \$retval - }" - done - - zle -N autosuggest-fetch _zsh_autosuggest_widget_fetch - zle -N autosuggest-suggest _zsh_autosuggest_widget_suggest - zle -N autosuggest-accept _zsh_autosuggest_widget_accept - zle -N autosuggest-clear _zsh_autosuggest_widget_clear - zle -N autosuggest-execute _zsh_autosuggest_widget_execute - zle -N autosuggest-enable _zsh_autosuggest_widget_enable - zle -N autosuggest-disable _zsh_autosuggest_widget_disable - zle -N autosuggest-toggle _zsh_autosuggest_widget_toggle -} - -#--------------------------------------------------------------------# -# Completion Suggestion Strategy # -#--------------------------------------------------------------------# -# Fetches a suggestion from the completion engine -# - -_zsh_autosuggest_capture_postcompletion() { - # Always insert the first completion into the buffer - compstate[insert]=1 - - # Don't list completions - unset 'compstate[list]' -} - -_zsh_autosuggest_capture_completion_widget() { - # Add a post-completion hook to be called after all completions have been - # gathered. The hook can modify compstate to affect what is done with the - # gathered completions. - local -a +h comppostfuncs - comppostfuncs=(_zsh_autosuggest_capture_postcompletion) - - # Only capture completions at the end of the buffer - CURSOR=$#BUFFER - - # Run the original widget wrapping `.complete-word` so we don't - # recursively try to fetch suggestions, since our pty is forked - # after autosuggestions is initialized. - zle -- ${(k)widgets[(r)completion:.complete-word:_main_complete]} - - if is-at-least 5.0.3; then - # Don't do any cr/lf transformations. We need to do this immediately before - # output because if we do it in setup, onlcr will be re-enabled when we enter - # vared in the async code path. There is a bug in zpty module in older versions - # where the tty is not properly attached to the pty slave, resulting in stty - # getting stopped with a SIGTTOU. See zsh-workers thread 31660 and upstream - # commit f75904a38 - stty -onlcr -ocrnl -F /dev/tty - fi - - # The completion has been added, print the buffer as the suggestion - echo -nE - $'\0'$BUFFER$'\0' -} - -zle -N autosuggest-capture-completion _zsh_autosuggest_capture_completion_widget - -_zsh_autosuggest_capture_setup() { - autoload -Uz is-at-least - - # There is a bug in zpty module in older zsh versions by which a - # zpty that exits will kill all zpty processes that were forked - # before it. Here we set up a zsh exit hook to SIGKILL the zpty - # process immediately, before it has a chance to kill any other - # zpty processes. - if ! is-at-least 5.4; then - zshexit() { - # The zsh builtin `kill` fails sometimes in older versions - # https://unix.stackexchange.com/a/477647/156673 - kill -KILL $$ 2>&- || command kill -KILL $$ - - # Block for long enough for the signal to come through - sleep 1 - } - fi - - # Try to avoid any suggestions that wouldn't match the prefix - zstyle ':completion:*' matcher-list '' - zstyle ':completion:*' path-completion false - zstyle ':completion:*' max-errors 0 not-numeric - - bindkey '^I' autosuggest-capture-completion -} - -_zsh_autosuggest_capture_completion_sync() { - _zsh_autosuggest_capture_setup - - zle autosuggest-capture-completion -} - -_zsh_autosuggest_capture_completion_async() { - _zsh_autosuggest_capture_setup - - zmodload zsh/parameter 2>/dev/null || return # For `$functions` - - # Make vared completion work as if for a normal command line - # https://stackoverflow.com/a/7057118/154703 - autoload +X _complete - functions[_original_complete]=$functions[_complete] - function _complete() { - unset 'compstate[vared]' - _original_complete "$@" - } - - # Open zle with buffer set so we can capture completions for it - vared 1 -} - -_zsh_autosuggest_strategy_completion() { - # Reset options to defaults and enable LOCAL_OPTIONS - emulate -L zsh - - # Enable extended glob for completion ignore pattern - setopt EXTENDED_GLOB - - typeset -g suggestion - local line REPLY - - # Exit if we don't have completions - whence compdef >/dev/null || return - - # Exit if we don't have zpty - zmodload zsh/zpty 2>/dev/null || return - - # Exit if our search string matches the ignore pattern - [[ -n "$ZSH_AUTOSUGGEST_COMPLETION_IGNORE" ]] && [[ "$1" == $~ZSH_AUTOSUGGEST_COMPLETION_IGNORE ]] && return - - # Zle will be inactive if we are in async mode - if zle; then - zpty $ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME _zsh_autosuggest_capture_completion_sync - else - zpty $ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME _zsh_autosuggest_capture_completion_async "\$1" - zpty -w $ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME $'\t' - fi - - { - # The completion result is surrounded by null bytes, so read the - # content between the first two null bytes. - zpty -r $ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME line '*'$'\0''*'$'\0' - - # Extract the suggestion from between the null bytes. On older - # versions of zsh (older than 5.3), we sometimes get extra bytes after - # the second null byte, so trim those off the end. - # See http://www.zsh.org/mla/workers/2015/msg03290.html - suggestion="${${(@0)line}[2]}" - } always { - # Destroy the pty - zpty -d $ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME - } -} - -#--------------------------------------------------------------------# -# History Suggestion Strategy # -#--------------------------------------------------------------------# -# Suggests the most recent history item that matches the given -# prefix. -# - -_zsh_autosuggest_strategy_history() { - # Reset options to defaults and enable LOCAL_OPTIONS - emulate -L zsh - - # Enable globbing flags so that we can use (#m) and (x~y) glob operator - setopt EXTENDED_GLOB - - # Escape backslashes and all of the glob operators so we can use - # this string as a pattern to search the $history associative array. - # - (#m) globbing flag enables setting references for match data - # TODO: Use (b) flag when we can drop support for zsh older than v5.0.8 - local prefix="${1//(#m)[\\*?[\]<>()|^~#]/\\$MATCH}" - - # Get the history items that match the prefix, excluding those that match - # the ignore pattern - local pattern="$prefix*" - if [[ -n $ZSH_AUTOSUGGEST_HISTORY_IGNORE ]]; then - pattern="($pattern)~($ZSH_AUTOSUGGEST_HISTORY_IGNORE)" - fi - - # Give the first history item matching the pattern as the suggestion - # - (r) subscript flag makes the pattern match on values - typeset -g suggestion="${history[(r)$pattern]}" -} - -#--------------------------------------------------------------------# -# Match Previous Command Suggestion Strategy # -#--------------------------------------------------------------------# -# Suggests the most recent history item that matches the given -# prefix and whose preceding history item also matches the most -# recently executed command. -# -# For example, suppose your history has the following entries: -# - pwd -# - ls foo -# - ls bar -# - pwd -# -# Given the history list above, when you type 'ls', the suggestion -# will be 'ls foo' rather than 'ls bar' because your most recently -# executed command (pwd) was previously followed by 'ls foo'. -# -# Note that this strategy won't work as expected with ZSH options that don't -# preserve the history order such as `HIST_IGNORE_ALL_DUPS` or -# `HIST_EXPIRE_DUPS_FIRST`. - -_zsh_autosuggest_strategy_match_prev_cmd() { - # Reset options to defaults and enable LOCAL_OPTIONS - emulate -L zsh - - # Enable globbing flags so that we can use (#m) and (x~y) glob operator - setopt EXTENDED_GLOB - - # TODO: Use (b) flag when we can drop support for zsh older than v5.0.8 - local prefix="${1//(#m)[\\*?[\]<>()|^~#]/\\$MATCH}" - - # Get the history items that match the prefix, excluding those that match - # the ignore pattern - local pattern="$prefix*" - if [[ -n $ZSH_AUTOSUGGEST_HISTORY_IGNORE ]]; then - pattern="($pattern)~($ZSH_AUTOSUGGEST_HISTORY_IGNORE)" - fi - - # Get all history event numbers that correspond to history - # entries that match the pattern - local history_match_keys - history_match_keys=(${(k)history[(R)$~pattern]}) - - # By default we use the first history number (most recent history entry) - local histkey="${history_match_keys[1]}" - - # Get the previously executed command - local prev_cmd="$(_zsh_autosuggest_escape_command "${history[$((HISTCMD-1))]}")" - - # Iterate up to the first 200 history event numbers that match $prefix - for key in "${(@)history_match_keys[1,200]}"; do - # Stop if we ran out of history - [[ $key -gt 1 ]] || break - - # See if the history entry preceding the suggestion matches the - # previous command, and use it if it does - if [[ "${history[$((key - 1))]}" == "$prev_cmd" ]]; then - histkey="$key" - break - fi - done - - # Give back the matched history entry - typeset -g suggestion="$history[$histkey]" -} - -#--------------------------------------------------------------------# -# Fetch Suggestion # -#--------------------------------------------------------------------# -# Loops through all specified strategies and returns a suggestion -# from the first strategy to provide one. -# - -_zsh_autosuggest_fetch_suggestion() { - typeset -g suggestion - local -a strategies - local strategy - - # Ensure we are working with an array - strategies=(${=ZSH_AUTOSUGGEST_STRATEGY}) - - for strategy in $strategies; do - # Try to get a suggestion from this strategy - _zsh_autosuggest_strategy_$strategy "$1" - - # Ensure the suggestion matches the prefix - [[ "$suggestion" != "$1"* ]] && unset suggestion - - # Break once we've found a valid suggestion - [[ -n "$suggestion" ]] && break - done -} - -#--------------------------------------------------------------------# -# Async # -#--------------------------------------------------------------------# - -_zsh_autosuggest_async_request() { - zmodload zsh/system 2>/dev/null # For `$sysparams` - - typeset -g _ZSH_AUTOSUGGEST_ASYNC_FD _ZSH_AUTOSUGGEST_CHILD_PID - - # If we've got a pending request, cancel it - if [[ -n "$_ZSH_AUTOSUGGEST_ASYNC_FD" ]] && { true <&$_ZSH_AUTOSUGGEST_ASYNC_FD } 2>/dev/null; then - # Close the file descriptor and remove the handler - exec {_ZSH_AUTOSUGGEST_ASYNC_FD}<&- - zle -F $_ZSH_AUTOSUGGEST_ASYNC_FD - - # We won't know the pid unless the user has zsh/system module installed - if [[ -n "$_ZSH_AUTOSUGGEST_CHILD_PID" ]]; then - # Zsh will make a new process group for the child process only if job - # control is enabled (MONITOR option) - if [[ -o MONITOR ]]; then - # Send the signal to the process group to kill any processes that may - # have been forked by the suggestion strategy - kill -TERM -$_ZSH_AUTOSUGGEST_CHILD_PID 2>/dev/null - else - # Kill just the child process since it wasn't placed in a new process - # group. If the suggestion strategy forked any child processes they may - # be orphaned and left behind. - kill -TERM $_ZSH_AUTOSUGGEST_CHILD_PID 2>/dev/null - fi - fi - fi - - # Fork a process to fetch a suggestion and open a pipe to read from it - exec {_ZSH_AUTOSUGGEST_ASYNC_FD}< <( - # Tell parent process our pid - echo $sysparams[pid] - - # Fetch and print the suggestion - local suggestion - _zsh_autosuggest_fetch_suggestion "$1" - echo -nE "$suggestion" - ) - - # There's a weird bug here where ^C stops working unless we force a fork - # See https://github.com/zsh-users/zsh-autosuggestions/issues/364 - command true - - # Read the pid from the child process - read _ZSH_AUTOSUGGEST_CHILD_PID <&$_ZSH_AUTOSUGGEST_ASYNC_FD - - # When the fd is readable, call the response handler - zle -F "$_ZSH_AUTOSUGGEST_ASYNC_FD" _zsh_autosuggest_async_response -} - -# Called when new data is ready to be read from the pipe -# First arg will be fd ready for reading -# Second arg will be passed in case of error -_zsh_autosuggest_async_response() { - emulate -L zsh - - local suggestion - - if [[ -z "$2" || "$2" == "hup" ]]; then - # Read everything from the fd and give it as a suggestion - IFS='' read -rd '' -u $1 suggestion - zle autosuggest-suggest -- "$suggestion" - - # Close the fd - exec {1}<&- - fi - - # Always remove the handler - zle -F "$1" -} - -#--------------------------------------------------------------------# -# Start # -#--------------------------------------------------------------------# - -# Start the autosuggestion widgets -_zsh_autosuggest_start() { - # By default we re-bind widgets on every precmd to ensure we wrap other - # wrappers. Specifically, highlighting breaks if our widgets are wrapped by - # zsh-syntax-highlighting widgets. This also allows modifications to the - # widget list variables to take effect on the next precmd. However this has - # a decent performance hit, so users can set ZSH_AUTOSUGGEST_MANUAL_REBIND - # to disable the automatic re-binding. - if (( ${+ZSH_AUTOSUGGEST_MANUAL_REBIND} )); then - add-zsh-hook -d precmd _zsh_autosuggest_start - fi - - _zsh_autosuggest_bind_widgets -} - -# Start the autosuggestion widgets on the next precmd -autoload -Uz add-zsh-hook -add-zsh-hook precmd _zsh_autosuggest_start diff --git a/.config/zsh/plugged/zsh-history-substring-search/.gitignore b/.config/zsh/plugged/zsh-history-substring-search/.gitignore @@ -1,2 +0,0 @@ -# zsh word code files (zcompile and zrecompile) -*.zwc* diff --git a/.config/zsh/plugged/zsh-history-substring-search/README.md b/.config/zsh/plugged/zsh-history-substring-search/README.md @@ -1,182 +0,0 @@ -# zsh-history-substring-search - -This is a clean-room implementation of the [Fish shell][1]'s history search -feature, where you can type in any part of any command from history and then -press chosen keys, such as the UP and DOWN arrows, to cycle through matches. - -[1]: http://fishshell.com -[2]: http://www.zsh.org/mla/users/2009/msg00818.html -[3]: http://sourceforge.net/projects/fizsh/ -[4]: https://github.com/robbyrussell/oh-my-zsh/pull/215 -[5]: https://github.com/zsh-users/zsh-history-substring-search -[6]: https://github.com/zsh-users/zsh-syntax-highlighting - - -Requirements ------------------------------------------------------------------------------- - -* [ZSH](http://zsh.sourceforge.net) 4.3 or newer - -Install ------------------------------------------------------------------------------- - -Using the [Homebrew]( https://brew.sh ) package manager: - - brew install zsh-history-substring-search - echo 'source /usr/local/share/zsh-history-substring-search/zsh-history-substring-search.zsh' >> ~/.zshrc - -Using [Oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh): - -1. Clone this repository in oh-my-zsh's plugins directory: - - git clone https://github.com/zsh-users/zsh-history-substring-search ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-history-substring-search - -2. Activate the plugin in `~/.zshrc`: - - plugins=( [plugins...] zsh-history-substring-search) - -3. Source `~/.zshrc` to take changes into account: - - source ~/.zshrc - -Usage ------------------------------------------------------------------------------- - -1. Load this script into your interactive ZSH session: - - % source zsh-history-substring-search.zsh - - If you want to use [zsh-syntax-highlighting][6] along with this script, - then make sure that you load it *before* you load this script: - - % source zsh-syntax-highlighting.zsh - % source zsh-history-substring-search.zsh - -2. Bind keyboard shortcuts to this script's functions. - - Users typically bind their UP and DOWN arrow keys to this script, thus: - * Run `cat -v` in your favorite terminal emulator to observe key codes. - (**NOTE:** In some cases, `cat -v` shows the wrong key codes. If the - key codes shown by `cat -v` don't work for you, press `<C-v><UP>` and - `<C-v><DOWN>` at your ZSH command line prompt for correct key codes.) - * Press the UP arrow key and observe what is printed in your terminal. - * Press the DOWN arrow key and observe what is printed in your terminal. - * Press the Control and C keys simultaneously to terminate the `cat -v`. - * Use your observations from the previous steps to create key bindings. - For example, if you observed `^[[A` for UP and `^[[B` for DOWN, then: - - bindkey '^[[A' history-substring-search-up - bindkey '^[[B' history-substring-search-down - - However, if the observed values don't work, you can try using terminfo: - - bindkey "$terminfo[kcuu1]" history-substring-search-up - bindkey "$terminfo[kcud1]" history-substring-search-down - - You might also want to bind the Control-P/N keys for use in EMACS mode: - - bindkey -M emacs '^P' history-substring-search-up - bindkey -M emacs '^N' history-substring-search-down - - You might also want to bind the `k` and `j` keys for use in VI mode: - - bindkey -M vicmd 'k' history-substring-search-up - bindkey -M vicmd 'j' history-substring-search-down - -3. Type any part of any previous command and then: - - * Press the `history-substring-search-up` key, which was configured in - step 2 above, to select the nearest command that (1) contains your query - and (2) is also older than the current command in your command history. - - * Press the `history-substring-search-down` key, which was configured in - step 2 above, to select the nearest command that (1) contains your query - and (2) is also newer than the current command in your command history. - - * Press `^U` the Control and U keys simultaneously to abort the search. - -4. If a matching command spans more than one line of text, press the LEFT - arrow key to move the cursor away from the end of the command, and then: - - * Press the `history-substring-search-up` key, which was configured in - step 2 above, to move the cursor to the line above the cursored line. - When the cursor reaches the first line of the command, pressing the - `history-substring-search-up` key again will cause this script to - perform another search. - - * Press the `history-substring-search-down` key, which was configured in - step 2 above, to move the cursor to the line below the cursored line. - When the cursor reaches the last line of the command, pressing the - `history-substring-search-down` key, which was configured in step 2 - above, again will cause this script to perform another search. - - -Configuration ------------------------------------------------------------------------------- - -This script defines the following global variables. You may override their -default values. - -* `HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND` is a global variable that defines - how the query should be highlighted inside a matching command. Its default - value causes this script to highlight using bold, white text on a magenta - background. See the "Character Highlighting" section in the zshzle(1) man - page to learn about the kinds of values you may assign to this variable. - -* `HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND` is a global variable that - defines how the query should be highlighted when no commands in the - history match it. Its default value causes this script to highlight using - bold, white text on a red background. See the "Character Highlighting" - section in the zshzle(1) man page to learn about the kinds of values you - may assign to this variable. - -* `HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS` is a global variable that defines - how the command history will be searched for your query. Its default value - causes this script to perform a case-insensitive search. See the "Globbing - Flags" section in the zshexpn(1) man page to learn about the kinds of - values you may assign to this variable. - -* `HISTORY_SUBSTRING_SEARCH_FUZZY` is a global variable that defines - how the command history will be searched for your query. If set to a non-empty - value, causes this script to perform a fuzzy search by words, matching in - given order e.g. `ab c` will match `*ab*c*` - -* `HISTORY_SUBSTRING_SEARCH_PREFIXED` is a global variable that defines how - the command history will be searched for your query. If set to a non-empty - value, your query will be matched against the start of each history entry. - For example, if this variable is empty, `ls` will match `ls -l` and `echo - ls`; if it is non-empty, `ls` will only match `ls -l`. - -* `HISTORY_SUBSTRING_SEARCH_ENSURE_UNIQUE` is a global variable that defines - whether all search results returned are _unique_. If set to a non-empty - value, then only unique search results are presented. This behaviour is off - by default. An alternative way to ensure that search results are unique is - to use `setopt HIST_IGNORE_ALL_DUPS`. If this configuration variable is off - and `setopt HIST_IGNORE_ALL_DUPS` is unset, then `setopt HIST_FIND_NO_DUPS` - is still respected and it makes this script skip duplicate _adjacent_ search - results as you cycle through them, but this does not guarantee that search - results are unique: if your search results were "Dog", "Dog", "HotDog", - "Dog", then cycling them gives "Dog", "HotDog", "Dog". Notice that the "Dog" - search result appeared twice as you cycled through them. If you wish to - receive globally unique search results only once, then use this - configuration variable, or use `setopt HIST_IGNORE_ALL_DUPS`. - - -History ------------------------------------------------------------------------------- - -* September 2009: [Peter Stephenson][2] originally wrote this script and it - published to the zsh-users mailing list. - -* January 2011: Guido van Steen (@guidovansteen) revised this script and - released it under the 3-clause BSD license as part of [fizsh][3], the - Friendly Interactive ZSHell. - -* January 2011: Suraj N. Kurapati (@sunaku) extracted this script from - [fizsh][3] 1.0.1, refactored it heavily, and finally repackaged it as an - [oh-my-zsh plugin][4] and as an independently loadable [ZSH script][5]. - -* July 2011: Guido van Steen, Suraj N. Kurapati, and Sorin Ionescu - (@sorin-ionescu) [further developed it][4] with Vincent Guerci (@vguerci). - -* March 2016: Geza Lore (@gezalore) greatly refactored it in pull request #55. diff --git a/.config/zsh/plugged/zsh-history-substring-search/zsh-history-substring-search.plugin.zsh b/.config/zsh/plugged/zsh-history-substring-search/zsh-history-substring-search.plugin.zsh @@ -1,2 +0,0 @@ -0=${(%):-%N} -source ${0:A:h}/zsh-history-substring-search.zsh diff --git a/.config/zsh/plugged/zsh-history-substring-search/zsh-history-substring-search.zsh b/.config/zsh/plugged/zsh-history-substring-search/zsh-history-substring-search.zsh @@ -1,767 +0,0 @@ -#!/usr/bin/env zsh -############################################################################## -# -# Copyright (c) 2009 Peter Stephenson -# Copyright (c) 2011 Guido van Steen -# Copyright (c) 2011 Suraj N. Kurapati -# Copyright (c) 2011 Sorin Ionescu -# Copyright (c) 2011 Vincent Guerci -# Copyright (c) 2016 Geza Lore -# Copyright (c) 2017 Bengt Brodersen -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided -# with the distribution. -# -# * Neither the name of the FIZSH nor the names of its contributors -# may be used to endorse or promote products derived from this -# software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE -# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -############################################################################## - -#----------------------------------------------------------------------------- -# declare global configuration variables -#----------------------------------------------------------------------------- - -: ${HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND='bg=magenta,fg=white,bold'} -: ${HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND='bg=red,fg=white,bold'} -: ${HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS='i'} -: ${HISTORY_SUBSTRING_SEARCH_ENSURE_UNIQUE=''} -: ${HISTORY_SUBSTRING_SEARCH_FUZZY=''} -: ${HISTORY_SUBSTRING_SEARCH_PREFIXED=''} - -#----------------------------------------------------------------------------- -# declare internal global variables -#----------------------------------------------------------------------------- - -typeset -g BUFFER MATCH MBEGIN MEND CURSOR -typeset -g _history_substring_search_refresh_display -typeset -g _history_substring_search_query_highlight -typeset -g _history_substring_search_result -typeset -g _history_substring_search_query -typeset -g -a _history_substring_search_query_parts -typeset -g -a _history_substring_search_raw_matches -typeset -g -i _history_substring_search_raw_match_index -typeset -g -a _history_substring_search_matches -typeset -g -i _history_substring_search_match_index -typeset -g -A _history_substring_search_unique_filter - -#----------------------------------------------------------------------------- -# the main ZLE widgets -#----------------------------------------------------------------------------- - -history-substring-search-up() { - _history-substring-search-begin - - _history-substring-search-up-history || - _history-substring-search-up-buffer || - _history-substring-search-up-search - - _history-substring-search-end -} - -history-substring-search-down() { - _history-substring-search-begin - - _history-substring-search-down-history || - _history-substring-search-down-buffer || - _history-substring-search-down-search - - _history-substring-search-end -} - -zle -N history-substring-search-up -zle -N history-substring-search-down - -#----------------------------------------------------------------------------- -# implementation details -#----------------------------------------------------------------------------- - -zmodload -F zsh/parameter - -# -# We have to "override" some keys and widgets if the -# zsh-syntax-highlighting plugin has not been loaded: -# -# https://github.com/nicoulaj/zsh-syntax-highlighting -# -if [[ $+functions[_zsh_highlight] -eq 0 ]]; then - # - # Dummy implementation of _zsh_highlight() that - # simply removes any existing highlights when the - # user inserts printable characters into $BUFFER. - # - _zsh_highlight() { - if [[ $KEYS == [[:print:]] ]]; then - region_highlight=() - fi - } - - # - # The following snippet was taken from the zsh-syntax-highlighting project: - # - # https://github.com/zsh-users/zsh-syntax-highlighting/blob/56b134f5d62ae3d4e66c7f52bd0cc2595f9b305b/zsh-syntax-highlighting.zsh#L126-161 - # - # Copyright (c) 2010-2011 zsh-syntax-highlighting contributors - # All rights reserved. - # - # Redistribution and use in source and binary forms, with or without - # modification, are permitted provided that the following conditions are - # met: - # - # * Redistributions of source code must retain the above copyright - # notice, this list of conditions and the following disclaimer. - # - # * Redistributions in binary form must reproduce the above copyright - # notice, this list of conditions and the following disclaimer in the - # documentation and/or other materials provided with the distribution. - # - # * Neither the name of the zsh-syntax-highlighting contributors nor the - # names of its contributors may be used to endorse or promote products - # derived from this software without specific prior written permission. - # - # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS - # IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - # - #--------------8<-------------------8<-------------------8<----------------- - # Rebind all ZLE widgets to make them invoke _zsh_highlights. - _zsh_highlight_bind_widgets() - { - # Load ZSH module zsh/zleparameter, needed to override user defined widgets. - zmodload zsh/zleparameter 2>/dev/null || { - echo 'zsh-syntax-highlighting: failed loading zsh/zleparameter.' >&2 - return 1 - } - - # Override ZLE widgets to make them invoke _zsh_highlight. - local cur_widget - for cur_widget in ${${(f)"$(builtin zle -la)"}:#(.*|_*|orig-*|run-help|which-command|beep|yank*)}; do - case $widgets[$cur_widget] in - - # Already rebound event: do nothing. - user:$cur_widget|user:_zsh_highlight_widget_*);; - - # User defined widget: override and rebind old one with prefix "orig-". - user:*) eval "zle -N orig-$cur_widget ${widgets[$cur_widget]#*:}; \ - _zsh_highlight_widget_$cur_widget() { builtin zle orig-$cur_widget -- \"\$@\" && _zsh_highlight }; \ - zle -N $cur_widget _zsh_highlight_widget_$cur_widget";; - - # Completion widget: override and rebind old one with prefix "orig-". - completion:*) eval "zle -C orig-$cur_widget ${${widgets[$cur_widget]#*:}/:/ }; \ - _zsh_highlight_widget_$cur_widget() { builtin zle orig-$cur_widget -- \"\$@\" && _zsh_highlight }; \ - zle -N $cur_widget _zsh_highlight_widget_$cur_widget";; - - # Builtin widget: override and make it call the builtin ".widget". - builtin) eval "_zsh_highlight_widget_$cur_widget() { builtin zle .$cur_widget -- \"\$@\" && _zsh_highlight }; \ - zle -N $cur_widget _zsh_highlight_widget_$cur_widget";; - - # Default: unhandled case. - *) echo "zsh-syntax-highlighting: unhandled ZLE widget '$cur_widget'" >&2 ;; - esac - done - } - #-------------->8------------------->8------------------->8----------------- - - _zsh_highlight_bind_widgets -fi - -_history-substring-search-begin() { - setopt localoptions extendedglob - - _history_substring_search_refresh_display= - _history_substring_search_query_highlight= - - # - # If the buffer is the same as the previously displayed history substring - # search result, then just keep stepping through the match list. Otherwise - # start a new search. - # - if [[ -n $BUFFER && $BUFFER == ${_history_substring_search_result:-} ]]; then - return; - fi - - # - # Clear the previous result. - # - _history_substring_search_result='' - - if [[ -z $BUFFER ]]; then - # - # If the buffer is empty, we will just act like up-history/down-history - # in ZSH, so we do not need to actually search the history. This should - # speed things up a little. - # - _history_substring_search_query= - _history_substring_search_query_parts=() - _history_substring_search_raw_matches=() - - else - # - # For the purpose of highlighting we keep a copy of the original - # query string. - # - _history_substring_search_query=$BUFFER - - # - # compose search pattern - # - if [[ -n $HISTORY_SUBSTRING_SEARCH_FUZZY ]]; then - # - # `=` split string in arguments - # - _history_substring_search_query_parts=(${=_history_substring_search_query}) - else - _history_substring_search_query_parts=(${==_history_substring_search_query}) - fi - - # - # Escape and join query parts with wildcard character '*' as seperator - # `(j:CHAR:)` join array to string with CHAR as seperator - # - local search_pattern="${(j:*:)_history_substring_search_query_parts[@]//(#m)[\][()|\\*?#<>~^]/\\$MATCH}*" - - # - # Support anchoring history search to the beginning of the command - # - if [[ -z $HISTORY_SUBSTRING_SEARCH_PREFIXED ]]; then - search_pattern="*${search_pattern}" - fi - - # - # Find all occurrences of the search pattern in the history file. - # - # (k) returns the "keys" (history index numbers) instead of the values - # (R) returns values in reverse older, so the index of the youngest - # matching history entry is at the head of the list. - # - _history_substring_search_raw_matches=(${(k)history[(R)(#$HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS)${search_pattern}]}) - fi - - # - # In order to stay as responsive as possible, we will process the raw - # matches lazily (when the user requests the next match) to choose items - # that need to be displayed to the user. - # _history_substring_search_raw_match_index holds the index of the last - # unprocessed entry in _history_substring_search_raw_matches. Any items - # that need to be displayed will be added to - # _history_substring_search_matches. - # - # We use an associative array (_history_substring_search_unique_filter) as - # a 'set' data structure to ensure uniqueness of the results if desired. - # If an entry (key) is in the set (non-empty value), then we have already - # added that entry to _history_substring_search_matches. - # - _history_substring_search_raw_match_index=0 - _history_substring_search_matches=() - _history_substring_search_unique_filter=() - - # - # If $_history_substring_search_match_index is equal to - # $#_history_substring_search_matches + 1, this indicates that we - # are beyond the end of $_history_substring_search_matches and that we - # have also processed all entries in - # _history_substring_search_raw_matches. - # - # If $#_history_substring_search_match_index is equal to 0, this indicates - # that we are beyond the beginning of $_history_substring_search_matches. - # - # If we have initially pressed "up" we have to initialize - # $_history_substring_search_match_index to 0 so that it will be - # incremented to 1. - # - # If we have initially pressed "down" we have to initialize - # $_history_substring_search_match_index to 1 so that it will be - # decremented to 0. - # - if [[ $WIDGET == history-substring-search-down ]]; then - _history_substring_search_match_index=1 - else - _history_substring_search_match_index=0 - fi -} - -_history-substring-search-end() { - setopt localoptions extendedglob - - _history_substring_search_result=$BUFFER - - # the search was successful so display the result properly by clearing away - # existing highlights and moving the cursor to the end of the result buffer - if [[ $_history_substring_search_refresh_display -eq 1 ]]; then - region_highlight=() - CURSOR=${#BUFFER} - fi - - # highlight command line using zsh-syntax-highlighting - _zsh_highlight - - # highlight the search query inside the command line - if [[ -n $_history_substring_search_query_highlight ]]; then - # highlight first matching query parts - local highlight_start_index=0 - local highlight_end_index=0 - local query_part - for query_part in $_history_substring_search_query_parts; do - local escaped_query_part=${query_part//(#m)[\][()|\\*?#<>~^]/\\$MATCH} - # (i) get index of pattern - local query_part_match_index="${${BUFFER:$highlight_start_index}[(i)(#$HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS)${escaped_query_part}]}" - if [[ $query_part_match_index -le ${#BUFFER:$highlight_start_index} ]]; then - highlight_start_index=$(( $highlight_start_index + $query_part_match_index )) - highlight_end_index=$(( $highlight_start_index + ${#query_part} )) - region_highlight+=("$(($highlight_start_index - 1)) $(($highlight_end_index - 1)) $_history_substring_search_query_highlight") - fi - done - fi - - # For debugging purposes: - # zle -R "mn: "$_history_substring_search_match_index" m#: "${#_history_substring_search_matches} - # read -k -t 200 && zle -U $REPLY - - # Exit successfully from the history-substring-search-* widgets. - return 0 -} - -_history-substring-search-up-buffer() { - # - # Check if the UP arrow was pressed to move the cursor within a multi-line - # buffer. This amounts to three tests: - # - # 1. $#buflines -gt 1. - # - # 2. $CURSOR -ne $#BUFFER. - # - # 3. Check if we are on the first line of the current multi-line buffer. - # If so, pressing UP would amount to leaving the multi-line buffer. - # - # We check this by adding an extra "x" to $LBUFFER, which makes - # sure that xlbuflines is always equal to the number of lines - # until $CURSOR (including the line with the cursor on it). - # - local buflines XLBUFFER xlbuflines - buflines=(${(f)BUFFER}) - XLBUFFER=$LBUFFER"x" - xlbuflines=(${(f)XLBUFFER}) - - if [[ $#buflines -gt 1 && $CURSOR -ne $#BUFFER && $#xlbuflines -ne 1 ]]; then - zle up-line-or-history - return 0 - fi - - return 1 -} - -_history-substring-search-down-buffer() { - # - # Check if the DOWN arrow was pressed to move the cursor within a multi-line - # buffer. This amounts to three tests: - # - # 1. $#buflines -gt 1. - # - # 2. $CURSOR -ne $#BUFFER. - # - # 3. Check if we are on the last line of the current multi-line buffer. - # If so, pressing DOWN would amount to leaving the multi-line buffer. - # - # We check this by adding an extra "x" to $RBUFFER, which makes - # sure that xrbuflines is always equal to the number of lines - # from $CURSOR (including the line with the cursor on it). - # - local buflines XRBUFFER xrbuflines - buflines=(${(f)BUFFER}) - XRBUFFER="x"$RBUFFER - xrbuflines=(${(f)XRBUFFER}) - - if [[ $#buflines -gt 1 && $CURSOR -ne $#BUFFER && $#xrbuflines -ne 1 ]]; then - zle down-line-or-history - return 0 - fi - - return 1 -} - -_history-substring-search-up-history() { - # - # Behave like up in ZSH, except clear the $BUFFER - # when beginning of history is reached like in Fish. - # - if [[ -z $_history_substring_search_query ]]; then - - # we have reached the absolute top of history - if [[ $HISTNO -eq 1 ]]; then - BUFFER= - - # going up from somewhere below the top of history - else - zle up-line-or-history - fi - - return 0 - fi - - return 1 -} - -_history-substring-search-down-history() { - # - # Behave like down-history in ZSH, except clear the - # $BUFFER when end of history is reached like in Fish. - # - if [[ -z $_history_substring_search_query ]]; then - - # going down from the absolute top of history - if [[ $HISTNO -eq 1 && -z $BUFFER ]]; then - BUFFER=${history[1]} - _history_substring_search_refresh_display=1 - - # going down from somewhere above the bottom of history - else - zle down-line-or-history - fi - - return 0 - fi - - return 1 -} - -_history_substring_search_process_raw_matches() { - # - # Process more outstanding raw matches and append any matches that need to - # be displayed to the user to _history_substring_search_matches. - # Return whether there were any more results appended. - # - - # - # While we have more raw matches. Process them to see if there are any more - # matches that need to be displayed to the user. - # - while [[ $_history_substring_search_raw_match_index -lt $#_history_substring_search_raw_matches ]]; do - # - # Move on to the next raw entry and get its history index. - # - _history_substring_search_raw_match_index+=1 - local index=${_history_substring_search_raw_matches[$_history_substring_search_raw_match_index]} - - # - # If HISTORY_SUBSTRING_SEARCH_ENSURE_UNIQUE is set to a non-empty value, - # then ensure that only unique matches are presented to the user. - # When HIST_IGNORE_ALL_DUPS is set, ZSH already ensures a unique history, - # so in this case we do not need to do anything. - # - if [[ ! -o HIST_IGNORE_ALL_DUPS && -n $HISTORY_SUBSTRING_SEARCH_ENSURE_UNIQUE ]]; then - # - # Get the actual history entry at the new index, and check if we have - # already added it to _history_substring_search_matches. - # - local entry=${history[$index]} - - if [[ -z ${_history_substring_search_unique_filter[$entry]} ]]; then - # - # This is a new unique entry. Add it to the filter and append the - # index to _history_substring_search_matches. - # - _history_substring_search_unique_filter[$entry]=1 - _history_substring_search_matches+=($index) - - # - # Indicate that we did find a match. - # - return 0 - fi - - else - # - # Just append the new history index to the processed matches. - # - _history_substring_search_matches+=($index) - - # - # Indicate that we did find a match. - # - return 0 - fi - - done - - # - # We are beyond the end of the list of raw matches. Indicate that no - # more matches are available. - # - return 1 -} - -_history-substring-search-has-next() { - # - # Predicate function that returns whether any more older matches are - # available. - # - - if [[ $_history_substring_search_match_index -lt $#_history_substring_search_matches ]]; then - # - # We did not reach the end of the processed list, so we do have further - # matches. - # - return 0 - - else - # - # We are at the end of the processed list. Try to process further - # unprocessed matches. _history_substring_search_process_raw_matches - # returns whether any more matches were available, so just return - # that result. - # - _history_substring_search_process_raw_matches - return $? - fi -} - -_history-substring-search-has-prev() { - # - # Predicate function that returns whether any more younger matches are - # available. - # - - if [[ $_history_substring_search_match_index -gt 1 ]]; then - # - # We did not reach the beginning of the processed list, so we do have - # further matches. - # - return 0 - - else - # - # We are at the beginning of the processed list. We do not have any more - # matches. - # - return 1 - fi -} - -_history-substring-search-found() { - # - # A match is available. The index of the match is held in - # $_history_substring_search_match_index - # - # 1. Make $BUFFER equal to the matching history entry. - # - # 2. Use $HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND - # to highlight the current buffer. - # - BUFFER=$history[$_history_substring_search_matches[$_history_substring_search_match_index]] - _history_substring_search_query_highlight=$HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND -} - -_history-substring-search-not-found() { - # - # No more matches are available. - # - # 1. Make $BUFFER equal to $_history_substring_search_query so the user can - # revise it and search again. - # - # 2. Use $HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND - # to highlight the current buffer. - # - BUFFER=$_history_substring_search_query - _history_substring_search_query_highlight=$HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND -} - -_history-substring-search-up-search() { - _history_substring_search_refresh_display=1 - - # - # Select history entry during history-substring-down-search: - # - # The following variables have been initialized in - # _history-substring-search-up/down-search(): - # - # $_history_substring_search_matches is the current list of matches that - # need to be displayed to the user. - # $_history_substring_search_match_index is the index of the current match - # that is being displayed to the user. - # - # The range of values that $_history_substring_search_match_index can take - # is: [0, $#_history_substring_search_matches + 1]. A value of 0 - # indicates that we are beyond the beginning of - # $_history_substring_search_matches. A value of - # $#_history_substring_search_matches + 1 indicates that we are beyond - # the end of $_history_substring_search_matches and that we have also - # processed all entries in _history_substring_search_raw_matches. - # - # If $_history_substring_search_match_index equals - # $#_history_substring_search_matches and - # $_history_substring_search_raw_match_index is not greater than - # $#_history_substring_search_raw_matches, then we need to further process - # $_history_substring_search_raw_matches to see if there are any more - # entries that need to be displayed to the user. - # - # In _history-substring-search-up-search() the initial value of - # $_history_substring_search_match_index is 0. This value is set in - # _history-substring-search-begin(). _history-substring-search-up-search() - # will initially increment it to 1. - # - - if [[ $_history_substring_search_match_index -gt $#_history_substring_search_matches ]]; then - # - # We are beyond the end of $_history_substring_search_matches. This - # can only happen if we have also exhausted the unprocessed matches in - # _history_substring_search_raw_matches. - # - # 1. Update display to indicate search not found. - # - _history-substring-search-not-found - return - fi - - if _history-substring-search-has-next; then - # - # We do have older matches. - # - # 1. Move index to point to the next match. - # 2. Update display to indicate search found. - # - _history_substring_search_match_index+=1 - _history-substring-search-found - - else - # - # We do not have older matches. - # - # 1. Move the index beyond the end of - # _history_substring_search_matches. - # 2. Update display to indicate search not found. - # - _history_substring_search_match_index+=1 - _history-substring-search-not-found - fi - - # - # When HIST_FIND_NO_DUPS is set, meaning that only unique command lines from - # history should be matched, make sure the new and old results are different. - # - # However, if the HIST_IGNORE_ALL_DUPS shell option, or - # HISTORY_SUBSTRING_SEARCH_ENSURE_UNIQUE is set, then we already have a - # unique history, so in this case we do not need to do anything. - # - if [[ -o HIST_IGNORE_ALL_DUPS || -n $HISTORY_SUBSTRING_SEARCH_ENSURE_UNIQUE ]]; then - return - fi - - if [[ -o HIST_FIND_NO_DUPS && $BUFFER == $_history_substring_search_result ]]; then - # - # Repeat the current search so that a different (unique) match is found. - # - _history-substring-search-up-search - fi -} - -_history-substring-search-down-search() { - _history_substring_search_refresh_display=1 - - # - # Select history entry during history-substring-down-search: - # - # The following variables have been initialized in - # _history-substring-search-up/down-search(): - # - # $_history_substring_search_matches is the current list of matches that - # need to be displayed to the user. - # $_history_substring_search_match_index is the index of the current match - # that is being displayed to the user. - # - # The range of values that $_history_substring_search_match_index can take - # is: [0, $#_history_substring_search_matches + 1]. A value of 0 - # indicates that we are beyond the beginning of - # $_history_substring_search_matches. A value of - # $#_history_substring_search_matches + 1 indicates that we are beyond - # the end of $_history_substring_search_matches and that we have also - # processed all entries in _history_substring_search_raw_matches. - # - # In _history-substring-search-down-search() the initial value of - # $_history_substring_search_match_index is 1. This value is set in - # _history-substring-search-begin(). _history-substring-search-down-search() - # will initially decrement it to 0. - # - - if [[ $_history_substring_search_match_index -lt 1 ]]; then - # - # We are beyond the beginning of $_history_substring_search_matches. - # - # 1. Update display to indicate search not found. - # - _history-substring-search-not-found - return - fi - - if _history-substring-search-has-prev; then - # - # We do have younger matches. - # - # 1. Move index to point to the previous match. - # 2. Update display to indicate search found. - # - _history_substring_search_match_index+=-1 - _history-substring-search-found - - else - # - # We do not have younger matches. - # - # 1. Move the index beyond the beginning of - # _history_substring_search_matches. - # 2. Update display to indicate search not found. - # - _history_substring_search_match_index+=-1 - _history-substring-search-not-found - fi - - # - # When HIST_FIND_NO_DUPS is set, meaning that only unique command lines from - # history should be matched, make sure the new and old results are different. - # - # However, if the HIST_IGNORE_ALL_DUPS shell option, or - # HISTORY_SUBSTRING_SEARCH_ENSURE_UNIQUE is set, then we already have a - # unique history, so in this case we do not need to do anything. - # - if [[ -o HIST_IGNORE_ALL_DUPS || -n $HISTORY_SUBSTRING_SEARCH_ENSURE_UNIQUE ]]; then - return - fi - - if [[ -o HIST_FIND_NO_DUPS && $BUFFER == $_history_substring_search_result ]]; then - # - # Repeat the current search so that a different (unique) match is found. - # - _history-substring-search-down-search - fi -} - -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/.editorconfig b/.config/zsh/plugged/zsh-syntax-highlighting/.editorconfig @@ -1,15 +0,0 @@ -# Top-most editorconfig file - -root = true - -[*] -end_of_line = lf -tab_width = 2 -indent_size = 2 -indent_style = space - -[Makefile] -tab_width = 8 -indent_size = 8 -indent_style = tab - diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/.gitattributes b/.config/zsh/plugged/zsh-syntax-highlighting/.gitattributes @@ -1 +0,0 @@ -.revision-hash export-subst diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/.github/workflows/test.yml b/.config/zsh/plugged/zsh-syntax-highlighting/.github/workflows/test.yml @@ -1,73 +0,0 @@ ---- -name: Tests -on: - push: - paths-ignore: - - '**.md' - - '**.png' - pull_request: - paths-ignore: - - '**.md' - - '**.png' - schedule: - - cron: '29 7 * * 1' - -jobs: - test: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - version: - - master - - 5.8 - - 5.7.1 - - 5.7 - - 5.6.2 - - 5.6.1 - - 5.6 - - 5.5.1 - - 5.5 - - 5.4.2 - - 5.4.1 - - 5.4 - - 5.3.1 - - 5.3 - - 5.2 - - 5.1.1 - - 5.1 - - 5.0.8 - - 5.0.7 - - 5.0.6 - - 5.0.5 - - 5.0.4 - - 5.0.3 - - 5.0.2 - - 5.0.1 - - 5.0.0 - - 4.3.17 - - 4.3.16 - - 4.3.15 - - 4.3.14 - - 4.3.13 - - 4.3.12 - - 4.3.11 - container: - image: zshusers/zsh:${{ matrix.version }} - steps: - - uses: actions/checkout@v2 - - run: install_packages bsdmainutils make procps - - run: make test - - notify: - runs-on: ubuntu-latest - needs: test - if: failure() && (github.repository_owner == 'zsh-users') - steps: - - - name: Notify IRC - uses: Gottox/irc-message-action@v1 - with: - channel: '#zsh-syntax-highlighting' - nickname: zsyh-gh-bot - message: '${{ github.ref }} failed tests: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}' diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/.gitignore b/.config/zsh/plugged/zsh-syntax-highlighting/.gitignore @@ -1,3 +0,0 @@ -*.zwc* -.pc/ -docs/all.md diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/.revision-hash b/.config/zsh/plugged/zsh-syntax-highlighting/.revision-hash @@ -1 +0,0 @@ -$Format:%H$ diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/.version b/.config/zsh/plugged/zsh-syntax-highlighting/.version @@ -1 +0,0 @@ -0.8.0-alpha2-dev diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/COPYING.md b/.config/zsh/plugged/zsh-syntax-highlighting/COPYING.md @@ -1,23 +0,0 @@ -Copyright (c) 2010-2020 zsh-syntax-highlighting contributors -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted -provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list of conditions - and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, this list of - conditions and the following disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors - may be used to endorse or promote products derived from this software without specific prior - written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/HACKING.md b/.config/zsh/plugged/zsh-syntax-highlighting/HACKING.md @@ -1,99 +0,0 @@ -Hacking on zsh-syntax-highlighting itself -========================================= - -This document includes information for people working on z-sy-h itself: on the -core driver (`zsh-syntax-highlighting.zsh`), on the highlighters in the -distribution, and on the test suite. It does not target third-party -highlighter authors (although they may find it an interesting read). - -The `main` highlighter ----------------------- - -The following function `pz` is useful when working on the `main` highlighting: - -```zsh -pq() { - (( $#argv )) || return 0 - print -r -l -- ${(qqqq)argv} -} -pz() { - local arg - for arg; do - pq ${(z)arg} - done -} -``` - -It prints, for each argument, its token breakdown, similar to how the main -loop of the `main` highlighter sees it. - -Testing the `brackets` highlighter ----------------------------------- - -Since the test harness empties `ZSH_HIGHLIGHT_STYLES` and the `brackets` -highlighter interrogates `ZSH_HIGHLIGHT_STYLES` to determine how to highlight, -tests must set the `bracket-level-#` keys themselves. For example: - -```zsh -ZSH_HIGHLIGHT_STYLES[bracket-level-1]= -ZSH_HIGHLIGHT_STYLES[bracket-level-2]= - -BUFFER='echo ({x})' - -expected_region_highlight=( - "6 6 bracket-level-1" # ( - "7 7 bracket-level-2" # { - "9 9 bracket-level-2" # } - "10 10 bracket-level-1" # ) -) -``` - -Testing the `pattern` and `regexp` highlighters ------------------------------------------------ - -Because the `pattern` and `regexp` highlighters modifies `region_highlight` -directly instead of using `_zsh_highlight_add_highlight`, the test harness -cannot get the `ZSH_HIGHLIGHT_STYLES` keys. Therefore, when writing tests, use -the style itself as third word (cf. the -[documentation for `expected_region_highlight`](docs/highlighters.md)). For example: - -```zsh -ZSH_HIGHLIGHT_PATTERNS+=('rm -rf *' 'fg=white,bold,bg=red') - -BUFFER='rm -rf /' - -expected_region_highlight=( - "1 8 fg=white,bold,bg=red" # rm -rf / -) -``` - -Memos and commas ----------------- - -We append to `region_highlight` as follows: - - -```zsh -region_highlight+=("$start $end $spec, memo=zsh-syntax-highlighting") -``` - -That comma is required to cause zsh 5.8 and older to ignore the memo without -ignoring the `$spec`. It's a hack, but given that no further 5.8.x patch -releases are planned, it's been deemed acceptable. See issue #418 and the -cross-referenced issues. - - -Miscellany ----------- - -If you work on the driver (`zsh-syntax-highlighting.zsh`), you may find the following zstyle useful: - -```zsh -zstyle ':completion:*:*:*:*:globbed-files' ignored-patterns {'*/',}zsh-syntax-highlighting.plugin.zsh -``` - -IRC channel ------------ - -We're on #zsh-syntax-highlighting on freenode. - diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/INSTALL.md b/.config/zsh/plugged/zsh-syntax-highlighting/INSTALL.md @@ -1,131 +0,0 @@ -How to install --------------- - -### Using packages - -* Arch Linux: [community/zsh-syntax-highlighting][arch-package] / [AUR/zsh-syntax-highlighting-git][AUR-package] -* Debian: `zsh-syntax-highlighting` package [in `stretch`][debian-package] (or in [OBS repository][obs-repository]) -* Fedora: [zsh-syntax-highlighting package][fedora-package-alt] in Fedora 24+ (or in [OBS repository][obs-repository]) -* FreeBSD: `pkg install zsh-syntax-highlighting` (port name: [`shells/zsh-syntax-highlighting`][freebsd-port]) -* Gentoo: [app-shells/zsh-syntax-highlighting][gentoo-repository] -* Mac OS X / Homebrew: [brew install zsh-syntax-highlighting][brew-package] -* NetBSD: `pkg_add zsh-syntax-highlighting` (port name: [`shells/zsh-syntax-highlighting`][netbsd-port]) -* OpenBSD: `pkg_add zsh-syntax-highlighting` (port name: [`shells/zsh-syntax-highlighting`][openbsd-port]) -* openSUSE / SLE: `zsh-syntax-highlighting` package in [OBS repository][obs-repository] -* RHEL / CentOS / Scientific Linux: `zsh-syntax-highlighting` package in [OBS repository][obs-repository] -* Ubuntu: `zsh-syntax-highlighting` package [in Xenial][ubuntu-package] (or in [OBS repository][obs-repository]) -* Void Linux: `zsh-syntax-highlighting package` [in XBPS][void-package] - -[arch-package]: https://www.archlinux.org/packages/zsh-syntax-highlighting -[AUR-package]: https://aur.archlinux.org/packages/zsh-syntax-highlighting-git -[brew-package]: https://github.com/Homebrew/homebrew-core/blob/master/Formula/zsh-syntax-highlighting.rb -[debian-package]: https://packages.debian.org/zsh-syntax-highlighting -[fedora-package]: https://apps.fedoraproject.org/packages/zsh-syntax-highlighting -[fedora-package-alt]: https://bodhi.fedoraproject.org/updates/?packages=zsh-syntax-highlighting -[freebsd-port]: http://www.freshports.org/textproc/zsh-syntax-highlighting/ -[gentoo-repository]: https://packages.gentoo.org/packages/app-shells/zsh-syntax-highlighting -[netbsd-port]: http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/shells/zsh-syntax-highlighting/ -[obs-repository]: https://software.opensuse.org/download.html?project=shells%3Azsh-users%3Azsh-syntax-highlighting&package=zsh-syntax-highlighting -[openbsd-port]: https://cvsweb.openbsd.org/ports/shells/zsh-syntax-highlighting/ -[ubuntu-package]: https://launchpad.net/ubuntu/+source/zsh-syntax-highlighting -[void-package]: https://github.com/void-linux/void-packages/tree/master/srcpkgs/zsh-syntax-highlighting - -See also [repology's cross-distro index](https://repology.org/metapackage/zsh-syntax-highlighting/versions) - - -### In your ~/.zshrc - -Simply clone this repository and source the script: - -```zsh -git clone https://github.com/zsh-users/zsh-syntax-highlighting.git -echo "source ${(q-)PWD}/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc -``` - - Then, enable syntax highlighting in the current interactive shell: - -```zsh -source ./zsh-syntax-highlighting/zsh-syntax-highlighting.zsh -``` - - If `git` is not installed, download and extract a snapshot of the latest - development tree from: - -``` -https://github.com/zsh-users/zsh-syntax-highlighting/archive/master.tar.gz -``` - - Note the `source` command must be **at the end** of `~/.zshrc`. - - -### With a plugin manager - -Note that `zsh-syntax-highlighting` must be the last plugin sourced. - -The zsh-syntax-highlighting authors recommend manual installation over the use -of a framework or plugin manager. - -This list is incomplete as there are too many -[frameworks / plugin managers][framework-list] to list them all here. - -[framework-list]: https://github.com/unixorn/awesome-zsh-plugins#frameworks - -#### [Antigen](https://github.com/zsh-users/antigen) - -Add `antigen bundle zsh-users/zsh-syntax-highlighting` as the last bundle in -your `.zshrc`. - -#### [Oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh) - -1. Clone this repository in oh-my-zsh's plugins directory: - - ```zsh - git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting - ``` - -2. Activate the plugin in `~/.zshrc`: - - ```zsh - plugins=( [plugins...] zsh-syntax-highlighting) - ``` - -3. Restart zsh (such as by opening a new instance of your terminal emulator). - -#### [Prezto](https://github.com/sorin-ionescu/prezto) - -Zsh-syntax-highlighting is included with Prezto. See the -[Prezto documentation][prezto-docs] to enable and configure highlighters. - -[prezto-docs]: https://github.com/sorin-ionescu/prezto/tree/master/modules/syntax-highlighting - -#### [zgen](https://github.com/tarjoilija/zgen) - -Add `zgen load zsh-users/zsh-syntax-highlighting` to the end of your `.zshrc`. - -#### [zplug](https://github.com/zplug/zplug) - -Add `zplug "zsh-users/zsh-syntax-highlighting", defer:2` to your `.zshrc`. - -#### [zplugin](https://github.com/psprint/zplugin) - -Add `zplugin load zsh-users/zsh-syntax-highlighting` to the end of your -`.zshrc`. - - -### System-wide installation - -Any of the above methods is suitable for a single-user installation, -which requires no special privileges. If, however, you desire to install -zsh-syntax-highlighting system-wide, you may do so by running - -```zsh -make install -``` - -and directing your users to add - -```zsh -source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh -``` - -to their `.zshrc`s. diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/Makefile b/.config/zsh/plugged/zsh-syntax-highlighting/Makefile @@ -1,64 +0,0 @@ -NAME=zsh-syntax-highlighting - -INSTALL?=install -c -PREFIX?=/usr/local -SHARE_DIR?=$(DESTDIR)$(PREFIX)/share/$(NAME) -DOC_DIR?=$(DESTDIR)$(PREFIX)/share/doc/$(NAME) -ZSH?=zsh # zsh binary to run tests with - -all: - cd docs && \ - cp highlighters.md all.md && \ - printf '\n\nIndividual highlighters documentation\n=====================================' >> all.md && \ - for doc in highlighters/*.md; do printf '\n\n'; cat "$$doc"; done >> all.md - -install: all - $(INSTALL) -d $(SHARE_DIR) - $(INSTALL) -d $(DOC_DIR) - cp .version zsh-syntax-highlighting.zsh $(SHARE_DIR) - cp COPYING.md README.md changelog.md $(DOC_DIR) - sed -e '1s/ .*//' -e '/^\[build-status-[a-z]*\]: /d' < README.md > $(DOC_DIR)/README.md - if [ x"true" = x"`git rev-parse --is-inside-work-tree 2>/dev/null`" ]; then \ - git rev-parse HEAD; \ - else \ - cat .revision-hash; \ - fi > $(SHARE_DIR)/.revision-hash - : -# The [ -e ] check below is to because sh evaluates this with (the moral -# equivalent of) NONOMATCH in effect, and highlighters/*.zsh has no matches. - for dirname in highlighters highlighters/*/ ; do \ - $(INSTALL) -d $(SHARE_DIR)/"$$dirname"; \ - for fname in "$$dirname"/*.zsh ; do [ -e "$$fname" ] && cp "$$fname" $(SHARE_DIR)"/$$dirname"; done; \ - done - cp -R docs/* $(DOC_DIR) - -clean: - rm -f docs/all.md - -test: - @$(ZSH) -fc 'echo ZSH_PATCHLEVEL=$$ZSH_PATCHLEVEL' - @result=0; \ - for test in highlighters/*; do \ - if [ -d $$test/test-data ]; then \ - echo "Running test $${test##*/}"; \ - env -i QUIET=$$QUIET $${TERM:+"TERM=$$TERM"} $(ZSH) -f tests/test-highlighting.zsh "$${test##*/}"; \ - : $$(( result |= $$? )); \ - fi \ - done; \ - exit $$result - -quiet-test: - $(MAKE) test QUIET=y - -perf: - @result=0; \ - for test in highlighters/*; do \ - if [ -d $$test/test-data ]; then \ - echo "Running test $${test##*/}"; \ - $(ZSH) -f tests/test-perfs.zsh "$${test##*/}"; \ - : $$(( result |= $$? )); \ - fi \ - done; \ - exit $$result - -.PHONY: all install clean test perf diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/README.md b/.config/zsh/plugged/zsh-syntax-highlighting/README.md @@ -1,97 +0,0 @@ -zsh-syntax-highlighting [![Build Status][build-status-image]][build-status] -======================= - -**[Fish shell][fish]-like syntax highlighting for [Zsh][zsh].** - -*Requirements: zsh 4.3.11+.* - -[fish]: https://fishshell.com/ -[zsh]: https://www.zsh.org/ - -This package provides syntax highlighting for the shell zsh. It enables -highlighting of commands whilst they are typed at a zsh prompt into an -interactive terminal. This helps in reviewing commands before running -them, particularly in catching syntax errors. - -Some examples: - -Before: [![Screenshot #1.1](images/before1-smaller.png)](images/before1.png) -<br/> -After: [![Screenshot #1.2](images/after1-smaller.png)](images/after1.png) - -Before: [![Screenshot #2.1](images/before2-smaller.png)](images/before2.png) -<br/> -After: [![Screenshot #2.2](images/after2-smaller.png)](images/after2.png) - -Before: [![Screenshot #3.1](images/before3-smaller.png)](images/before3.png) -<br/> -After: [![Screenshot #3.2](images/after3-smaller.png)](images/after3.png) - -Before: [![Screenshot #4.1](images/before4-smaller.png)](images/before4-smaller.png) -<br/> -After: [![Screenshot #4.2](images/after4-smaller.png)](images/after4-smaller.png) - - - -How to install --------------- - -See [INSTALL.md](INSTALL.md). - - -FAQ ---- - -### Why must `zsh-syntax-highlighting.zsh` be sourced at the end of the `.zshrc` file? - -zsh-syntax-highlighting works by hooking into the Zsh Line Editor (ZLE) and -computing syntax highlighting for the command-line buffer as it stands at the -time z-sy-h's hook is invoked. - -In zsh 5.2 and older, -`zsh-syntax-highlighting.zsh` hooks into ZLE by wrapping ZLE widgets. It must -be sourced after all custom widgets have been created (i.e., after all `zle -N` -calls and after running `compinit`) in order to be able to wrap all of them. -Widgets created after z-sy-h is sourced will work, but will not update the -syntax highlighting. - -In zsh newer than 5.8 (not including 5.8 itself), -zsh-syntax-highlighting uses the `add-zle-hook-widget` facility to install -a `zle-line-pre-redraw` hook. Hooks are run in order of registration, -therefore, z-sy-h must be sourced (and register its hook) after anything else -that adds hooks that modify the command-line buffer. - -### Does syntax highlighting work during incremental history search? - -Highlighting the command line during an incremental history search (by default bound to -to <kbd>Ctrl+R</kbd> in zsh's emacs keymap) requires zsh 5.4 or newer. - -Under zsh versions older than 5.4, the zsh-default [underlining][zshzle-Character-Highlighting] -of the matched portion of the buffer remains available, but zsh-syntax-highlighting's -additional highlighting is unavailable. (Those versions of zsh do not provide -enough information to allow computing the highlighting correctly.) - -See issues [#288][i288] and [#415][i415] for details. - -[zshzle-Character-Highlighting]: http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Character-Highlighting -[i288]: https://github.com/zsh-users/zsh-syntax-highlighting/pull/288 -[i415]: https://github.com/zsh-users/zsh-syntax-highlighting/pull/415 - -### How are new releases announced? - -There is currently no "push" announcements channel. However, the following -alternatives exist: - -- GitHub's RSS feed of releases: https://github.com/zsh-users/zsh-syntax-highlighting/releases.atom -- An anitya entry: https://release-monitoring.org/project/7552/ - - -How to tweak ------------- - -Syntax highlighting is done by pluggable highlighter scripts. See the -[documentation on highlighters](docs/highlighters.md) for details and -configuration settings. - -[build-status]: https://github.com/zsh-users/zsh-syntax-highlighting/actions -[build-status-image]: https://github.com/zsh-users/zsh-syntax-highlighting/workflows/Tests/badge.svg diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/changelog.md b/.config/zsh/plugged/zsh-syntax-highlighting/changelog.md @@ -1,884 +0,0 @@ -# Changes in HEAD - - -## Changes fixed as part of the switch to zle-line-pre-redraw - -The changes in this section were fixed by switching to a `zle-line-pre-redraw`-based -implementation. - -Note: The new implementation will only be used on future zsh releases, -numbered 5.8.0.3 and newer, due to interoperability issues with other plugins -(issues #418 and #579). The underlying zsh feature has been available since -zsh 5.2. - -Whilst under development, the new implementation was known as the -"feature/redrawhook" topic branch. - -- Fixed: Highlighting not triggered after popping a buffer from the buffer stack - (using the `push-line` widget, default binding: `M-q`) - [#40] - -- Fixed: Invoking completion when there were no matches removed highlighting - [#90, #470] - -- Fixed: Two successive deletes followed by a yank only yanked the latest - delete, rather than both of them - [#150, #151, #160; cf. #183] - -- Presumed fixed: Completing `$(xsel)` results in an error message from `xsel`, - with pre-2017 versions of `xsel`. (For 2017 vintage and newer, see the issue - for details.) - [#154] - -- Fixed: When the standard `bracketed-paste-magic` widget is in use, pastes were slow - [#295] - -- Fixed: No way to prevent a widget from being wrapped - [#324] - -- Fixed: No highlighting while cycling menu completion - [#375] - -- Fixed: Does not coexist with the `IGNORE_EOF` option - [#377] - -- Fixed: The `undefined-key` widget was wrapped - [#421] - -- Fixed: Does not coexist with the standard `surround` family of widgets - [#520] - -- Fixed: First completed filename doesn't get `path` highlighting - [#632] - - -## Other changes - -- Add issue #712 to the previous release's changelog (hereinafter). - - -# Changes in 0.8.0-alpha1-pre-redrawhook - -## Notice about an improbable-but-not-impossible forward incompatibility - -Everyone can probably skip this section. - -The `master` branch of zsh-syntax-highlighting uses a zsh feature that has not -yet appeared in a zsh release: the `memo=` feature, added to zsh in commit -zsh-5.8-172-gdd6e702ee (after zsh 5.8, before zsh 5.9). In the unlikely event -that this zsh feature should change in an incompatible way before the next -stable zsh release, set `zsh_highlight__memo_feature=0` in your .zshrc files to -disable use of the new feature. - -z-sy-h dogfoods the new, unreleased zsh feature because that feature was -added to zsh at z-sy-h's initiative. The new feature is used in the fix -to issue #418. - - -## Incompatible changes: - -- An unsuccessful completion (a <kbd>⮀ Tab</kbd> press that doesn't change the - command line) no longer causes highlighting to be lost. Visual feedback can - alternatively be achieved by setting the `format` zstyle under the `warnings` - tag, for example, - - zstyle ':completion:*:warnings' format '%F{red}No matches%f' - - Refer to the [description of the `format` style in `zshcompsys(1)`] - [zshcompsys-Standard-Styles-format]. - - (#90, part of #245 (feature/redrawhook)) - -[zshcompsys-Standard-Styles]: http://zsh.sourceforge.net/Doc/Release/Completion-System.html#Standard-Styles -[zshcompsys-Standard-Styles-format]: http://zsh.sourceforge.net/Doc/Release/Completion-System.html#index-format_002c-completion-style - - - -## Other changes: - -- Document `$ZSH_HIGHLIGHT_MAXLENGTH`. - [#698] - -- Optimize highlighting unquoted words (words that are not in single quotes, double quotes, backticks, or dollar-single-quotes) - [#730] - -- Redirection operators (e.g., `<` and `>`) are now highlighted by default - [#646] - -- Propertly terminate `noglob` scope in try/always blocks - [#577] - -- Don't error out when `KSH_ARRAYS` is set in the calling scope - [#622, #689] - -- Literal semicolons in array assignments (`foo=( bar ; baz )`) are now - highlighted as errors. - [3ca93f864fb6] - -- Command separators in array assignments (`foo=( bar | baz )`) are now - highlighted as errors. - [#651, 81267ca3130c] - -- Support parameter elision in command position (e.g., `$foo ls` where `$foo` is unset or empty) - [#667] - -- Don't consider the filename in `sudo -e /path/to/file` to be a command position - [#678] - -- Don't look up absolute directory names in $cdpath - [2cc2583f8f12, part of #669] - -- Fix `exec 2>&1;` being highlighted as an error. - [#676] - -- Fix `: $(<*)` being highlighted as globbing. - [#582] - -- Fix `cat < *` being highlighting as globbing when the `MULTIOS` option is unset. - [#583] - -- Fix `echo >&2` highlighting the `2` as a filename if a file by that name happened to exist - [#694, part of #645] - -- Fix `echo >&-` highlighting the `-` as a filename if a file by that name happened to exist - [part of #645] - -- Fix `echo >&p` highlighting the `p` as a filename if a file by that name happened to exist - [part of #645] - -- Fix wrong highlighting of unquoted parameter expansions under zsh 5.2 and older - [e165f18c758e] - -- Highlight global aliases - [#700] - -- Highlight `: =nosuchcommand' as an error (when the `EQUALS` option hasn't been unset). - [#430] - -- Highlight reserved word after assignments as errors (e.g., `foo=bar (ls;)`) - [#461] - -- Correctly highlight `[[ foo && bar || baz ]]`. - -- Highlight non-executable files in command position correctly (e.g., `% /etc/passwd`) - [#202, #669] - -- Highlight directories in command position correctly, including `AUTO_CD` support - [#669] - -- Recognize `env` as a precommand (e.g., `env FOO=bar ls`) - -- Recognize `strace` as a precommand - -- Fix an error message on stderr before every prompt when the `WARN_NESTED_VAR` zsh option is set: - `_zsh_highlight_main__precmd_hook:1: array parameter _zsh_highlight_main__command_type_cache set in enclosing scope in function _zsh_highlight_main__precmd_hook` - [#727, #731, #732, #733] - -- Fix highlighting of alias whose definitions use a simple command terminator - (such as `;`, `|`, `&&`) before a newline - [#677; had regressed in 0.7.0] - -- Highlight arithmetic expansions (e.g., `$(( 42 ))`) - [#607 #649 #704] - -- Highlight the parentheses of array assignments as reserved words (`foo=( bar )`). - The `assign` style remains supported and has precedence. - [#585] - -- Fix interoperability issue with other plugins that use highlighting. The fix - requires zsh 5.8.0.3 or newer. (zsh 5.8.0.2-dev from the `master` branch, - revision zsh-5.8-172-gdd6e702ee or newer is also fine.) - [#418, https://github.com/okapia/zsh-viexchange/issues/1] - -- Improve performance of the `brackets` highlighter. - -- Fix highlighting of pre-command redirections (e.g., the `$fn` in `<$fn cat`) - [#712] - - -# Changes in version 0.7.1 - -- Remove out-of-date information from the 0.7.0 changelog. - - -# Changes in version 0.7.0 - -This is a stable bugfix and feature release. Major new features and changes include: - -- Add `ZSH_HIGHLIGHT_DIRS_BLACKLIST` to disable "path" and "path prefix" - highlighting for specific directories - [#379] - -- Add the "regexp" highlighter, modelled after the pattern highlighter - [4e6f60063f1c] - -- When a word uses globbing, only the globbing metacharacters will be highlighted as globbing: - in `: foo*bar`, only the `*` will be blue. - [e48af357532c] - -- Highlight pasted quotes (e.g., `: foo"bar"`) - [dc1b2f6fa4bb] - -- Highlight command substitutions (`` : `ls` ``, `: $(ls)`) - [c0e64fe13178 and parents, e86f75a840e7, et al] - -- Highlight process substitutions (`: >(nl)`, `: <(pwd)`, `: =(git diff)`) - [c0e64fe13178 and parents, e86f75a840e7, et al] - -- Highlight command substitutions inside double quotes (``: "`foo`"``) - [f16e858f0c83] - -- Highlight many precommands (e.g., `nice`, `stdbuf`, `eatmydata`; - see `$precommand_options` in the source) - -- Highlight numeric globs (e.g., `echo /lib<->`) - -- Assorted improvements to aliases highlighting - (e.g., - `alias sudo_u='sudo -u'; sudo_u jrandom ls`, - `alias x=y y=z z=nosuchcommand; x`, - `alias ls='ls -l'; \ls`) - [f3410c5862fc, 57386f30aec8, #544, and many others] - -- Highlight some more syntax errors - [dea05e44e671, 298ef6a2fa30] - -- New styles: named file descriptors, `RC_QUOTES`, and unclosed quotes (e.g., `echo "foo<CURSOR>`) - [38c794a978cd, 25ae1c01216c, 967335dfc5fd] - -- The 'brackets' highlighting no longer treats quotes specially. - [ecdda36ef56f] - - -Selected bugfixes include: - -- Highlight `sudo` correctly when it's not installed - [26a82113b08b] - -- Handle some non-default options being set in zshrc - [b07ada1255b7, a2a899b41b8, 972ad197c13d, b3f66fc8748f] - -- Fix off-by-one highlighting in vi "visual" mode (vicmd keymap) - [be3882aeb054] - -- The 'yank-pop' widget is not wrapped - [#183] - - -Known issues include: - -- A multiline alias that uses a simple command terminator (such as `;`, `|`, `&&`) - before a newline will incorrectly be highlighted as an error. See issue #677 - for examples and workarounds. - [#677] - [UPDATE: Fixed in 0.8.0] - - -# Changes in version 0.6.0 - -This is a stable release, featuring bugfixes and minor improvements. - - -## Performance improvements: - -(none) - - -## Added highlighting of: - -- The `isearch` and `suffix` [`$zle_highlight` settings][zshzle-Character-Highlighting]. - (79e4d3d12405, 15db71abd0cc, b56ee542d619; requires zsh 5.3 for `$ISEARCHMATCH_ACTIVE` / `$SUFFIX_ACTIVE` support) - -[zshzle-Character-Highlighting]: http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Character-Highlighting - -- Possible history expansions in double-quoted strings. - (76ea9e1df316) - -- Mismatched `if`/`then`/`elif`/`else`/`fi`. - (73cb83270262) - - -## Fixed highlighting of: - -- A comment line followed by a non-comment line. - (#385, 9396ad5c5f9c) - -- An unquoted `$*` (expands to the positional parameters). - (237f89ad629f) - -- history-incremental-pattern-search-backward under zsh 5.3.1. - (#407, #415, 462779629a0c) - - -## API changes (for highlighter authors): - -(none) - - -## Developer-visible changes: - -- tests: Set the `ALIAS_FUNC_DEF` option for zsh 5.4 compatibility. - (9523d6d49cb3) - - -## Other changes: - -- docs: Added before/after screenshots. - (cd9ec14a65ec..b7e277106b49) - -- docs: Link Fedora package. - (3d74aa47e4a7, 5feed23962df) - -- docs: Link FreeBSD port. - (626c034c68d7) - -- docs: Link OpenSUSE Build Service packages - (#419, dea1fedc7358) - -- Prevent user-defined aliases from taking effect in z-sy-h's own code. - (#390, 2dce602727d7, 8d5afe47f774; and #392, #395, b8fa1b9dc954) - -- docs: Update zplug installation instructions. - (#399, 4f49c4a35f17) - -- Improve "unhandled ZLE widget 'foo'" error message. - (#409, be083d7f3710) - -- Fix printing of "failed loading highlighters" error message. - (#426, ad522a091429) - - -# Changes in version 0.5.0 - - -## Performance improvements: - -We thank Sebastian Gniazdowski and "m0viefreak" for significant contributions -in this area. - -- Optimize string operations in the `main` (default) highlighter. - (#372/3cb58fd7d7b9, 02229ebd6328, ef4bfe5bcc14, #372/c6b6513ac0d6, #374/15461e7d21c3) - -- Command word highlighting: Use the `zsh/parameter` module to avoid forks. - Memoize (cache) the results. - (#298, 3ce01076b521, 2f18ba64e397, 12b879caf7a6; #320, 3b67e656bff5) - -- Avoid forks in the driver and in the `root` highlighter. - (b9112aec798a, 38c8fbea2dd2) - - -## Added highlighting of: - -- `pkexec` (a precommand). - (#248, 4f3910cbbaa5) - -- Aliases that cannot be defined normally nor invoked normally (highlighted as an error). - (#263 (in part), 28932316cca6) - -- Path separators (`/`) — the default behaviour remains to highlight path separators - and path components the same way. - (#136, #260, 6cd39e7c70d3, 9a934d291e7c, f3d3aaa00cc4) - -- Assignments to individual positional arguments (`42=foo` to assign to `$42`). - (f4036a09cee3) - -- Linewise region (the `visual-line-mode` widget, bound to `V` in zsh's `vi` keymap). - (#267, a7a7f8b42280, ee07588cfd9b) - -- Command-lines recalled by `isearch` mode; requires zsh≥5.3. - (#261 (in part); #257; 4ad311ec0a68) - -- Command-lines whilst the `IGNORE_BRACES` or `IGNORE_CLOSE_BRACES` option is in effect. - (a8a6384356af, 02807f1826a5) - -- Mismatched parentheses and braces (in the `main` highlighter). - (51b9d79c3bb6, 2fabf7ca64b7, a4196eda5e6f, and others) - -- Mismatched `do`/`done` keywords. - (b2733a64da93) - -- Mismatched `foreach`/`end` keywords. - (#96, 2bb8f0703d8f) - -- In Bourne-style function definitions, when the `MULTI_FUNC_DEF` option is set - (which is the default), highlight the first word in the function body as - a command word: `f() { g "$@" }`. - (6f91850a01e1) - -- `always` blocks. - (#335, e5782e4ddfb6) - -- Command substitutions inside double quotes, `"$(echo foo)"`. - (#139 (in part), c3913e0d8ead) - -- Non-alphabetic parameters inside double quotes (`"$$"`, `"$#"`, `"$*"`, `"$@"`, `"$?"`, `"$-"`). - (4afe670f7a1b, 44ef6e38e5a7) - -- Command words from future versions of zsh (forward compatibly). - This also adds an `arg0` style that all other command word styles fall back to. - (b4537a972eed, bccc3dc26943) - -- Escaped history expansions inside double quotes: `: "\!"` - (28d7056a7a06, et seq) - - -## Fixed highlighting of: - -- Command separator tokens in syntactically-invalid positions. - (09c4114eb980) - -- Redirections with a file descriptor number at command word. - (#238 (in part), 73ee7c1f6c4a) - -- The `select` prompt, `$PS3`. - (#268, 451665cb2a8b) - -- Values of variables in `vared`. - (e500ca246286) - -- `!` as an argument (neither a history expansion nor a reserved word). - (4c23a2fd1b90) - -- "division by zero" error under the `brackets` highlighter when `$ZSH_HIGHLIGHT_STYLES` is empty. - (f73f3d53d3a6) - -- Process substitutions, `<(pwd)` and `>(wc -l)`. - (#302, 6889ff6bd2ad, bfabffbf975c, fc9c892a3f15) - -- The non-`SHORT_LOOPS` form of `repeat` loops: `repeat 42; do true; done`. - (#290, 4832f18c50a5, ef68f50c048f, 6362c757b6f7) - -- Broken symlinks (are now highlighted as files). - (#342, 95f7206a9373, 53083da8215e) - -- Lines accepted from `isearch` mode. - (#284; #257, #259, #288; 5bae6219008b, a8fe22d42251) - -- Work around upstream bug that triggered when the command word was a relative - path, that when interpreted relative to a $PATH directory denoted a command; - the effect of that upstream bug was that the relative path was cached as - a "valid external command name". - (#354, #355, 51614ca2c994, fdaeec45146b, 7d38d07255e4; - upstream fix slated to be released in 5.3 (workers/39104)) - -- After accepting a line with the cursor on a bracket, the matching bracket - of the bracket under the cursor no longer remains highlighted (with the - `brackets` highlighter). - (4c4baede519a) - -- The first word on a new line within an array assignment or initialization is no - longer considered a command position. - (8bf423d16d46) - -- Subshells that end at command position, `(A=42)`, `(true;)`. - (#231, 7fb6f9979121; #344, 4fc35362ee5a) - -- Command word after array assignment, `a=(lorem ipsum) pwd`. - (#330, 7fb6f9979121) - - -## API changes (for highlighter authors): - -- New interface `_zsh_highlight_add_highlight`. - (341a3ae1f015, c346f6eb6fb6) - -- tests: Specify the style key, not its value, in test expectations. - (a830613467af, fd061b5730bf, eaa4335c3441, among others) - -- Module author documentation improvements. - (#306 (in part), 217669270418, 0ff354b44b6e, 80148f6c8402, 364f206a547f, and others) - -- The driver no longer defines a `_zsh_highlight_${highlighter}_highlighter_cache` - variable, which is in the highlighters' namespace. - (3e59ab41b6b8, 80148f6c8402, f91a7b885e7d) - -- Rename highlighter entry points. The old names remain supported for - backwards compatibility. - (a3d5dfcbdae9, c793e0dceab1) - -- tests: Add the "NONE" expectation. - (4da9889d1545, 13018f3dd735, d37c55c788cd) - -- tests: consider a test that writes to stderr to have failed. - (#291, 1082067f9315) - - -## Developer-visible changes: - -- Add `make quiet-test`. - (9b64ad750f35) - -- test harness: Better quote replaceables in error messages. - (30d8f92df225) - -- test harness: Fix exit code for XPASS. - (bb8d325c0cbd) - -- Create [HACKING.md](HACKING.md). - (cef49752fd0e) - -- tests: Emit a description for PASS test points. - (6aa57d60aa64, f0bae44b76dd) - -- tests: Create a script that generates a test file. - (8013dc3b8db6, et seq; `tests/generate.zsh`) - - -## Other changes: - -- Under zsh≤5.2, widgets whose names start with a `_` are no longer excluded - from highlighting. - (ed33d2cb1388; reverts part of 186d80054a40 which was for #65) - -- Under zsh≤5.2, widgets implemented by a function named after the widget are - no longer excluded from highlighting. - (487b122c480d; reverts part of 776453cb5b69) - -- Under zsh≤5.2, shell-unsafe widget names can now be wrapped. - (#278, 6a634fac9fb9, et seq) - -- Correct some test expectations. - (78290e043bc5) - -- `zsh-syntax-highlighting.plugin.zsh`: Convert from symlink to plain file - for msys2 compatibility. - (#292, d4f8edc9f3ad) - -- Document installation under some plugin managers. - (e635f766bef9, 9cab566f539b) - -- Don't leak the `PATH_DIRS` option. - (7b82b88a7166) - -- Don't require the `FUNCTION_ARGZERO` option to be set. - (#338, 750aebc553f2) - -- Under zsh≤5.2, support binding incomplete/nonexistent widgets. - (9e569bb0fe04, part of #288) - -- Make the driver reentrant, fixing possibility of infinite recursion - under zsh≤5.2 under interaction with theoretical third-party code. - (#305, d711563fe1bf, 295d62ec888d, f3242cbd6aba) - -- Fix warnings when `WARN_CREATE_GLOBAL` is set prior to sourcing zsh-syntax-highlighting. - (z-sy-h already sets `WARN_CREATE_GLOBAL` internally.) - (da60234fb236) - -- Warn only once, rather than once per keypress, when a highlighter is unavailable. - (0a9b347483ae) - - -# Changes in version 0.4.1 - -## Fixes: - -- Arguments to widgets were not properly dash-escaped. Only matters for widgets - that take arguments (i.e., that are invoked as `zle ${widget} -- ${args}`). - (282c7134e8ac, reverts c808d2187a73) - - -# Changes in version 0.4.0 - - -## Added highlighting of: - -- incomplete sudo commands - (a3047a912100, 2f05620b19ae) - - ```zsh - sudo; - sudo -u; - ``` - -- command words following reserved words - (#207, #222, b397b12ac139 et seq, 6fbd2aa9579b et seq, 8b4adbd991b0) - - ```zsh - if ls; then ls; else ls; fi - repeat 10 do ls; done - ``` - - (The `ls` are now highlighted as a command.) - -- comments (when `INTERACTIVE_COMMENTS` is set) - (#163, #167, 693de99a9030) - - ```zsh - echo Hello # comment - ``` - -- closing brackets of arithmetic expansion, subshells, and blocks - (#226, a59f442d2d34, et seq) - - ```zsh - (( foo )) - ( foo ) - { foo } - ``` - -- command names enabled by the `PATH_DIRS` option - (#228, 96ee5116b182) - - ```zsh - # When ~/bin/foo/bar exists, is executable, ~/bin is in $PATH, - # and 'setopt PATH_DIRS' is in effect - foo/bar - ``` - -- parameter expansions with braces inside double quotes - (#186, 6e3720f39d84) - - ```zsh - echo "${foo}" - ``` - -- parameter expansions in command word - (#101, 4fcfb15913a2) - - ```zsh - x=/bin/ls - $x -l - ``` - -- the command separators '\|&', '&!', '&\|' - - ```zsh - view file.pdf &! ls - ``` - - -## Fixed highlighting of: - -- precommand modifiers at non-command-word position - (#209, 2c9f8c8c95fa) - - ```zsh - ls command foo - ``` - -- sudo commands with infix redirections - (#221, be006aded590, 86e924970911) - - ```zsh - sudo -u >/tmp/foo.out user ls - ``` - -- subshells; anonymous functions - (#166, #194, 0d1bfbcbfa67, 9e178f9f3948) - - ```zsh - (true) - () { true } - ``` - -- parameter assignment statements with no command - (#205, 01d7eeb3c713) - - ```zsh - A=1; - ``` - - (The semicolon used to be highlighted as a mistake) - -- cursor highlighter: Remove the cursor highlighting when accepting a line. - (#109, 4f0c293fdef0) - - -## Removed features: - -- Removed highlighting of approximate paths (`path_approx`). - (#187, 98aee7f8b9a3) - - -## Other changes: - -- main highlighter refactored to use states rather than booleans. - (2080a441ac49, et seq) - -- Fix initialization when sourcing `zsh-syntax-highlighting.zsh` via a symlink - (083c47b00707) - -- docs: Add screenshot. - (57624bb9f64b) - -- widgets wrapping: Don't add '--' when invoking widgets. - (c808d2187a73) [_reverted in 0.4.1_] - -- Refresh highlighting upon `accept-*` widgets (`accept-line` et al). - (59fbdda64c21) - -- Stop leaking match/mbegin/mend to global scope (thanks to upstream - `WARN_CREATE_GLOBAL` improvements). - (d3deffbf46a4) - -- 'make install': Permit setting `$(SHARE_DIR)` from the environment. - (e1078a8b4cf1) - -- driver: Tolerate KSH_ARRAYS being set in the calling context. - (#162, 8f19af6b319d) - -- 'make install': Install documentation fully and properly. - (#219, b1619c001390, et seq) - -- docs: Improve 'main' highlighter's documentation. - (00de155063f5, 7d4252f5f596) - -- docs: Moved to a new docs/ tree; assorted minor updates - (c575f8f37567, 5b34c23cfad5, et seq) - -- docs: Split README.md into INSTALL.md - (0b3183f6cb9a) - -- driver: Report `$ZSH_HIGHLIGHT_REVISION` when running from git - (84734ba95026) - - -## Developer-visible changes: - -- Test harness converted to [TAP](http://testanything.org/tap-specification.html) format - (d99aa58aaaef, et seq) - -- Run each test in a separate subprocess, isolating them from each other - (d99aa58aaaef, et seq) - -- Fix test failure with nonexisting $HOME - (#216, b2ac98b98150) - -- Test output is now colorized. - (4d3da30f8b72, 6fe07c096109) - -- Document `make install` - (a18a7427fd2c) - -- tests: Allow specifying the zsh binary to use. - (557bb7e0c6a0) - -- tests: Add 'make perf' target - (4513eaea71d7) - -- tests: Run each test in a sandbox directory - (c01533920245) - - -# Changes in version 0.3.0 - - -## Added highlighting of: - -- suffix aliases (requires zsh 5.1.1 or newer): - - ```zsh - alias -s png=display - foo.png - ``` - -- prefix redirections: - - ```zsh - <foo.txt cat - ``` - -- redirection operators: - - ```zsh - echo > foo.txt - ``` - -- arithmetic evaluations: - - ```zsh - (( 42 )) - ``` - -- $'' strings, including \x/\octal/\u/\U escapes - - ```zsh - : $'foo\u0040bar' - ``` - -- multiline strings: - - ```zsh - % echo "line 1 - line 2" - ``` - -- string literals that haven't been finished: - - ```zsh - % echo "Hello, world - ``` -- command words that involve tilde expansion: - - ```zsh - % ~/bin/foo - ``` - -## Fixed highlighting of: - -- quoted command words: - - ```zsh - % \ls - ``` - -- backslash escapes in "" strings: - - ```zsh - % echo "\x41" - ``` - -- noglob after command separator: - - ```zsh - % :; noglob echo * - ``` - -- glob after command separator, when the first command starts with 'noglob': - - ```zsh - % noglob true; echo * - ``` - -- the region (vi visual mode / set-mark-command) (issue #165) - -- redirection and command separators that would be highlighted as `path_approx` - - ```zsh - % echo foo;‸ - % echo <‸ - ``` - - (where `‸` represents the cursor location) - -- escaped globbing (outside quotes) - - ```zsh - % echo \* - ``` - - -## Other changes: - -- implemented compatibility with zsh's paste highlighting (issue #175) - -- `$?` propagated correctly to wrapped widgets - -- don't leak $REPLY into global scope - - -## Developer-visible changes: - -- added makefile with `install` and `test` targets - -- set `warn_create_global` internally - -- document release process - - - - -# Version 0.2.1 - -(Start of changelog.) - diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/docs/highlighters.md b/.config/zsh/plugged/zsh-syntax-highlighting/docs/highlighters.md @@ -1,132 +0,0 @@ -zsh-syntax-highlighting / highlighters -====================================== - -Syntax highlighting is done by pluggable highlighters: - -* `main` - the base highlighter, and the only one [active by default][1]. -* `brackets` - [matches brackets][2] and parenthesis. -* `pattern` - matches [user-defined patterns][3]. -* `cursor` - matches [the cursor position][4]. -* `root` - highlights the whole command line [if the current user is root][5]. -* `line` - applied to [the whole command line][6]. - -[1]: highlighters/main.md -[2]: highlighters/brackets.md -[3]: highlighters/pattern.md -[4]: highlighters/cursor.md -[5]: highlighters/root.md -[6]: highlighters/line.md - - -Highlighter-independent settings --------------------------------- - -By default, all command lines are highlighted. However, it is possible to -prevent command lines longer than a fixed number of characters from being -highlighted by setting the variable `${ZSH_HIGHLIGHT_MAXLENGTH}` to the maximum -length (in characters) of command lines to be highlighter. This is useful when -editing very long comand lines (for example, with the [`fned`][fned] utility -function). Example: - -[fned]: http://zsh.sourceforge.net/Doc/Release/User-Contributions.html#index-zed - -```zsh -ZSH_HIGHLIGHT_MAXLENGTH=512 -``` - - -How to activate highlighters ----------------------------- - -To activate an highlighter, add it to the `ZSH_HIGHLIGHT_HIGHLIGHTERS` array in -`~/.zshrc`, for example: - -```zsh -ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets pattern cursor) -``` - -By default, `$ZSH_HIGHLIGHT_HIGHLIGHTERS` is unset and only the `main` -highlighter is active. - - -How to tweak highlighters -------------------------- - -Highlighters look up styles from the `ZSH_HIGHLIGHT_STYLES` associative array. -Navigate into the [individual highlighters' documentation](highlighters/) to -see what styles (keys) each highlighter defines; the syntax for values is the -same as the syntax of "types of highlighting" of the zsh builtin -`$zle_highlight` array, which is documented in [the `zshzle(1)` manual -page][zshzle-Character-Highlighting]. - -[zshzle-Character-Highlighting]: http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Character-Highlighting - -Some highlighters support additional configuration parameters; see each -highlighter's documentation for details and examples. - - -How to implement a new highlighter ----------------------------------- - -To create your own `acme` highlighter: - -* Create your script at - `highlighters/acme/acme-highlighter.zsh`. - -* Implement the `_zsh_highlight_highlighter_acme_predicate` function. - This function must return 0 when the highlighter needs to be called and - non-zero otherwise, for example: - - ```zsh - _zsh_highlight_highlighter_acme_predicate() { - # Call this highlighter in SVN working copies - [[ -d .svn ]] - } - ``` - -* Implement the `_zsh_highlight_highlighter_acme_paint` function. - This function does the actual syntax highlighting, by calling - `_zsh_highlight_add_highlight` with the start and end of the region to - be highlighted and the `ZSH_HIGHLIGHT_STYLES` key to use. Define the default - style for that key in the highlighter script outside of any function with - `: ${ZSH_HIGHLIGHT_STYLES[key]:=value}`, being sure to prefix - the key with your highlighter name and a colon. For example: - - ```zsh - : ${ZSH_HIGHLIGHT_STYLES[acme:aurora]:=fg=green} - - _zsh_highlight_highlighter_acme_paint() { - # Colorize the whole buffer with the 'aurora' style - _zsh_highlight_add_highlight 0 $#BUFFER acme:aurora - } - ``` - - If you need to test which options the user has set, test `zsyh_user_options` - with a sensible default if the option is not present in supported zsh - versions. For example: - - ```zsh - [[ ${zsyh_user_options[ignoreclosebraces]:-off} == on ]] - ``` - - The option name must be all lowercase with no underscores and not an alias. - -* Name your own functions and global variables `_zsh_highlight_acme_*`. - - - In zsh-syntax-highlighting 0.4.0 and earlier, the entrypoints - `_zsh_highlight_highlighter_acme_predicate` and - `_zsh_highlight_highlighter_acme_paint` - were named - `_zsh_highlight_acme_highlighter_predicate` and - `_zsh_highlight_highlighter_acme_paint` respectively. - - These names are still supported for backwards compatibility; - however, support for them will be removed in a future major or minor release (v0.x.0 or v1.0.0). - -* Activate your highlighter in `~/.zshrc`: - - ```zsh - ZSH_HIGHLIGHT_HIGHLIGHTERS+=(acme) - ``` - -* [Write tests](../tests/README.md). diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/docs/highlighters/brackets.md b/.config/zsh/plugged/zsh-syntax-highlighting/docs/highlighters/brackets.md @@ -1,31 +0,0 @@ -zsh-syntax-highlighting / highlighters / brackets -------------------------------------------------- - -This is the `brackets` highlighter, that highlights brackets and parentheses, and -matches them. - - -### How to tweak it - -This highlighter defines the following styles: - -* `bracket-error` - unmatched brackets -* `bracket-level-N` - brackets with nest level N -* `cursor-matchingbracket` - the matching bracket, if cursor is on a bracket - -To override one of those styles, change its entry in `ZSH_HIGHLIGHT_STYLES`, -for example in `~/.zshrc`: - -```zsh -# To define styles for nested brackets up to level 4 -ZSH_HIGHLIGHT_STYLES[bracket-level-1]='fg=blue,bold' -ZSH_HIGHLIGHT_STYLES[bracket-level-2]='fg=red,bold' -ZSH_HIGHLIGHT_STYLES[bracket-level-3]='fg=yellow,bold' -ZSH_HIGHLIGHT_STYLES[bracket-level-4]='fg=magenta,bold' -``` - -The syntax for values is the same as the syntax of "types of highlighting" of -the zsh builtin `$zle_highlight` array, which is documented in [the `zshzle(1)` -manual page][zshzle-Character-Highlighting]. - -[zshzle-Character-Highlighting]: http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Character-Highlighting diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/docs/highlighters/cursor.md b/.config/zsh/plugged/zsh-syntax-highlighting/docs/highlighters/cursor.md @@ -1,24 +0,0 @@ -zsh-syntax-highlighting / highlighters / cursor ------------------------------------------------ - -This is the `cursor` highlighter, that highlights the cursor. - - -### How to tweak it - -This highlighter defines the following styles: - -* `cursor` - the style for the current cursor position - -To override one of those styles, change its entry in `ZSH_HIGHLIGHT_STYLES`, -for example in `~/.zshrc`: - -```zsh -ZSH_HIGHLIGHT_STYLES[cursor]='bg=blue' -``` - -The syntax for values is the same as the syntax of "types of highlighting" of -the zsh builtin `$zle_highlight` array, which is documented in [the `zshzle(1)` -manual page][zshzle-Character-Highlighting]. - -[zshzle-Character-Highlighting]: http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Character-Highlighting diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/docs/highlighters/line.md b/.config/zsh/plugged/zsh-syntax-highlighting/docs/highlighters/line.md @@ -1,24 +0,0 @@ -zsh-syntax-highlighting / highlighters / line ---------------------------------------------- - -This is the `line` highlighter, that highlights the whole line. - - -### How to tweak it - -This highlighter defines the following styles: - -* `line` - the style for the whole line - -To override one of those styles, change its entry in `ZSH_HIGHLIGHT_STYLES`, -for example in `~/.zshrc`: - -```zsh -ZSH_HIGHLIGHT_STYLES[line]='bold' -``` - -The syntax for values is the same as the syntax of "types of highlighting" of -the zsh builtin `$zle_highlight` array, which is documented in [the `zshzle(1)` -manual page][zshzle-Character-Highlighting]. - -[zshzle-Character-Highlighting]: http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Character-Highlighting diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/docs/highlighters/main.md b/.config/zsh/plugged/zsh-syntax-highlighting/docs/highlighters/main.md @@ -1,121 +0,0 @@ -zsh-syntax-highlighting / highlighters / main ---------------------------------------------- - -This is the `main` highlighter, that highlights: - -* Commands -* Options -* Arguments -* Paths -* Strings - -This highlighter is active by default. - - -### How to tweak it - -This highlighter defines the following styles: - -* `unknown-token` - unknown tokens / errors -* `reserved-word` - shell reserved words (`if`, `for`) -* `alias` - aliases -* `suffix-alias` - suffix aliases (requires zsh 5.1.1 or newer) -* `global-alias` - global aliases -* `builtin` - shell builtin commands (`shift`, `pwd`, `zstyle`) -* `function` - function names -* `command` - command names -* `precommand` - precommand modifiers (e.g., `noglob`, `builtin`) -* `commandseparator` - command separation tokens (`;`, `&&`) -* `hashed-command` - hashed commands -* `autodirectory` - a directory name in command position when the `AUTO_CD` option is set -* `path` - existing filenames -* `path_pathseparator` - path separators in filenames (`/`); if unset, `path` is used (default) -* `path_prefix` - prefixes of existing filenames -* `path_prefix_pathseparator` - path separators in prefixes of existing filenames (`/`); if unset, `path_prefix` is used (default) -* `globbing` - globbing expressions (`*.txt`) -* `history-expansion` - history expansion expressions (`!foo` and `^foo^bar`) -* `command-substitution` - command substitutions (`$(echo foo)`) -* `command-substitution-unquoted` - an unquoted command substitution (`$(echo foo)`) -* `command-substitution-quoted` - a quoted command substitution (`"$(echo foo)"`) -* `command-substitution-delimiter` - command substitution delimiters (`$(` and `)`) -* `command-substitution-delimiter-unquoted` - an unquoted command substitution delimiters (`$(` and `)`) -* `command-substitution-delimiter-quoted` - a quoted command substitution delimiters (`"$(` and `)"`) -* `process-substitution` - process substitutions (`<(echo foo)`) -* `process-substitution-delimiter` - process substitution delimiters (`<(` and `)`) -* `arithmetic-expansion` - arithmetic expansion `$(( 42 ))`) -* `single-hyphen-option` - single-hyphen options (`-o`) -* `double-hyphen-option` - double-hyphen options (`--option`) -* `back-quoted-argument` - backtick command substitution (`` `foo` ``) -* `back-quoted-argument-unclosed` - unclosed backtick command substitution (`` `foo ``) -* `back-quoted-argument-delimiter` - backtick command substitution delimiters (`` ` ``) -* `single-quoted-argument` - single-quoted arguments (`` 'foo' ``) -* `single-quoted-argument-unclosed` - unclosed single-quoted arguments (`` 'foo ``) -* `double-quoted-argument` - double-quoted arguments (`` "foo" ``) -* `double-quoted-argument-unclosed` - unclosed double-quoted arguments (`` "foo ``) -* `dollar-quoted-argument` - dollar-quoted arguments (`` $'foo' ``) -* `dollar-quoted-argument-unclosed` - unclosed dollar-quoted arguments (`` $'foo ``) -* `rc-quote` - two single quotes inside single quotes when the `RC_QUOTES` option is set (`` 'foo''bar' ``) -* `dollar-double-quoted-argument` - parameter expansion inside double quotes (`$foo` inside `""`) -* `back-double-quoted-argument` - backslash escape sequences inside double-quoted arguments (`\"` in `"foo\"bar"`) -* `back-dollar-quoted-argument` - backslash escape sequences inside dollar-quoted arguments (`\x` in `$'\x48'`) -* `assign` - parameter assignments (`x=foo` and `x=( )`) -* `redirection` - redirection operators (`<`, `>`, etc) -* `comment` - comments, when `setopt INTERACTIVE_COMMENTS` is in effect (`echo # foo`) -* `comment` - elided parameters in command position (`$x ls` when `$x` is unset or empty) -* `named-fd` - named file descriptor (the `fd` in `echo foo {fd}>&2`) -* `numeric-fd` - numeric file descriptor (the `2` in `echo foo {fd}>&2`) -* `arg0` - a command word other than one of those enumerated above (other than a command, precommand, alias, function, or shell builtin command). -* `default` - everything else - -To override one of those styles, change its entry in `ZSH_HIGHLIGHT_STYLES`, -for example in `~/.zshrc`: - -```zsh -# Declare the variable -typeset -A ZSH_HIGHLIGHT_STYLES - -# To differentiate aliases from other command types -ZSH_HIGHLIGHT_STYLES[alias]='fg=magenta,bold' - -# To have paths colored instead of underlined -ZSH_HIGHLIGHT_STYLES[path]='fg=cyan' - -# To disable highlighting of globbing expressions -ZSH_HIGHLIGHT_STYLES[globbing]='none' -``` - -The syntax for values is the same as the syntax of "types of highlighting" of -the zsh builtin `$zle_highlight` array, which is documented in [the `zshzle(1)` -manual page][zshzle-Character-Highlighting]. - -#### Parameters - -To avoid partial path lookups on a path, add the path to the `ZSH_HIGHLIGHT_DIRS_BLACKLIST` array. - -```zsh -ZSH_HIGHLIGHT_DIRS_BLACKLIST+=(/mnt/slow_share) -``` - -### Useless trivia - -#### Forward compatibility. - -zsh-syntax-highlighting attempts to be forward-compatible with zsh. -Specifically, we attempt to facilitate highlighting _command word_ types that -had not yet been invented when this version of zsh-syntax-highlighting was -released. - -A _command word_ is something like a function name, external command name, et -cetera. (See -[Simple Commands & Pipelines in `zshmisc(1)`][zshmisc-Simple-Commands-And-Pipelines] -for a formal definition.) - -If a new _kind_ of command word is ever added to zsh — something conceptually -different than "function" and "alias" and "external command" — then command words -of that (new) kind will be highlighted by the style `arg0_$kind`, -where `$kind` is the output of `type -w` on the new kind of command word. If that -style is not defined, then the style `arg0` will be used instead. - -[zshmisc-Simple-Commands-And-Pipelines]: http://zsh.sourceforge.net/Doc/Release/Shell-Grammar.html#Simple-Commands-_0026-Pipelines - -[zshzle-Character-Highlighting]: http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Character-Highlighting diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/docs/highlighters/pattern.md b/.config/zsh/plugged/zsh-syntax-highlighting/docs/highlighters/pattern.md @@ -1,24 +0,0 @@ -zsh-syntax-highlighting / highlighters / pattern ------------------------------------------------- - -This is the `pattern` highlighter, that highlights user-defined patterns. - - -### How to tweak it - -To use this highlighter, associate patterns with styles in the -`ZSH_HIGHLIGHT_PATTERNS` associative array, for example in `~/.zshrc`: - -```zsh -# Declare the variable -typeset -A ZSH_HIGHLIGHT_PATTERNS - -# To have commands starting with `rm -rf` in red: -ZSH_HIGHLIGHT_PATTERNS+=('rm -rf *' 'fg=white,bold,bg=red') -``` - -The syntax for values is the same as the syntax of "types of highlighting" of -the zsh builtin `$zle_highlight` array, which is documented in [the `zshzle(1)` -manual page][zshzle-Character-Highlighting]. - -[zshzle-Character-Highlighting]: http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Character-Highlighting diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/docs/highlighters/regexp.md b/.config/zsh/plugged/zsh-syntax-highlighting/docs/highlighters/regexp.md @@ -1,30 +0,0 @@ -zsh-syntax-highlighting / highlighters / regexp ------------------------------------------------- - -This is the `regexp` highlighter, that highlights user-defined regular -expressions. It's similar to the `pattern` highlighter, but allows more complex -patterns. - -### How to tweak it - -To use this highlighter, associate regular expressions with styles in the -`ZSH_HIGHLIGHT_REGEXP` associative array, for example in `~/.zshrc`: - -```zsh -typeset -A ZSH_HIGHLIGHT_REGEXP -ZSH_HIGHLIGHT_REGEXP+=('\bsudo\b' fg=123,bold) -``` - -This will highlight "sudo" only as a complete word, i.e., "sudo cmd", but not -"sudoedit" - -The syntax for values is the same as the syntax of "types of highlighting" of -the zsh builtin `$zle_highlight` array, which is documented in [the `zshzle(1)` -manual page][zshzle-Character-Highlighting]. - -See also: [regular expressions tutorial][perlretut], zsh regexp operator `=~` -in [the `zshmisc(1)` manual page][zshmisc-Conditional-Expressions] - -[zshzle-Character-Highlighting]: http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Character-Highlighting -[perlretut]: http://perldoc.perl.org/perlretut.html -[zshmisc-Conditional-Expressions]: http://zsh.sourceforge.net/Doc/Release/Conditional-Expressions.html#Conditional-Expressions diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/docs/highlighters/root.md b/.config/zsh/plugged/zsh-syntax-highlighting/docs/highlighters/root.md @@ -1,25 +0,0 @@ -zsh-syntax-highlighting / highlighters / root ---------------------------------------------- - -This is the `root` highlighter, that highlights the whole line if the current -user is root. - - -### How to tweak it - -This highlighter defines the following styles: - -* `root` - the style for the whole line if the current user is root. - -To override one of those styles, change its entry in `ZSH_HIGHLIGHT_STYLES`, -for example in `~/.zshrc`: - -```zsh -ZSH_HIGHLIGHT_STYLES[root]='bg=red' -``` - -The syntax for values is the same as the syntax of "types of highlighting" of -the zsh builtin `$zle_highlight` array, which is documented in [the `zshzle(1)` -manual page][zshzle-Character-Highlighting]. - -[zshzle-Character-Highlighting]: http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Character-Highlighting diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/README.md b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/README.md @@ -1,8 +0,0 @@ -zsh-syntax-highlighting / highlighters -====================================== - -Navigate into the individual highlighters' documentation to see -what styles (`$ZSH_HIGHLIGHT_STYLES` keys) each highlighter defines. - -Refer to the [documentation on highlighters](../docs/highlighters.md) for further -information. diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/brackets/README.md b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/brackets/README.md @@ -1 +0,0 @@ -../../docs/highlighters/brackets.md -\ No newline at end of file diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/brackets/brackets-highlighter.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/brackets/brackets-highlighter.zsh @@ -1,107 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2010-2017 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - - -# Define default styles. -: ${ZSH_HIGHLIGHT_STYLES[bracket-error]:=fg=red,bold} -: ${ZSH_HIGHLIGHT_STYLES[bracket-level-1]:=fg=blue,bold} -: ${ZSH_HIGHLIGHT_STYLES[bracket-level-2]:=fg=green,bold} -: ${ZSH_HIGHLIGHT_STYLES[bracket-level-3]:=fg=magenta,bold} -: ${ZSH_HIGHLIGHT_STYLES[bracket-level-4]:=fg=yellow,bold} -: ${ZSH_HIGHLIGHT_STYLES[bracket-level-5]:=fg=cyan,bold} -: ${ZSH_HIGHLIGHT_STYLES[cursor-matchingbracket]:=standout} - -# Whether the brackets highlighter should be called or not. -_zsh_highlight_highlighter_brackets_predicate() -{ - [[ $WIDGET == zle-line-finish ]] || _zsh_highlight_cursor_moved || _zsh_highlight_buffer_modified -} - -# Brackets highlighting function. -_zsh_highlight_highlighter_brackets_paint() -{ - local char style - local -i bracket_color_size=${#ZSH_HIGHLIGHT_STYLES[(I)bracket-level-*]} buflen=${#BUFFER} level=0 matchingpos pos - local -A levelpos lastoflevel matching - - # Find all brackets and remember which one is matching - pos=0 - for char in ${(s..)BUFFER} ; do - (( ++pos )) - case $char in - ["([{"]) - levelpos[$pos]=$((++level)) - lastoflevel[$level]=$pos - ;; - [")]}"]) - if (( level > 0 )); then - matchingpos=$lastoflevel[$level] - levelpos[$pos]=$((level--)) - if _zsh_highlight_brackets_match $matchingpos $pos; then - matching[$matchingpos]=$pos - matching[$pos]=$matchingpos - fi - else - levelpos[$pos]=-1 - fi - ;; - esac - done - - # Now highlight all found brackets - for pos in ${(k)levelpos}; do - if (( $+matching[$pos] )); then - if (( bracket_color_size )); then - _zsh_highlight_add_highlight $((pos - 1)) $pos bracket-level-$(( (levelpos[$pos] - 1) % bracket_color_size + 1 )) - fi - else - _zsh_highlight_add_highlight $((pos - 1)) $pos bracket-error - fi - done - - # If cursor is on a bracket, then highlight corresponding bracket, if any. - if [[ $WIDGET != zle-line-finish ]]; then - pos=$((CURSOR + 1)) - if (( $+levelpos[$pos] )) && (( $+matching[$pos] )); then - local -i otherpos=$matching[$pos] - _zsh_highlight_add_highlight $((otherpos - 1)) $otherpos cursor-matchingbracket - fi - fi -} - -# Helper function to differentiate type -_zsh_highlight_brackets_match() -{ - case $BUFFER[$1] in - \() [[ $BUFFER[$2] == \) ]];; - \[) [[ $BUFFER[$2] == \] ]];; - \{) [[ $BUFFER[$2] == \} ]];; - *) false;; - esac -} diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/brackets/test-data/cursor-matchingbracket-line-finish.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/brackets/test-data/cursor-matchingbracket-line-finish.zsh @@ -1,36 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -WIDGET=zle-line-finish - -BUFFER=': $foo[bar]' -CURSOR=6 # cursor is zero-based - -expected_region_highlight=( -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/brackets/test-data/cursor-matchingbracket.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/brackets/test-data/cursor-matchingbracket.zsh @@ -1,47 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -unsorted=1 - -ZSH_HIGHLIGHT_STYLES[bracket-level-1]= -ZSH_HIGHLIGHT_STYLES[bracket-level-2]= -ZSH_HIGHLIGHT_STYLES[bracket-level-3]= - -BUFFER=': ((( )))' -CURSOR=2 # cursor is zero-based - -expected_region_highlight=( - "3 3 bracket-level-1" - "4 4 bracket-level-2" - "5 5 bracket-level-3" - "7 7 bracket-level-3" - "8 8 bracket-level-2" - "9 9 bracket-level-1" - "9 9 cursor-matchingbracket" -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/brackets/test-data/empty-styles.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/brackets/test-data/empty-styles.zsh @@ -1,33 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=': (x)' - -expected_region_highlight=( -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/brackets/test-data/loop-styles.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/brackets/test-data/loop-styles.zsh @@ -1,53 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -unsorted=1 - -ZSH_HIGHLIGHT_STYLES[bracket-level-1]= -ZSH_HIGHLIGHT_STYLES[bracket-level-2]= -ZSH_HIGHLIGHT_STYLES[bracket-level-3]= - -BUFFER=': ({[({[(x)]})]})' - -expected_region_highlight=( - "3 3 bracket-level-1" - "4 4 bracket-level-2" - "5 5 bracket-level-3" - "6 6 bracket-level-1" - "7 7 bracket-level-2" - "8 8 bracket-level-3" - "9 9 bracket-level-1" - "11 11 bracket-level-1" - "12 12 bracket-level-3" - "13 13 bracket-level-2" - "14 14 bracket-level-1" - "15 15 bracket-level-3" - "16 16 bracket-level-2" - "17 17 bracket-level-1" -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/brackets/test-data/mismatch-patentheses.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/brackets/test-data/mismatch-patentheses.zsh @@ -1,42 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -unsorted=1 - -ZSH_HIGHLIGHT_STYLES[bracket-level-1]= -ZSH_HIGHLIGHT_STYLES[bracket-level-2]= - -BUFFER='echo ({x}]' - -expected_region_highlight=( - "6 6 bracket-error" # ( - "7 7 bracket-level-2" # { - "9 9 bracket-level-2" # } - "10 10 bracket-error" # ) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/brackets/test-data/near-quotes.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/brackets/test-data/near-quotes.zsh @@ -1,42 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -unsorted=1 - -ZSH_HIGHLIGHT_STYLES[bracket-level-1]= -ZSH_HIGHLIGHT_STYLES[bracket-level-2]= - -BUFFER=': {"{x}"}' - -expected_region_highlight=( - "3 3 bracket-level-1" - "5 5 bracket-level-2" - "7 7 bracket-level-2" - "9 9 bracket-level-1" -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/brackets/test-data/nested-parentheses.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/brackets/test-data/nested-parentheses.zsh @@ -1,45 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -unsorted=1 - -ZSH_HIGHLIGHT_STYLES[bracket-level-1]= -ZSH_HIGHLIGHT_STYLES[bracket-level-2]= -ZSH_HIGHLIGHT_STYLES[bracket-level-3]= - -BUFFER='echo $(echo ${(z)array})' - -expected_region_highlight=( - "7 7 bracket-level-1" # ( - "14 14 bracket-level-2" # { - "15 15 bracket-level-3" # ( - "17 17 bracket-level-3" # ) - "23 23 bracket-level-2" # } - "24 24 bracket-level-1" # ) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/brackets/test-data/only-error.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/brackets/test-data/only-error.zsh @@ -1,34 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2017 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=': x)' - -expected_region_highlight=( - "4 4 bracket-error" # ) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/brackets/test-data/quoted-patentheses.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/brackets/test-data/quoted-patentheses.zsh @@ -1,34 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='echo "foo ( bar"' - -expected_region_highlight=( -"11 11 bracket-error" -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/brackets/test-data/simple-parentheses.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/brackets/test-data/simple-parentheses.zsh @@ -1,42 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -unsorted=1 - -ZSH_HIGHLIGHT_STYLES[bracket-level-1]= -ZSH_HIGHLIGHT_STYLES[bracket-level-2]= - -BUFFER='echo ({x})' - -expected_region_highlight=( - "6 6 bracket-level-1" # ( - "7 7 bracket-level-2" # { - "9 9 bracket-level-2" # } - "10 10 bracket-level-1" # ) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/brackets/test-data/unclosed-patentheses.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/brackets/test-data/unclosed-patentheses.zsh @@ -1,41 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -unsorted=1 - -ZSH_HIGHLIGHT_STYLES[bracket-level-1]= -ZSH_HIGHLIGHT_STYLES[bracket-level-2]= - -BUFFER='echo ({x}' - -expected_region_highlight=( - "6 6 bracket-error" # ( - "7 7 bracket-level-2" # { - "9 9 bracket-level-2" # } -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/brackets/test-data/unclosed-patentheses2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/brackets/test-data/unclosed-patentheses2.zsh @@ -1,40 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -unsorted=1 - -ZSH_HIGHLIGHT_STYLES[bracket-level-1]= - -BUFFER='echo {x})' - -expected_region_highlight=( - "6 6 bracket-level-1" # { - "8 8 bracket-level-1" # } - "9 9 bracket-error" # ) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/cursor/README.md b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/cursor/README.md @@ -1 +0,0 @@ -../../docs/highlighters/cursor.md -\ No newline at end of file diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/cursor/cursor-highlighter.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/cursor/cursor-highlighter.zsh @@ -1,47 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2010-2011 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - - -# Define default styles. -: ${ZSH_HIGHLIGHT_STYLES[cursor]:=standout} - -# Whether the cursor highlighter should be called or not. -_zsh_highlight_highlighter_cursor_predicate() -{ - # remove cursor highlighting when the line is finished - [[ $WIDGET == zle-line-finish ]] || _zsh_highlight_cursor_moved -} - -# Cursor highlighting function. -_zsh_highlight_highlighter_cursor_paint() -{ - [[ $WIDGET == zle-line-finish ]] && return - - _zsh_highlight_add_highlight $CURSOR $(( $CURSOR + 1 )) cursor -} diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/line/README.md b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/line/README.md @@ -1 +0,0 @@ -../../docs/highlighters/line.md -\ No newline at end of file diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/line/line-highlighter.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/line/line-highlighter.zsh @@ -1,44 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2010-2011 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - - -# Define default styles. -: ${ZSH_HIGHLIGHT_STYLES[line]:=} - -# Whether the root highlighter should be called or not. -_zsh_highlight_highlighter_line_predicate() -{ - _zsh_highlight_buffer_modified -} - -# root highlighting function. -_zsh_highlight_highlighter_line_paint() -{ - _zsh_highlight_add_highlight 0 $#BUFFER line -} diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/README.md b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/README.md @@ -1 +0,0 @@ -../../docs/highlighters/main.md -\ No newline at end of file diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/main-highlighter.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/main-highlighter.zsh @@ -1,1842 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2010-2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - - -# Define default styles. -: ${ZSH_HIGHLIGHT_STYLES[default]:=none} -: ${ZSH_HIGHLIGHT_STYLES[unknown-token]:=fg=red,bold} -: ${ZSH_HIGHLIGHT_STYLES[reserved-word]:=fg=yellow} -: ${ZSH_HIGHLIGHT_STYLES[suffix-alias]:=fg=green,underline} -: ${ZSH_HIGHLIGHT_STYLES[global-alias]:=fg=cyan} -: ${ZSH_HIGHLIGHT_STYLES[precommand]:=fg=green,underline} -: ${ZSH_HIGHLIGHT_STYLES[commandseparator]:=none} -: ${ZSH_HIGHLIGHT_STYLES[autodirectory]:=fg=green,underline} -: ${ZSH_HIGHLIGHT_STYLES[path]:=underline} -: ${ZSH_HIGHLIGHT_STYLES[path_pathseparator]:=} -: ${ZSH_HIGHLIGHT_STYLES[path_prefix_pathseparator]:=} -: ${ZSH_HIGHLIGHT_STYLES[globbing]:=fg=blue} -: ${ZSH_HIGHLIGHT_STYLES[history-expansion]:=fg=blue} -: ${ZSH_HIGHLIGHT_STYLES[command-substitution]:=none} -: ${ZSH_HIGHLIGHT_STYLES[command-substitution-delimiter]:=fg=magenta} -: ${ZSH_HIGHLIGHT_STYLES[process-substitution]:=none} -: ${ZSH_HIGHLIGHT_STYLES[process-substitution-delimiter]:=fg=magenta} -: ${ZSH_HIGHLIGHT_STYLES[single-hyphen-option]:=none} -: ${ZSH_HIGHLIGHT_STYLES[double-hyphen-option]:=none} -: ${ZSH_HIGHLIGHT_STYLES[back-quoted-argument]:=none} -: ${ZSH_HIGHLIGHT_STYLES[back-quoted-argument-delimiter]:=fg=magenta} -: ${ZSH_HIGHLIGHT_STYLES[single-quoted-argument]:=fg=yellow} -: ${ZSH_HIGHLIGHT_STYLES[double-quoted-argument]:=fg=yellow} -: ${ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument]:=fg=yellow} -: ${ZSH_HIGHLIGHT_STYLES[rc-quote]:=fg=cyan} -: ${ZSH_HIGHLIGHT_STYLES[dollar-double-quoted-argument]:=fg=cyan} -: ${ZSH_HIGHLIGHT_STYLES[back-double-quoted-argument]:=fg=cyan} -: ${ZSH_HIGHLIGHT_STYLES[back-dollar-quoted-argument]:=fg=cyan} -: ${ZSH_HIGHLIGHT_STYLES[assign]:=none} -: ${ZSH_HIGHLIGHT_STYLES[redirection]:=fg=yellow} -: ${ZSH_HIGHLIGHT_STYLES[comment]:=fg=black,bold} -: ${ZSH_HIGHLIGHT_STYLES[named-fd]:=none} -: ${ZSH_HIGHLIGHT_STYLES[numeric-fd]:=none} -: ${ZSH_HIGHLIGHT_STYLES[arg0]:=fg=green} - -# Whether the highlighter should be called or not. -_zsh_highlight_highlighter_main_predicate() -{ - # may need to remove path_prefix highlighting when the line ends - [[ $WIDGET == zle-line-finish ]] || _zsh_highlight_buffer_modified -} - -# Helper to deal with tokens crossing line boundaries. -_zsh_highlight_main_add_region_highlight() { - integer start=$1 end=$2 - shift 2 - - if (( $#in_alias )); then - [[ $1 == unknown-token ]] && alias_style=unknown-token - return - fi - if (( in_param )); then - if [[ $1 == unknown-token ]]; then - param_style=unknown-token - fi - if [[ -n $param_style ]]; then - return - fi - param_style=$1 - return - fi - - # The calculation was relative to $buf but region_highlight is relative to $BUFFER. - (( start += buf_offset )) - (( end += buf_offset )) - - list_highlights+=($start $end $1) -} - -_zsh_highlight_main_add_many_region_highlights() { - for 1 2 3; do - _zsh_highlight_main_add_region_highlight $1 $2 $3 - done -} - -_zsh_highlight_main_calculate_fallback() { - local -A fallback_of; fallback_of=( - alias arg0 - suffix-alias arg0 - global-alias dollar-double-quoted-argument - builtin arg0 - function arg0 - command arg0 - precommand arg0 - hashed-command arg0 - autodirectory arg0 - arg0_\* arg0 - - # TODO: Maybe these? — - # named-fd file-descriptor - # numeric-fd file-descriptor - - path_prefix path - # The path separator fallback won't ever be used, due to the optimisation - # in _zsh_highlight_main_highlighter_highlight_path_separators(). - path_pathseparator path - path_prefix_pathseparator path_prefix - - single-quoted-argument{-unclosed,} - double-quoted-argument{-unclosed,} - dollar-quoted-argument{-unclosed,} - back-quoted-argument{-unclosed,} - - command-substitution{-quoted,,-unquoted,} - command-substitution-delimiter{-quoted,,-unquoted,} - - command-substitution{-delimiter,} - process-substitution{-delimiter,} - back-quoted-argument{-delimiter,} - ) - local needle=$1 value - reply=($1) - while [[ -n ${value::=$fallback_of[(k)$needle]} ]]; do - unset "fallback_of[$needle]" # paranoia against infinite loops - reply+=($value) - needle=$value - done -} - -# Get the type of a command. -# -# Uses the zsh/parameter module if available to avoid forks, and a -# wrapper around 'type -w' as fallback. -# -# If $2 is 0, do not consider aliases. -# -# The result will be stored in REPLY. -_zsh_highlight_main__type() { - integer -r aliases_allowed=${2-1} - # We won't cache replies of anything that exists as an alias at all, to - # ensure the cached value is correct regardless of $aliases_allowed. - # - # ### We probably _should_ cache them in a cache that's keyed on the value of - # ### $aliases_allowed, on the assumption that aliases are the common case. - integer may_cache=1 - - # Cache lookup - if (( $+_zsh_highlight_main__command_type_cache )); then - REPLY=$_zsh_highlight_main__command_type_cache[(e)$1] - if [[ -n "$REPLY" ]]; then - return - fi - fi - - # Main logic - if (( $#options_to_set )); then - setopt localoptions $options_to_set; - fi - unset REPLY - if zmodload -e zsh/parameter; then - if (( $+aliases[(e)$1] )); then - may_cache=0 - fi - if (( ${+galiases[(e)$1]} )) && (( aliases_allowed )); then - REPLY='global alias' - elif (( $+aliases[(e)$1] )) && (( aliases_allowed )); then - REPLY=alias - elif [[ $1 == *.* && -n ${1%.*} ]] && (( $+saliases[(e)${1##*.}] )); then - REPLY='suffix alias' - elif (( $reswords[(Ie)$1] )); then - REPLY=reserved - elif (( $+functions[(e)$1] )); then - REPLY=function - elif (( $+builtins[(e)$1] )); then - REPLY=builtin - elif (( $+commands[(e)$1] )); then - REPLY=command - # None of the special hashes had a match, so fall back to 'type -w', for - # forward compatibility with future versions of zsh that may add new command - # types. - # - # zsh 5.2 and older have a bug whereby running 'type -w ./sudo' implicitly - # runs 'hash ./sudo=/usr/local/bin/./sudo' (assuming /usr/local/bin/sudo - # exists and is in $PATH). Avoid triggering the bug, at the expense of - # falling through to the $() below, incurring a fork. (Issue #354.) - # - # The first disjunct mimics the isrelative() C call from the zsh bug. - elif { [[ $1 != */* ]] || is-at-least 5.3 } && - # Add a subshell to avoid a zsh upstream bug; see issue #606. - # ### Remove the subshell when we stop supporting zsh 5.7.1 (I assume 5.8 will have the bugfix). - ! (builtin type -w -- "$1") >/dev/null 2>&1; then - REPLY=none - fi - fi - if ! (( $+REPLY )); then - # zsh/parameter not available or had no matches. - # - # Note that 'type -w' will run 'rehash' implicitly. - # - # We 'unalias' in a subshell, so the parent shell is not affected. - # - # The colon command is there just to avoid a command substitution that - # starts with an arithmetic expression [«((…))» as the first thing inside - # «$(…)»], which is area that has had some parsing bugs before 5.6 - # (approximately). - REPLY="${$(:; (( aliases_allowed )) || unalias -- "$1" 2>/dev/null; LC_ALL=C builtin type -w -- "$1" 2>/dev/null)##*: }" - if [[ $REPLY == 'alias' ]]; then - may_cache=0 - fi - fi - - # Cache population - if (( may_cache )) && (( $+_zsh_highlight_main__command_type_cache )); then - _zsh_highlight_main__command_type_cache[(e)$1]=$REPLY - fi - [[ -n $REPLY ]] - return $? -} - -# Checks whether $1 is something that can be run. -# -# Return 0 if runnable, 1 if not runnable, 2 if trouble. -_zsh_highlight_main__is_runnable() { - if _zsh_highlight_main__type "$1"; then - [[ $REPLY != none ]] - else - return 2 - fi -} - -# Check whether the first argument is a redirection operator token. -# Report result via the exit code. -_zsh_highlight_main__is_redirection() { - # A redirection operator token: - # - starts with an optional single-digit number; - # - then, has a '<' or '>' character; - # - is not a process substitution [<(...) or >(...)]. - # - is not a numeric glob <-> - [[ $1 == (<0-9>|)(\<|\>)* ]] && [[ $1 != (\<|\>)$'\x28'* ]] && [[ $1 != *'<'*'-'*'>'* ]] -} - -# Resolve alias. -# -# Takes a single argument. -# -# The result will be stored in REPLY. -_zsh_highlight_main__resolve_alias() { - if zmodload -e zsh/parameter; then - REPLY=${aliases[$arg]} - else - REPLY="${"$(alias -- $arg)"#*=}" - fi -} - -# Return true iff $1 is a global alias -_zsh_highlight_main__is_global_alias() { - if zmodload -e zsh/parameter; then - (( ${+galiases[$arg]} )) - elif [[ $arg == '='* ]]; then - # avoid running into «alias -L '=foo'» erroring out with 'bad assignment' - return 1 - else - alias -L -g -- "$1" >/dev/null - fi -} - -# Check that the top of $braces_stack has the expected value. If it does, set -# the style according to $2; otherwise, set style=unknown-token. -# -# $1: character expected to be at the top of $braces_stack -# $2: optional assignment to style it if matches -# return value is 0 if there is a match else 1 -_zsh_highlight_main__stack_pop() { - if [[ $braces_stack[1] == $1 ]]; then - braces_stack=${braces_stack:1} - if (( $+2 )); then - style=$2 - fi - return 0 - else - style=unknown-token - return 1 - fi -} - -# Main syntax highlighting function. -_zsh_highlight_highlighter_main_paint() -{ - setopt localoptions extendedglob - - # At the PS3 prompt and in vared, highlight nothing. - # - # (We can't check this in _zsh_highlight_highlighter_main_predicate because - # if the predicate returns false, the previous value of region_highlight - # would be reused.) - if [[ $CONTEXT == (select|vared) ]]; then - return - fi - - typeset -a ZSH_HIGHLIGHT_TOKENS_COMMANDSEPARATOR - typeset -a ZSH_HIGHLIGHT_TOKENS_CONTROL_FLOW - local -a options_to_set reply # used in callees - local REPLY - - # $flags_with_argument is a set of letters, corresponding to the option letters - # that would be followed by a colon in a getopts specification. - local flags_with_argument - # $flags_sans_argument is a set of letters, corresponding to the option letters - # that wouldn't be followed by a colon in a getopts specification. - local flags_sans_argument - # $flags_solo is a set of letters, corresponding to option letters that, if - # present, mean the precommand will not be acting as a precommand, i.e., will - # not be followed by a :start: word. - local flags_solo - # $precommand_options maps precommand name to values of $flags_with_argument, - # $flags_sans_argument, and flags_solo for that precommand, joined by a - # colon. (The value is NOT a getopt(3) spec, although it resembles one.) - # - # Currently, setting $flags_sans_argument is only important for commands that - # have a non-empty $flags_with_argument; see test-data/precommand4.zsh. - local -A precommand_options - precommand_options=( - # Precommand modifiers as of zsh 5.6.2 cf. zshmisc(1). - '-' '' - 'builtin' '' - 'command' :pvV - 'exec' a:cl - 'noglob' '' - # 'time' and 'nocorrect' shouldn't be added here; they're reserved words, not precommands. - - 'doas' aCu:Lns # as of OpenBSD's doas(1) dated September 4, 2016 - 'nice' n: # as of current POSIX spec - 'pkexec' '' # doesn't take short options; immune to #121 because it's usually not passed --option flags - # Not listed: -h, which has two different meanings. - 'sudo' Cgprtu:AEHPSbilns:eKkVv # as of sudo 1.8.21p2 - 'stdbuf' ioe: - 'eatmydata' '' - 'catchsegv' '' - 'nohup' '' - 'setsid' :wc - 'env' u:i - 'ionice' cn:t:pPu # util-linux 2.33.1-0.1 - 'strace' IbeaosXPpEuOS:ACdfhikqrtTvVxyDc # strace 4.26-0.2 - - # As of OpenSSH 8.1p1 - 'ssh-agent' aEPt:csDd:k - # suckless-tools v44 - # Argumentless flags that can't be followed by a command: -v - 'tabbed' gnprtTuU:cdfhs - - # moreutils 0.62-1 - 'chronic' :ev - 'ifne' :n - - ) - # Commands that would need to skip one positional argument: - # flock - # ssh - - if [[ $zsyh_user_options[ignorebraces] == on || ${zsyh_user_options[ignoreclosebraces]:-off} == on ]]; then - local right_brace_is_recognised_everywhere=false - else - local right_brace_is_recognised_everywhere=true - fi - - if [[ $zsyh_user_options[pathdirs] == on ]]; then - options_to_set+=( PATH_DIRS ) - fi - - ZSH_HIGHLIGHT_TOKENS_COMMANDSEPARATOR=( - '|' '||' ';' '&' '&&' - $'\n' # ${(z)} returns ';' but we convert it to $'\n' - '|&' - '&!' '&|' - # ### 'case' syntax, but followed by a pattern, not by a command - # ';;' ';&' ';|' - ) - - # Tokens that, at (naively-determined) "command position", are followed by - # a de jure command position. All of these are reserved words. - ZSH_HIGHLIGHT_TOKENS_CONTROL_FLOW=( - $'\x7b' # block - $'\x28' # subshell - '()' # anonymous function - 'while' - 'until' - 'if' - 'then' - 'elif' - 'else' - 'do' - 'time' - 'coproc' - '!' # reserved word; unrelated to $histchars[1] - ) - - if (( $+X_ZSH_HIGHLIGHT_DIRS_BLACKLIST )); then - print >&2 'zsh-syntax-highlighting: X_ZSH_HIGHLIGHT_DIRS_BLACKLIST is deprecated. Please use ZSH_HIGHLIGHT_DIRS_BLACKLIST.' - ZSH_HIGHLIGHT_DIRS_BLACKLIST=($X_ZSH_HIGHLIGHT_DIRS_BLACKLIST) - unset X_ZSH_HIGHLIGHT_DIRS_BLACKLIST - fi - - _zsh_highlight_main_highlighter_highlight_list -$#PREBUFFER '' 1 "$PREBUFFER$BUFFER" - - # end is a reserved word - local start end_ style - for start end_ style in $reply; do - (( start >= end_ )) && { print -r -- >&2 "zsh-syntax-highlighting: BUG: _zsh_highlight_highlighter_main_paint: start($start) >= end($end_)"; return } - (( end_ <= 0 )) && continue - (( start < 0 )) && start=0 # having start<0 is normal with e.g. multiline strings - _zsh_highlight_main_calculate_fallback $style - _zsh_highlight_add_highlight $start $end_ $reply - done -} - -# Try to expand $1, if it's possible to do so safely. -# -# Uses two parameters from the caller: $parameter_name_pattern and $res. -# -# If expansion was done, set $reply to the expansion and return true. -# Otherwise, return false. -_zsh_highlight_main_highlighter__try_expand_parameter() -{ - local arg="$1" - unset reply - { - # ### For now, expand just '$foo' or '${foo}', possibly with braces, but with - # ### no other features of the parameter expansion syntax. (No ${(x)foo}, - # ### no ${foo[x]}, no ${foo:-x}.) - { - local -a match mbegin mend - local MATCH; integer MBEGIN MEND - local parameter_name - local -a words - if [[ $arg[1] != '$' ]]; then - return 1 - fi - if [[ ${arg[2]} == '{' ]] && [[ ${arg[-1]} == '}' ]]; then - parameter_name=${${arg:2}%?} - else - parameter_name=${arg:1} - fi - if [[ $res == none ]] && - [[ ${parameter_name} =~ ^${~parameter_name_pattern}$ ]] && - [[ ${(tP)MATCH} != *special* ]] - then - # Set $arg and update $res. - case ${(tP)MATCH} in - (*array*|*assoc*) - words=( ${(P)MATCH} ) - ;; - ("") - # not set - words=( ) - ;; - (*) - # scalar, presumably - words=( ${(P)MATCH} ) - ;; - esac - reply=( "${words[@]}" ) - else - return 1 - fi - } - } -} - -# $1 is the offset of $4 from the parent buffer. Added to the returned highlights. -# $2 is the initial braces_stack (for a closing paren). -# $3 is 1 if $4 contains the end of $BUFFER, else 0. -# $4 is the buffer to highlight. -# Returns: -# $REPLY: $buf[REPLY] is the last character parsed. -# $reply is an array of region_highlight additions. -# exit code is 0 if the braces_stack is empty, 1 otherwise. -_zsh_highlight_main_highlighter_highlight_list() -{ - integer start_pos end_pos=0 buf_offset=$1 has_end=$3 - # alias_style is the style to apply to an alias once $#in_alias == 0 - # Usually 'alias' but set to 'unknown-token' if any word expanded from - # the alias would be highlighted as unknown-token - # param_style is analogous for parameter expansions - local alias_style param_style last_arg arg buf=$4 highlight_glob=true saw_assignment=false style - local in_array_assignment=false # true between 'a=(' and the matching ')' - # in_alias is an array of integers with each element equal to the number - # of shifts needed until arg=args[1] pops an arg from the next level up - # alias or from BUFFER. - # in_param is analogous for parameter expansions - integer in_param=0 len=$#buf - local -a in_alias match mbegin mend list_highlights - # seen_alias is a map of aliases already seen to avoid loops like alias a=b b=a - local -A seen_alias - # Pattern for parameter names - readonly parameter_name_pattern='([A-Za-z_][A-Za-z0-9_]*|[0-9]+)' - list_highlights=() - - # "R" for round - # "Q" for square - # "Y" for curly - # "T" for [[ ]] - # "S" for $( ), =( ), <( ), >( ) - # "D" for do/done - # "$" for 'end' (matches 'foreach' always; also used with cshjunkiequotes in repeat/while) - # "?" for 'if'/'fi'; also checked by 'elif'/'else' - # ":" for 'then' - local braces_stack=$2 - - # State machine - # - # The states are: - # - :start: Command word - # - :start_of_pipeline: Start of a 'pipeline' as defined in zshmisc(1). - # Only valid when :start: is present - # - :sudo_opt: A leading-dash option to a precommand, whether it takes an - # argument or not. (Example: sudo's "-u" or "-i".) - # - :sudo_arg: The argument to a precommand's leading-dash option, - # when given as a separate word; i.e., "foo" in "-u foo" (two - # words) but not in "-ufoo" (one word). - # Note: :sudo_opt: and :sudo_arg: are used for any precommand - # declared in ${precommand_options}, not just for sudo(8). - # The naming is historical. - # - :regular: "Not a command word", and command delimiters are permitted. - # Mainly used to detect premature termination of commands. - # - :always: The word 'always' in the «{ foo } always { bar }» syntax. - # - # When the kind of a word is not yet known, $this_word / $next_word may contain - # multiple states. For example, after "sudo -i", the next word may be either - # another --flag or a command name, hence the state would include both ':start:' - # and ':sudo_opt:'. - # - # The tokens are always added with both leading and trailing colons to serve as - # word delimiters (an improvised array); [[ $x == *':foo:'* ]] and x=${x//:foo:/} - # will DTRT regardless of how many elements or repetitions $x has. - # - # Handling of redirections: upon seeing a redirection token, we must stall - # the current state --- that is, the value of $this_word --- for two iterations - # (one for the redirection operator, one for the word following it representing - # the redirection target). Therefore, we set $in_redirection to 2 upon seeing a - # redirection operator, decrement it each iteration, and stall the current state - # when it is non-zero. Thus, upon reaching the next word (the one that follows - # the redirection operator and target), $this_word will still contain values - # appropriate for the word immediately following the word that preceded the - # redirection operator. - # - # The "the previous word was a redirection operator" state is not communicated - # to the next iteration via $next_word/$this_word as usual, but via - # $in_redirection. The value of $next_word from the iteration that processed - # the operator is discarded. - # - # $in_redirection is currently used for: - # - comments - # - aliases - # - redirections - # - parameter elision in command position - # - 'repeat' loops - # - local this_word next_word=':start::start_of_pipeline:' - integer in_redirection - # Processing buffer - local proc_buf="$buf" - local -a args - if [[ $zsyh_user_options[interactivecomments] == on ]]; then - args=(${(zZ+c+)buf}) - else - args=(${(z)buf}) - fi - - # Special case: $(<*) isn't globbing. - if [[ $braces_stack == 'S' ]] && (( $+args[3] && ! $+args[4] )) && [[ $args[3] == $'\x29' ]] && - [[ $args[1] == *'<'* ]] && _zsh_highlight_main__is_redirection $args[1]; then - highlight_glob=false - fi - - while (( $#args )); do - last_arg=$arg - arg=$args[1] - shift args - if (( $#in_alias )); then - (( in_alias[1]-- )) - # Remove leading 0 entries - in_alias=($in_alias[$in_alias[(i)<1->],-1]) - if (( $#in_alias == 0 )); then - seen_alias=() - # start_pos and end_pos are of the alias (previous $arg) here - _zsh_highlight_main_add_region_highlight $start_pos $end_pos $alias_style - else - # We can't unset keys that contain special characters (] \ and some others). - # More details: https://www.zsh.org/workers/43269 - (){ - local alias_name - for alias_name in ${(k)seen_alias[(R)<$#in_alias->]}; do - seen_alias=("${(@kv)seen_alias[(I)^$alias_name]}") - done - } - fi - fi - if (( in_param )); then - (( in_param-- )) - if (( in_param == 0 )); then - # start_pos and end_pos are of the '$foo' word (previous $arg) here - _zsh_highlight_main_add_region_highlight $start_pos $end_pos $param_style - param_style="" - fi - fi - - # Initialize this_word and next_word. - if (( in_redirection == 0 )); then - this_word=$next_word - next_word=':regular:' - elif (( !in_param )); then - # Stall $next_word. - (( --in_redirection )) - fi - - # Initialize per-"simple command" [zshmisc(1)] variables: - # - # $style how to highlight $arg - # $in_array_assignment boolean flag for "between '(' and ')' of array assignment" - # $highlight_glob boolean flag for "'noglob' is in effect" - # $saw_assignment boolean flag for "was preceded by an assignment" - # - style=unknown-token - if [[ $this_word == *':start:'* ]]; then - in_array_assignment=false - if [[ $arg == 'noglob' ]]; then - highlight_glob=false - fi - fi - - if (( $#in_alias == 0 && in_param == 0 )); then - # Compute the new $start_pos and $end_pos, skipping over whitespace in $buf. - [[ "$proc_buf" = (#b)(#s)(([ $'\t']|[\\]$'\n')#)(?|)* ]] - # The first, outer parenthesis - integer offset="${#match[1]}" - (( start_pos = end_pos + offset )) - (( end_pos = start_pos + $#arg )) - - # The zsh lexer considers ';' and newline to be the same token, so - # ${(z)} converts all newlines to semicolons. Convert them back here to - # make later processing simpler. - [[ $arg == ';' && ${match[3]} == $'\n' ]] && arg=$'\n' - - # Compute the new $proc_buf. We advance it - # (chop off characters from the beginning) - # beyond what end_pos points to, by skipping - # as many characters as end_pos was advanced. - # - # end_pos was advanced by $offset (via start_pos) - # and by $#arg. Note the `start_pos=$end_pos` - # below. - # - # As for the [,len]. We could use [,len-start_pos+offset] - # here, but to make it easier on eyes, we use len and - # rely on the fact that Zsh simply handles that. The - # length of proc_buf is len-start_pos+offset because - # we're chopping it to match current start_pos, so its - # length matches the previous value of start_pos. - # - # Why [,-1] is slower than [,length] isn't clear. - proc_buf="${proc_buf[offset + $#arg + 1,len]}" - fi - - # Handle the INTERACTIVE_COMMENTS option. - # - # We use the (Z+c+) flag so the entire comment is presented as one token in $arg. - if [[ $zsyh_user_options[interactivecomments] == on && $arg[1] == $histchars[3] ]]; then - if [[ $this_word == *(':regular:'|':start:')* ]]; then - style=comment - else - style=unknown-token # prematurely terminated - fi - _zsh_highlight_main_add_region_highlight $start_pos $end_pos $style - # Stall this arg - in_redirection=1 - continue - fi - - if [[ $this_word == *':start:'* ]] && ! (( in_redirection )); then - # Expand aliases. - # An alias is ineligible for expansion while it's being expanded (see #652/#653). - _zsh_highlight_main__type "$arg" "$(( ! ${+seen_alias[$arg]} ))" - local res="$REPLY" - if [[ $res == "alias" ]]; then - # Mark insane aliases as unknown-token (cf. #263). - if [[ $arg == ?*=* ]]; then - _zsh_highlight_main_add_region_highlight $start_pos $end_pos unknown-token - continue - fi - seen_alias[$arg]=$#in_alias - _zsh_highlight_main__resolve_alias $arg - local -a alias_args - # Elision is desired in case alias x='' - if [[ $zsyh_user_options[interactivecomments] == on ]]; then - alias_args=(${(zZ+c+)REPLY}) - else - alias_args=(${(z)REPLY}) - fi - args=( $alias_args $args ) - if (( $#in_alias == 0 )); then - alias_style=alias - else - # Transfer the count of this arg to the new element about to be appended. - (( in_alias[1]-- )) - fi - # Add one because we will in_alias[1]-- on the next loop iteration so - # this iteration should be considered in in_alias as well - in_alias=( $(($#alias_args + 1)) $in_alias ) - (( in_redirection++ )) # Stall this arg - continue - else - _zsh_highlight_main_highlighter_expand_path $arg - _zsh_highlight_main__type "$REPLY" 0 - res="$REPLY" - fi - fi - - # Analyse the current word. - if _zsh_highlight_main__is_redirection $arg ; then - if (( in_redirection == 1 )); then - # Two consecuive redirection operators is an error. - _zsh_highlight_main_add_region_highlight $start_pos $end_pos unknown-token - else - in_redirection=2 - _zsh_highlight_main_add_region_highlight $start_pos $end_pos redirection - fi - continue - elif [[ $arg == '{'${~parameter_name_pattern}'}' ]] && _zsh_highlight_main__is_redirection $args[1]; then - # named file descriptor: {foo}>&2 - in_redirection=3 - _zsh_highlight_main_add_region_highlight $start_pos $end_pos named-fd - continue - fi - - # Expand parameters. - if (( ! in_param )) && _zsh_highlight_main_highlighter__try_expand_parameter "$arg"; then - # That's not entirely correct --- if the parameter's value happens to be a reserved - # word, the parameter expansion will be highlighted as a reserved word --- but that - # incorrectness is outweighed by the usability improvement of permitting the use of - # parameters that refer to commands, functions, and builtins. - () { - local -a words; words=( "${reply[@]}" ) - if (( $#words == 0 )) && (( ! in_redirection )); then - # Parameter elision is happening - (( ++in_redirection )) - _zsh_highlight_main_add_region_highlight $start_pos $end_pos comment - continue - else - (( in_param = 1 + $#words )) - args=( $words $args ) - arg=$args[1] - _zsh_highlight_main__type "$arg" 0 - res=$REPLY - fi - } - fi - - # Parse the sudo command line - if (( ! in_redirection )); then - if [[ $this_word == *':sudo_opt:'* ]]; then - if [[ -n $flags_with_argument ]] && - { - # Trenary - if [[ -n $flags_sans_argument ]] - then [[ $arg == '-'[$flags_sans_argument]#[$flags_with_argument] ]] - else [[ $arg == '-'[$flags_with_argument] ]] - fi - } then - # Flag that requires an argument - this_word=${this_word//:start:/} - next_word=':sudo_arg:' - elif [[ -n $flags_with_argument ]] && - { - # Trenary - if [[ -n $flags_sans_argument ]] - then [[ $arg == '-'[$flags_sans_argument]#[$flags_with_argument]* ]] - else [[ $arg == '-'[$flags_with_argument]* ]] - fi - } then - # Argument attached in the same word - this_word=${this_word//:start:/} - next_word+=':start:' - next_word+=':sudo_opt:' - elif [[ -n $flags_sans_argument ]] && - [[ $arg == '-'[$flags_sans_argument]# ]]; then - # Flag that requires no argument - this_word=':sudo_opt:' - next_word+=':start:' - next_word+=':sudo_opt:' - elif [[ -n $flags_solo ]] && - { - # Trenary - if [[ -n $flags_sans_argument ]] - then [[ $arg == '-'[$flags_sans_argument]#[$flags_solo]* ]] - else [[ $arg == '-'[$flags_solo]* ]] - fi - } then - # Solo flags - this_word=':sudo_opt:' - next_word=':regular:' # no :start:, nor :sudo_opt: since we don't know whether the solo flag takes an argument or not - elif [[ $arg == '-'* ]]; then - # Unknown flag. We don't know whether it takes an argument or not, - # so modify $next_word as we do for flags that require no argument. - # With that behaviour, if the flag in fact takes no argument we'll - # highlight the inner command word correctly, and if it does take an - # argument we'll highlight the command word correctly if the argument - # was given in the same shell word as the flag (as in '-uphy1729' or - # '--user=phy1729' without spaces). - this_word=':sudo_opt:' - next_word+=':start:' - next_word+=':sudo_opt:' - else - # Not an option flag; nothing to do. (If the command line is - # syntactically valid, ${this_word//:sudo_opt:/} should be - # non-empty now.) - this_word=${this_word//:sudo_opt:/} - fi - elif [[ $this_word == *':sudo_arg:'* ]]; then - next_word+=':sudo_opt:' - next_word+=':start:' - fi - fi - - # The Great Fork: is this a command word? Is this a non-command word? - if [[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_COMMANDSEPARATOR:#"$arg"} ]] && - [[ $braces_stack != *T* || $arg != ('||'|'&&') ]]; then - - # First, determine the style of the command separator itself. - if _zsh_highlight_main__stack_pop T || _zsh_highlight_main__stack_pop Q; then - # Missing closing square bracket(s) - style=unknown-token - elif $in_array_assignment; then - case $arg in - # Literal newlines are just fine. - ($'\n') style=commandseparator;; - # Semicolons are parsed the same way as literal newlines. Nevertheless, - # highlight them as errors since they're probably unintended. Compare - # issue #691. - (';') style=unknown-token;; - # Other command separators aren't allowed. - (*) style=unknown-token;; - esac - elif [[ $this_word == *':regular:'* ]]; then - style=commandseparator - elif [[ $this_word == *':start:'* ]] && [[ $arg == $'\n' ]]; then - style=commandseparator - elif [[ $this_word == *':start:'* ]] && [[ $arg == ';' ]] && (( $#in_alias )); then - style=commandseparator - else - # Empty commands (semicolon follows nothing) are valid syntax. - # However, in interactive use they are likely to be erroneous; - # therefore, we highlight them as errors. - # - # Alias definitions are exempted from this check to allow multiline aliases - # with explicit (redundant) semicolons: «alias foo=$'bar;\nbaz'» (issue #677). - # - # See also #691 about possibly changing the style used here. - style=unknown-token - fi - - # Second, determine the style of next_word. - if [[ $arg == $'\n' ]] && $in_array_assignment; then - # literal newline inside an array assignment - next_word=':regular:' - elif [[ $arg == ';' ]] && $in_array_assignment; then - # literal semicolon inside an array assignment - next_word=':regular:' - else - next_word=':start:' - highlight_glob=true - saw_assignment=false - (){ - local alias_name - for alias_name in ${(k)seen_alias[(R)<$#in_alias->]}; do - # We can't unset keys that contain special characters (] \ and some others). - # More details: https://www.zsh.org/workers/43269 - seen_alias=("${(@kv)seen_alias[(I)^$alias_name]}") - done - } - if [[ $arg != '|' && $arg != '|&' ]]; then - next_word+=':start_of_pipeline:' - fi - fi - - elif ! (( in_redirection)) && [[ $this_word == *':always:'* && $arg == 'always' ]]; then - # try-always construct - style=reserved-word # de facto a reserved word, although not de jure - highlight_glob=true - saw_assignment=false - next_word=':start::start_of_pipeline:' # only left brace is allowed, apparently - elif ! (( in_redirection)) && [[ $this_word == *':start:'* ]]; then # $arg is the command word - if (( ${+precommand_options[$arg]} )) && _zsh_highlight_main__is_runnable $arg; then - style=precommand - () { - set -- "${(@s.:.)precommand_options[$arg]}" - flags_with_argument=$1 - flags_sans_argument=$2 - flags_solo=$3 - } - next_word=${next_word//:regular:/} - next_word+=':sudo_opt:' - next_word+=':start:' - if [[ $arg == 'exec' || $arg == 'env' ]]; then - # To allow "exec 2>&1;" and "env | grep" where there's no command word - next_word+=':regular:' - fi - else - case $res in - (reserved) # reserved word - style=reserved-word - # Match braces and handle special cases. - case $arg in - (time|nocorrect) - next_word=${next_word//:regular:/} - next_word+=':start:' - ;; - ($'\x7b') - braces_stack='Y'"$braces_stack" - ;; - ($'\x7d') - # We're at command word, so no need to check $right_brace_is_recognised_everywhere - _zsh_highlight_main__stack_pop 'Y' reserved-word - if [[ $style == reserved-word ]]; then - next_word+=':always:' - fi - ;; - ($'\x5b\x5b') - braces_stack='T'"$braces_stack" - ;; - ('do') - braces_stack='D'"$braces_stack" - ;; - ('done') - _zsh_highlight_main__stack_pop 'D' reserved-word - ;; - ('if') - braces_stack=':?'"$braces_stack" - ;; - ('then') - _zsh_highlight_main__stack_pop ':' reserved-word - ;; - ('elif') - if [[ ${braces_stack[1]} == '?' ]]; then - braces_stack=':'"$braces_stack" - else - style=unknown-token - fi - ;; - ('else') - if [[ ${braces_stack[1]} == '?' ]]; then - : - else - style=unknown-token - fi - ;; - ('fi') - _zsh_highlight_main__stack_pop '?' - ;; - ('foreach') - braces_stack='$'"$braces_stack" - ;; - ('end') - _zsh_highlight_main__stack_pop '$' reserved-word - ;; - ('repeat') - # skip the repeat-count word - in_redirection=2 - # The redirection mechanism assumes $this_word describes the word - # following the redirection. Make it so. - # - # That word can be a command word with shortloops (`repeat 2 ls`) - # or a command separator (`repeat 2; ls` or `repeat 2; do ls; done`). - # - # The repeat-count word will be handled like a redirection target. - this_word=':start::regular:' - ;; - ('!') - if [[ $this_word != *':start_of_pipeline:'* ]]; then - style=unknown-token - else - # '!' reserved word at start of pipeline; style already set above - fi - ;; - esac - if $saw_assignment && [[ $style != unknown-token ]]; then - style=unknown-token - fi - ;; - ('suffix alias') - style=suffix-alias - ;; - ('global alias') - style=global-alias - ;; - (alias) :;; - (builtin) style=builtin - [[ $arg == $'\x5b' ]] && braces_stack='Q'"$braces_stack" - ;; - (function) style=function;; - (command) style=command;; - (hashed) style=hashed-command;; - (none) if (( ! in_param )) && _zsh_highlight_main_highlighter_check_assign; then - _zsh_highlight_main_add_region_highlight $start_pos $end_pos assign - local i=$(( arg[(i)=] + 1 )) - saw_assignment=true - if [[ $arg[i] == '(' ]]; then - in_array_assignment=true - _zsh_highlight_main_add_region_highlight start_pos+i-1 start_pos+i reserved-word - else - # assignment to a scalar parameter. - # (For array assignments, the command doesn't start until the ")" token.) - # - # Discard :start_of_pipeline:, if present, as '!' is not valid - # after assignments. - next_word+=':start:' - if (( i <= $#arg )); then - () { - local highlight_glob=false - [[ $zsyh_user_options[globassign] == on ]] && highlight_glob=true - _zsh_highlight_main_highlighter_highlight_argument $i - } - fi - fi - continue - elif (( ! in_param )) && - [[ $arg[0,1] = $histchars[0,1] ]] && (( $#arg[0,2] == 2 )); then - style=history-expansion - elif (( ! in_param )) && - [[ $arg[0,1] == $histchars[2,2] ]]; then - style=history-expansion - elif (( ! in_param )) && - ! $saw_assignment && - [[ $arg[1,2] == '((' ]]; then - # Arithmetic evaluation. - # - # Note: prior to zsh-5.1.1-52-g4bed2cf (workers/36669), the ${(z)...} - # splitter would only output the '((' token if the matching '))' had - # been typed. Therefore, under those versions of zsh, BUFFER="(( 42" - # would be highlighted as an error until the matching "))" are typed. - # - # We highlight just the opening parentheses, as a reserved word; this - # is how [[ ... ]] is highlighted, too. - _zsh_highlight_main_add_region_highlight $start_pos $((start_pos + 2)) reserved-word - if [[ $arg[-2,-1] == '))' ]]; then - _zsh_highlight_main_add_region_highlight $((end_pos - 2)) $end_pos reserved-word - fi - continue - elif (( ! in_param )) && - [[ $arg == '()' ]]; then - # anonymous function - style=reserved-word - elif (( ! in_param )) && - ! $saw_assignment && - [[ $arg == $'\x28' ]]; then - # subshell - style=reserved-word - braces_stack='R'"$braces_stack" - elif (( ! in_param )) && - [[ $arg == $'\x29' ]]; then - # end of subshell or command substitution - if _zsh_highlight_main__stack_pop 'S'; then - REPLY=$start_pos - reply=($list_highlights) - return 0 - fi - _zsh_highlight_main__stack_pop 'R' reserved-word - else - if _zsh_highlight_main_highlighter_check_path $arg 1; then - style=$REPLY - else - style=unknown-token - fi - fi - ;; - (*) _zsh_highlight_main_add_region_highlight $start_pos $end_pos arg0_$res - continue - ;; - esac - fi - if [[ -n ${(M)ZSH_HIGHLIGHT_TOKENS_CONTROL_FLOW:#"$arg"} ]]; then - next_word=':start::start_of_pipeline:' - fi - elif _zsh_highlight_main__is_global_alias "$arg"; then # $arg is a global alias that isn't in command position - style=global-alias - else # $arg is a non-command word - case $arg in - ($'\x29') - # subshell or end of array assignment - if $in_array_assignment; then - _zsh_highlight_main_add_region_highlight $start_pos $end_pos assign - _zsh_highlight_main_add_region_highlight $start_pos $end_pos reserved-word - in_array_assignment=false - next_word+=':start:' - continue - elif (( in_redirection )); then - style=unknown-token - else - if _zsh_highlight_main__stack_pop 'S'; then - REPLY=$start_pos - reply=($list_highlights) - return 0 - fi - _zsh_highlight_main__stack_pop 'R' reserved-word - fi - ;; - ($'\x28\x29') - # possibly a function definition - if (( in_redirection )) || $in_array_assignment; then - style=unknown-token - else - if [[ $zsyh_user_options[multifuncdef] == on ]] || false # TODO: or if the previous word was a command word - then - next_word+=':start::start_of_pipeline:' - fi - style=reserved-word - fi - ;; - (*) if false; then - elif [[ $arg = $'\x7d' ]] && $right_brace_is_recognised_everywhere; then - # Parsing rule: { - # - # Additionally, `tt(})' is recognized in any position if neither the - # tt(IGNORE_BRACES) option nor the tt(IGNORE_CLOSE_BRACES) option is set. - if (( in_redirection )) || $in_array_assignment; then - style=unknown-token - else - _zsh_highlight_main__stack_pop 'Y' reserved-word - if [[ $style == reserved-word ]]; then - next_word+=':always:' - fi - fi - elif [[ $arg[0,1] = $histchars[0,1] ]] && (( $#arg[0,2] == 2 )); then - style=history-expansion - elif [[ $arg == $'\x5d\x5d' ]] && _zsh_highlight_main__stack_pop 'T' reserved-word; then - : - elif [[ $arg == $'\x5d' ]] && _zsh_highlight_main__stack_pop 'Q' builtin; then - : - else - _zsh_highlight_main_highlighter_highlight_argument 1 $(( 1 != in_redirection )) - continue - fi - ;; - esac - fi - _zsh_highlight_main_add_region_highlight $start_pos $end_pos $style - done - (( $#in_alias )) && in_alias=() _zsh_highlight_main_add_region_highlight $start_pos $end_pos $alias_style - (( in_param == 1 )) && in_param=0 _zsh_highlight_main_add_region_highlight $start_pos $end_pos $param_style - [[ "$proc_buf" = (#b)(#s)(([[:space:]]|\\$'\n')#) ]] - REPLY=$(( end_pos + ${#match[1]} - 1 )) - reply=($list_highlights) - return $(( $#braces_stack > 0 )) -} - -# Check if $arg is variable assignment -_zsh_highlight_main_highlighter_check_assign() -{ - setopt localoptions extended_glob - [[ $arg == [[:alpha:]_][[:alnum:]_]#(|\[*\])(|[+])=* ]] || - [[ $arg == [0-9]##(|[+])=* ]] -} - -_zsh_highlight_main_highlighter_highlight_path_separators() -{ - local pos style_pathsep - style_pathsep=$1_pathseparator - reply=() - [[ -z "$ZSH_HIGHLIGHT_STYLES[$style_pathsep]" || "$ZSH_HIGHLIGHT_STYLES[$1]" == "$ZSH_HIGHLIGHT_STYLES[$style_pathsep]" ]] && return 0 - for (( pos = start_pos; $pos <= end_pos; pos++ )) ; do - if [[ $BUFFER[pos] == / ]]; then - reply+=($((pos - 1)) $pos $style_pathsep) - fi - done -} - -# Check if $1 is a path. -# If yes, return 0 and in $REPLY the style to use. -# Else, return non-zero (and the contents of $REPLY is undefined). -# -# $2 should be non-zero iff we're in command position. -_zsh_highlight_main_highlighter_check_path() -{ - _zsh_highlight_main_highlighter_expand_path "$1" - local expanded_path="$REPLY" tmp_path - integer in_command_position=$2 - - if [[ $zsyh_user_options[autocd] == on ]]; then - integer autocd=1 - else - integer autocd=0 - fi - - if (( in_command_position )); then - # ### Currently, this value is never returned: either it's overwritten - # ### below, or the return code is non-zero - REPLY=arg0 - else - REPLY=path - fi - - if [[ ${1[1]} == '=' && $1 == ??* && ${1[2]} != $'\x28' && $zsyh_user_options[equals] == 'on' && $expanded_path[1] != '/' ]]; then - REPLY=unknown-token # will error out if executed - return 0 - fi - - [[ -z $expanded_path ]] && return 1 - - # Check if this is a blacklisted path - if [[ $expanded_path[1] == / ]]; then - tmp_path=$expanded_path - else - tmp_path=$PWD/$expanded_path - fi - tmp_path=$tmp_path:a - - while [[ $tmp_path != / ]]; do - [[ -n ${(M)ZSH_HIGHLIGHT_DIRS_BLACKLIST:#$tmp_path} ]] && return 1 - tmp_path=$tmp_path:h - done - - if (( in_command_position )); then - if [[ -x $expanded_path ]]; then - if (( autocd )); then - if [[ -d $expanded_path ]]; then - REPLY=autodirectory - fi - return 0 - elif [[ ! -d $expanded_path ]]; then - # ### This seems unreachable for the current callers - return 0 - fi - fi - else - if [[ -L $expanded_path || -e $expanded_path ]]; then - return 0 - fi - fi - - # Search the path in CDPATH - if [[ $expanded_path != /* ]] && (( autocd || ! in_command_position )); then - # TODO: When we've dropped support for pre-5.0.6 zsh, use the *(Y1) glob qualifier here. - local cdpath_dir - for cdpath_dir in $cdpath ; do - if [[ -d "$cdpath_dir/$expanded_path" && -x "$cdpath_dir/$expanded_path" ]]; then - if (( in_command_position && autocd )); then - REPLY=autodirectory - fi - return 0 - fi - done - fi - - # If dirname($1) doesn't exist, neither does $1. - [[ ! -d ${expanded_path:h} ]] && return 1 - - # If this word ends the buffer, check if it's the prefix of a valid path. - if (( has_end && (len == end_pos) )) && - (( ! $#in_alias )) && - [[ $WIDGET != zle-line-finish ]]; then - # TODO: When we've dropped support for pre-5.0.6 zsh, use the *(Y1) glob qualifier here. - local -a tmp - if (( in_command_position )); then - # We include directories even when autocd is enabled, because those - # directories might contain executable files: e.g., BUFFER="/bi" en route - # to typing "/bin/sh". - tmp=( ${expanded_path}*(N-*,N-/) ) - else - tmp=( ${expanded_path}*(N) ) - fi - (( ${+tmp[1]} )) && REPLY=path_prefix && return 0 - fi - - # It's not a path. - return 1 -} - -# Highlight an argument and possibly special chars in quotes starting at $1 in $arg -# This command will at least highlight $1 to end_pos with the default style -# If $2 is set to 0, the argument cannot be highlighted as an option. -# -# This function currently assumes it's never called for the command word. -_zsh_highlight_main_highlighter_highlight_argument() -{ - local base_style=default i=$1 option_eligible=${2:-1} path_eligible=1 ret start style - local -a highlights - - local -a match mbegin mend - local MATCH; integer MBEGIN MEND - - case "$arg[i]" in - '%') - if [[ $arg[i+1] == '?' ]]; then - (( i += 2 )) - fi - ;; - '-') - if (( option_eligible )); then - if [[ $arg[i+1] == - ]]; then - base_style=double-hyphen-option - else - base_style=single-hyphen-option - fi - path_eligible=0 - fi - ;; - '=') - if [[ $arg[i+1] == $'\x28' ]]; then - (( i += 2 )) - _zsh_highlight_main_highlighter_highlight_list $(( start_pos + i - 1 )) S $has_end $arg[i,-1] - ret=$? - (( i += REPLY )) - highlights+=( - $(( start_pos + $1 - 1 )) $(( start_pos + i )) process-substitution - $(( start_pos + $1 - 1 )) $(( start_pos + $1 + 1 )) process-substitution-delimiter - $reply - ) - if (( ret == 0 )); then - highlights+=($(( start_pos + i - 1 )) $(( start_pos + i )) process-substitution-delimiter) - fi - fi - esac - - # This loop is a hot path. Keep it fast! - (( --i )) - while (( ++i <= $#arg )); do - i=${arg[(ib.i.)[\\\'\"\`\$\<\>\*\?]]} - case "$arg[$i]" in - "") break;; - "\\") (( i += 1 )); continue;; - "'") - _zsh_highlight_main_highlighter_highlight_single_quote $i - (( i = REPLY )) - highlights+=($reply) - ;; - '"') - _zsh_highlight_main_highlighter_highlight_double_quote $i - (( i = REPLY )) - highlights+=($reply) - ;; - '`') - _zsh_highlight_main_highlighter_highlight_backtick $i - (( i = REPLY )) - highlights+=($reply) - ;; - '$') - if [[ $arg[i+1] != "'" ]]; then - path_eligible=0 - fi - if [[ $arg[i+1] == "'" ]]; then - _zsh_highlight_main_highlighter_highlight_dollar_quote $i - (( i = REPLY )) - highlights+=($reply) - continue - elif [[ $arg[i+1] == $'\x28' ]]; then - if [[ $arg[i+2] == $'\x28' ]] && _zsh_highlight_main_highlighter_highlight_arithmetic $i; then - # Arithmetic expansion - (( i = REPLY )) - highlights+=($reply) - continue - fi - start=$i - (( i += 2 )) - _zsh_highlight_main_highlighter_highlight_list $(( start_pos + i - 1 )) S $has_end $arg[i,-1] - ret=$? - (( i += REPLY )) - highlights+=( - $(( start_pos + start - 1)) $(( start_pos + i )) command-substitution-unquoted - $(( start_pos + start - 1)) $(( start_pos + start + 1)) command-substitution-delimiter-unquoted - $reply - ) - if (( ret == 0 )); then - highlights+=($(( start_pos + i - 1)) $(( start_pos + i )) command-substitution-delimiter-unquoted) - fi - continue - fi - while [[ $arg[i+1] == [=~#+'^'] ]]; do - (( i += 1 )) - done - if [[ $arg[i+1] == [*@#?$!-] ]]; then - (( i += 1 )) - fi;; - [\<\>]) - if [[ $arg[i+1] == $'\x28' ]]; then # \x28 = open paren - start=$i - (( i += 2 )) - _zsh_highlight_main_highlighter_highlight_list $(( start_pos + i - 1 )) S $has_end $arg[i,-1] - ret=$? - (( i += REPLY )) - highlights+=( - $(( start_pos + start - 1)) $(( start_pos + i )) process-substitution - $(( start_pos + start - 1)) $(( start_pos + start + 1 )) process-substitution-delimiter - $reply - ) - if (( ret == 0 )); then - highlights+=($(( start_pos + i - 1)) $(( start_pos + i )) process-substitution-delimiter) - fi - continue - fi - ;| - *) - if $highlight_glob && - [[ $zsyh_user_options[multios] == on || $in_redirection -eq 0 ]] && - [[ ${arg[$i]} =~ ^[*?] || ${arg:$i-1} =~ ^\<[0-9]*-[0-9]*\> ]]; then - highlights+=($(( start_pos + i - 1 )) $(( start_pos + i + $#MATCH - 1)) globbing) - (( i += $#MATCH - 1 )) - path_eligible=0 - else - continue - fi - ;; - esac - done - - if (( path_eligible )); then - if (( in_redirection )) && [[ $last_arg == *['<>']['&'] && $arg[$1,-1] == (<0->|p|-) ]]; then - if [[ $arg[$1,-1] == (p|-) ]]; then - base_style=redirection - else - base_style=numeric-fd - fi - # This function is currently never called for the command word, so $2 is hard-coded as 0. - elif _zsh_highlight_main_highlighter_check_path $arg[$1,-1] 0; then - base_style=$REPLY - _zsh_highlight_main_highlighter_highlight_path_separators $base_style - highlights+=($reply) - fi - fi - - highlights=($(( start_pos + $1 - 1 )) $end_pos $base_style $highlights) - _zsh_highlight_main_add_many_region_highlights $highlights -} - -# Quote Helper Functions -# -# $arg is expected to be set to the current argument -# $start_pos is expected to be set to the start of $arg in $BUFFER -# $1 is the index in $arg which starts the quote -# $REPLY is returned as the end of quote index in $arg -# $reply is returned as an array of region_highlight additions - -# Highlight single-quoted strings -_zsh_highlight_main_highlighter_highlight_single_quote() -{ - local arg1=$1 i q=\' style - i=$arg[(ib:arg1+1:)$q] - reply=() - - if [[ $zsyh_user_options[rcquotes] == on ]]; then - while [[ $arg[i+1] == "'" ]]; do - reply+=($(( start_pos + i - 1 )) $(( start_pos + i + 1 )) rc-quote) - (( i++ )) - i=$arg[(ib:i+1:)$q] - done - fi - - if [[ $arg[i] == "'" ]]; then - style=single-quoted-argument - else - # If unclosed, i points past the end - (( i-- )) - style=single-quoted-argument-unclosed - fi - reply=($(( start_pos + arg1 - 1 )) $(( start_pos + i )) $style $reply) - REPLY=$i -} - -# Highlight special chars inside double-quoted strings -_zsh_highlight_main_highlighter_highlight_double_quote() -{ - local -a breaks match mbegin mend saved_reply - local MATCH; integer last_break=$(( start_pos + $1 - 1 )) MBEGIN MEND - local i j k ret style - reply=() - - for (( i = $1 + 1 ; i <= $#arg ; i += 1 )) ; do - (( j = i + start_pos - 1 )) - (( k = j + 1 )) - case "$arg[$i]" in - ('"') break;; - ('`') saved_reply=($reply) - _zsh_highlight_main_highlighter_highlight_backtick $i - (( i = REPLY )) - reply=($saved_reply $reply) - continue - ;; - ('$') style=dollar-double-quoted-argument - # Look for an alphanumeric parameter name. - if [[ ${arg:$i} =~ ^([A-Za-z_][A-Za-z0-9_]*|[0-9]+) ]] ; then - (( k += $#MATCH )) # highlight the parameter name - (( i += $#MATCH )) # skip past it - elif [[ ${arg:$i} =~ ^[{]([A-Za-z_][A-Za-z0-9_]*|[0-9]+)[}] ]] ; then - (( k += $#MATCH )) # highlight the parameter name and braces - (( i += $#MATCH )) # skip past it - elif [[ $arg[i+1] == '$' ]]; then - # $$ - pid - (( k += 1 )) # highlight both dollar signs - (( i += 1 )) # don't consider the second one as introducing another parameter expansion - elif [[ $arg[i+1] == [-#*@?] ]]; then - # $#, $*, $@, $?, $- - like $$ above - (( k += 1 )) # highlight both dollar signs - (( i += 1 )) # don't consider the second one as introducing another parameter expansion - elif [[ $arg[i+1] == $'\x28' ]]; then - saved_reply=($reply) - if [[ $arg[i+2] == $'\x28' ]] && _zsh_highlight_main_highlighter_highlight_arithmetic $i; then - # Arithmetic expansion - (( i = REPLY )) - reply=($saved_reply $reply) - continue - fi - - breaks+=( $last_break $(( start_pos + i - 1 )) ) - (( i += 2 )) - _zsh_highlight_main_highlighter_highlight_list $(( start_pos + i - 1 )) S $has_end $arg[i,-1] - ret=$? - (( i += REPLY )) - last_break=$(( start_pos + i )) - reply=( - $saved_reply - $j $(( start_pos + i )) command-substitution-quoted - $j $(( j + 2 )) command-substitution-delimiter-quoted - $reply - ) - if (( ret == 0 )); then - reply+=($(( start_pos + i - 1 )) $(( start_pos + i )) command-substitution-delimiter-quoted) - fi - continue - else - continue - fi - ;; - "\\") style=back-double-quoted-argument - if [[ \\\`\"\$${histchars[1]} == *$arg[$i+1]* ]]; then - (( k += 1 )) # Color following char too. - (( i += 1 )) # Skip parsing the escaped char. - else - continue - fi - ;; - ($histchars[1]) # ! - may be a history expansion - if [[ $arg[i+1] != ('='|$'\x28'|$'\x7b'|[[:blank:]]) ]]; then - style=history-expansion - else - continue - fi - ;; - *) continue ;; - - esac - reply+=($j $k $style) - done - - if [[ $arg[i] == '"' ]]; then - style=double-quoted-argument - else - # If unclosed, i points past the end - (( i-- )) - style=double-quoted-argument-unclosed - fi - (( last_break != start_pos + i )) && breaks+=( $last_break $(( start_pos + i )) ) - saved_reply=($reply) - reply=() - for 1 2 in $breaks; do - (( $1 != $2 )) && reply+=($1 $2 $style) - done - reply+=($saved_reply) - REPLY=$i -} - -# Highlight special chars inside dollar-quoted strings -_zsh_highlight_main_highlighter_highlight_dollar_quote() -{ - local -a match mbegin mend - local MATCH; integer MBEGIN MEND - local i j k style - local AA - integer c - reply=() - - for (( i = $1 + 2 ; i <= $#arg ; i += 1 )) ; do - (( j = i + start_pos - 1 )) - (( k = j + 1 )) - case "$arg[$i]" in - "'") break;; - "\\") style=back-dollar-quoted-argument - for (( c = i + 1 ; c <= $#arg ; c += 1 )); do - [[ "$arg[$c]" != ([0-9xXuUa-fA-F]) ]] && break - done - AA=$arg[$i+1,$c-1] - # Matching for HEX and OCT values like \0xA6, \xA6 or \012 - if [[ "$AA" =~ "^(x|X)[0-9a-fA-F]{1,2}" - || "$AA" =~ "^[0-7]{1,3}" - || "$AA" =~ "^u[0-9a-fA-F]{1,4}" - || "$AA" =~ "^U[0-9a-fA-F]{1,8}" - ]]; then - (( k += $#MATCH )) - (( i += $#MATCH )) - else - if (( $#arg > $i+1 )) && [[ $arg[$i+1] == [xXuU] ]]; then - # \x not followed by hex digits is probably an error - style=unknown-token - fi - (( k += 1 )) # Color following char too. - (( i += 1 )) # Skip parsing the escaped char. - fi - ;; - *) continue ;; - - esac - reply+=($j $k $style) - done - - if [[ $arg[i] == "'" ]]; then - style=dollar-quoted-argument - else - # If unclosed, i points past the end - (( i-- )) - style=dollar-quoted-argument-unclosed - fi - reply=($(( start_pos + $1 - 1 )) $(( start_pos + i )) $style $reply) - REPLY=$i -} - -# Highlight backtick substitutions -_zsh_highlight_main_highlighter_highlight_backtick() -{ - # buf is the contents of the backticks with a layer of backslashes removed. - # last is the index of arg for the start of the string to be copied into buf. - # It is either one past the beginning backtick or one past the last backslash. - # offset is a count of consumed \ (the delta between buf and arg). - # offsets is an array indexed by buf offset of when the delta between buf and arg changes. - # It is sparse, so search backwards to the last value - local buf highlight style=back-quoted-argument-unclosed style_end - local -i arg1=$1 end_ i=$1 last offset=0 start subshell_has_end=0 - local -a highlight_zone highlights offsets - reply=() - - last=$(( arg1 + 1 )) - # Remove one layer of backslashes and find the end - while i=$arg[(ib:i+1:)[\\\\\`]]; do # find the next \ or ` - if (( i > $#arg )); then - buf=$buf$arg[last,i] - offsets[i-arg1-offset]='' # So we never index past the end - (( i-- )) - subshell_has_end=$(( has_end && (start_pos + i == len) )) - break - fi - - if [[ $arg[i] == '\' ]]; then - (( i++ )) - # POSIX XCU 2.6.3 - if [[ $arg[i] == ('$'|'`'|'\') ]]; then - buf=$buf$arg[last,i-2] - (( offset++ )) - # offsets is relative to buf, so adjust by -arg1 - offsets[i-arg1-offset]=$offset - else - buf=$buf$arg[last,i-1] - fi - else # it's an unquoted ` and this is the end - style=back-quoted-argument - style_end=back-quoted-argument-delimiter - buf=$buf$arg[last,i-1] - offsets[i-arg1-offset]='' # So we never index past the end - break - fi - last=$i - done - - _zsh_highlight_main_highlighter_highlight_list 0 '' $subshell_has_end $buf - - # Munge the reply to account for removed backslashes - for start end_ highlight in $reply; do - start=$(( start_pos + arg1 + start + offsets[(Rb:start:)?*] )) - end_=$(( start_pos + arg1 + end_ + offsets[(Rb:end_:)?*] )) - highlights+=($start $end_ $highlight) - if [[ $highlight == back-quoted-argument-unclosed && $style == back-quoted-argument ]]; then - # An inner backtick command substitution is unclosed, but this level is closed - style_end=unknown-token - fi - done - - reply=( - $(( start_pos + arg1 - 1 )) $(( start_pos + i )) $style - $(( start_pos + arg1 - 1 )) $(( start_pos + arg1 )) back-quoted-argument-delimiter - $highlights - ) - if (( $#style_end )); then - reply+=($(( start_pos + i - 1)) $(( start_pos + i )) $style_end) - fi - REPLY=$i -} - -# Highlight special chars inside arithmetic expansions -_zsh_highlight_main_highlighter_highlight_arithmetic() -{ - local -a saved_reply - local style - integer i j k paren_depth ret - reply=() - - for (( i = $1 + 3 ; i <= end_pos - start_pos ; i += 1 )) ; do - (( j = i + start_pos - 1 )) - (( k = j + 1 )) - case "$arg[$i]" in - [\'\"\\@{}]) - style=unknown-token - ;; - '(') - (( paren_depth++ )) - continue - ;; - ')') - if (( paren_depth )); then - (( paren_depth-- )) - continue - fi - [[ $arg[i+1] == ')' ]] && { (( i++ )); break; } - # Special case ) at the end of the buffer to avoid flashing command substitution for a character - (( has_end && (len == k) )) && break - # This is a single paren and there are no open parens, so this isn't an arithmetic expansion - return 1 - ;; - '`') - saved_reply=($reply) - _zsh_highlight_main_highlighter_highlight_backtick $i - (( i = REPLY )) - reply=($saved_reply $reply) - continue - ;; - '$' ) - if [[ $arg[i+1] == $'\x28' ]]; then - saved_reply=($reply) - if [[ $arg[i+2] == $'\x28' ]] && _zsh_highlight_main_highlighter_highlight_arithmetic $i; then - # Arithmetic expansion - (( i = REPLY )) - reply=($saved_reply $reply) - continue - fi - - (( i += 2 )) - _zsh_highlight_main_highlighter_highlight_list $(( start_pos + i - 1 )) S $has_end $arg[i,end_pos] - ret=$? - (( i += REPLY )) - reply=( - $saved_reply - $j $(( start_pos + i )) command-substitution-quoted - $j $(( j + 2 )) command-substitution-delimiter-quoted - $reply - ) - if (( ret == 0 )); then - reply+=($(( start_pos + i - 1 )) $(( start_pos + i )) command-substitution-delimiter) - fi - continue - else - continue - fi - ;; - ($histchars[1]) # ! - may be a history expansion - if [[ $arg[i+1] != ('='|$'\x28'|$'\x7b'|[[:blank:]]) ]]; then - style=history-expansion - else - continue - fi - ;; - *) - continue - ;; - - esac - reply+=($j $k $style) - done - - if [[ $arg[i] != ')' ]]; then - # If unclosed, i points past the end - (( i-- )) - fi - style=arithmetic-expansion - reply=($(( start_pos + $1 - 1)) $(( start_pos + i )) arithmetic-expansion $reply) - REPLY=$i -} - - -# Called with a single positional argument. -# Perform filename expansion (tilde expansion) on the argument and set $REPLY to the expanded value. -# -# Does not perform filename generation (globbing). -_zsh_highlight_main_highlighter_expand_path() -{ - (( $# == 1 )) || print -r -- >&2 "zsh-syntax-highlighting: BUG: _zsh_highlight_main_highlighter_expand_path: called without argument" - - # The $~1 syntax normally performs filename generation, but not when it's on the right-hand side of ${x:=y}. - setopt localoptions nonomatch - unset REPLY - : ${REPLY:=${(Q)${~1}}} -} - -# ------------------------------------------------------------------------------------------------- -# Main highlighter initialization -# ------------------------------------------------------------------------------------------------- - -_zsh_highlight_main__precmd_hook() { - # Unset the WARN_NESTED_VAR option, taking care not to error if the option - # doesn't exist (zsh older than zsh-5.3.1-test-2). - setopt localoptions - if eval '[[ -o warnnestedvar ]]' 2>/dev/null; then - unsetopt warnnestedvar - fi - - _zsh_highlight_main__command_type_cache=() -} - -autoload -Uz add-zsh-hook -if add-zsh-hook precmd _zsh_highlight_main__precmd_hook 2>/dev/null; then - # Initialize command type cache - typeset -gA _zsh_highlight_main__command_type_cache -else - print -r -- >&2 'zsh-syntax-highlighting: Failed to load add-zsh-hook. Some speed optimizations will not be used.' - # Make sure the cache is unset - unset _zsh_highlight_main__command_type_cache -fi -typeset -ga ZSH_HIGHLIGHT_DIRS_BLACKLIST diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position1.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position1.zsh @@ -1,35 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'/' - -expected_region_highlight=( - '1 1 path_prefix' # / -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position1b.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position1b.zsh @@ -1,36 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -setopt autocd -BUFFER=$'/' - -expected_region_highlight=( - '1 1 autodirectory' # / -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position2.zsh @@ -1,35 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'/bi' - -expected_region_highlight=( - '1 3 path_prefix' # /bi -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position3.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position3.zsh @@ -1,37 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'/bin; /bin' - -expected_region_highlight=( - '1 4 unknown-token' # /bin (in middle) - '5 5 commandseparator' # ; - '7 10 path_prefix' # /bin (at end) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position3b.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position3b.zsh @@ -1,38 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -setopt autocd -BUFFER=$'/bin; /bin' - -expected_region_highlight=( - '1 4 autodirectory' # /bin (in middle) - '5 5 commandseparator' # ; - '7 10 autodirectory' # /bin (at end) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position4.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position4.zsh @@ -1,35 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'/bin/s' - -expected_region_highlight=( - '1 6 path_prefix' # /bin/s -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position5.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/abspath-in-command-position5.zsh @@ -1,35 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'/bin/sh' - -expected_region_highlight=( - '1 7 command' # /bin/sh -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-assignment1.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-assignment1.zsh @@ -1,38 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# Issue #263 (more-pathological case): aliases[x=y]=z works; the ${(z)} splitter considers -# that a single word; but it's not looked up as an alias. Hence, highlight it as an error. -aliases[x=y]='lorem ipsum dolor sit amet' -BUFFER='x=y ls' - -expected_region_highlight=( - "1 3 unknown-token" # x=y - "5 6 default" # ls -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-basic.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-basic.zsh @@ -1,35 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -alias foo="echo hello world" -BUFFER="foo" - -expected_region_highlight+=( - "1 3 alias" # foo -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-brackets.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-brackets.zsh @@ -1,41 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2021 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# Have to use cat here as it must be a command that exists. -# Otherwise, the test would fail with the first token being recognized -# as an "unknown-token". -alias ]=cat - -BUFFER='] /' - -expected_region_highlight=( - '1 1 alias' # ] - '3 3 path' # / -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-command-substitution.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-command-substitution.zsh @@ -1,37 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2019 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# Alias must be at least 4 characters to test the regression -# cf. 139ea2b189819c43cc251825981c116959b15cc3 -alias foobar='echo "$(echo foobar)"' -BUFFER='foobar' - -expected_region_highlight=( - "1 6 alias" # foobar -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-comment1.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-comment1.zsh @@ -1,37 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# see alias-comment2.zsh and comment-followed.zsh -setopt interactivecomments -alias x=$'# foo\npwd' -BUFFER='x' - -expected_region_highlight=( - '1 1 alias' # x -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-comment2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-comment2.zsh @@ -1,37 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# see alias-comment1.zsh -setopt NO_interactivecomments -alias x=$'# foo\npwd' -BUFFER='x' - -expected_region_highlight=( - '1 1 unknown-token' # x (#) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-complex.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-complex.zsh @@ -1,38 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -alias x='echo && ls; >' - -BUFFER='x file echo' - -expected_region_highlight=( - '1 1 alias' # x - '3 6 default' # file - '8 11 builtin' # echo -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-empty.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-empty.zsh @@ -1,38 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -alias x='' - -BUFFER='x echo foo' - -expected_region_highlight=( - '1 1 alias' # x - '3 6 builtin' # echo - '8 10 default' # foo -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-eponymous1.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-eponymous1.zsh @@ -1,36 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2019 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -alias ls='command ls' - -BUFFER='ls' - -expected_region_highlight=( - "1 2 alias" # ls -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-eponymous2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-eponymous2.zsh @@ -1,36 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2019 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -alias ls=tmp tmp='command ls' - -BUFFER='ls' - -expected_region_highlight=( - "1 2 alias" # ls -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-in-cmdsubst.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-in-cmdsubst.zsh @@ -1,43 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2019 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -alias p='print -r --' - -BUFFER=$'s=$(p foo)' - -expected_region_highlight=( - '1 10 assign' # s=$(p foo) - '3 10 default' # $(p foo) - '3 10 command-substitution-unquoted' # $(p foo) - '3 4 command-substitution-delimiter-unquoted' # $( - '5 5 alias' # p - '7 9 default' # foo - '10 10 command-substitution-delimiter-unquoted' # ) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-loop.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-loop.zsh @@ -1,44 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -function b() {} # beware of ALIAS_FUNC_DEF -alias a=b b=c c=b - -BUFFER='a foo; :' - -expected_region_highlight=( - # An alias is ineligible for expansion whilst it's being expanded. - # Therefore, the "b" in the expansion of the alias "c" is not considered - # as an alias. - '1 1 alias' # a - '3 5 default' # foo - '6 6 commandseparator' # ; - '8 8 builtin' # : -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-loop2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-loop2.zsh @@ -1,35 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -alias ls="ls" -BUFFER="ls" - -expected_region_highlight+=( - "1 2 alias" # ls -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-nested-precommand.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-nested-precommand.zsh @@ -1,43 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -alias a=b b=sudo -sudo(){} - -BUFFER='a -u phy1729 echo; :' - -expected_region_highlight=( - '1 1 alias' # a - '3 4 single-hyphen-option' # -u - '6 12 default' # phy1729 - '14 17 builtin' # echo - '18 18 commandseparator' # ; - '20 20 builtin' # : -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-nested.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-nested.zsh @@ -1,40 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -alias a=b b=: - -BUFFER='a foo; :' - -expected_region_highlight=( - '1 1 alias' # a - '3 5 default' # foo - '6 6 commandseparator' # ; - '8 8 builtin' # : -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-parameter.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-parameter.zsh @@ -1,38 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -alias '$foo'='echo alias' -local foo; foo=(echo param) - -BUFFER='$foo' - -expected_region_highlight=( - '1 4 alias' # $foo -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-precommand-option-argument1.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-precommand-option-argument1.zsh @@ -1,42 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# See also param-precommand-option-argument1.zsh -alias sudo_u='sudo -u' -sudo(){} - -BUFFER='sudo_u phy1729 echo foo' - -expected_region_highlight=( - '1 6 alias' # sudo_u - '8 14 default' # phy1729 - '17 19 command "issue #540"' # echo (not builtin) - '21 23 default' # foo -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-precommand-option-argument2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-precommand-option-argument2.zsh @@ -1,42 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -alias sudo_b='sudo -b' -alias sudo_b_u='sudo_b -u' -sudo(){} - -BUFFER='sudo_b_u phy1729 echo foo' - -expected_region_highlight=( - '1 8 alias' # sudo_b_u - '10 16 default' # phy1729 - '18 21 command "issue #540"' # echo (not builtin) - '23 25 default' # foo -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-precommand-option-argument3.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-precommand-option-argument3.zsh @@ -1,42 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2019 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# See also param-precommand-option-argument3.zsh -alias sudo_u='sudo -u' -sudo(){} - -BUFFER='sudo_u phy1729 ls foo' - -expected_region_highlight=( - '1 6 alias' # sudo_u - '8 14 default' # phy1729 - '16 17 command' # ls - '19 21 default' # foo -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-precommand-option-argument4.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-precommand-option-argument4.zsh @@ -1,42 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -alias sudo_b='sudo -b' -alias sudo_b_u='sudo_b -u' -sudo(){} - -BUFFER='sudo_b_u phy1729 ls foo' - -expected_region_highlight=( - '1 8 alias' # sudo_b_u - '10 16 default' # phy1729 - '18 19 command' # ls - '21 23 default' # foo -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-quoted.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-quoted.zsh @@ -1,39 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) YYYY zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -alias a=: ls='ls -l' -BUFFER='"a" foo; \ls' - -expected_region_highlight=( - '1 3 unknown-token' # "a" - '5 7 default' # foo - '8 8 commandseparator' # ; - '10 12 command' # \ls -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-redirect.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-redirect.zsh @@ -1,38 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -alias x=\> -BUFFER='x foo echo bar' - -expected_region_highlight=( - '1 1 alias' # x - '3 5 default' # foo - '7 10 builtin' # echo - '12 14 default' # bar -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-reuse1.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-reuse1.zsh @@ -1,39 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -alias a=: b='a | a' - -BUFFER='b | b' - -expected_region_highlight=( - '1 1 alias' # b - '3 3 commandseparator' # | - '5 5 alias' # b -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-reuse2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-reuse2.zsh @@ -1,39 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -alias a=: b='a && a' - -BUFFER='b && b' - -expected_region_highlight=( - '1 1 alias' # b - '3 4 commandseparator' # && - '6 6 alias' # b -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-reuse3.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-reuse3.zsh @@ -1,39 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -alias a=: b='a; a' - -BUFFER='b; b' - -expected_region_highlight=( - '1 1 alias' # b - '2 2 commandseparator' # ; - '4 4 alias' # b -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-reuse4.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-reuse4.zsh @@ -1,42 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -alias a=: b='a $(a)' - -BUFFER='b $(b)' - -expected_region_highlight=( - '1 1 alias' # b - '3 6 default' # $(b) - '3 6 command-substitution-unquoted' # $(b) - '3 4 command-substitution-delimiter-unquoted' # $( - '5 5 alias' # b - '6 6 command-substitution-delimiter-unquoted' # ) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-reuse5.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-reuse5.zsh @@ -1,43 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -alias a=: b='a < <(a)' - -BUFFER='b < <(b)' - -expected_region_highlight=( - '1 1 alias' # b - '3 3 redirection' # < - '5 8 default' # <(b) - '5 8 process-substitution' # <(b) - '5 6 process-substitution-delimiter' # <( - '7 7 alias' # b - '8 8 process-substitution-delimiter' # ) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-self.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-self.zsh @@ -1,38 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -alias echo='echo foo' - -BUFFER='echo bar' - -expected_region_highlight=( - '1 4 alias' # echo - '6 8 default' # bar -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-self2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-self2.zsh @@ -1,37 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -alias cat='cat | cat' - -BUFFER='cat' - -expected_region_highlight=( - '1 3 alias' # cat -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-to-dir.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-to-dir.zsh @@ -1,36 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -alias x=/ -BUFFER=$'x' - -expected_region_highlight=( - '1 1 unknown-token' # x (/) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-to-dir1b.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-to-dir1b.zsh @@ -1,37 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -setopt autocd -alias x=/ -BUFFER=$'x' - -expected_region_highlight=( - '1 1 alias' # x -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-unknown-token1.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-unknown-token1.zsh @@ -1,37 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2019 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -alias a=b b=foo - -BUFFER='a ' - -expected_region_highlight=( - '1 1 unknown-token' # a -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-unknown-token2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias-unknown-token2.zsh @@ -1,37 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2019 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -alias a='() { ls "$@" ; foo }' - -BUFFER='a ' - -expected_region_highlight=( - '1 1 unknown-token' # a -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/alias.zsh @@ -1,53 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -alias alias1="ls" -alias -s alias2="echo" -function alias1() {} # to check that it's highlighted as an alias, not as a function - -BUFFER='x.alias2; alias1; alias2' - -# Set expected_region_highlight as a function of zsh version. -# -# Highlight of suffix alias requires zsh-5.1.1 or newer; see issue #126, -# and commit 36403 to zsh itself. Therefore, check if the requisite zsh -# functionality is present, and skip verifying suffix-alias highlighting -# if it isn't. -expected_region_highlight=() -if zmodload -e zsh/parameter || [[ "$(type -w x.alias2)" == *suffix* ]]; then - expected_region_highlight+=( - "1 8 suffix-alias" # x.alias2 - ) -fi -expected_region_highlight+=( - "9 9 commandseparator" # ; - "11 16 alias" # alias1 - "17 17 commandseparator" # ; - "19 24 unknown-token" # alias2 -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/always1.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/always1.zsh @@ -1,41 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='{ ls } always { pwd }' - -expected_region_highlight=( - '1 1 reserved-word' # { - '3 4 command' # ls - '6 6 reserved-word' # } - '8 13 reserved-word' # always - '15 15 reserved-word' # { - '17 19 builtin' # pwd - '21 21 reserved-word' # } -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/always2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/always2.zsh @@ -1,43 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'{\nls\n} always { pwd }' - -expected_region_highlight=( - '1 1 reserved-word' # { - '2 2 commandseparator' # \n - '3 4 command' # ls - '5 5 commandseparator' # \n - '6 6 reserved-word' # } - '8 13 reserved-word' # always - '15 15 reserved-word' # { - '17 19 builtin' # pwd - '21 21 reserved-word' # } -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/always3.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/always3.zsh @@ -1,43 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -setopt ignorebraces -BUFFER='echo { foo } always { bar }' - -expected_region_highlight=( - '1 4 builtin' # echo - '6 6 default' # { - '8 10 default' # foo - '12 12 default' # } - '14 19 default' # always - '21 21 default' # { - '23 25 default' # bar - '27 27 default' # } -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/anonymous-function.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/anonymous-function.zsh @@ -1,44 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='() echo hello; () { echo world } "argument"' - -expected_region_highlight=( - "1 2 reserved-word" # () - "4 7 builtin" # echo - "9 13 default" # hello - "14 14 commandseparator" # ; - "16 17 reserved-word" # () - "19 19 reserved-word" # { - "21 24 builtin" # echo - "26 30 default" # world - "32 32 reserved-word" # } - "34 43 default" # "argument" - "34 43 double-quoted-argument" # "argument" -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/arg0-colon.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/arg0-colon.zsh @@ -1,35 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=''\''x: /' - -expected_region_highlight=( - '1 5 unknown-token' # \'x: / -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/arith-cmdsubst-mess.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/arith-cmdsubst-mess.zsh @@ -1,46 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$': $((ls); (ls))' - -expected_region_highlight=( - '1 1 builtin' # : - '3 15 default' # $((ls); (ls)) - '3 15 command-substitution-unquoted' # $((ls); (ls)) - '3 4 command-substitution-delimiter-unquoted' # $( - '5 5 reserved-word' # ( - '6 7 command' # ls - '8 8 reserved-word' # ) - '9 9 commandseparator' # ; - '11 11 reserved-word' # ( - '12 13 command' # ls - '14 14 reserved-word' # ) - '15 15 command-substitution-delimiter-unquoted' # ) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/arith1.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/arith1.zsh @@ -1,37 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$': $(( 6 * 9 ))' - -expected_region_highlight=( - '1 1 builtin' # : - '3 14 default' # $(( 6 * 9 )) - '3 14 arithmetic-expansion' # $(( 6 * 9 )) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/arith2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/arith2.zsh @@ -1,38 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$': "$(( 6 * 9 ))"' - -expected_region_highlight=( - '1 1 builtin' # : - '3 16 default' # "$(( 6 * 9 ))" - '3 16 double-quoted-argument' # "$(( 6 * 9 ))" - '4 15 arithmetic-expansion' # $(( 6 * 9 )) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-command-substitution.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-command-substitution.zsh @@ -1,42 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$': $(( $(echo 2) + 2 ))' - -expected_region_highlight=( - '1 1 builtin' # : - '3 22 default' # $(( $(echo 2) + 2 )) - '3 22 arithmetic-expansion' # $(( $(echo 2) + 2 )) - '7 15 command-substitution-quoted' # $(echo 2) - '7 8 command-substitution-delimiter-quoted' # $( - '9 12 builtin' # echo - '14 14 default' # 2 - '15 15 command-substitution-delimiter' # ) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-doubled-parens.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-doubled-parens.zsh @@ -1,37 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$': $(( ((42)) ))' - -expected_region_highlight=( - '1 1 builtin' # : - '3 15 default' # $(( ((42)) )) - '3 15 arithmetic-expansion' # $(( ((42)) )) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-empty.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-empty.zsh @@ -1,39 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$': "foo"$(())"bar"' - -expected_region_highlight=( - '1 1 builtin' # : - '3 17 default' # "foo"$(())"bar" - '3 7 double-quoted-argument' # "foo" - '8 12 arithmetic-expansion' # $(()) - '13 17 double-quoted-argument' # "bar" -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-evaluation.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-evaluation.zsh @@ -1,40 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# Must be at command word, since the word following 'if' isn't currently considered -# a command word (issue #207). -# -# An opening '((' without matching '))' is highlighted correctly under zsh-5.1.1-52-g4bed2cf -# or newer, only (issue #188). -BUFFER='(( x == 42 ))' - -expected_region_highlight=( - "1 2 reserved-word" # (( - "12 13 reserved-word" # )) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-hist-expn.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-hist-expn.zsh @@ -1,38 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$': $(( \!\! ))' - -expected_region_highlight=( - '1 1 builtin' # : - '3 11 default' # $(( !! )) - '3 11 arithmetic-expansion' # $(( !! )) - '7 8 history-expansion "issue #713"' # !! -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-invalid-chars.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-invalid-chars.zsh @@ -1,39 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$': $(( 0 * 1\'\'000 ))' - -expected_region_highlight=( - '1 1 builtin' # : - '3 19 default' # $(( 0 * 1\'\'000 )) - '3 19 arithmetic-expansion' # $(( 0 * 1\'\'000 )) - '12 12 unknown-token' # \' - '13 13 unknown-token' # \' -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-multiplication.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-multiplication.zsh @@ -1,39 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$': foo*$(( 42 * 1729 ))*bar' - -expected_region_highlight=( - '1 1 builtin' # : - '3 26 default' # foo*$(( 42 * 1729 ))*bar - '6 6 globbing' # * - '7 22 arithmetic-expansion' # $(( 42 * 1729 )) - '23 23 globbing' # * -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-nested.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-nested.zsh @@ -1,38 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$': $(( $(( 1 + 2 )) * 3 ))' - -expected_region_highlight=( - '1 1 builtin' # : - '3 25 default' # $(( $(( 1 + 2 )) * 3 )) - '3 25 arithmetic-expansion' # $(( $(( 1 + 2 )) * 3 )) - '7 18 arithmetic-expansion' # $(( 1 + 2 )) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-quoted.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-quoted.zsh @@ -1,38 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$': "$(( 1 + 1 ))"' - -expected_region_highlight=( - '1 1 builtin' # : - '3 16 default' # "$(( 1 + 1 ))" - '3 16 double-quoted-argument' # "$(( 1 + 1 ))" - '4 15 arithmetic-expansion' # $(( 1 + 1 )) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-unclosed.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-unclosed.zsh @@ -1,37 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$': $(( 1' - -expected_region_highlight=( - '1 1 builtin' # : - '3 7 default' # $(( 1 - '3 7 arithmetic-expansion' # $(( 1 -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-unfinished.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/arithmetic-unfinished.zsh @@ -1,41 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$': $(( 1729 )' - -expected_region_highlight=( - '1 1 builtin' # : - '3 12 default' # $(( 1729 ) - '3 12 arithmetic-expansion' # $(( 1729 ) -) - -if [[ ${(z):-'$('} == '$( ' ]]; then # ignore zsh 5.0.8 bug - expected_region_highlight[2]='3 13 default' # $(( 1729 ) -fi diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/array-cmdsep1.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/array-cmdsep1.zsh @@ -1,45 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2019 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'a=( foo | bar )' -bar(){} - -expected_region_highlight=( - '1 3 assign' # a=( - '3 3 reserved-word' # ( - '5 7 default' # foo - '9 9 unknown-token' # | - # zsh reports a parse error at this point. Nevertheless, we test how we - # highlight the remainder of $BUFFER. Currently we recover by treating the pipe - # as a command separator. That's not the only reasonable behaviour, though; if - # we change the behaviour, we should adjust the following expectations accordingly. - '11 13 function' # bar - '15 15 unknown-token' # ) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/array-cmdsep2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/array-cmdsep2.zsh @@ -1,41 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2019 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'a=( foo ; bar )' - -expected_region_highlight=( - '1 3 assign' # a=( - '3 3 reserved-word' # ( - '5 7 default' # foo - '9 9 unknown-token' # ; (not commandseparator; see highlighter source code) - '11 13 default' # bar - '15 15 assign' # ) - '15 15 reserved-word' # ) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/array-cmdsep3.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/array-cmdsep3.zsh @@ -1,41 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2019 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'a=( foo \n bar )' - -expected_region_highlight=( - '1 3 assign' # a=( - '3 3 reserved-word' # ( - '5 7 default' # foo - '9 9 commandseparator' # \n - '11 13 default' # bar - '15 15 assign' # ) - '15 15 reserved-word' # ) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assign-append.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assign-append.zsh @@ -1,39 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='a+=(lorem ipsum)' - -expected_region_highlight=( - "1 4 assign" # a+=( - "4 4 reserved-word" # ( - "5 9 default" # lorem - "11 15 default" # ipsum - "16 16 assign" # ) - "16 16 reserved-word" # ) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assign-argv.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assign-argv.zsh @@ -1,38 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -touch foo -BUFFER='42=foo 43+=bar' - -expected_region_highlight=( - "1 6 assign" # 42=foo - "4 6 path" # foo - "8 14 assign" # 43+=bar - "12 14 default" # bar -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assign-array.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assign-array.zsh @@ -1,41 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='(A=(hello world))' - -expected_region_highlight=( - "1 1 reserved-word" # ( - "2 4 assign" # A=( - "4 4 reserved-word" # ( - "5 9 default" # hello - "11 15 default" # world - "16 16 assign" # ) - "16 16 reserved-word" # ) - "17 17 reserved-word" # ) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assign-array2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assign-array2.zsh @@ -1,40 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='A=(hello world) ls' - -expected_region_highlight=( - "1 3 assign" # A=( - "3 3 reserved-word" # ( - "4 8 default" # hello - "10 14 default" # world - "15 15 assign" # ) - "15 15 reserved-word" # ) - "17 18 command" # ls -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assign-array3.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assign-array3.zsh @@ -1,41 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='A=(hello world) b=42' - -expected_region_highlight=( - "1 3 assign" # A=( - "3 3 reserved-word" # ( - "4 8 default" # hello - "10 14 default" # world - "15 15 assign" # ) - "15 15 reserved-word" # ) - "17 20 assign" # b=42 - "19 20 default" # 42 -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assign-invalid-command.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assign-invalid-command.zsh @@ -1,37 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'x=y nosuchcommand' - -expected_region_highlight=( - '1 3 assign' # x=y - '3 3 default' # y - '5 17 unknown-token' # nosuchcommand -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assign-not-array.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assign-not-array.zsh @@ -1,36 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='a=foo( bar ) :' - -expected_region_highlight=( - '1 12 assign' # a=foo( bar ) - '3 12 default' # foo( bar ) - '14 14 builtin' # : -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assign-not-array2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assign-not-array2.zsh @@ -1,36 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='a=foo\( :' - -expected_region_highlight=( - '1 7 assign' # a=foo\( - '3 7 default' # foo\( - '9 9 builtin' # : -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assign-quoted-cmdsubst.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assign-quoted-cmdsubst.zsh @@ -1,45 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'x="$(ls x y z)"' - -expected_region_highlight=( - '1 15 assign' # x="$(ls x y z)" - '3 15 default' # "$(ls x y z)" - '3 3 double-quoted-argument' # " - '15 15 double-quoted-argument' # " - '4 14 command-substitution-quoted' # $(ls x y z) - '4 5 command-substitution-delimiter-quoted' # $( - '6 7 command' # ls - '9 9 default' # x - '11 11 default' # y - '13 13 default' # z - '14 14 command-substitution-delimiter-quoted' # ) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assign-semicolon.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assign-semicolon.zsh @@ -1,39 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='A=1; echo hello world' - -expected_region_highlight=( - "1 3 assign" # A=1 - "3 3 default" # 1 - "4 4 commandseparator" # ; - "6 9 builtin" # echo - "11 15 default" # hello - "17 21 default" # world -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assign-subshell.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assign-subshell.zsh @@ -1,37 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='(A=1)' - -expected_region_highlight=( - "1 1 reserved-word" # ( - "2 4 assign" # A=1 - "4 4 default" # 1 - "5 5 reserved-word" # ) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assign-value-quote1.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assign-value-quote1.zsh @@ -1,37 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'s="foo\'bar"' - -expected_region_highlight=( - '1 11 assign' # s="foo'bar" - '3 11 default' # "foo'bar" - '3 11 double-quoted-argument' # "foo'bar" -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assign-value-quote2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assign-value-quote2.zsh @@ -1,37 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'s="foo \'\' bar"' - -expected_region_highlight=( - '1 14 assign' # s="foo '' bar" - '3 14 default' # "foo '' bar" - '3 14 double-quoted-argument' # "foo '' bar" -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assign.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assign.zsh @@ -1,42 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='A=1 b=("foo" bar)' - -expected_region_highlight=( - "1 3 assign" # A=1 - "3 3 default" # 1 - "5 7 assign" # b=( - "7 7 reserved-word" # ( - "8 12 default" # "foo" - "8 12 double-quoted-argument" # "foo" - "14 16 default" # bar - "17 17 assign" # ) - "17 17 reserved-word" # ) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assignment-before-resword1.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assignment-before-resword1.zsh @@ -1,40 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2017 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'foo=bar { :; }' - -expected_region_highlight=( - '1 7 assign' # foo=bar - '5 7 default' # bar - '9 9 unknown-token' # { - '11 11 builtin' # : - '12 12 commandseparator' # ; - '14 14 reserved-word' # } -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assignment-before-resword2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assignment-before-resword2.zsh @@ -1,40 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2017 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'foo=bar ( :; )' - -expected_region_highlight=( - '1 7 assign' # foo=bar - '5 7 default' # bar - '9 9 unknown-token' # ( - '11 11 builtin' # : - '12 12 commandseparator' # ; - '14 14 unknown-token' # ) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assignment-before-resword3.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assignment-before-resword3.zsh @@ -1,37 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2017 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'foo=bar (( foo ))' - -expected_region_highlight=( - '1 7 assign' # foo=bar - '5 7 default' # bar - '9 17 unknown-token' # (( foo )) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assignment-before-resword4.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assignment-before-resword4.zsh @@ -1,40 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2017 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'foo=bar [[ -n foo ]]' - -expected_region_highlight=( - '1 7 assign' # foo=bar - '5 7 default' # bar - '9 10 unknown-token' # [[ - '12 13 single-hyphen-option' # -n - '15 17 default' # foo - '19 20 reserved-word' # ]] -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assignment-before-resword5.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assignment-before-resword5.zsh @@ -1,38 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2017 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'foo=bar \! :' - -expected_region_highlight=( - '1 7 assign' # foo=bar - '5 7 default' # bar - '9 9 unknown-token' # \! - '11 11 builtin' # : -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assignment-quoted.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/assignment-quoted.zsh @@ -1,37 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'1="foo"' - -expected_region_highlight=( - '1 7 assign' # 1="foo" - '3 7 default' # "foo" - '3 7 double-quoted-argument' # "foo" -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/back-quoted-argument.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/back-quoted-argument.zsh @@ -1,58 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='echo `echo \`42\`` "is `echo equal` to" `echo 6 times 9' - -expected_region_highlight=( - "1 4 builtin" # echo - "6 18 default" # `echo \`42\`` - "6 18 back-quoted-argument" # `echo \`42\`` - "6 6 back-quoted-argument-delimiter" # ` - "7 10 builtin" # echo - "12 17 default" # \`42\` - "12 17 back-quoted-argument" # \`42\` - "12 13 back-quoted-argument-delimiter" # \` - "14 15 unknown-token" # 42 - "16 17 back-quoted-argument-delimiter" # \` - "18 18 back-quoted-argument-delimiter" # ` - "20 39 default" # "is `echo equal` to" - "20 39 double-quoted-argument" # "is `echo equal` to" - "24 35 back-quoted-argument" # `echo equal` - "24 24 back-quoted-argument-delimiter" # ` - "25 28 builtin" # echo - "30 34 default" # equal - "35 35 back-quoted-argument-delimiter" # ` - "41 55 default" # `echo 6 times 9 - "41 55 back-quoted-argument-unclosed" # `echo 6 times 9 - "41 41 back-quoted-argument-delimiter" # ` - "42 45 builtin" # echo - "47 47 default" # 6 - "49 53 default" # times - "55 55 default" # 9 -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/back-quoted-open.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/back-quoted-open.zsh @@ -1,41 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -touch foo -BUFFER=$': `ls fo' - -expected_region_highlight=( - '1 1 builtin' # : - '3 8 default' # `ls fo - '3 8 back-quoted-argument-unclosed' # `ls fo - '3 3 back-quoted-argument-delimiter' # ` - '4 5 command' # ls - '7 8 path_prefix' # fo -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/backslash-continuation.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/backslash-continuation.zsh @@ -1,35 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -PREBUFFER=$'echo \\\n' -BUFFER='noglob' - -expected_region_highlight=( - "1 6 default" # 'noglob' highlighted as a string, not as a precomand -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/backslash-continuation2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/backslash-continuation2.zsh @@ -1,37 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'echo foo\\\nbar"baz"' - -expected_region_highlight=( - '1 4 builtin' # echo - '6 18 default "issue #705"' # foo\\\nbar"baz" - '14 18 double-quoted-argument "issue #705"' # "baz" -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/backslash-space.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/backslash-space.zsh @@ -1,39 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'echo \\ \'foo\' ; ls' - -expected_region_highlight=( - '1 4 builtin' # echo - '6 12 default' # \ \'foo\' - '8 12 single-quoted-argument' # 'foo' - '14 14 commandseparator' # ; - '16 17 command' # ls -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/backslash.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/backslash.zsh @@ -1,34 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'\\' - -expected_region_highlight=( - '1 1 unknown-token' # \\ -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/bang-assign-array.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/bang-assign-array.zsh @@ -1,42 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'foo=(bar abaz) \! ls' - -expected_region_highlight=( - '1 5 assign' # foo=( - '5 5 reserved-word' # ( - '6 8 default' # bar - '10 13 default' # abaz - '14 14 assign' # ) - '14 14 reserved-word' # ) - '16 16 unknown-token' # \! - '18 19 command' # ls -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/bang-assign-scalar.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/bang-assign-scalar.zsh @@ -1,38 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'foo=bar \! ls' - -expected_region_highlight=( - '1 7 assign' # foo=bar - '5 7 default' # bar - '9 9 unknown-token' # \! - '11 12 command' # ls -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/bang-pipeline.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/bang-pipeline.zsh @@ -1,39 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'\! ls | \! ls' - -expected_region_highlight=( - '1 1 reserved-word' # \! - '3 4 command' # ls - '6 6 commandseparator' # | - '8 8 unknown-token' # \! - '10 11 command' # ls -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/braces1.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/braces1.zsh @@ -1,41 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'() { echo }\n}' -# no special setopts - -expected_region_highlight=( - '1 2 reserved-word' # () - '4 4 reserved-word' # { - '6 9 builtin' # echo - '11 11 reserved-word' # } - '12 12 commandseparator' # \n - '13 13 unknown-token' # } -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/braces2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/braces2.zsh @@ -1,41 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'() { echo }\n}' -setopt ignorebraces - -expected_region_highlight=( - '1 2 reserved-word' # () - '4 4 reserved-word' # { - '6 9 builtin' # echo - '11 11 default' # } - '12 12 commandseparator' # \n - '13 13 reserved-word' # } -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/brackets-matching1.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/brackets-matching1.zsh @@ -1,38 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='[[ -n foo ]]' - -expected_region_highlight=( - '1 2 reserved-word' # [[ - '4 5 single-hyphen-option' # -n - '7 9 default' # foo - '11 12 reserved-word' # ]] -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/brackets-matching2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/brackets-matching2.zsh @@ -1,38 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='[ -n foo ]' - -expected_region_highlight=( - '1 1 builtin' # [ - '3 4 single-hyphen-option' # -n - '6 8 default' # foo - '10 10 builtin' # ] -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch1.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch1.zsh @@ -1,39 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='() { echo foo )' - -expected_region_highlight=( - '1 2 reserved-word' # () - '4 4 reserved-word' # { - '6 9 builtin' # echo - '11 13 default' # foo - '15 15 unknown-token' # ) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch10-if-negative.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch10-if-negative.zsh @@ -1,42 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2017 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='elif true; then echo two; fi' - -expected_region_highlight=( - '1 4 unknown-token' # elif - '6 9 builtin' # true - '10 10 commandseparator' # ; - '12 15 unknown-token' # then - '17 20 builtin' # echo - '22 24 default' # two - '25 25 commandseparator' # ; - '27 28 unknown-token' # fi -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch2.zsh @@ -1,39 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='() ( echo foo }' - -expected_region_highlight=( - '1 2 reserved-word' # () - '4 4 reserved-word' # ( - '6 9 builtin' # echo - '11 13 default' # foo - '15 15 unknown-token' # } -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch3.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch3.zsh @@ -1,36 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='echo )' - -expected_region_highlight=( - '1 4 builtin' # echo - '6 6 unknown-token' # ) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch4.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch4.zsh @@ -1,36 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='echo }' - -expected_region_highlight=( - '1 4 builtin' # echo - '6 6 unknown-token' # } -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch5.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch5.zsh @@ -1,37 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='echo { }' - -expected_region_highlight=( - '1 4 builtin' # echo - '6 6 default' # { - '8 8 unknown-token' # } -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch6.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch6.zsh @@ -1,40 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='(repeat 1; do)' - -expected_region_highlight=( - '1 1 reserved-word' # ( - '2 7 reserved-word' # repeat - '9 9 default' # 1 - '10 10 commandseparator' # ; - '12 13 reserved-word' # do - '14 14 unknown-token' # ) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch7.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch7.zsh @@ -1,45 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2012 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='for n in *; do echo $n; end' - -expected_region_highlight=( - '1 3 reserved-word' # for - '5 5 default' # n - '7 8 default' # in - '10 10 default' # * - '10 10 globbing' # * - '11 11 commandseparator' # ; - '13 14 reserved-word' # do - '16 19 builtin' # echo - '21 22 default' # $n - '23 23 commandseparator' # ; - '25 27 unknown-token' # end -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch8-if-positive.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch8-if-positive.zsh @@ -1,53 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2017 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='if false; then echo one; elif true; then echo two; else echo three; fi' - -expected_region_highlight=( - '1 2 reserved-word' # if - '4 8 builtin' # false - '9 9 commandseparator' # ; - '11 14 reserved-word' # then - '16 19 builtin' # echo - '21 23 default' # one - '24 24 commandseparator' # ; - '26 29 reserved-word' # elif - '31 34 builtin' # true - '35 35 commandseparator' # ; - '37 40 reserved-word' # then - '42 45 builtin' # echo - '47 49 default' # two - '50 50 commandseparator' # ; - '52 55 reserved-word' # else - '57 60 builtin' # echo - '62 66 default' # three - '67 67 commandseparator' # ; - '69 70 reserved-word' # fi -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch8.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch8.zsh @@ -1,38 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='(ls&)' - -expected_region_highlight=( - '1 1 reserved-word' # ( - '2 3 command' # ls - '4 4 commandseparator' # & - '5 5 reserved-word' # ) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch9-if-positive.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/brackets-mismatch9-if-positive.zsh @@ -1,42 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2017 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='if false; then echo one; fi' - -expected_region_highlight=( - '1 2 reserved-word' # if - '4 8 builtin' # false - '9 9 commandseparator' # ; - '11 14 reserved-word' # then - '16 19 builtin' # echo - '21 23 default' # one - '24 24 commandseparator' # ; - '26 27 reserved-word' # fi -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/brackets-premature-termination.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/brackets-premature-termination.zsh @@ -1,40 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='[[ -n foo; echo ]]' - -expected_region_highlight=( - '1 2 reserved-word' # [[ - '4 5 single-hyphen-option' # -n - '7 9 default' # foo - '10 10 unknown-token' # ; - '12 15 builtin' # echo - '17 18 default' # ]] -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/cdpath-abspath.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/cdpath-abspath.zsh @@ -1,38 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -cdpath=( $PWD ) -mkdir foo foo/bar - -BUFFER="/foo" - -expected_region_highlight=( - '1 4 unknown-token' # x (/) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/cmdpos-elision-partial.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/cmdpos-elision-partial.zsh @@ -1,44 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# Test elision of some, but not all of the words -# See issue #667 for the case of eliding all words -local -a x; x=(sudo "") - -sudo(){} -BUFFER=$'$x -u phy1729 ls' - -expected_region_highlight=( - '1 2 precommand' # $x - # The "" is elided. If it weren't elided, the «ls» would be highlighted as an ordinary argument. - '4 5 single-hyphen-option' # -u - '7 13 default' # phy1729 - '15 16 command' # ls -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/command-substitution-adjacent.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/command-substitution-adjacent.zsh @@ -1,45 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2019 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='echo "$(echo)$(echo)' - -expected_region_highlight=( - '1 4 builtin' # echo - '6 20 default' # "$(echo)$(echo) - '6 6 double-quoted-argument-unclosed' # " - '7 13 command-substitution-quoted' # $(echo) - '7 8 command-substitution-delimiter-quoted' # $( - '9 12 builtin' # echo - '13 13 command-substitution-delimiter-quoted' # ) - '14 20 command-substitution-quoted' # $(echo) - '14 15 command-substitution-delimiter-quoted' # $( - '16 19 builtin' # echo - '20 20 command-substitution-delimiter-quoted' # ) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/command-substitution-in-assignment.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/command-substitution-in-assignment.zsh @@ -1,42 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'foo=$(echo bar) :' - -expected_region_highlight=( - '1 15 assign' # foo=$(echo bar) - '5 15 default' # $(echo bar) - '5 15 command-substitution-unquoted' # $(echo bar) - '5 6 command-substitution-delimiter-unquoted' # $( - '7 10 builtin' # echo - '12 14 default' # bar - '15 15 command-substitution-delimiter-unquoted' # ) - '17 17 builtin' # : -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/command-substitution-unclosed.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/command-substitution-unclosed.zsh @@ -1,45 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$': foo$(echo bar' - -expected_region_highlight=( - '1 1 builtin' # : - '3 15 default' # foo$(echo bar - '6 15 command-substitution-unquoted' # $(echo bar - '6 7 command-substitution-delimiter-unquoted' # $( - '8 11 builtin' # echo - '13 15 default' # bar -) - -if [[ ${(z):-'$('} == '$( ' ]]; then # ignore zsh 5.0.8 bug - expected_region_highlight[2]='3 16 default' # foo$(echo bar - expected_region_highlight[3]='6 16 command-substitution-unquoted' # $(echo bar -fi diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/commandseparator.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/commandseparator.zsh @@ -1,38 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=':; pwd &! ls' - -expected_region_highlight=( - "1 1 builtin" # : - "2 2 commandseparator" # ; - "4 6 builtin" # pwd - "8 9 commandseparator" # &! - "11 12 command" # ls -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/comment-followed.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/comment-followed.zsh @@ -1,39 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# see alias-comment1.zsh -setopt interactivecomments -BUFFER=$'# foo\ntrue' - -expected_region_highlight=( - '1 5 comment' # # foo - '6 6 commandseparator' # \n - '7 10 builtin' # true -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/comment-leading.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/comment-leading.zsh @@ -1,36 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -setopt interactive_comments - -BUFFER='# echo foo' - -expected_region_highlight=( - "1 10 comment" # # echo foo -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/comment-off.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/comment-off.zsh @@ -1,38 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -unsetopt interactive_comments - -BUFFER='# echo foo' - -expected_region_highlight=( - "1 1 unknown-token" # # - "3 6 default" # " echo foo" - "8 10 default" # " echo foo" -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/comments.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/comments.zsh @@ -1,39 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -setopt interactive_comments - -BUFFER='echo "foo #bar" #baz # quux' - -expected_region_highlight=( - "1 4 builtin" # echo - "6 15 default" # "foo #bar" - "6 15 double-quoted-argument" # "foo #bar" - "17 27 comment" # #baz # quux -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/commmand-parameter.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/commmand-parameter.zsh @@ -1,45 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -local x=/usr/bin/env -local y=sudo -local -a z; z=(zsh -f) -sudo(){} - -BUFFER='$x "argument"; $y; $z' - -expected_region_highlight=( - "1 2 command" # $x - "4 13 default" # "argument" - "4 13 double-quoted-argument" # "argument" - "14 14 commandseparator" # ; - "16 17 precommand" # $y (sudo) - "18 18 unknown-token" # ; - "20 21 command" # $z - 'zsh' being the command -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/control-flow.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/control-flow.zsh @@ -1,57 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='while if echo Hello; then ls /; else ls; fi; do stat "x"; done; repeat 10 ls' - -expected_region_highlight+=( - "1 5 reserved-word" # while - "7 8 reserved-word" # if - "10 13 builtin" # echo - "15 19 default" # Hello - "20 20 commandseparator" # ; - "22 25 reserved-word" # then - "27 28 command" # ls - "30 30 path" # / - "31 31 commandseparator" # ; - "33 36 reserved-word" # else - "38 39 command" # ls - "40 40 commandseparator" # ; - "42 43 reserved-word" # fi - "44 44 commandseparator" # ; - "46 47 reserved-word" # do - "49 52 command" # stat - "54 56 default" # "x" - "54 56 double-quoted-argument" # "x" - "57 57 commandseparator" # ; - "59 62 reserved-word" # done - "63 63 commandseparator" # ; - "65 70 reserved-word" # repeat - "72 73 default" # 10 - "75 76 command" # ls -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/control-flow2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/control-flow2.zsh @@ -1,40 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='repeat 42; do ls; done' - -expected_region_highlight+=( - "1 6 reserved-word" # repeat - "8 9 default" # 42 - "10 10 commandseparator" # ; - "12 13 reserved-word" # do - "15 16 command" # ls - "17 17 commandseparator" # ; - "19 22 reserved-word" # done -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/control-flow3.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/control-flow3.zsh @@ -1,39 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='repeat 42; ls; pwd' - -expected_region_highlight+=( - "1 6 reserved-word" # repeat - "8 9 default" # 42 - "10 10 commandseparator" # ; - "12 13 command" # ls - "14 14 commandseparator" # ; - "16 18 builtin" # pwd -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/cthulhu.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/cthulhu.zsh @@ -1,70 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# 0000000 0 01111111111222222 222233333 3 333344 4 4 444444555555555 5 6 6666 6 6 6667777777777888 8 8 88888999 9 9999 9 9 00 00 0000001111 -# 1234567 8 90123456789012345 678901234 5 678901 2 3 456789012345678 9 0 1234 5 6 7890123456789012 3 4 56789012 3 4567 8 9 01 23 4567890123 -BUFFER=$'echo Ph\\\'ng`echo lui "mg"\\`echo lw\\\'nafh \\\\\\`echo Cthu"lhu\\\\\\` R\\\\\'ly$(echo eh wag\\\\\\`echo h\\\'nag\\\\\\`\'l\' fht)agn`' - -expected_region_highlight=( - '1 4 builtin' # echo - '6 113 default' # Ph\'ng`echo lui "mg"\`echo lw\'nafh \\\`echo Cthu"lhu\\\` R\\'ly$(echo eh wag\\\`echo h\'nag\\\`'l' fht)agn` - '12 113 back-quoted-argument' # `echo lui "mg"\`echo lw\'nafh \\\`echo Cthu"lhu\\\` R\\'ly$(echo eh wag\\\`echo h\'nag\\\`'l' fht)agn` - '12 12 back-quoted-argument-delimiter' # ` - '13 16 builtin' # echo - '18 20 default' # lui - '22 112 default' # "mg"\`echo lw\'nafh \\\`echo Cthu"lhu\\\` R\\'ly$(echo eh wag\\\`echo h\'nag\\\`'l' fht)agn - '22 25 double-quoted-argument' # "mg" - '26 112 back-quoted-argument-unclosed' # \`echo lw\'nafh \\\`echo Cthu"lhu\\\` R\\'ly$(echo eh wag\\\`echo h\'nag\\\`'l' fht)agn - '26 27 back-quoted-argument-delimiter' # \` - '28 31 builtin' # echo - '33 40 default' # lw\'nafh - '42 62 default' # \\\`echo Cthu"lhu\\\` - '42 62 back-quoted-argument' # \\\`echo Cthu"lhu\\\` - '42 45 back-quoted-argument-delimiter' # \\\` - '46 49 builtin' # echo - '51 58 default' # Cthu"lhu - '55 58 double-quoted-argument-unclosed' # "lhu - '59 62 back-quoted-argument-delimiter' # \\\` - '64 112 default' # R\\'ly$(echo eh wag\\\`echo h\'nag\\\`'l' fht)agn - '70 109 command-substitution-unquoted' # $(echo eh wag\\\`echo h\'nag\\\`'l' fht) - '70 71 command-substitution-delimiter-unquoted' # $( - '72 75 builtin' # echo - '77 78 default' # eh - '80 104 default' # wag\\\`echo h\'nag\\\`'l' - '83 101 back-quoted-argument' # \\\`echo h\'nag\\\` - '83 86 back-quoted-argument-delimiter' # \\\` - '87 90 builtin' # echo - '92 97 default' # h\'nag - '98 101 back-quoted-argument-delimiter' # \\\` - '102 104 single-quoted-argument' # 'l' - '106 108 default' # fht - '109 109 command-substitution-delimiter-unquoted' # ) - '113 113 unknown-token' # ` -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/dinbrack1.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/dinbrack1.zsh @@ -1,41 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'[[ foo && bar || baz ]]' - -expected_region_highlight=( - '1 2 reserved-word' # [[ - '4 6 default' # foo - '8 9 default' # && - '11 13 default' # bar - '15 16 default' # || - '18 20 default' # baz - '22 23 reserved-word' # ]] -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/dirs_blacklist.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/dirs_blacklist.zsh @@ -1,40 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -mkdir foo -touch foo/bar -BUFFER=": foo/bar $PWD/foo foo/b" -ZSH_HIGHLIGHT_DIRS_BLACKLIST=($PWD/foo $PWD/bar) - -expected_region_highlight=( - '1 1 builtin' # : - '3 9 default' # foo/bar - "11 $(( 14 + $#PWD )) default" # $PWD/foo - "$(( 16 + $#PWD )) $(( 20 + $#PWD )) default" # foo/b -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/dollar-dollar.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/dollar-dollar.zsh @@ -1,39 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=': "$$ $$foo"' - -expected_region_highlight=( - '1 1 builtin' # : - '3 12 default' # "$$ $$foo" - '3 12 double-quoted-argument' # "$$ $$foo" - '4 5 dollar-double-quoted-argument' # $$ - '7 8 dollar-double-quoted-argument' # $$ -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/dollar-noise.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/dollar-noise.zsh @@ -1,42 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=': "$- $# $* $@ $?"' - -expected_region_highlight=( - '1 1 builtin' # : - '3 18 default' # "$- $# $* $@ $?" - '3 18 double-quoted-argument' # "$- $# $* $@ $?" - '4 5 dollar-double-quoted-argument' # $- - '7 8 dollar-double-quoted-argument' # $# - '10 11 dollar-double-quoted-argument' # $* - '13 14 dollar-double-quoted-argument' # $@ - '16 17 dollar-double-quoted-argument' # $? -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/dollar-paren.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/dollar-paren.zsh @@ -1,49 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=': "$(:)" "foo$(:)bar' - -expected_region_highlight=( - '1 1 builtin' # : - '3 8 default' # "$(:)" - '3 3 double-quoted-argument' # "$(:)" - '8 8 double-quoted-argument' # "$(:)" - '4 7 command-substitution-quoted' # $(:) - '4 5 command-substitution-delimiter-quoted' # $( - '6 6 builtin' # : - '7 7 command-substitution-delimiter-quoted' # ) - '10 20 default' # "foo$(:)bar - '10 13 double-quoted-argument-unclosed' # "foo - '18 20 double-quoted-argument-unclosed' # bar - '14 17 command-substitution-quoted' # $(:) - '14 15 command-substitution-delimiter-quoted' # $( - '16 16 builtin' # : - '17 17 command-substitution-delimiter-quoted' # ) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/dollar-quoted.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/dollar-quoted.zsh @@ -1,38 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=": \$'*' 'foo'" - -expected_region_highlight=( - "1 1 builtin" # : - "3 6 default" # $'*' - "3 6 dollar-quoted-argument" # $'*' - not a glob - "8 12 default" # 'foo' - "8 12 single-quoted-argument" # 'foo' -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/dollar-quoted2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/dollar-quoted2.zsh @@ -1,39 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=": \$'foo\xbar\udeadbeef\uzzzz'" - -expected_region_highlight=( - "1 1 builtin" # : - "3 29 default" # $'foo\xbar\udeadbeef\uzzzz' - "3 29 dollar-quoted-argument" # $'foo\xbar\udeadbeef\uzzzz' - "8 11 back-dollar-quoted-argument" # \xba - "13 18 back-dollar-quoted-argument" # \dead - "23 24 unknown-token" # \u -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/dollar-quoted3.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/dollar-quoted3.zsh @@ -1,39 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# Similar to double-quoted2.zsh -# This test checks that the '1' gets highlighted correctly. Do not append to the BUFFER. -BUFFER=": \$'\xa1" - -expected_region_highlight=( - "1 1 builtin" # : - "3 8 default" # $'\xa1 - "3 8 dollar-quoted-argument-unclosed" # $'\xa1 - "5 8 back-dollar-quoted-argument" # \xa1 -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/double-hyphen-option.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/double-hyphen-option.zsh @@ -1,35 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='hello --world' - -expected_region_highlight=( - "1 5 unknown-token" # hello - "7 13 double-hyphen-option" # --world -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/double-quoted.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/double-quoted.zsh @@ -1,42 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=': "foo$bar:\`:\":\$:' -BUFFER+=\\\\:\" - -expected_region_highlight=( - "1 1 builtin" # : - "3 24 default" # "foo$bar:\`:\":\$:\\:" - "3 24 double-quoted-argument" # "foo$bar:\`:\":\$:\\:" - "7 10 dollar-double-quoted-argument" # $bar - "12 13 back-double-quoted-argument" # \` - "15 16 back-double-quoted-argument" # \$ - "18 19 back-double-quoted-argument" # \" - "21 22 back-double-quoted-argument" # \\ -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/double-quoted2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/double-quoted2.zsh @@ -1,39 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# Similar to dollar-quoted3.zsh -# This test checks that the 'r' gets highlighted correctly. Do not append to the BUFFER. -BUFFER=': "foo$bar' - -expected_region_highlight=( - "1 1 builtin" # : - "3 10 default" # "foo$bar - "3 10 double-quoted-argument-unclosed" # "foo$bar - "7 10 dollar-double-quoted-argument" # $bar -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/double-quoted3.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/double-quoted3.zsh @@ -1,42 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=': "$" "$42foo"' -BUFFER+=\ \"\\\'\\x\" - -expected_region_highlight=( - "1 1 builtin" # : - "3 5 default" # "$" - "3 5 double-quoted-argument" # "$" - "7 14 default" # "$42foo" - "7 14 double-quoted-argument" # "$42foo" - "8 10 dollar-double-quoted-argument" # $42 - "16 21 default" # "\'\x" - "16 21 double-quoted-argument" # "\'\x" - \' and \x are not escape sequences -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/double-quoted4.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/double-quoted4.zsh @@ -1,37 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=': "${foo}bar"' - -expected_region_highlight=( - "1 1 builtin" # : - "3 13 default" # "${foo}bar" - "3 13 double-quoted-argument" # "${foo}bar" - "4 9 dollar-double-quoted-argument" # ${foo} -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/empty-command-newline.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/empty-command-newline.zsh @@ -1,39 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2019 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# Newline after semicolon isn't unknown-token -BUFFER=$':;\n:' - -expected_region_highlight=( - '1 1 builtin' # : - '2 2 commandseparator' # ; - '3 3 commandseparator' # \n - '4 4 builtin' # : -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/empty-command.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/empty-command.zsh @@ -1,36 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='echo; ;' - -expected_region_highlight=( - "1 4 builtin" # echo - "5 5 commandseparator" # ; - "7 7 unknown-token" # ; -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/empty-command2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/empty-command2.zsh @@ -1,39 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# Same test data and expectations as empty-command.zsh; the only difference is: -touch ';' - -BUFFER='echo; ;' - -expected_region_highlight=( - "1 4 builtin" # echo - "5 5 commandseparator" # ; - "7 7 unknown-token" # ; -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/empty-line.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/empty-line.zsh @@ -1,36 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'\\\n; ls' - -expected_region_highlight=( - '3 3 unknown-token' # ; - '5 6 command' # ls -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/equals1.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/equals1.zsh @@ -1,36 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$': =ls' - -expected_region_highlight=( - '1 1 builtin' # : - '3 5 path' # =ls -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/equals2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/equals2.zsh @@ -1,38 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -unsetopt equals - -BUFFER=$': =nosuchcommand' - -expected_region_highlight=( - '1 1 builtin' # : - '3 16 default' # =nosuchcommand -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/equals3.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/equals3.zsh @@ -1,36 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$': =nosuchcommand' - -expected_region_highlight=( - '1 1 builtin' # : - '3 16 unknown-token' # =nosuchcommand -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/equals4.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/equals4.zsh @@ -1,36 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$': =' - -expected_region_highlight=( - '1 1 builtin' # : - '3 3 default' # = -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/escaped-single-quote.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/escaped-single-quote.zsh @@ -1,38 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$': \'foo\'\\\'\'bar\'' # <<<: 'foo'\''bar'>>> - -expected_region_highlight=( - '1 1 builtin' # : - '3 14 default' # 'foo'\''bar' - '3 7 single-quoted-argument' # 'foo' - '10 14 single-quoted-argument' # 'bar' -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/exec-redirection1.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/exec-redirection1.zsh @@ -1,38 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='exec {foo}>&/tmp ls' - -expected_region_highlight=( - "1 4 precommand" # exec - "6 10 named-fd" # {foo} - "11 12 redirection" # >& - "13 16 path" # /tmp - "18 19 command" # ls -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/fd-target-not-filename.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/fd-target-not-filename.zsh @@ -1,40 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -touch 2 - -BUFFER=$'echo foo>&2' - -expected_region_highlight=( - '1 4 builtin' # echo - '6 8 default' # foo - '9 10 redirection' # >& - '11 11 numeric-fd' # 2 (not path) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/function-altsyntax.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/function-altsyntax.zsh @@ -1,45 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# Define named and anonymous function using the alternative syntax -BUFFER=$'function f { pwd }; function { pwd }' - -expected_region_highlight=( - '1 8 reserved-word' # function - '10 10 default' # f - '12 12 reserved-word "issue #237"' # { - '14 16 command "issue #237"' # pwd - '18 18 reserved-word "issue #237"' # } - '19 19 commandseparator' # ; - '21 28 reserved-word' # function - '30 30 reserved-word "issue #237"' # { - '32 34 command "issue #237"' # pwd - '36 36 reserved-word "issue #237"' # } -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/function-named1.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/function-named1.zsh @@ -1,44 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='f() pwd; f() { balanced braces }' - -expected_region_highlight=( - '1 1 TBD "issue #223"' # f - '2 3 reserved-word' # () - '5 7 builtin' # pwd - '8 8 commandseparator' # ; - '10 10 TBD "issue #223"' # f - '11 12 reserved-word' # () - '14 14 reserved-word' # { - '16 23 unknown-token' # balanced - '25 30 default' # braces - '32 32 reserved-word' # } -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/function-named2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/function-named2.zsh @@ -1,39 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='f g h () pwd' - -expected_region_highlight=( - '1 1 TBD "issue #223"' # f - '3 3 TBD "issue #223"' # g - '5 5 TBD "issue #223"' # h - '7 8 reserved-word' # () - '10 12 builtin' # pwd -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/function.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/function.zsh @@ -1,42 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -cd() { - builtin cd "$@" -} -ls() { - command ls "$@" -} -BUFFER='cd;ls' - -expected_region_highlight=( - "1 2 function" # cd - "3 3 commandseparator" # ; - "4 5 function" # ls -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/glob.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/glob.zsh @@ -1,41 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=': foo* bar? *baz qux\?' - -expected_region_highlight=( - "1 1 builtin" # : - "3 6 default" # foo* - "6 6 globbing" # * - "8 11 default" # bar? - "11 11 globbing" # ? - "13 16 default" # *baz - "13 13 globbing" # * - "18 22 default" # qux\? -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/global-alias1.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/global-alias1.zsh @@ -1,38 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -alias -g foo=bar - -BUFFER=$'foo foo' - -expected_region_highlight=( - '1 3 global-alias' # foo - '5 7 global-alias' # foo -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/globs-with-quoting.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/globs-with-quoting.zsh @@ -1,43 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$': "foo"*\'bar\'?"baz?"<17-29>"qu*ux"' - -expected_region_highlight=( - '1 1 builtin' # : - '3 34 default' # "foo"*'bar'?"baz?"<17-29>"qu*ux" - '3 7 double-quoted-argument' # "foo" - '8 8 globbing' # * - '9 13 single-quoted-argument' # 'bar' - '14 14 globbing' # ? - '15 20 double-quoted-argument' # "baz?" - '21 27 globbing' # <17-29> - '28 34 double-quoted-argument' # "qu*ux" -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/hashed-command.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/hashed-command.zsh @@ -1,35 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -hash zsh_syntax_highlighting_hash=/doesnotexist -BUFFER='zsh_syntax_highlighting_hash' - -expected_region_highlight=( - "1 28 hashed-command 'zsh/parameter cannot distinguish between hashed and command'" -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/history-double-quoted-escaped.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/history-double-quoted-escaped.zsh @@ -1,38 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='echo "Hello\!"' - -expected_region_highlight=( - '1 4 builtin' # echo - '6 14 default' # "Hello\!" - '6 14 double-quoted-argument' # "Hello\!" - '12 13 back-double-quoted-argument' # \! -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/history-double-quoted-followed.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/history-double-quoted-followed.zsh @@ -1,39 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=': !!= "!!="' - -expected_region_highlight=( - '1 1 builtin' # : - '3 4 history-expansion "issue #713"' # !! - '7 11 default' # "!!=" - '7 11 double-quoted-argument' # "!!=" - '8 9 history-expansion "issue #713' # !! -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/history-double-quoted-no.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/history-double-quoted-no.zsh @@ -1,37 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='echo "foo != bar !{baz}"' - -expected_region_highlight=( - '1 4 builtin' # echo - '6 24 default' # "foo != bar !{baz}" - '6 24 double-quoted-argument' # "foo != bar !{baz}" - no history expansions -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/history-double-quoted-unescaped.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/history-double-quoted-unescaped.zsh @@ -1,38 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='echo "Hello!"' - -expected_region_highlight=( - '1 4 builtin' # echo - '6 13 default' # "Hello!" - '6 13 double-quoted-argument' # "Hello!" - '12 12 history-expansion' # ! -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/history-double-quoted-yes.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/history-double-quoted-yes.zsh @@ -1,38 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='echo "foo !bar"' - -expected_region_highlight=( - '1 4 builtin' # echo - '6 15 default' # "foo !bar" - '6 15 double-quoted-argument' # "foo !bar" - '11 11 history-expansion' # ! -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/history-expansion.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/history-expansion.zsh @@ -1,39 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='!foo bar !baz ! ; !' - -expected_region_highlight=( - "1 4 history-expansion" # !foo - "6 8 default" # bar - "10 13 history-expansion" # !baz - "15 15 default" # ! - "17 17 commandseparator" # ; - "19 19 reserved-word" # ! -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/history-expansion2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/history-expansion2.zsh @@ -1,34 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='^foo^bar' - -expected_region_highlight=( - "1 8 history-expansion" # ^foo^bar -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/inheritance.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/inheritance.zsh @@ -1,40 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -_zsh_highlight_add_highlight() -{ - region_highlight+=("$1 $2 ${(j.,.)argv[3,-1]}") -} - -BUFFER='type' - -expected_region_highlight=( - '1 4 builtin,arg0' # type -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/jobsubst-isnt-glob.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/jobsubst-isnt-glob.zsh @@ -1,37 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018.9958 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$': %? %?foo' - -expected_region_highlight=( - '1 1 builtin' # : - '3 4 default' # %? - '6 10 default' # %?foo -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/jobsubst-isnt-glob2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/jobsubst-isnt-glob2.zsh @@ -1,37 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$': foo%?bar' - -expected_region_highlight=( - '1 1 builtin' # : - '3 10 default' # foo%?bar - '7 7 globbing' # ? -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/loop-newline.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/loop-newline.zsh @@ -1,40 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2019 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'for i in \\\n; do done' - -expected_region_highlight=( - '1 3 reserved-word' # for - '5 5 default' # i - '7 8 default' # in - '12 12 commandseparator' # ; - '14 15 reserved-word' # do - '17 20 reserved-word' # done -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/meta-no-eval1.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/meta-no-eval1.zsh @@ -1,49 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$': $(kill -9 $$) ${:-$(kill -9 $$)}' - -expected_region_highlight=( - '1 1 builtin' # : - '3 15 default' # $(kill -9 $$) - '3 15 command-substitution-unquoted' # $(kill -9 $$) - '3 4 command-substitution-delimiter-unquoted' # $( - '5 8 builtin' # kill - '10 11 single-hyphen-option' # -9 - '13 14 default' # $$ - '15 15 command-substitution-delimiter-unquoted' # ) - '17 34 default' # ${:-$(kill -9 $$)} - '21 33 command-substitution-unquoted' # $(kill -9 $$) - '21 22 command-substitution-delimiter-unquoted' # $( - '23 26 builtin' # kill - '28 29 single-hyphen-option' # -9 - '31 32 default' # $$ - '33 33 command-substitution-delimiter-unquoted' # ) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/meta-no-eval2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/meta-no-eval2.zsh @@ -1,40 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# We aren't testing how this is highlighted; we're testing that it's not -# evaluated. If it gets evaluated, the test suite will die. -BUFFER=$': /(e*exit 42*)' - -expected_region_highlight=( - '1 1 builtin' # : - '3 15 default' # /(e*exit 42*) - '6 6 globbing' # * - '14 14 globbing' # * -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/multiline-array-assignment1.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/multiline-array-assignment1.zsh @@ -1,41 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'foo=(\nbar) env' - -expected_region_highlight=( - '1 5 assign' # foo=( - '5 5 reserved-word' # ( - '6 6 commandseparator' # \n - '7 9 default' # bar - '10 10 assign' # ) - '10 10 reserved-word' # ) - '12 14 precommand' # env -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/multiline-string.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/multiline-string.zsh @@ -1,37 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -PREBUFFER=$'echo "foo1\n' -BUFFER='foo2" ./' - -expected_region_highlight=( - "1 5 default" # 'foo2"' - "1 5 double-quoted-argument" # 'foo2"' - "7 8 path" # './' -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/multiline-string2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/multiline-string2.zsh @@ -1,36 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'echo \'foo1\n' - -expected_region_highlight=( - "1 4 builtin" # echo - "6 11 default" # 'foo1\n - "6 11 single-quoted-argument-unclosed" # 'foo1\n -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/multios-negates-globbing.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/multios-negates-globbing.zsh @@ -1,39 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -unsetopt multios - -BUFFER=$'cat < *' - -expected_region_highlight=( - '1 3 command' # cat - '5 5 redirection' # < - '7 7 default' # * - not globbing -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/multios-negates-globbing2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/multios-negates-globbing2.zsh @@ -1,38 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'cat < *' - -expected_region_highlight=( - '1 3 command' # cat - '5 5 redirection' # < - '7 7 default' # * - '7 7 globbing' # * -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/multiple-quotes.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/multiple-quotes.zsh @@ -1,42 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2017 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$': \'foo\'bar"baz$quux/foo\\\\bar"baz$\'quux\\nfoo\\001bar\'baz' - -expected_region_highlight=( - "1 1 builtin" # : - "3 54 default" # 'foo'bar"baz$quux/foo\\bar"baz$'quux\nfoo\001'baz - "3 7 single-quoted-argument" # 'foo' - "11 29 double-quoted-argument" #"baz - "15 19 dollar-double-quoted-argument" # $quux - "24 25 back-double-quoted-argument" # \\ - "33 51 dollar-quoted-argument" # $'quux\nfoo\001bar' - "39 40 back-dollar-quoted-argument" # \n - "44 47 back-dollar-quoted-argument" # \001 -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/multiple-redirections.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/multiple-redirections.zsh @@ -1,46 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2010-2011 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='ps aux | grep java | sort | uniq | tail | head' - -expected_region_highlight=( - "1 2 command" # ps - "4 6 default" # aux - "8 8 commandseparator" # | - "10 13 command" # grep - "15 18 default" # java - "20 20 commandseparator" # | - "22 25 command" # sort - "27 27 commandseparator" # | - "29 32 command" # uniq - "34 34 commandseparator" # | - "36 39 command" # tail - "41 41 commandseparator" # | - "43 46 command" # head -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/noglob-alias.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/noglob-alias.zsh @@ -1,36 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -alias x=command -BUFFER='x ls' - -expected_region_highlight=( - "1 1 alias" # x - "3 4 command" # ls -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/noglob-always.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/noglob-always.zsh @@ -1,45 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'{ noglob echo * } always { echo * }' - -expected_region_highlight=( - '1 1 reserved-word' # { - '3 8 precommand' # noglob - '10 13 builtin' # echo - '15 15 default' # * - '17 17 reserved-word' # } - '19 24 reserved-word' # always - '26 26 reserved-word' # { - '28 31 builtin' # echo - '33 33 default' # * - '33 33 globbing' # * - '35 35 reserved-word' # } -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/noglob1.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/noglob1.zsh @@ -1,38 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=':; noglob echo *' - -expected_region_highlight=( - "1 1 builtin" # : - "2 2 commandseparator" # ; - "4 9 precommand" # noglob - "11 14 builtin" # echo - "16 16 default" # * -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/noglob2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/noglob2.zsh @@ -1,40 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='noglob echo *; echo *' - -expected_region_highlight=( - "1 6 precommand" # noglob - "8 11 builtin" # echo - "13 13 default" # * - "14 14 commandseparator" # ; - "16 19 builtin" # echo - "21 21 default" # * - "21 21 globbing" # * -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/noglob3.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/noglob3.zsh @@ -1,38 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -touch \* - -BUFFER='noglob echo *' - -expected_region_highlight=( - "1 6 precommand" # noglob - "8 11 builtin" # echo - "13 13 path" # * -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/noglob4.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/noglob4.zsh @@ -1,45 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'noglob cat <(print -r -- *)' - -expected_region_highlight=( - '1 6 precommand' # noglob - '8 10 command' # cat - '12 27 default' # <(print -r -- *) - '12 27 process-substitution' # <(print -r -- *) - '12 13 process-substitution-delimiter' # <( - '14 18 builtin' # print - '20 21 single-hyphen-option' # -r - '23 24 double-hyphen-option' # -- - '26 26 default' # * - '26 26 globbing' # * - '27 27 process-substitution-delimiter' # ) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/null-exec.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/null-exec.zsh @@ -1,38 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'exec >/dev/null;' - -expected_region_highlight=( - '1 4 precommand' # exec - '6 6 redirection' # > - '7 15 path' # /dev/null - '16 16 commandseparator' # ; -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/null-exec2-printenv.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/null-exec2-printenv.zsh @@ -1,38 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2021 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'env | grep $needle' - -expected_region_highlight=( - '1 3 precommand' # env - '5 5 commandseparator' # | - '7 10 command' # grep - '12 18 default' # $needle -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/number_range-glob.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/number_range-glob.zsh @@ -1,42 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2017 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='print <-> x<->y <foo2-3>' - -expected_region_highlight=( - '1 5 builtin' # print - '7 9 default' # <-> - '7 9 globbing' # <-> - '11 15 default' # x<->y - '12 14 globbing' # <-> - '17 17 redirection' # < - '18 23 default' # foo2-3 (the filename) - '24 24 redirection' # > -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/off-by-one.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/off-by-one.zsh @@ -1,40 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -alias a=: -f() {} - -BUFFER='a;f;' - -expected_region_highlight=( - "1 1 alias" # a - "2 2 commandseparator" # ; - "3 3 function" # f - "4 4 commandseparator" # ; -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/opt-shwordsplit1.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/opt-shwordsplit1.zsh @@ -1,40 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -setopt shwordsplit -local EDITOR='ed -s' - -ed() { command ed "$@" } - -BUFFER=$'$EDITOR' - -expected_region_highlight=( - '1 7 function "issue #687"' # $EDITOR -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/optimized-cmdsubst-input.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/optimized-cmdsubst-input.zsh @@ -1,43 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# See getoutput() and getoutputfile() in zsh's C source code. - -BUFFER=$': $(<*)' - -expected_region_highlight=( - '1 1 builtin' # : - '3 7 default' # $(<*) - '3 7 command-substitution-unquoted' # $(<*) - '3 4 command-substitution-delimiter-unquoted' # $( - '5 5 redirection' # < - '6 6 default' # * - not globbing! - '7 7 command-substitution-delimiter-unquoted' # ) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/option-dollar-quote-isnt-filename.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/option-dollar-quote-isnt-filename.zsh @@ -1,39 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$': -$\'n\'' - -touch ./-n - -expected_region_highlight=( - '1 1 builtin' # : - '3 7 single-hyphen-option' # -$'n' - '4 7 dollar-quoted-argument' # $'n' -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/option-path_dirs.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/option-path_dirs.zsh @@ -1,44 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -if [[ $OSTYPE == msys ]]; then - skip_test='Cannot chmod +x in msys2' -else - setopt PATH_DIRS - mkdir -p foo/bar - touch foo/bar/testing-issue-228 - chmod +x foo/bar/testing-issue-228 - path+=( "$PWD"/foo ) - - BUFFER='bar/testing-issue-228' - - expected_region_highlight=( - "1 21 command" # bar/testing-issue-228 - ) -fi diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/option-with-quotes.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/option-with-quotes.zsh @@ -1,37 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$': --user="phy1729"' - -expected_region_highlight=( - '1 1 builtin' # : - '3 18 double-hyphen-option' # --user="phy1729" - '10 18 double-quoted-argument' # "phy1729" -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/order-path-after-dollar.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/order-path-after-dollar.zsh @@ -1,38 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -touch '$foo' -BUFFER=': $foo \$foo' - -expected_region_highlight=( - '1 1 builtin' # : - '3 6 default' # $foo - if we add a "unquoted parameter expansion" style then this expectation should change - '8 12 path' # \$foo -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/order-path-before-globbing.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/order-path-before-globbing.zsh @@ -1,39 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2017 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -touch '*' -BUFFER=': * \*' - -expected_region_highlight=( - '1 1 builtin' # : - '3 3 default' # * - '3 3 globbing' # * - '5 6 path' # \* -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/param-positional-in-array-append.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/param-positional-in-array-append.zsh @@ -1,39 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# This used to be an infinite loop. - -BUFFER=$'l+=( $1' - -expected_region_highlight=( - '1 4 assign' # l+=( - '4 4 reserved-word' # ( - '6 7 default' # $1 -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/param-precommand-option-argument1.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/param-precommand-option-argument1.zsh @@ -1,42 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# See also alias-precommand-option-argument1.zsh -local -a sudo_u; sudo_u=(sudo -u) -sudo(){} - -BUFFER='$sudo_u phy1729 echo foo' - -expected_region_highlight=( - '1 7 precommand' # $sudo_u - '9 15 default' # phy1729 - '18 20 command "issue #540"' # echo (not builtin) - '22 24 default' # foo -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/param-precommand-option-argument3.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/param-precommand-option-argument3.zsh @@ -1,42 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# See also alias-precommand-option-argument3.zsh -local -a sudo_u; sudo_u=(sudo -u) -sudo(){} - -BUFFER='$sudo_u phy1729 ls foo' - -expected_region_highlight=( - '1 7 precommand' # sudo_u - '9 15 default' # phy1729 - '17 18 command' # ls - '20 22 default' # foo -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/parameter-elision-command-word.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/parameter-elision-command-word.zsh @@ -1,36 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='$x ls' - -expected_region_highlight=( - '1 2 comment' # $x - '4 5 command' # ls -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/parameter-expansion-untokenized1.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/parameter-expansion-untokenized1.zsh @@ -1,38 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -local x="()" - -BUFFER=$'$x ls' - -expected_region_highlight=( - '1 2 unknown-token' # $x - '4 5 command' # ls -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/parameter-expansion-untokenized2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/parameter-expansion-untokenized2.zsh @@ -1,38 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -local x="^foo^bar" - -BUFFER=$'$x ls' - -expected_region_highlight=( - '1 2 unknown-token' # $x - '4 5 default' # ls -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/parameter-star.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/parameter-star.zsh @@ -1,40 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2017 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='() { : $* }' - -# This tests that $* isn't highlighted as a glob. -# If we ever add a "unquoted parameter" style, the expectation may change. -expected_region_highlight=( - "1 2 reserved-word" # () - "4 4 reserved-word" # { - "6 6 builtin" # : - "8 9 default" # $* - "11 11 reserved-word" # } -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/parameter-to-global-alias.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/parameter-to-global-alias.zsh @@ -1,42 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -if type x >/dev/null; then - skip_test="Test is written on the assumption that 'x' is not a valid command name, but that assumption does not hold" - return 0 -fi -alias -g x=y -local s=x - -BUFFER=$'$s' - -expected_region_highlight=( - '1 2 unknown-token' # $s -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/parameter-value-contains-command-position1.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/parameter-value-contains-command-position1.zsh @@ -1,38 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -local foobar='x=$(ls)' - -BUFFER=$'$foobar' - -expected_region_highlight=( - # Used to highlight the "ba" as 'command' because the 'ls' showed through; issues #670 and #674 - '1 7 unknown-token' # $foobar (not an assignment) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/parameter-value-contains-command-position2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/parameter-value-contains-command-position2.zsh @@ -1,38 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -local y='x=$(ls)' - -BUFFER=$'$y' - -expected_region_highlight=( - # Used to trigger a "BUG" message on stderr - issues #670 and #674 - '1 2 unknown-token' # $y (not an assignment) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/pasted-quotes.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/pasted-quotes.zsh @@ -1,38 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2013 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$': \'foo\'bar"baz"' - -expected_region_highlight=( - '1 1 builtin' # : - '3 15 default' # \'foo\'bar"baz" - '3 7 single-quoted-argument' # \'foo\' - '11 15 double-quoted-argument' # "baz" -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/path-broken-symlink.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/path-broken-symlink.zsh @@ -1,41 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -if [[ $OSTYPE == msys ]]; then - skip_test='Cannot create symlinks in msys2' -else - ln -s /nonexistent broken-symlink - BUFFER=': broken-symlink' - CURSOR=5 # to make path_prefix ineligible - - expected_region_highlight=( - "1 1 builtin" # : - "3 16 path" # broken-symlink - ) -fi diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/path-dollared-word.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/path-dollared-word.zsh @@ -1,45 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -if [[ $OSTYPE == msys ]]; then - skip_test='Cannot chmod +x in msys2' # cargo culted from option-path_dirs.zsh -else - mkdir kappa - touch kappa.exe - chmod +x kappa.exe - cd kappa - - BUFFER='$PWD.exe; ${PWD}.exe' - - expected_region_highlight=( - "1 8 unknown-token" # $PWD.exe - not eval'd; issue #328 - "9 9 commandseparator" # ; - "11 20 unknown-token" # ${PWD}.exe - ) -fi diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/path-dollared-word2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/path-dollared-word2.zsh @@ -1,37 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -local lambda="''" -touch \$lambda -BUFFER=': \$lambda' - -expected_region_highlight=( - "1 1 builtin" # : - "3 10 path" # \$lambda -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/path-dollared-word3.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/path-dollared-word3.zsh @@ -1,40 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# «/usr» at this point would be highlighted as path_prefix; so should -# a parameter that expands to an equivalent string be highlighted. -# -# More complicated parameter substitutions aren't eval'd; issue #328. -BUFFER='$PWD; ${PWD}' - -expected_region_highlight=( - "1 4 unknown-token" # $PWD (without AUTO_CD) - "5 5 commandseparator" # ; - "7 12 path_prefix" # ${PWD} -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/path-dollared-word3b.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/path-dollared-word3b.zsh @@ -1,38 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -setopt autocd -BUFFER=$'$PWD; ${PWD}' - -expected_region_highlight=( - '1 4 autodirectory' # $PWD - '5 5 commandseparator' # ; - '7 12 autodirectory' # ${PWD} -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/path-dollared-word4.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/path-dollared-word4.zsh @@ -1,36 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# This tests for a regression during development of issue #328: an interim version -# of that branch failed that test with "Bail out! output on stderr". -BUFFER='${' - -expected_region_highlight=( - "1 2 unknown-token" # ${ -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/path-mixed-quoting.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/path-mixed-quoting.zsh @@ -1,39 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -touch foo - -BUFFER=$': \'f\'oo' - -expected_region_highlight=( - '1 1 builtin' # : - '3 7 path' # \'f\'oo - '3 5 single-quoted-argument' # \'f\' -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/path-separators.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/path-separators.zsh @@ -1,53 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# ZSH_HIGHLIGHT_STYLES is empty in tests. The path-separator code however compares its values. -# Make sure the relevant ones are set to something. -ZSH_HIGHLIGHT_STYLES[path_pathseparator]=set -ZSH_HIGHLIGHT_STYLES[path_prefix_pathseparator]=set - -mkdir A -touch A/mu -BUFFER='ls /bin/ / A/mu A/m' - -expected_region_highlight=( - "1 2 command" # ls - "4 8 path" # /bin/ - "4 4 path_pathseparator" # / - "8 8 path_pathseparator" # / - - "10 10 path" # / - "10 10 path_pathseparator" # / - - "12 15 path" # A/mu - "13 13 path_pathseparator" # / - - "17 19 path_prefix" # A/m - "18 18 path_prefix_pathseparator" # / -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/path-separators2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/path-separators2.zsh @@ -1,40 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# ZSH_HIGHLIGHT_STYLES is empty in tests. The path-separator code however compares its values. -# For this test, make sure both these styles are set and identical: -ZSH_HIGHLIGHT_STYLES[path]=value -ZSH_HIGHLIGHT_STYLES[path_pathseparator]=value - -BUFFER='ls /bin/' - -expected_region_highlight=( - "1 2 command" # ls - "4 8 path" # /bin/ -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/path-space.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/path-space.zsh @@ -1,37 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2010-2011 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -mkdir A -touch "A/mu with spaces" -BUFFER='ls A/mu\ with\ spaces' - -expected_region_highlight=( - "1 2 command" # ls - "4 21 path" # A/mu\ with\ spaces -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/path-tilde-home.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/path-tilde-home.zsh @@ -1,36 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2010-2011 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -HOME="." -BUFFER='ls ~' - -expected_region_highlight=( - "1 2 command" # ls - "4 4 path" # ~ -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/path-tilde-home2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/path-tilde-home2.zsh @@ -1,37 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -HOME="/nonexistent" -BUFFER='ls ~' - -expected_region_highlight=( - "1 2 command" # ls - "4 4 default" # ~ -) - diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/path-tilde-home3.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/path-tilde-home3.zsh @@ -1,36 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -HOME="." -BUFFER='ls \~' - -expected_region_highlight=( - "1 2 command" # ls - "4 5 default" # \~ -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/path-tilde-named.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/path-tilde-named.zsh @@ -1,39 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -mkdir mydir -touch mydir/path-tilde-named.test -hash -d D=mydir - -BUFFER='ls ~D/path-tilde-named.test' - -expected_region_highlight=( - "1 2 command" # ls - "4 27 path" # ~D/path-tilde-named.test -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/path.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/path.zsh @@ -1,37 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2010-2011 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -mkdir A -touch A/mu -BUFFER='ls A/mu' - -expected_region_highlight=( - "1 2 command" # ls - "4 7 path" # A/mu -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/path_prefix.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/path_prefix.zsh @@ -1,38 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# Assumes that '/bin/sh' exists and '/bin/s' does not exist. -# Related to path_prefix2.zsh - -BUFFER='ls /bin/s' - -expected_region_highlight=( - "1 2 command" # ls - "4 9 path_prefix" # /bin/s -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/path_prefix2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/path_prefix2.zsh @@ -1,39 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# Assumes that '/bin/sh' exists and '/bin/s' does not exist. -# Related to path_prefix.zsh - -BUFFER='ls /bin/s' -WIDGET=zle-line-finish - -expected_region_highlight=( - "1 2 command" # ls - "4 9 default" # /bin/s -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/path_prefix3.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/path_prefix3.zsh @@ -1,38 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# Assumes that '/bin/sh' exists and '/bin/s' does not exist. -# Related to path_prefix.zsh - -PREBUFFER=$'ls \\\n' -BUFFER='/bin/s' - -expected_region_highlight=( - '1 6 path_prefix' # /bin/s -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/plain-file-in-command-position.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/plain-file-in-command-position.zsh @@ -1,39 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -touch foo -chmod -x foo -BUFFER=$'./foo; ./foo' - -expected_region_highlight=( - '1 5 unknown-token' # ./foo (in middle) - '6 6 commandseparator' # ; - '8 12 unknown-token' # ./foo (at end) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/precommand-killing1.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/precommand-killing1.zsh @@ -1,40 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -hash sudo=false -touch foo - -BUFFER='sudo -e ./foo' - -expected_region_highlight=( - '1 4 precommand' # sudo - '6 7 single-hyphen-option' # -e - '9 13 path' # ./foo -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/precommand-killing2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/precommand-killing2.zsh @@ -1,39 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -hash sudo=false - -BUFFER='sudo -e /does/not/exist' - -expected_region_highlight=( - '1 4 precommand' # sudo - '6 7 single-hyphen-option' # -e - '9 23 default' # /does/not/exist -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/precommand-then-assignment.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/precommand-then-assignment.zsh @@ -1,37 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2019 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'nice x=y ls' - -expected_region_highlight=( - '1 4 precommand' # nice - '6 8 unknown-token "issue #641.5"' # x=y - '10 11 default "issue #641.5 (fallout)"' # ls -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/precommand-type1.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/precommand-type1.zsh @@ -1,61 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2019 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# Test the behaviour of a builtin that exists as a command as well. -# The spaces in $BUFFER are to align precommand-type*.zsh test files. -BUFFER=$'test ; builtin test ; builtin command test ; nice test ' - -# Our expectations assumes that a 'test' external command exists (in addition -# to the 'test' builtin). Let's verify that, using the EQUALS option (which -# is on by default). If there's no 'test' command, the expansion will fail, -# diagnose a message on stdout, and the harness will detect a failure. -# -# This seems to work on all platforms, insofar as no one ever reported a bug -# about their system not having a 'test' binary in PATH. That said, if someone -# ever does see this test fail for this reason, we should explicitly create -# a 'test' executable in cwd and 'rehash'. -: =test - -expected_region_highlight=( - '1 4 builtin' # test - '7 7 commandseparator' # ; - - '9 15 precommand' # builtin - '17 20 builtin' # test - '23 23 commandseparator' # ; - - '25 31 precommand' # builtin - '33 39 precommand' # command - '41 44 command "issue #608"' # test - '47 47 commandseparator' # ; - - '49 52 precommand' # nice - '54 57 command "issue #608"' # test -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/precommand-type2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/precommand-type2.zsh @@ -1,55 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2019 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# Test the behaviour of a builtin that does not exist as a command. -# The spaces in $BUFFER are to align precommand-type*.zsh test files. -BUFFER=$'zstyle; builtin zstyle; builtin command zstyle; nice zstyle' - -# Verify that no $^path/zstyle(N) binary exists. -if (disable zstyle; type zstyle >/dev/null); then - echo >&2 "precommand-type2: error: 'zstyle' exists not only as a builtin" -fi - -expected_region_highlight=( - '1 6 builtin' # zstyle - '7 7 commandseparator' # ; - - '9 15 precommand' # builtin - '17 22 builtin' # zstyle - '23 23 commandseparator' # ; - - '25 31 precommand' # builtin - '33 39 precommand' # command - '41 46 unknown-token "issue #608"' # zstyle - '47 47 commandseparator' # ; - - '49 52 precommand' # nice - '54 59 unknown-token "issue #608"' # zstyle -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/precommand-type3.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/precommand-type3.zsh @@ -1,55 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2019 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# Test an external command that does not exist as a builtin. -# The spaces in $BUFFER are to align precommand-type*.zsh test files. -BUFFER=$'ls ; builtin ls ; builtin command ls ; nice ls ' - -# Verify that the 'ls' command isn't shadowed. -if [[ $(type -w ls) != "ls: command" ]]; then - echo >&2 "precommand-type3: error: the 'ls' command is shadowed (or possibly missing altogether)" -fi - -expected_region_highlight=( - '1 2 command' # ls - '7 7 commandseparator' # ; - - '9 15 precommand' # builtin - '17 18 unknown-token "issue #608"' # ls - '23 23 commandseparator' # ; - - '25 31 precommand' # builtin - '33 39 precommand' # command - '41 42 command' # ls - '47 47 commandseparator' # ; - - '49 52 precommand' # nice - '54 55 command' # ls -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/precommand-uninstalled.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/precommand-uninstalled.zsh @@ -1,44 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# Simulate sudo not being installed. -# -# The 'hash' step is because, if sudo _really_ isn't installed, 'unhash sudo' -# would error out and break the test. -hash sudo=/usr/bin/env && unhash sudo - -local PATH - -BUFFER=$'sudo ls' - -expected_region_highlight=( - '1 4 unknown-token' # sudo - '6 7 default' # ls - not 'command', since sudo isn't installed -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/precommand-unknown-option.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/precommand-unknown-option.zsh @@ -1,43 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -sudo(){} - -BUFFER='sudo -ux ls; sudo -x ls' - -expected_region_highlight=( - '1 4 precommand' # sudo - '6 8 single-hyphen-option' # -ux - '10 11 command' # ls - '12 12 commandseparator' # ; - '14 17 precommand' # sudo - '19 20 single-hyphen-option' # -x - '22 23 command' # ls -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/precommand.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/precommand.zsh @@ -1,36 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=': command zzzzzz' - -expected_region_highlight=( - "1 1 builtin" # : - "3 9 default" # not precommand - "11 16 default" # not unknown-token (since 'zzzzzz' is not a command) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/precommand2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/precommand2.zsh @@ -1,36 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='command -v ls' - -expected_region_highlight=( - "1 7 precommand" # command - "9 10 single-hyphen-option" # -v - "12 13 command" # ls -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/precommand3.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/precommand3.zsh @@ -1,41 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='nice -n10 ls; nice -n 10 ls' - -expected_region_highlight=( - "1 4 precommand" # nice - "6 9 single-hyphen-option" # -n10 - "11 12 command" # ls - "13 13 commandseparator" # ; - "15 18 precommand" # nice - "20 21 single-hyphen-option" # -n - "23 24 default" # 10 - "26 27 command" # ls -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/precommand4.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/precommand4.zsh @@ -1,39 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -doas(){} -BUFFER=$'doas -nu phy1729 ls' - -expected_region_highlight=( - '1 4 precommand' # doas - '6 8 single-hyphen-option' # -nu - '10 16 default' # phy1729 - '18 19 command' # ls -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/prefix-redirection.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/prefix-redirection.zsh @@ -1,42 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='>/tmp >/tmp command echo >/tmp foo' - -expected_region_highlight=( - "1 1 redirection" # > - "2 5 path" # /tmp - "7 7 redirection" # > - "8 11 path" # /tmp - "13 19 precommand" # command - "21 24 builtin" # echo - "26 26 redirection" # > - "27 30 path" # /tmp - "32 34 default" # foo -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/process-substitution-after-redirection.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/process-substitution-after-redirection.zsh @@ -1,46 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2017, 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'< <(pwd) > >(nl)' - -expected_region_highlight=( - '1 1 redirection' # < - '3 8 default' # <(pwd) - '3 8 process-substitution' # <(pwd) - '3 4 process-substitution-delimiter' # <( - '5 7 builtin' # pwd - '8 8 process-substitution-delimiter' # ) - '10 10 redirection' # > - '12 16 default' # >(nl) - '12 16 process-substitution' # >(nl) - '12 13 process-substitution-delimiter' # >( - '14 15 command' # nl - '16 16 process-substitution-delimiter' # ) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/process-substitution-redirection-isnt-globbing.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/process-substitution-redirection-isnt-globbing.zsh @@ -1,41 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$': =(<foo)' - -expected_region_highlight=( - '1 1 builtin' # : - '3 9 default' # =(<foo) - '3 9 process-substitution' # =(<foo) - '3 4 process-substitution-delimiter' # =( - '5 5 redirection' # <foo - '6 8 default' # foo - '9 9 process-substitution-delimiter' # ) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/process-substitution.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/process-substitution.zsh @@ -1,43 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$': --foo=<(echo bar) "<(:)"' - -expected_region_highlight=( - '1 1 builtin' # : - '3 19 double-hyphen-option' # --foo=<(echo bar) - '9 19 process-substitution' # <(echo bar) - '9 10 process-substitution-delimiter' # <( - '11 14 builtin' # echo - '16 18 default' # bar - '19 19 process-substitution-delimiter' # ) - '21 26 default' # "<(:)" - '21 26 double-quoted-argument' # "<(:)" -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/process-substitution2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/process-substitution2.zsh @@ -1,51 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='echo =(:) a=(:) =(echo foo' - -expected_region_highlight=( - '1 4 builtin' # echo - '6 9 default' # =(:) - '6 9 process-substitution' # =(:) - '6 7 process-substitution-delimiter' # =( - '8 8 builtin' # : - '9 9 process-substitution-delimiter' # ) - '11 15 default' # a=(:) - '17 26 default' # =(echo foo - '17 26 process-substitution' # =(echo foo - '17 18 process-substitution-delimiter' # =( - '19 22 builtin' # echo - '24 26 default' # foo -) - -if [[ ${(z):-'$('} == '$( ' ]]; then # ignore zsh 5.0.8 bug - expected_region_highlight[8]='17 27 default' # =(echo foo - expected_region_highlight[9]='17 27 process-substitution' # =(echo foo -fi diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/quoted-command-substitution-empty.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/quoted-command-substitution-empty.zsh @@ -1,44 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='echo "foo$( ' - -expected_region_highlight=( - '1 4 builtin' # echo - '6 12 default' # "foo$( - '6 9 double-quoted-argument-unclosed' # "foo - '10 12 command-substitution-quoted' # $( - '10 11 command-substitution-delimiter-quoted' # $( -) - -if [[ ${(z):-'$('} == '$( ' ]]; then # ignore zsh 5.0.8 bug - expected_region_highlight[2]='6 13 default' # "foo$( - expected_region_highlight[4]='10 13 command-substitution-quoted' # $( -fi diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/quoted-redirection-in-command-word.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/quoted-redirection-in-command-word.zsh @@ -1,37 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'">" foo ls' - -expected_region_highlight=( - '1 3 unknown-token' # ">" - not "redirection" - '5 7 default' # foo - '9 10 default' # ls - not "command" -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/rc-quotes.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/rc-quotes.zsh @@ -1,39 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2017 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -setopt RC_QUOTES - -BUFFER=": 'foo''bar'baz" - -expected_region_highlight=( - "1 1 builtin" # : - "3 15 default" # 'foo''bar'baz - "3 12 single-quoted-argument" # 'foo''bar' - "7 8 rc-quote" # '' -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/redirection-comment.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/redirection-comment.zsh @@ -1,38 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2017 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -setopt interactive_comments - -BUFFER=': <<#foo' - -expected_region_highlight=( - "1 1 builtin" # : - "3 4 redirection" # << - "5 8 comment" # #foo -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/redirection-from-param.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/redirection-from-param.zsh @@ -1,40 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -touch file -local fn=$PWD/file - -BUFFER=$'<$fn cat' - -expected_region_highlight=( - '1 1 redirection' # < - '2 4 path' # $fn - '6 8 command' # cat -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/redirection-in-cmdsubst.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/redirection-in-cmdsubst.zsh @@ -1,41 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$': $(<foo)' - -expected_region_highlight=( - '1 1 builtin' # : - '3 9 default' # $(<foo) - '3 9 command-substitution-unquoted' # $(<foo) - '3 4 command-substitution-delimiter-unquoted' # $( - '5 5 redirection' # < - '6 8 default' # foo - '9 9 command-substitution-delimiter-unquoted' # ) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/redirection-inhibits-elision.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/redirection-inhibits-elision.zsh @@ -1,38 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'<$foo cat cat' - -expected_region_highlight=( - '1 1 redirection' # < - '2 5 default' # $foo - '7 9 command' # cat - '11 13 default' # cat -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/redirection-is-not-option.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/redirection-is-not-option.zsh @@ -1,38 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$': > -x >> --yy' - -expected_region_highlight=( - '1 1 builtin' # : - '3 3 redirection' # > - '5 6 default' # -x - '8 9 redirection' # >> - '11 14 default' # --yy -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/redirection-special-cases.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/redirection-special-cases.zsh @@ -1,44 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2019 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# See xpandredir() in the zsh source. - -BUFFER=$'cat <&p; exec {myfd}>&-' - -expected_region_highlight=( - '1 3 command' # cat - '5 6 redirection' # <& - '7 7 redirection' # p - '8 8 commandseparator' # ; - '10 13 precommand' # exec - '15 20 named-fd' # {myfd} - '21 22 redirection' # >& - '23 23 redirection' # - -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/redirection.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/redirection.zsh @@ -1,39 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# Redirection before and after the command word are implemented differently; test both. -BUFFER='<<<foo echo >>&!bar' - -expected_region_highlight=( - "1 3 redirection" # <<< - "4 6 default" # foo - "8 11 builtin" # echo - "13 16 redirection" # >>&! - "17 19 default" # bar -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/redirection2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/redirection2.zsh @@ -1,41 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='ls >(wc) | nl' - -expected_region_highlight=( - "1 2 command" # ls - "4 8 default" # >(wc) - "4 8 process-substitution" # >(wc) - "4 5 process-substitution-delimiter" # >( - "6 7 command" # wc - "8 8 process-substitution-delimiter" # ) - "10 10 commandseparator" # | - "12 13 command" # nl -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/redirection3.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/redirection3.zsh @@ -1,42 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2017 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=': >>>; : <>\<<<<EOF' - -expected_region_highlight=( - "1 1 builtin" # : - "3 4 redirection" # >> - "5 5 unknown-token" # > - "6 6 commandseparator" # ; - "8 8 builtin" # : - "10 11 redirection" # <> - "12 13 default" # \< - "14 16 redirection" # <<< - "17 19 default" # EOF -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/reserved-word.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/reserved-word.zsh @@ -1,38 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='repeat "1" do done' - -expected_region_highlight=( - "1 6 reserved-word" # repeat - "8 10 default" # "1" - "8 10 double-quoted-argument" # "1" - "12 13 reserved-word" # do - "15 18 reserved-word" # done -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/simple-command.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/simple-command.zsh @@ -1,34 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2010-2011 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='ls' - -expected_region_highlight=( - "1 2 command" # ls -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/simple-redirection.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/simple-redirection.zsh @@ -1,38 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='ps aux | grep java' - -expected_region_highlight=( - "1 2 command" # ps - "4 6 default" # aux - "8 8 commandseparator" # | - "10 13 command" # grep - "15 18 default" # java -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/subshell.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/subshell.zsh @@ -1,51 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='tar cf - * | (cd /target; tar xfp -) | { cat }' - -expected_region_highlight=( - "1 3 command" # tar - "5 6 default" # cf - "8 8 single-hyphen-option" # - - "10 10 default" # * - "10 10 globbing" # * - "12 12 commandseparator" # | - "14 14 reserved-word" # ( - "15 16 builtin" # cd - "18 24 default" # /target - "25 25 commandseparator" # ; - "27 29 command" # tar - "31 33 default" # xfp - "35 35 single-hyphen-option" # - - "36 36 reserved-word" # ) - "38 38 commandseparator" # | - "40 40 reserved-word" # { - "42 44 command" # cat - "46 46 reserved-word" # } -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/sudo-command.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/sudo-command.zsh @@ -1,54 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -sudo(){} - -# Tests three codepaths: -# * -i (no argument) -# * -C3 (pasted argument) -# * -u otheruser (non-pasted argument) -BUFFER='sudo -C3 -u otheruser -i ls /; sudo ; sudo -u ; sudo notacommand' - -expected_region_highlight=( - "1 4 precommand" # sudo - "6 8 single-hyphen-option" # -C3 - "10 11 single-hyphen-option" # -u - "13 21 default" # otheruser - "23 24 single-hyphen-option" # -i - "26 27 command" # ls - "29 29 path" # / - "30 30 commandseparator" # ; - "32 35 precommand" # sudo - "37 37 unknown-token" # ;, error because empty command - "39 42 precommand" # sudo - "44 45 single-hyphen-option" # -u - "47 47 unknown-token" # ;, error because incomplete command - "49 52 precommand" # sudo - "54 64 unknown-token" # notacommand - doesn't falls back to "not a command word" codepath -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/sudo-comment.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/sudo-comment.zsh @@ -1,39 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -sudo(){} - -setopt interactive_comments -BUFFER='sudo -u # comment' - -expected_region_highlight=( - "1 4 precommand" # sudo - "6 7 single-hyphen-option" # -u - "9 17 unknown-token" # "# comment" - error because argument missed -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/sudo-longopt.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/sudo-longopt.zsh @@ -1,38 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -hash sudo='false' -BUFFER='sudo --askpass ls' - -expected_region_highlight=( - '1 4 precommand' # sudo - '6 14 double-hyphen-option' # --askpass - '16 17 command' # ls (we don't know whether --askpass takes an argument) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/sudo-redirection.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/sudo-redirection.zsh @@ -1,48 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -sudo(){} - -BUFFER='sudo -u >/tmp otheruser ls; sudo ls; sudo -i ls' - -expected_region_highlight=( - "1 4 precommand" # sudo - "6 7 single-hyphen-option" # -u - "9 9 redirection" # > - "10 13 path" # /tmp - "15 23 default" # otheruser - "25 26 command" # ls - "27 27 commandseparator" # ; - "29 32 precommand" # sudo - "34 35 command" # ls - "36 36 commandseparator" # ; - "38 41 precommand" # sudo - "43 44 single-hyphen-option" # -i - "46 47 command" # ls -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/sudo-redirection2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/sudo-redirection2.zsh @@ -1,41 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -sudo(){} - -BUFFER='sudo >/tmp -u otheruser ls' - -expected_region_highlight=( - "1 4 precommand" # sudo - "6 6 redirection" # > - "7 10 path" # /tmp - "12 13 single-hyphen-option" # -u - "15 23 default" # otheruser - "25 26 command" # ls -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/sudo-redirection3.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/sudo-redirection3.zsh @@ -1,41 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -sudo(){} - -BUFFER='sudo 2>./. -u otheruser ls' - -expected_region_highlight=( - "1 4 precommand" # sudo - "6 7 redirection" # 2> - "8 10 path" # ./. # a 3-character path, for alignment with sudo-redirection2.zsh - "12 13 single-hyphen-option" # -u - "15 23 default" # otheruser - "25 26 command" # ls -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/tilde-command-word.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/tilde-command-word.zsh @@ -1,37 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -hash -d D=/usr/bin - -BUFFER='~D/env foo' - -expected_region_highlight=( - "1 6 command" # ~D/env [= /usr/bin/env - "8 10 default" # foo -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/time-and-nocorrect1.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/time-and-nocorrect1.zsh @@ -1,39 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2019 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'time ls; nocorrect ls' - -expected_region_highlight=( - '1 4 reserved-word' # time - '6 7 command' # ls - '8 8 commandseparator' # ; - '10 18 reserved-word' # nocorrect - '20 21 command' # ls -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/time-and-nocorrect2.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/time-and-nocorrect2.zsh @@ -1,40 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2019 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER=$'time ls; nocorrect ls' -alias time=':' nocorrect=':' - -expected_region_highlight=( - '1 4 alias' # time - '6 7 default' # ls - '8 8 commandseparator' # ; - '10 18 alias' # nocorrect - '20 21 default' # ls -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/unbackslash.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/unbackslash.zsh @@ -1,34 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='\sh' - -expected_region_highlight=( - "1 3 command" # \sh (runs 'sh', bypassing aliases) -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/unknown-command.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/unknown-command.zsh @@ -1,34 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2010-2011 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='azertyuiop' - -expected_region_highlight=( - "1 10 unknown-token" # azertyuiop -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/vanilla-newline.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/vanilla-newline.zsh @@ -1,39 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -PREBUFFER=$'echo foo; echo bar\n\n\n' -BUFFER=' echo baz; echo qux' - -expected_region_highlight=( - "2 5 builtin" # echo - "7 9 default" # baz - "10 10 commandseparator" # semicolon - "12 15 builtin" # echo - "17 19 default" # qux -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/vi-linewise-mode.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/main/test-data/vi-linewise-mode.zsh @@ -1,43 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# See issue #267 for the magic numbers -BUFFER=$'foo foo\nbar bar' -REGION_ACTIVE=2 -CURSOR=4 -MARK=12 - -expected_region_highlight=( - "1 3 unknown-token" # foo - "5 7 default" # foo - "8 8 commandseparator" # \n - "9 11 unknown-token" # bar - "13 15 default" # bar - "1 15 standout" # foo foo\nbar bar -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/pattern/README.md b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/pattern/README.md @@ -1 +0,0 @@ -../../docs/highlighters/pattern.md -\ No newline at end of file diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/pattern/pattern-highlighter.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/pattern/pattern-highlighter.zsh @@ -1,60 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2010-2011 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - - -# List of keyword and color pairs. -typeset -gA ZSH_HIGHLIGHT_PATTERNS - -# Whether the pattern highlighter should be called or not. -_zsh_highlight_highlighter_pattern_predicate() -{ - _zsh_highlight_buffer_modified -} - -# Pattern syntax highlighting function. -_zsh_highlight_highlighter_pattern_paint() -{ - setopt localoptions extendedglob - local pattern - for pattern in ${(k)ZSH_HIGHLIGHT_PATTERNS}; do - _zsh_highlight_pattern_highlighter_loop "$BUFFER" "$pattern" - done -} - -_zsh_highlight_pattern_highlighter_loop() -{ - # This does *not* do its job syntactically, sorry. - local buf="$1" pat="$2" - local -a match mbegin mend - local MATCH; integer MBEGIN MEND - if [[ "$buf" == (#b)(*)(${~pat})* ]]; then - region_highlight+=("$((mbegin[2] - 1)) $mend[2] $ZSH_HIGHLIGHT_PATTERNS[$pat], memo=zsh-syntax-highlighting") - "$0" "$match[1]" "$pat"; return $? - fi -} diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/pattern/test-data/rm-rf.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/pattern/test-data/rm-rf.zsh @@ -1,36 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -ZSH_HIGHLIGHT_PATTERNS+=('rm -rf *' 'fg=white,bold,bg=red') - -BUFFER='rm -rf /' - -expected_region_highlight=( - "1 8 fg=white,bold,bg=red" # rm -rf / -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/regexp/README.md b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/regexp/README.md @@ -1 +0,0 @@ -../../docs/highlighters/regexp.md -\ No newline at end of file diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/regexp/regexp-highlighter.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/regexp/regexp-highlighter.zsh @@ -1,62 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2010-2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - - -# List of keyword and color pairs. -typeset -gA ZSH_HIGHLIGHT_REGEXP - -# Whether the pattern highlighter should be called or not. -_zsh_highlight_highlighter_regexp_predicate() -{ - _zsh_highlight_buffer_modified -} - -# Pattern syntax highlighting function. -_zsh_highlight_highlighter_regexp_paint() -{ - setopt localoptions extendedglob - local pattern - for pattern in ${(k)ZSH_HIGHLIGHT_REGEXP}; do - _zsh_highlight_regexp_highlighter_loop "$BUFFER" "$pattern" - done -} - -_zsh_highlight_regexp_highlighter_loop() -{ - local buf="$1" pat="$2" - integer OFFSET=0 - local MATCH; integer MBEGIN MEND - local -a match mbegin mend - while true; do - [[ "$buf" =~ "$pat" ]] || return; - region_highlight+=("$((MBEGIN - 1 + OFFSET)) $((MEND + OFFSET)) $ZSH_HIGHLIGHT_REGEXP[$pat], memo=zsh-syntax-highlighting") - buf="$buf[$(($MEND+1)),-1]" - OFFSET=$((MEND+OFFSET)); - done -} diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/regexp/test-data/complex.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/regexp/test-data/complex.zsh @@ -1,37 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -ZSH_HIGHLIGHT_REGEXP+=('[0-9\+\-]+' 'fg=white,bold,bg=red') - -BUFFER='echo 1+9-3 7+2' - -expected_region_highlight=( - "6 10 fg=white,bold,bg=red" - "12 14 fg=white,bold,bg=red" -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/regexp/test-data/subexpression.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/regexp/test-data/subexpression.zsh @@ -1,36 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2018 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -BUFFER='ls foo' -ZSH_HIGHLIGHT_REGEXP=('(^| )(ls|cd)($| )' 'fg=green') - -expected_region_highlight=( - '1 3 fg=green' # "ls " -) diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/regexp/test-data/word-boundary.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/regexp/test-data/word-boundary.zsh @@ -1,42 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -if zmodload zsh/pcre 2>/dev/null; then - setopt RE_MATCH_PCRE - - ZSH_HIGHLIGHT_REGEXP+=('\bsudo\b' 'fg=white,bold,bg=red') - - BUFFER='sudo ls' - - expected_region_highlight=( - "1 4 fg=white,bold,bg=red" - ) -else - skip_test='Test requires zsh/pcre' -fi diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/root/README.md b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/root/README.md @@ -1 +0,0 @@ -../../docs/highlighters/root.md -\ No newline at end of file diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/root/root-highlighter.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/highlighters/root/root-highlighter.zsh @@ -1,44 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2010-2011 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - - -# Define default styles. -: ${ZSH_HIGHLIGHT_STYLES[root]:=standout} - -# Whether the root highlighter should be called or not. -_zsh_highlight_highlighter_root_predicate() -{ - _zsh_highlight_buffer_modified -} - -# root highlighting function. -_zsh_highlight_highlighter_root_paint() -{ - if (( EUID == 0 )) { _zsh_highlight_add_highlight 0 $#BUFFER root } -} diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/images/after1-smaller.png b/.config/zsh/plugged/zsh-syntax-highlighting/images/after1-smaller.png Binary files differ. diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/images/after1.png b/.config/zsh/plugged/zsh-syntax-highlighting/images/after1.png Binary files differ. diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/images/after2-smaller.png b/.config/zsh/plugged/zsh-syntax-highlighting/images/after2-smaller.png Binary files differ. diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/images/after2.png b/.config/zsh/plugged/zsh-syntax-highlighting/images/after2.png Binary files differ. diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/images/after3-smaller.png b/.config/zsh/plugged/zsh-syntax-highlighting/images/after3-smaller.png Binary files differ. diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/images/after3.png b/.config/zsh/plugged/zsh-syntax-highlighting/images/after3.png Binary files differ. diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/images/after4-smaller.png b/.config/zsh/plugged/zsh-syntax-highlighting/images/after4-smaller.png Binary files differ. diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/images/before1-smaller.png b/.config/zsh/plugged/zsh-syntax-highlighting/images/before1-smaller.png Binary files differ. diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/images/before1.png b/.config/zsh/plugged/zsh-syntax-highlighting/images/before1.png Binary files differ. diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/images/before2-smaller.png b/.config/zsh/plugged/zsh-syntax-highlighting/images/before2-smaller.png Binary files differ. diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/images/before2.png b/.config/zsh/plugged/zsh-syntax-highlighting/images/before2.png Binary files differ. diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/images/before3-smaller.png b/.config/zsh/plugged/zsh-syntax-highlighting/images/before3-smaller.png Binary files differ. diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/images/before3.png b/.config/zsh/plugged/zsh-syntax-highlighting/images/before3.png Binary files differ. diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/images/before4-smaller.png b/.config/zsh/plugged/zsh-syntax-highlighting/images/before4-smaller.png Binary files differ. diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/images/preview-smaller.png b/.config/zsh/plugged/zsh-syntax-highlighting/images/preview-smaller.png Binary files differ. diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/images/preview.png b/.config/zsh/plugged/zsh-syntax-highlighting/images/preview.png Binary files differ. diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/release.md b/.config/zsh/plugged/zsh-syntax-highlighting/release.md @@ -1,20 +0,0 @@ -# Release procedure (for developers): - -- For minor (A.B.0) releases: - - Check whether the release uses any not-yet-released zsh features -- Check open issues and outstanding pull requests -- Confirm `make test` passes - - check with multiple zsh versions - (easiest to check GitHub Actions: https://github.com/zsh-users/zsh-syntax-highlighting/actions) -- Update changelog.md - `tig --abbrev=12 --abbrev-commit 0.4.1..upstream/master` -- Make sure there are no local commits and that `git status` is clean; - Remove `-dev` suffix from `./.version`; - Commit that using `git commit -m "Tag version $(<.version)." .version`; - Tag it using `git tag -s -m "Tag version $(<.version)" $(<.version)`; - Increment `./.version` and restore the `-dev` suffix; - Commit that using `git commit -C b5c30ae52638e81a38fe5329081c5613d7bd6ca5 .version`. -- Push with `git push && git push --tags` -- Notify downstreams (OS packages) - - anitya should autodetect the tag -- Update /topic on IRC diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/tests/README.md b/.config/zsh/plugged/zsh-syntax-highlighting/tests/README.md @@ -1,124 +0,0 @@ -zsh-syntax-highlighting / tests -=============================== - -Utility scripts for testing zsh-syntax-highlighting highlighters. - -The tests harness expects the highlighter directory to contain a `test-data` -directory with test data files. -See the [main highlighter](../highlighters/main/test-data) for examples. - -Tests should set the following variables: - -1. -Each test should define the string `$BUFFER` that is to be highlighted and the -array parameter `$expected_region_highlight`. -The value of that parameter is a list of strings of the form `"$i $j $style"`. -or `"$i $j $style $todo"`. -Each string specifies the highlighting that `$BUFFER[$i,$j]` should have; -that is, `$i` and `$j` specify a range, 1-indexed, inclusive of both endpoints. -`$style` is a key of `$ZSH_HIGHLIGHT_STYLES`. -If `$todo` exists, the test point is marked as TODO (the failure of that test -point will not fail the test), and `$todo` is used as the explanation. - -2. -If a test sets `$skip_test` to a non-empty string, the test will be skipped -with the provided string as the reason. - -3. -If a test sets `$fail_test` to a non-empty string, the test will be skipped -with the provided string as the reason. - -4. -If a test sets `unsorted=1` the order of highlights in `$expected_region_highlight` -need not match the order in `$region_highlight`. - -5. -Normally, tests fail if `$expected_region_highlight` and `$region_highlight` -have different numbers of elements. To mark this check as expected to fail, -tests may set `$expected_mismatch` to an explanation string (like `$todo`); -this is useful when the only difference between actual and expected is that actual -has some additional, superfluous elements. This check is skipped if the -`$todo` component is present in any regular test point. - -**Note**: `$region_highlight` uses the same `"$i $j $style"` syntax but -interprets the indexes differently. - -**Note**: Tests are run with `setopt NOUNSET WARN_CREATE_GLOBAL`, so any -variables the test creates must be declared local. - -**Isolation**: Each test is run in a separate subshell, so any variables, -aliases, functions, etc., it defines will be visible to the tested code (that -computes `$region_highlight`), but will not affect subsequent tests. The -current working directory of tests is set to a newly-created empty directory, -which is automatically cleaned up after the test exits. For example: - -```zsh -setopt PATH_DIRS -mkdir -p foo/bar -touch foo/bar/testing-issue-228 -chmod +x foo/bar/testing-issue-228 -path+=( "$PWD"/foo ) - -BUFFER='bar/testing-issue-228' - -expected_region_highlight=( - "1 21 command" # bar/testing-issue-228 -) -``` - - -Writing new tests ------------------ - -An experimental tool is available to generate test files: - -```zsh -zsh -f tests/generate.zsh 'ls -x' acme newfile -``` - -This generates a `highlighters/acme/test-data/newfile.zsh` test file based on -the current highlighting of the given `$BUFFER` (in this case, `ls -x`). - -_This tool is experimental._ Its interface may change. In particular it may -grow ways to set `$PREBUFFER` to inject free-form code into the generated file. - - -Highlighting test ------------------ - -[`test-highlighting.zsh`](tests/test-highlighting.zsh) tests the correctness of -the highlighting. Usage: - -```zsh -zsh test-highlighting.zsh <HIGHLIGHTER NAME> -``` - -All tests may be run with - -```zsh -make test -``` - -which will run all highlighting tests and report results in [TAP format][TAP]. -By default, the results of all tests will be printed; to show only "interesting" -results (tests that failed but were expected to succeed, or vice-versa), run -`make quiet-test` (or `make test QUIET=y`). - -[TAP]: http://testanything.org/ - - -Performance test ----------------- - -[`test-perfs.zsh`](tests/test-perfs.zsh) measures the time spent doing the -highlighting. Usage: - -```zsh -zsh test-perfs.zsh <HIGHLIGHTER NAME> -``` - -All tests may be run with - -```zsh -make perf -``` diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/tests/edit-failed-tests b/.config/zsh/plugged/zsh-syntax-highlighting/tests/edit-failed-tests @@ -1,40 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -type perl sponge >/dev/null || { print -ru2 -- "$0: This script requires perl(1) and sponge(1) [from moreutils]"; exit 1; } - -local editor=( "${(@Q)${(z)${VISUAL:-${EDITOR:-vi}}}}" ) -() { - > "$2" perl -nE '$highlighter = $1 if /^Running test (\S*)/; say "highlighters/${highlighter}/test-data/$1.zsh" if /^## (\S*)/' "$1" - >>"$2" echo "" - >>"$2" cat <"$1" - "${editor[@]}" -- "$2" -} =(${MAKE:-make} quiet-test) =(:) -# TODO: tee(1) the quiet-test output to /dev/tty as it's happening, with colors. diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/tests/generate.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/tests/generate.zsh @@ -1,117 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2016 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -emulate -LR zsh -setopt localoptions extendedglob - -# Required for add-zle-hook-widget. -zmodload zsh/zle - -# Argument parsing. -if (( $# * $# - 7 * $# + 12 )) || [[ $1 == -* ]]; then - print -r -- >&2 "$0: usage: $0 BUFFER HIGHLIGHTER BASENAME [PREAMBLE]" - print -r -- >&2 "" - print -r -- >&2 "Generate highlighters/HIGHLIGHTER/test-data/BASENAME.zsh based on the" - print -r -- >&2 "current highlighting of BUFFER, using the setup code PREAMBLE." - exit 1 -fi -buffer=$1 -ZSH_HIGHLIGHT_HIGHLIGHTERS=( $2 ) -fname=${0:A:h:h}/highlighters/$2/test-data/${3%.zsh}.zsh -preamble=${4:-""} - -# Load the main script. -. ${0:A:h:h}/zsh-syntax-highlighting.zsh - -# Overwrite _zsh_highlight_add_highlight so we get the key itself instead of the style -_zsh_highlight_add_highlight() -{ - region_highlight+=("$1 $2 $3") -} - - -# Copyright block -year="`LC_ALL=C date +%Y`" -if ! { read -q "?Set copyright year to $year? " } always { echo "" }; then - year="YYYY" -fi -<$0 sed -n -e '1,/^$/p' | sed -e "s/2[0-9][0-9][0-9]/${year}/" > $fname -# Assumes stdout is line-buffered -git add -- $fname -exec > >(tee -a $fname) - -# Preamble -if [[ -n $preamble ]]; then - print -rl -- "$preamble" "" -fi - -# Buffer -print -n 'BUFFER=' -if [[ $buffer != (#s)[$'\t -~']#(#e) ]]; then - print -r -- ${(qqqq)buffer} -else - print -r -- ${(qq)buffer} -fi -echo "" - -# Expectations -print 'expected_region_highlight=(' -() { - local i - local PREBUFFER - local BUFFER - - PREBUFFER="" - BUFFER="$buffer" - region_highlight=() - eval $( - exec 3>&1 >/dev/null - typeset -r __tests_tmpdir="$(mktemp -d)" - { - # Use a subshell to ensure $__tests_tmpdir, which is to be rm -rf'd, won't be modified. - (cd -- "$__tests_tmpdir" && eval $preamble && _zsh_highlight && typeset -p region_highlight >&3) - : # workaround zsh bug workers/45305 with respect to the $(…) subshell we're in - } always { - rm -rf -- ${__tests_tmpdir} - } - ) - - for ((i=1; i<=${#region_highlight}; i++)); do - local -a highlight_zone; highlight_zone=( ${(z)region_highlight[$i]} ) - integer start=$highlight_zone[1] end=$highlight_zone[2] - if (( start < end )) # region_highlight ranges are half-open - then - (( --end )) # convert to closed range, like expected_region_highlight - (( ++start, ++end )) # region_highlight is 0-indexed; expected_region_highlight is 1-indexed - fi - printf " %s # %s\n" ${(qq):-"$start $end $highlight_zone[3]"} ${${(qqqq)BUFFER[start,end]}[3,-2]} - done -} -print ')' diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/tests/tap-colorizer.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/tests/tap-colorizer.zsh @@ -1,71 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015, 2017 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# This is a stdin-to-stdout filter that takes TAP output (such as 'make test') -# on stdin and passes it, colorized, to stdout. - -emulate -LR zsh - -if [[ ! -t 1 ]] ; then - exec cat -fi - -while read -r line; -do - case $line in - # comment (filename header) or plan - (#* | <->..<->) - print -nP %F{blue} - ;; - # SKIP - (*# SKIP*) - print -nP %F{yellow} - ;; - # XPASS - (ok*# TODO*) - print -nP %F{red} - ;; - # XFAIL - (not ok*# TODO*) - print -nP %F{yellow} - ;; - # FAIL - (not ok*) - print -nP %F{red} - ;; - # PASS - (ok*) - print -nP %F{green} - ;; - esac - print -nr - "$line" - print -nP %f - echo "" # newline -done diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/tests/tap-filter b/.config/zsh/plugged/zsh-syntax-highlighting/tests/tap-filter @@ -1,47 +0,0 @@ -#!/usr/bin/env perl -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# vim: ft=perl sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# This is a stdin-to-stdout filter that takes TAP output (such as 'make test') -# on stdin and deletes lines pertaining to expected results. -# -# More specifically, if any of the test points in a test file either failed but -# was expected to pass, or passed but was expected to fail, then emit that test -# file's output; else, elide that test file's output. - -use v5.10.0; -use warnings; -use strict; - -undef $/; # slurp mode -print for - grep { /^ok.*# TODO/m or /^not ok(?!.*# TODO)/m or /^Bail out!/m } - # Split on plan lines and remove them from the output. (To keep them, - # use the lookahead syntax, «(?=…)», to make the match zero-length.) - split /^\d+\.\.\d+$/m, - <STDIN>; diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/tests/test-highlighting.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/tests/test-highlighting.zsh @@ -1,291 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2010-2017 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - - -setopt NO_UNSET WARN_CREATE_GLOBAL - -# Required for add-zle-hook-widget. -zmodload zsh/zle - -local -r root=${0:h:h} -local -a anon_argv; anon_argv=("$@") - -(){ -set -- "${(@)anon_argv}" -# Check an highlighter was given as argument. -[[ -n "$1" ]] || { - echo >&2 "Bail out! You must provide the name of a valid highlighter as argument." - exit 2 -} - -# Check the highlighter is valid. -[[ -f $root/highlighters/$1/$1-highlighter.zsh ]] || { - echo >&2 "Bail out! Could not find highlighter ${(qq)1}." - exit 2 -} - -# Check the highlighter has test data. -[[ -d $root/highlighters/$1/test-data ]] || { - echo >&2 "Bail out! Highlighter ${(qq)1} has no test data." - exit 2 -} - -# Set up results_filter -local results_filter -if [[ ${QUIET-} == y ]]; then - if type -w perl >/dev/null; then - results_filter=$root/tests/tap-filter - else - echo >&2 "Bail out! quiet mode not supported: perl not found"; exit 2 - fi -else - results_filter=cat -fi -[[ -n $results_filter ]] || { echo >&2 "Bail out! BUG setting \$results_filter"; exit 2 } - -# Load the main script. -# While here, test that it doesn't eat aliases. -print > >($results_filter | $root/tests/tap-colorizer.zsh) -r -- "# global (driver) tests" -print > >($results_filter | $root/tests/tap-colorizer.zsh) -r -- "1..1" -alias -- +plus=plus -alias -- _other=other -local original_alias_dash_L_output="$(alias -L)" -. $root/zsh-syntax-highlighting.zsh -if [[ $original_alias_dash_L_output == $(alias -L) ]]; then - print -r -- "ok 1 # 'alias -- +foo=bar' is preserved" -else - print -r -- "not ok 1 # 'alias -- +foo=bar' is preserved" - exit 1 -fi > >($results_filter | $root/tests/tap-colorizer.zsh) - -# Overwrite _zsh_highlight_add_highlight so we get the key itself instead of the style -_zsh_highlight_add_highlight() -{ - region_highlight+=("$1 $2 $3") -} - -# Activate the highlighter. -ZSH_HIGHLIGHT_HIGHLIGHTERS=($1) - -# In zsh<5.3, 'typeset -p arrayvar' emits two lines, so we use this wrapper instead. -typeset_p() { - for 1 ; do - if [[ ${(tP)1} == *array* ]]; then - print -r -- "$1=( ${(@qqqqP)1} )" - else - print -r -- "$1=${(qqqqP)1}" - fi - done -} - -# Escape # as ♯ and newline as ↵ they are illegal in the 'description' part of TAP output -# The string to escape is «"$@"»; the result is returned in $REPLY. -tap_escape() { - local s="${(j. .)@}" - REPLY="${${s//'#'/♯}//$'\n'/↵}" -} - -# Runs a highlighting test -# $1: data file -run_test_internal() { - - local tests_tempdir="$1"; shift - local srcdir="$PWD" - builtin cd -q -- "$tests_tempdir" || { echo >&2 "Bail out! On ${(qq)1}: cd failed: $?"; return 1 } - - # Load the data and prepare checking it. - local BUFFER CURSOR MARK PENDING PREBUFFER REGION_ACTIVE WIDGET REPLY skip_test fail_test unsorted=0 - local expected_mismatch - local skip_mismatch - local -a expected_region_highlight region_highlight - - local ARG="$1" - local RETURN="" - () { - setopt localoptions - - # WARNING: The remainder of this anonymous function will run with the test's options in effect - if { ! . "$srcdir"/"$ARG" } || (( $#fail_test )); then - print -r -- "1..1" - print -r -- "## ${ARG:t:r}" - tap_escape $fail_test; fail_test=$REPLY - print -r -- "not ok 1 - failed setup: $fail_test" - return ${RETURN:=0} - fi - - (( $#skip_test )) && { - print -r -- "1..0 # SKIP $skip_test" - print -r -- "## ${ARG:t:r}" - return ${RETURN:=0} - } - - # Check the data declares $PREBUFFER or $BUFFER. - [[ -z $PREBUFFER && -z $BUFFER ]] && { echo >&2 "Bail out! On ${(qq)ARG}: Either 'PREBUFFER' or 'BUFFER' must be declared and non-blank"; return ${RETURN:=1}; } - [[ $PREBUFFER == (''|*$'\n') ]] || { echo >&2 "Bail out! On ${(qq)ARG}: PREBUFFER=${(qqqq)PREBUFFER} doesn't end with a newline"; return ${RETURN:=1}; } - - # Set sane defaults for ZLE variables - : ${CURSOR=$#BUFFER} ${PENDING=0} ${WIDGET=z-sy-h-test-harness-test-widget} - - # Process the data. - _zsh_highlight - }; [[ -z $RETURN ]] || return $RETURN - unset ARG - - integer print_expected_and_actual=0 - - if (( unsorted )); then - region_highlight=("${(@n)region_highlight}") - expected_region_highlight=("${(@n)expected_region_highlight}") - fi - - # Print the plan line, and some comments for human readers - echo "1..$(( $#expected_region_highlight + 1))" - echo "## ${1:t:r}" # note: tests/edit-failed-tests looks for the "##" emitted by this line - [[ -n $PREBUFFER ]] && printf '# %s\n' "$(typeset_p PREBUFFER)" - [[ -n $BUFFER ]] && printf '# %s\n' "$(typeset_p BUFFER)" - - local i - for ((i=1; i<=$#expected_region_highlight; i++)); do - local -a expected_highlight_zone; expected_highlight_zone=( ${(z)expected_region_highlight[i]} ) - integer exp_start=$expected_highlight_zone[1] exp_end=$expected_highlight_zone[2] - local todo= - if (( $+expected_highlight_zone[4] )); then - todo="# TODO $expected_highlight_zone[4]" - skip_mismatch="cardinality check disabled whilst regular test points are expected to fail" - fi - if ! (( $+region_highlight[i] )); then - print -r -- "not ok $i - unmatched expectation ($exp_start $exp_end $expected_highlight_zone[3])" \ - "${skip_mismatch:+"# TODO ${(qqq)skip_mismatch}"}" - if [[ -z $skip_mismatch ]]; then (( ++print_expected_and_actual )); fi - continue - fi - local -a highlight_zone; highlight_zone=( ${(z)region_highlight[i]} ) - integer start=$(( highlight_zone[1] + 1 )) end=$highlight_zone[2] - local desc="[$start,$end] «${BUFFER[$start,$end]}»" - tap_escape $desc; desc=$REPLY - if - [[ $start != $exp_start ]] || - [[ $end != $exp_end ]] || - [[ ${highlight_zone[3]%,} != ${expected_highlight_zone[3]} ]] # remove the comma that's before the memo field - then - print -r -- "not ok $i - $desc - expected ($exp_start $exp_end ${(qqq)expected_highlight_zone[3]}), observed ($start $end ${(qqq)highlight_zone[3]}). $todo" - if [[ -z $todo ]]; then (( ++print_expected_and_actual )); fi - else - print -r -- "ok $i - $desc${todo:+ - }$todo" - fi - unset expected_highlight_zone - unset exp_start exp_end - unset todo - unset highlight_zone - unset start end - unset desc - done - - # If both $skip_mismatch and $expected_mismatch are set, that means the test - # has some XFail test points, _and_ explicitly sets $expected_mismatch as - # well. Explicit settings should have priority, so we ignore $skip_mismatch - # if $expected_mismatch is set. - if [[ -n $skip_mismatch && -z $expected_mismatch ]]; then - tap_escape $skip_mismatch; skip_mismatch=$REPLY - print "ok $i - cardinality check" "# SKIP $skip_mismatch" - else - local todo - if [[ -n $expected_mismatch ]]; then - tap_escape $expected_mismatch; expected_mismatch=$REPLY - todo="# TODO $expected_mismatch" - fi - if (( $#expected_region_highlight == $#region_highlight )); then - print -r -- "ok $i - cardinality check${todo:+ - }$todo" - else - local details - details+="have $#expected_region_highlight expectations and $#region_highlight region_highlight entries: " - details+="«$(typeset_p expected_region_highlight)» «$(typeset_p region_highlight)»" - tap_escape $details; details=$REPLY - print -r -- "not ok $i - cardinality check - $details${todo:+ - }$todo" - if [[ -z $todo ]]; then (( ++print_expected_and_actual )); fi - fi - fi - if (( print_expected_and_actual )); then - () { - local -a left_column right_column - left_column=( "expected_region_highlight" "${(qq)expected_region_highlight[@]}" ) - right_column=( "region_highlight" "${(qq)region_highlight[@]}" ) - integer difference=$(( $#right_column - $#left_column )) - repeat $difference do left_column+=(.); done - paste \ - =(print -rC1 -- $left_column) \ - =(print -rC1 -- $right_column) \ - | if type column >/dev/null; then column -t -s $'\t'; else cat; fi \ - | sed 's/^/# /' - } - fi -} - -# Run a single test file. The exit status is 1 if the test harness had -# an error and 0 otherwise. The exit status does not depend on whether -# test points succeeded or failed. -run_test() { - # Do not combine the declaration and initialization: «local x="$(false)"» does not set $?. - local __tests_tempdir - __tests_tempdir="$(mktemp -d)" && [[ -d $__tests_tempdir ]] || { - echo >&2 "Bail out! mktemp failed"; return 1 - } - typeset -r __tests_tempdir # don't allow tests to override the variable that we will 'rm -rf' later on - - { - # Use a subshell to isolate tests from each other. - # (So tests can alter global shell state using 'cd', 'hash', etc) - { - # These braces are so multios don't come into play. - { (run_test_internal "$__tests_tempdir" "$@") 3>&1 >&2 2>&3 } | grep \^ - local ret=$pipestatus[1] stderr=$pipestatus[2] - if (( ! stderr )); then - # stdout will become stderr - echo "Bail out! On ${(qq)1}: output on stderr"; return 1 - else - return $ret - fi - } 3>&1 >&2 2>&3 - } always { - rm -rf -- "$__tests_tempdir" - } -} - -# Process each test data file in test data directory. -integer something_failed=0 -ZSH_HIGHLIGHT_STYLES=() -local data_file -for data_file in $root/highlighters/$1/test-data/*.zsh; do - run_test "$data_file" | tee >($results_filter | $root/tests/tap-colorizer.zsh) | grep -v '^not ok.*# TODO' | grep -Eq '^not ok|^ok.*# TODO' && (( something_failed=1 )) - (( $pipestatus[1] )) && exit 2 -done - -exit $something_failed -} diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/tests/test-perfs.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/tests/test-perfs.zsh @@ -1,103 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2010-2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - - -# Required for add-zle-hook-widget. -zmodload zsh/zle - -# Check an highlighter was given as argument. -[[ -n "$1" ]] || { - echo >&2 "Bail out! You must provide the name of a valid highlighter as argument." - exit 2 -} - -# Check the highlighter is valid. -[[ -f ${0:h:h}/highlighters/$1/$1-highlighter.zsh ]] || { - echo >&2 "Bail out! Could not find highlighter ${(qq)1}." - exit 2 -} - -# Check the highlighter has test data. -[[ -d ${0:h:h}/highlighters/$1/test-data ]] || { - echo >&2 "Bail out! Highlighter ${(qq)1} has no test data." - exit 2 -} - -# Load the main script. -typeset -a region_highlight -. ${0:h:h}/zsh-syntax-highlighting.zsh - -# Activate the highlighter. -ZSH_HIGHLIGHT_HIGHLIGHTERS=($1) - -# Runs a highlighting test -# $1: data file -run_test_internal() { - local -a highlight_zone - - local tests_tempdir="$1"; shift - local srcdir="$PWD" - builtin cd -q -- "$tests_tempdir" || { echo >&2 "Bail out! cd failed: $?"; return 1 } - - # Load the data and prepare checking it. - PREBUFFER= BUFFER= ; - . "$srcdir"/"$1" - - # Check the data declares $PREBUFFER or $BUFFER. - [[ -z $PREBUFFER && -z $BUFFER ]] && { echo >&2 "Bail out! Either 'PREBUFFER' or 'BUFFER' must be declared and non-blank"; return 1; } - - # Set $? for _zsh_highlight - true && _zsh_highlight -} - -run_test() { - # Do not combine the declaration and initialization: «local x="$(false)"» does not set $?. - local __tests_tempdir - __tests_tempdir="$(mktemp -d)" && [[ -d $__tests_tempdir ]] || { - echo >&2 "Bail out! mktemp failed"; return 1 - } - typeset -r __tests_tempdir # don't allow tests to override the variable that we will 'rm -rf' later on - - { - (run_test_internal "$__tests_tempdir" "$@") - } always { - rm -rf -- "$__tests_tempdir" - } -} - -# Process each test data file in test data directory. -local data_file -TIMEFMT="%*Es" -{ time (for data_file in ${0:h:h}/highlighters/$1/test-data/*.zsh; do - run_test "$data_file" - (( $pipestatus[1] )) && exit 2 -done) } 2>&1 || exit $? - -exit 0 diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/tests/test-zprof.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/tests/test-zprof.zsh @@ -1,78 +0,0 @@ -#!/usr/bin/env zsh -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2010-2015 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# Load the main script. -typeset -a region_highlight -. ${0:h:h}/zsh-syntax-highlighting.zsh - -# Activate the highlighter. -ZSH_HIGHLIGHT_HIGHLIGHTERS=(main) - -source_file=0.7.1:highlighters/$1/$1-highlighter.zsh - -# Runs a highlighting test -# $1: data file -run_test_internal() { - setopt interactivecomments - - local -a highlight_zone - - local tests_tempdir="$1"; shift - local srcdir="$PWD" - builtin cd -q -- "$tests_tempdir" || { echo >&2 "Bail out! cd failed: $?"; return 1 } - - # Load the data and prepare checking it. - PREBUFFER= - BUFFER=$(cd -- "$srcdir" && git cat-file blob $source_file) - expected_region_highlight=() - - zmodload zsh/zprof - zprof -c - # Set $? for _zsh_highlight - true && _zsh_highlight - zprof -} - -run_test() { - # Do not combine the declaration and initialization: «local x="$(false)"» does not set $?. - local __tests_tempdir - __tests_tempdir="$(mktemp -d)" && [[ -d $__tests_tempdir ]] || { - echo >&2 "Bail out! mktemp failed"; return 1 - } - typeset -r __tests_tempdir # don't allow tests to override the variable that we will 'rm -rf' later on - - { - (run_test_internal "$__tests_tempdir" "$@") - } always { - rm -rf -- "$__tests_tempdir" - } -} - -run_test diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/zsh-syntax-highlighting.plugin.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/zsh-syntax-highlighting.plugin.zsh @@ -1,2 +0,0 @@ -0=${(%):-%N} -source ${0:A:h}/zsh-syntax-highlighting.zsh diff --git a/.config/zsh/plugged/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh b/.config/zsh/plugged/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh @@ -1,597 +0,0 @@ -# ------------------------------------------------------------------------------------------------- -# Copyright (c) 2010-2020 zsh-syntax-highlighting contributors -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are permitted -# provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this list of conditions -# and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright notice, this list of -# conditions and the following disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of the zsh-syntax-highlighting contributors nor the names of its contributors -# may be used to endorse or promote products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ------------------------------------------------------------------------------------------------- -# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*- -# vim: ft=zsh sw=2 ts=2 et -# ------------------------------------------------------------------------------------------------- - -# First of all, ensure predictable parsing. -typeset zsh_highlight__aliases="$(builtin alias -Lm '[^+]*')" -# In zsh <= 5.2, aliases that begin with a plus sign ('alias -- +foo=42') -# are emitted by `alias -L` without a '--' guard, so they don't round trip. -# -# Hence, we exclude them from unaliasing: -builtin unalias -m '[^+]*' - -# Set $0 to the expected value, regardless of functionargzero. -0=${(%):-%N} -if true; then - # $0 is reliable - typeset -g ZSH_HIGHLIGHT_VERSION=$(<"${0:A:h}"/.version) - typeset -g ZSH_HIGHLIGHT_REVISION=$(<"${0:A:h}"/.revision-hash) - if [[ $ZSH_HIGHLIGHT_REVISION == \$Format:* ]]; then - # When running from a source tree without 'make install', $ZSH_HIGHLIGHT_REVISION - # would be set to '$Format:%H$' literally. That's an invalid value, and obtaining - # the valid value (via `git rev-parse HEAD`, as Makefile does) might be costly, so: - ZSH_HIGHLIGHT_REVISION=HEAD - fi -fi - -# This function takes a single argument F and returns True iff F is an autoload stub. -_zsh_highlight__function_is_autoload_stub_p() { - if zmodload -e zsh/parameter; then - #(( ${+functions[$1]} )) && - [[ "$functions[$1]" == *"builtin autoload -X"* ]] - else - #[[ $(type -wa -- "$1") == *'function'* ]] && - [[ "${${(@f)"$(which -- "$1")"}[2]}" == $'\t'$histchars[3]' undefined' ]] - fi - # Do nothing here: return the exit code of the if. -} - -# Return True iff the argument denotes a function name. -_zsh_highlight__is_function_p() { - if zmodload -e zsh/parameter; then - (( ${+functions[$1]} )) - else - [[ $(type -wa -- "$1") == *'function'* ]] - fi -} - -# This function takes a single argument F and returns True iff F denotes the -# name of a callable function. A function is callable if it is fully defined -# or if it is marked for autoloading and autoloading it at the first call to it -# will succeed. In particular, if a function has been marked for autoloading -# but is not available in $fpath, then this function will return False therefor. -# -# See users/21671 http://www.zsh.org/cgi-bin/mla/redirect?USERNUMBER=21671 -_zsh_highlight__function_callable_p() { - if _zsh_highlight__is_function_p "$1" && - ! _zsh_highlight__function_is_autoload_stub_p "$1" - then - # Already fully loaded. - return 0 # true - else - # "$1" is either an autoload stub, or not a function at all. - # - # Use a subshell to avoid affecting the calling shell. - # - # We expect 'autoload +X' to return non-zero if it fails to fully load - # the function. - ( autoload -U +X -- "$1" 2>/dev/null ) - return $? - fi -} - -# ------------------------------------------------------------------------------------------------- -# Core highlighting update system -# ------------------------------------------------------------------------------------------------- - -# Use workaround for bug in ZSH? -# zsh-users/zsh@48cadf4 http://www.zsh.org/mla/workers//2017/msg00034.html -autoload -Uz is-at-least -if is-at-least 5.4; then - typeset -g zsh_highlight__pat_static_bug=false -else - typeset -g zsh_highlight__pat_static_bug=true -fi - -# Array declaring active highlighters names. -typeset -ga ZSH_HIGHLIGHT_HIGHLIGHTERS - -# Update ZLE buffer syntax highlighting. -# -# Invokes each highlighter that needs updating. -# This function is supposed to be called whenever the ZLE state changes. -_zsh_highlight() -{ - # Store the previous command return code to restore it whatever happens. - local ret=$? - # Make it read-only. Can't combine this with the previous line when POSIX_BUILTINS may be set. - typeset -r ret - - # $region_highlight should be predefined, either by zle or by the test suite's mock (non-special) array. - (( ${+region_highlight} )) || { - echo >&2 'zsh-syntax-highlighting: error: $region_highlight is not defined' - echo >&2 'zsh-syntax-highlighting: (Check whether zsh-syntax-highlighting was installed according to the instructions.)' - return $ret - } - - # Probe the memo= feature, once. - (( ${+zsh_highlight__memo_feature} )) || { - region_highlight+=( " 0 0 fg=red, memo=zsh-syntax-highlighting" ) - case ${region_highlight[-1]} in - ("0 0 fg=red") - # zsh 5.8 or earlier - integer -gr zsh_highlight__memo_feature=0 - ;; - ("0 0 fg=red memo=zsh-syntax-highlighting") - # zsh 5.9 or later - integer -gr zsh_highlight__memo_feature=1 - ;; - (" 0 0 fg=red, memo=zsh-syntax-highlighting") ;& - (*) - # We can get here in two ways: - # - # 1. When not running as a widget. In that case, $region_highlight is - # not a special variable (= one with custom getter/setter functions - # written in C) but an ordinary one, so the third case pattern matches - # and we fall through to this block. (The test suite uses this codepath.) - # - # 2. When running under a future version of zsh that will have changed - # the serialization of $region_highlight elements from their underlying - # C structs, so that none of the previous case patterns will match. - # - # In either case, fall back to a version check. - # - # The memo= feature was added to zsh in commit zsh-5.8-172-gdd6e702ee. - # The version number at the time was 5.8.0.2-dev (see Config/version.mk). - # Therefore, on 5.8.0.3 and newer the memo= feature is available. - # - # On zsh version 5.8.0.2 between the aforementioned commit and the - # first Config/version.mk bump after it (which, at the time of writing, - # is yet to come), this condition will false negative. - if is-at-least 5.8.0.3 $ZSH_VERSION.0.0; then - integer -gr zsh_highlight__memo_feature=1 - else - integer -gr zsh_highlight__memo_feature=0 - fi - ;; - esac - region_highlight[-1]=() - } - - # Reset region_highlight to build it from scratch - if (( zsh_highlight__memo_feature )); then - region_highlight=( "${(@)region_highlight:#*memo=zsh-syntax-highlighting*}" ) - else - # Legacy codepath. Not very interoperable with other plugins (issue #418). - region_highlight=() - fi - - # Remove all highlighting in isearch, so that only the underlining done by zsh itself remains. - # For details see FAQ entry 'Why does syntax highlighting not work while searching history?'. - # This disables highlighting during isearch (for reasons explained in README.md) unless zsh is new enough - # and doesn't have the pattern matching bug - if [[ $WIDGET == zle-isearch-update ]] && { $zsh_highlight__pat_static_bug || ! (( $+ISEARCHMATCH_ACTIVE )) }; then - return $ret - fi - - # Before we 'emulate -L', save the user's options - local -A zsyh_user_options - if zmodload -e zsh/parameter; then - zsyh_user_options=("${(kv)options[@]}") - else - local canonical_options onoff option raw_options - raw_options=(${(f)"$(emulate -R zsh; set -o)"}) - canonical_options=(${${${(M)raw_options:#*off}%% *}#no} ${${(M)raw_options:#*on}%% *}) - for option in "${canonical_options[@]}"; do - [[ -o $option ]] - case $? in - (0) zsyh_user_options+=($option on);; - (1) zsyh_user_options+=($option off);; - (*) # Can't happen, surely? - echo "zsh-syntax-highlighting: warning: '[[ -o $option ]]' returned $?" - ;; - esac - done - fi - typeset -r zsyh_user_options - - emulate -L zsh - setopt localoptions warncreateglobal nobashrematch - local REPLY # don't leak $REPLY into global scope - - # Do not highlight if there are more than 300 chars in the buffer. It's most - # likely a pasted command or a huge list of files in that case.. - [[ -n ${ZSH_HIGHLIGHT_MAXLENGTH:-} ]] && [[ $#BUFFER -gt $ZSH_HIGHLIGHT_MAXLENGTH ]] && return $ret - - # Do not highlight if there are pending inputs (copy/paste). - [[ $PENDING -gt 0 ]] && return $ret - - { - local cache_place - local -a region_highlight_copy - - # Select which highlighters in ZSH_HIGHLIGHT_HIGHLIGHTERS need to be invoked. - local highlighter; for highlighter in $ZSH_HIGHLIGHT_HIGHLIGHTERS; do - - # eval cache place for current highlighter and prepare it - cache_place="_zsh_highlight__highlighter_${highlighter}_cache" - typeset -ga ${cache_place} - - # If highlighter needs to be invoked - if ! type "_zsh_highlight_highlighter_${highlighter}_predicate" >&/dev/null; then - echo "zsh-syntax-highlighting: warning: disabling the ${(qq)highlighter} highlighter as it has not been loaded" >&2 - # TODO: use ${(b)} rather than ${(q)} if supported - ZSH_HIGHLIGHT_HIGHLIGHTERS=( ${ZSH_HIGHLIGHT_HIGHLIGHTERS:#${highlighter}} ) - elif "_zsh_highlight_highlighter_${highlighter}_predicate"; then - - # save a copy, and cleanup region_highlight - region_highlight_copy=("${region_highlight[@]}") - region_highlight=() - - # Execute highlighter and save result - { - "_zsh_highlight_highlighter_${highlighter}_paint" - } always { - : ${(AP)cache_place::="${region_highlight[@]}"} - } - - # Restore saved region_highlight - region_highlight=("${region_highlight_copy[@]}") - - fi - - # Use value form cache if any cached - region_highlight+=("${(@P)cache_place}") - - done - - # Re-apply zle_highlight settings - - # region - () { - (( REGION_ACTIVE )) || return - integer min max - if (( MARK > CURSOR )) ; then - min=$CURSOR max=$MARK - else - min=$MARK max=$CURSOR - fi - if (( REGION_ACTIVE == 1 )); then - [[ $KEYMAP = vicmd ]] && (( max++ )) - elif (( REGION_ACTIVE == 2 )); then - local needle=$'\n' - # CURSOR and MARK are 0 indexed between letters like region_highlight - # Do not include the newline in the highlight - (( min = ${BUFFER[(Ib:min:)$needle]} )) - (( max = ${BUFFER[(ib:max:)$needle]} - 1 )) - fi - _zsh_highlight_apply_zle_highlight region standout "$min" "$max" - } - - # yank / paste (zsh-5.1.1 and newer) - (( $+YANK_ACTIVE )) && (( YANK_ACTIVE )) && _zsh_highlight_apply_zle_highlight paste standout "$YANK_START" "$YANK_END" - - # isearch - (( $+ISEARCHMATCH_ACTIVE )) && (( ISEARCHMATCH_ACTIVE )) && _zsh_highlight_apply_zle_highlight isearch underline "$ISEARCHMATCH_START" "$ISEARCHMATCH_END" - - # suffix - (( $+SUFFIX_ACTIVE )) && (( SUFFIX_ACTIVE )) && _zsh_highlight_apply_zle_highlight suffix bold "$SUFFIX_START" "$SUFFIX_END" - - - return $ret - - - } always { - typeset -g _ZSH_HIGHLIGHT_PRIOR_BUFFER="$BUFFER" - typeset -gi _ZSH_HIGHLIGHT_PRIOR_CURSOR=$CURSOR - } -} - -# Apply highlighting based on entries in the zle_highlight array. -# This function takes four arguments: -# 1. The exact entry (no patterns) in the zle_highlight array: -# region, paste, isearch, or suffix -# 2. The default highlighting that should be applied if the entry is unset -# 3. and 4. Two integer values describing the beginning and end of the -# range. The order does not matter. -_zsh_highlight_apply_zle_highlight() { - local entry="$1" default="$2" - integer first="$3" second="$4" - - # read the relevant entry from zle_highlight - # - # ### In zsh≥5.0.8 we'd use ${(b)entry}, but we support older zsh's, so we don't - # ### add (b). The only effect is on the failure mode for callers that violate - # ### the precondition. - local region="${zle_highlight[(r)${entry}:*]-}" - - if [[ -z "$region" ]]; then - # entry not specified at all, use default value - region=$default - else - # strip prefix - region="${region#${entry}:}" - - # no highlighting when set to the empty string or to 'none' - if [[ -z "$region" ]] || [[ "$region" == none ]]; then - return - fi - fi - - integer start end - if (( first < second )); then - start=$first end=$second - else - start=$second end=$first - fi - region_highlight+=("$start $end $region, memo=zsh-syntax-highlighting") -} - - -# ------------------------------------------------------------------------------------------------- -# API/utility functions for highlighters -# ------------------------------------------------------------------------------------------------- - -# Array used by highlighters to declare user overridable styles. -typeset -gA ZSH_HIGHLIGHT_STYLES - -# Whether the command line buffer has been modified or not. -# -# Returns 0 if the buffer has changed since _zsh_highlight was last called. -_zsh_highlight_buffer_modified() -{ - [[ "${_ZSH_HIGHLIGHT_PRIOR_BUFFER:-}" != "$BUFFER" ]] -} - -# Whether the cursor has moved or not. -# -# Returns 0 if the cursor has moved since _zsh_highlight was last called. -_zsh_highlight_cursor_moved() -{ - [[ -n $CURSOR ]] && [[ -n ${_ZSH_HIGHLIGHT_PRIOR_CURSOR-} ]] && (($_ZSH_HIGHLIGHT_PRIOR_CURSOR != $CURSOR)) -} - -# Add a highlight defined by ZSH_HIGHLIGHT_STYLES. -# -# Should be used by all highlighters aside from 'pattern' (cf. ZSH_HIGHLIGHT_PATTERN). -# Overwritten in tests/test-highlighting.zsh when testing. -_zsh_highlight_add_highlight() -{ - local -i start end - local highlight - start=$1 - end=$2 - shift 2 - for highlight; do - if (( $+ZSH_HIGHLIGHT_STYLES[$highlight] )); then - region_highlight+=("$start $end $ZSH_HIGHLIGHT_STYLES[$highlight], memo=zsh-syntax-highlighting") - break - fi - done -} - -# ------------------------------------------------------------------------------------------------- -# Setup functions -# ------------------------------------------------------------------------------------------------- - -# Helper for _zsh_highlight_bind_widgets -# $1 is name of widget to call -_zsh_highlight_call_widget() -{ - builtin zle "$@" && - _zsh_highlight -} - -# Decide whether to use the zle-line-pre-redraw codepath (colloquially known as -# "feature/redrawhook", after the topic branch's name) or the legacy "bind all -# widgets" codepath. -# -# We use the new codepath under two conditions: -# -# 1. If it's available, which we check by testing for add-zle-hook-widget's availability. -# -# 2. If zsh has the memo= feature, which is required for interoperability reasons. -# See issues #579 and #735, and the issues referenced from them. -# -# We check this with a plain version number check, since a functional check, -# as done by _zsh_highlight, can only be done from inside a widget -# function — a catch-22. -# -# See _zsh_highlight for the magic version number. (The use of 5.8.0.2 -# rather than 5.8.0.3 as in the _zsh_highlight is deliberate.) -if is-at-least 5.8.0.2 $ZSH_VERSION.0.0 && _zsh_highlight__function_callable_p add-zle-hook-widget -then - autoload -U add-zle-hook-widget - _zsh_highlight__zle-line-finish() { - # Reset $WIDGET since the 'main' highlighter depends on it. - # - # Since $WIDGET is declared by zle as read-only in this function's scope, - # a nested function is required in order to shadow its built-in value; - # see "User-defined widgets" in zshall. - () { - local -h -r WIDGET=zle-line-finish - _zsh_highlight - } - } - _zsh_highlight__zle-line-pre-redraw() { - # Set $? to 0 for _zsh_highlight. Without this, subsequent - # zle-line-pre-redraw hooks won't run, since add-zle-hook-widget happens to - # call us with $? == 1 in the common case. - true && _zsh_highlight "$@" - } - _zsh_highlight_bind_widgets(){} - if [[ -o zle ]]; then - add-zle-hook-widget zle-line-pre-redraw _zsh_highlight__zle-line-pre-redraw - add-zle-hook-widget zle-line-finish _zsh_highlight__zle-line-finish - fi -else - # Rebind all ZLE widgets to make them invoke _zsh_highlights. - _zsh_highlight_bind_widgets() - { - setopt localoptions noksharrays - typeset -F SECONDS - local prefix=orig-s$SECONDS-r$RANDOM # unique each time, in case we're sourced more than once - - # Load ZSH module zsh/zleparameter, needed to override user defined widgets. - zmodload zsh/zleparameter 2>/dev/null || { - print -r -- >&2 'zsh-syntax-highlighting: failed loading zsh/zleparameter.' - return 1 - } - - # Override ZLE widgets to make them invoke _zsh_highlight. - local -U widgets_to_bind - widgets_to_bind=(${${(k)widgets}:#(.*|run-help|which-command|beep|set-local-history|yank|yank-pop)}) - - # Always wrap special zle-line-finish widget. This is needed to decide if the - # current line ends and special highlighting logic needs to be applied. - # E.g. remove cursor imprint, don't highlight partial paths, ... - widgets_to_bind+=(zle-line-finish) - - # Always wrap special zle-isearch-update widget to be notified of updates in isearch. - # This is needed because we need to disable highlighting in that case. - widgets_to_bind+=(zle-isearch-update) - - local cur_widget - for cur_widget in $widgets_to_bind; do - case ${widgets[$cur_widget]:-""} in - - # Already rebound event: do nothing. - user:_zsh_highlight_widget_*);; - - # The "eval"'s are required to make $cur_widget a closure: the value of the parameter at function - # definition time is used. - # - # We can't use ${0/_zsh_highlight_widget_} because these widgets are always invoked with - # NO_function_argzero, regardless of the option's setting here. - - # User defined widget: override and rebind old one with prefix "orig-". - user:*) zle -N $prefix-$cur_widget ${widgets[$cur_widget]#*:} - eval "_zsh_highlight_widget_${(q)prefix}-${(q)cur_widget}() { _zsh_highlight_call_widget ${(q)prefix}-${(q)cur_widget} -- \"\$@\" }" - zle -N $cur_widget _zsh_highlight_widget_$prefix-$cur_widget;; - - # Completion widget: override and rebind old one with prefix "orig-". - completion:*) zle -C $prefix-$cur_widget ${${(s.:.)widgets[$cur_widget]}[2,3]} - eval "_zsh_highlight_widget_${(q)prefix}-${(q)cur_widget}() { _zsh_highlight_call_widget ${(q)prefix}-${(q)cur_widget} -- \"\$@\" }" - zle -N $cur_widget _zsh_highlight_widget_$prefix-$cur_widget;; - - # Builtin widget: override and make it call the builtin ".widget". - builtin) eval "_zsh_highlight_widget_${(q)prefix}-${(q)cur_widget}() { _zsh_highlight_call_widget .${(q)cur_widget} -- \"\$@\" }" - zle -N $cur_widget _zsh_highlight_widget_$prefix-$cur_widget;; - - # Incomplete or nonexistent widget: Bind to z-sy-h directly. - *) - if [[ $cur_widget == zle-* ]] && (( ! ${+widgets[$cur_widget]} )); then - _zsh_highlight_widget_${cur_widget}() { :; _zsh_highlight } - zle -N $cur_widget _zsh_highlight_widget_$cur_widget - else - # Default: unhandled case. - print -r -- >&2 "zsh-syntax-highlighting: unhandled ZLE widget ${(qq)cur_widget}" - print -r -- >&2 "zsh-syntax-highlighting: (This is sometimes caused by doing \`bindkey <keys> ${(q-)cur_widget}\` without creating the ${(qq)cur_widget} widget with \`zle -N\` or \`zle -C\`.)" - fi - esac - done - } -fi - -# Load highlighters from directory. -# -# Arguments: -# 1) Path to the highlighters directory. -_zsh_highlight_load_highlighters() -{ - setopt localoptions noksharrays bareglobqual - - # Check the directory exists. - [[ -d "$1" ]] || { - print -r -- >&2 "zsh-syntax-highlighting: highlighters directory ${(qq)1} not found." - return 1 - } - - # Load highlighters from highlighters directory and check they define required functions. - local highlighter highlighter_dir - for highlighter_dir ($1/*/(/)); do - highlighter="${highlighter_dir:t}" - [[ -f "$highlighter_dir${highlighter}-highlighter.zsh" ]] && - . "$highlighter_dir${highlighter}-highlighter.zsh" - if type "_zsh_highlight_highlighter_${highlighter}_paint" &> /dev/null && - type "_zsh_highlight_highlighter_${highlighter}_predicate" &> /dev/null; - then - # New (0.5.0) function names - elif type "_zsh_highlight_${highlighter}_highlighter" &> /dev/null && - type "_zsh_highlight_${highlighter}_highlighter_predicate" &> /dev/null; - then - # Old (0.4.x) function names - if false; then - # TODO: only show this warning for plugin authors/maintainers, not for end users - print -r -- >&2 "zsh-syntax-highlighting: warning: ${(qq)highlighter} highlighter uses deprecated entry point names; please ask its maintainer to update it: https://github.com/zsh-users/zsh-syntax-highlighting/issues/329" - fi - # Make it work. - eval "_zsh_highlight_highlighter_${(q)highlighter}_paint() { _zsh_highlight_${(q)highlighter}_highlighter \"\$@\" }" - eval "_zsh_highlight_highlighter_${(q)highlighter}_predicate() { _zsh_highlight_${(q)highlighter}_highlighter_predicate \"\$@\" }" - else - print -r -- >&2 "zsh-syntax-highlighting: ${(qq)highlighter} highlighter should define both required functions '_zsh_highlight_highlighter_${highlighter}_paint' and '_zsh_highlight_highlighter_${highlighter}_predicate' in ${(qq):-"$highlighter_dir${highlighter}-highlighter.zsh"}." - fi - done -} - - -# ------------------------------------------------------------------------------------------------- -# Setup -# ------------------------------------------------------------------------------------------------- - -# Try binding widgets. -_zsh_highlight_bind_widgets || { - print -r -- >&2 'zsh-syntax-highlighting: failed binding ZLE widgets, exiting.' - return 1 -} - -# Resolve highlighters directory location. -_zsh_highlight_load_highlighters "${ZSH_HIGHLIGHT_HIGHLIGHTERS_DIR:-${${0:A}:h}/highlighters}" || { - print -r -- >&2 'zsh-syntax-highlighting: failed loading highlighters, exiting.' - return 1 -} - -# Reset scratch variables when commandline is done. -_zsh_highlight_preexec_hook() -{ - typeset -g _ZSH_HIGHLIGHT_PRIOR_BUFFER= - typeset -gi _ZSH_HIGHLIGHT_PRIOR_CURSOR= -} -autoload -Uz add-zsh-hook -add-zsh-hook preexec _zsh_highlight_preexec_hook 2>/dev/null || { - print -r -- >&2 'zsh-syntax-highlighting: failed loading add-zsh-hook.' - } - -# Load zsh/parameter module if available -zmodload zsh/parameter 2>/dev/null || true - -# Initialize the array of active highlighters if needed. -[[ $#ZSH_HIGHLIGHT_HIGHLIGHTERS -eq 0 ]] && ZSH_HIGHLIGHT_HIGHLIGHTERS=(main) - -if (( $+X_ZSH_HIGHLIGHT_DIRS_BLACKLIST )); then - print >&2 'zsh-syntax-highlighting: X_ZSH_HIGHLIGHT_DIRS_BLACKLIST is deprecated. Please use ZSH_HIGHLIGHT_DIRS_BLACKLIST.' - ZSH_HIGHLIGHT_DIRS_BLACKLIST=($X_ZSH_HIGHLIGHT_DIRS_BLACKLIST) - unset X_ZSH_HIGHLIGHT_DIRS_BLACKLIST -fi - -# Restore the aliases we unned -eval "$zsh_highlight__aliases" -builtin unset zsh_highlight__aliases - -# Set $?. -true diff --git a/.tmux.conf b/.tmux.conf @@ -1,49 +0,0 @@ -# _ -# | |_ _ __ ___ _ ___ __ -# | __| '_ ` _ \| | | \ \/ / -# | |_| | | | | | |_| |> < -# \__|_| |_| |_|\__,_/_/\_\ -# -# by github.com/klewer-martin - -# Use prefix + vi navigation keys to navigate panes -bind h select-pane -L -bind j select-pane -D -bind k select-pane -U -bind l select-pane -R - -# Start counting windows from 1, to avoid pressing 0 to go to the first one -set -g base-index 1 - -# Avoid esc delay -set -g escape-time 10 - -# Enable mouse support -set -g mouse on - -#source /usr/share/powerline/bindings/tmux/powerline.conf - -# Status bar theme -set -g status-bg 'colour233' -set -g status-justify 'left' -set -g status-left-length '25' -set -g status 'on' -set -g status-right-length '100' -setw -g window-status-separator '' - -set -g message-command-style fg=black,bg=green -set -g message-style fg=black,bg=cyan -set -g pane-active-border-style fg=green -set -g pane-border-style fg=green -setw -g window-status-style fg=yellow,none -setw -g window-status-activity-style fg=green,bg=black,none -setw -g window-status-style bg=black - -# Status bar style -set -g status-left '#[fg=colour232,bg=colour112] #S #[fg=colour112,bg=colour238,nobold,nounderscore,noitalics]#[fg=colour222,bg=colour238] #H #[fg=colour238,bg=colour235,nobold,nounderscore,noitalics]#[fg=colour238,bg=colour235]#[fg=colour235,bg=colour233,nobold,nounderscore,noitalics]' - -set -g status-right '#[fg=colour235,bg=colour233,nobold,nounderscore,noitalics]#[fg=colour121,bg=colour235]#[fg=colour238,bg=colour235,nobold,nounderscore,noitalics]#[fg=colour222,bg=colour238] %a %d %b #[fg=colour112,bg=colour238,nobold,nounderscore,noitalics]#[fg=colour232,bg=colour112] %H:%M ' - -setw -g window-status-format '#[fg=colour239,bg=colour233,nobold,nounderscore,noitalics] #I #W ' - -setw -g window-status-current-format '#[fg=colour112,bg=colour233,nobold,nounderscore,noitalics] #I #W ' diff --git a/.zshrc b/.zshrc @@ -3,7 +3,7 @@ # |_ / __| '_ \| '__/ __| # / /\__ \ | | | | | (__ # /___|___/_| |_|_| \___| -# +# # by github.com/klewer-martin # @@ -15,34 +15,42 @@ ZDOTDIR=$HOME/.config/zsh # Do not save less pager history file LESSHISTFILE=/dev/null -# setopt inc_append_history +setopt inc_append_history setopt hist_ignore_all_dups setopt share_history setopt interactivecomments setopt autocd setopt nohup -setopt nopromptcr +# setopt nopromptcr setopt correct setopt noclobber +setopt nolistambiguous +setopt extended_glob # If not running interactively, don't do anything [[ $- != *i* ]] && return # Add plugins (because I don't use a plugin manager) source $HOME/.config/zsh/plugged/zsh-autosuggestions/zsh-autosuggestions.zsh -source $HOME/.config/zsh/plugged/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh +unset ZSH_AUTOSUGGEST_USE_ASYNCS +# bindkey '^ ' autosuggest-fetch +bindkey '^n' autosuggest-accept + source $HOME/.config/zsh/plugged/zsh-history-substring-search/zsh-history-substring-search.zsh -ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=#ff0000" +ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=#ff0000' +# ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=#ff00ff,bg=cyan,bold,underline" +# ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE=6 +# source /usr/share/zsh/plugins/zsh-vi-mode/zsh-vi-mode.plugin.zsh # Add my personal scripts folder to path -PATH="$PATH:$HOME/soydev/scripts:$HOME/soydev/scripts/statusbar:$HOME/.local/bin:$HOME/go/bin" +PATH="$PATH:$HOME/soydev/scripts:$HOME/soydev/scripts/statusbar:$HOME/.local/bin:$HOME/go/bin:/usr/local/go/bin" -# Set EDITOR and TERM values +# Set enviroment variables export EDITOR=/usr/bin/nvim - -# export TERM='alacritty' +export BROWSER=/usr/bin/firefox export TERM='xterm-256color' +export LC_TIME="es_AR.UTF-8" # dd/mm/yy time format # PROMPT_EOL_MARK='' @@ -50,6 +58,23 @@ export TERM='xterm-256color' bindkey -v export KEYTIMEOUT=1 +bindkey -M emacs '^?' backward-kill-word +bindkey -M viins '^?' backward-kill-word +bindkey -M vicmd '^?' backward-kill-word + +bindkey -M emacs '^[[3;5~' kill-word +bindkey -M viins '^[[3;5~' kill-word +bindkey -M vicmd '^[[3;5~' kill-word + +# yank to the system clipboard +function vi-yank-xclip { + zle vi-yank + echo "$CUTBUFFER" | xclip -i +} + +zle -N vi-yank-xclip +bindkey -M vicmd 'y' vi-yank-xclip + # Basic auto/tab complete: autoload -U compinit zstyle ':completion:*' menu select @@ -65,7 +90,15 @@ bindkey -M menuselect 'l' vi-forward-char bindkey -M menuselect 'j' vi-down-line-or-history bindkey -v '^?' backward-delete-char -bindkey '^R' history-incremental-pattern-search-backward +# bindkey '^R' history-incremental-pattern-search-backward +# +# Search backwards and forwards with a pattern +bindkey -M vicmd '/' history-incremental-pattern-search-backward +bindkey -M vicmd '?' history-incremental-pattern-search-forward + +# set up for insert mode too +bindkey -M viins '^R' history-incremental-pattern-search-backward +bindkey -M viins '^F' history-incremental-pattern-search-forward # Change cursor shape for different vi modes. function zle-keymap-select { @@ -107,7 +140,8 @@ autoload -U colors && colors # Shows jobs in background number # PS1="%B%{$fg[red]%}[%{$fg[yellow]%}%n%{$fg[green]%}@%{$fg[magenta]%}%M %{$fg[cyan]%}%1~%{$fg[red]%}]%(1j.%{$fg[yellow]%}[%j].)%{$reset_color%}%(?..%{$fg[red]%})$%{$reset_color%} " -PS1="%B%{$fg[red]%}[%{$fg[yellow]%}%n%{$fg[green]%}@%{$fg[magenta]%}%M %{$fg[cyan]%}%1~%{$fg[red]%}]%(1j.%F{011}[%j]%f.)%{$reset_color%}%(?..%{$fg[red]%})$%{$reset_color%} " +PS1="%B%{$fg[red]%}[%{$fg[yellow]%}%n%{$fg[green]%}@%{$fg[magenta]%}%M %{$fg[cyan]%}%1~%{$fg[red]%}]%(1j.%F{011}(%j)%f.)%{$reset_color%}%(?..%{$fg[red]%})$%{$reset_color%} " +# PS1="%B%{$fg[yellow]%} %n%{$fg[green]%}@%{$fg[magenta]%}%M %{$fg[cyan]%}%1~ %(1j.%F{011}[%j]%f.)%{$reset_color%}%(?..%{$fg[red]%})$%{$reset_color%} " # Right prompt # RPS1="hola" @@ -115,9 +149,9 @@ PS1="%B%{$fg[red]%}[%{$fg[yellow]%}%n%{$fg[green]%}@%{$fg[magenta]%}%M %{$fg[cya # Edit line in vim with ctrl-e: autoload edit-command-line; zle -N edit-command-line -bindkey '^f' edit-command-line +bindkey '^e' edit-command-line -bindkey -s '^e' 'cd "$(dirname "$(fzf)")"\n' +# bindkey -s '^e' 'cd "$(dirname "$(fzf)")"\n' # This fix my keybord in terminal; (I use st) autoload -Uz up-line-or-beginning-search @@ -165,4 +199,28 @@ fi # Default arguments for fzf export FZF_DEFAULT_OPTS='--height=8 --layout=reverse --border=sharp' + +. /home/mk/mouse.zsh + +# M for vi (cmd) mode +bindkey -M vicmd M zle-toggle-mouse + +# zstyle ':completion:*' menu select script /usr/local/etc/bash_completion.d/git-completion.bash + +# unambigandmenu() { +# zle expand-or-complete +# zle magic-space +# zle backward-delete-char +# zle expand-or-complete +# } +# zle -N unambigandmenu + +# zstyle -e ':completion:*' list-colors 'reply=("${PREFIX:+=(#bi)($PREFIX:t)(?)*==03=01}:${(s.:.)LS_COLORS}")' +# zstyle -e ':completion:*:default' list-colors 'reply=("${PREFIX:+=(#bi)($PREFIX:t)(?)*==34=00}:${(s.:.)LS_COLORS}")'; pfetch + +source $HOME/.config/zsh/plugged/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh +ZSH_HIGHLIGHT_STYLES[unknown-token]='fg=#ff0000' +# ZSH_HIGHLIGHT_STYLES[comment]='fg=grey,bold' +ZSH_HIGHLIGHT_STYLES[comment]='fg=#707070,bold' + diff --git a/README.md b/README.md @@ -11,13 +11,20 @@ debugging [6502 emulator](https://github.com/mjkloeckner/6502) ## Applications that I use - **OS**: Arch linux -- **SHELL**: Zsh -- **Font**: [Victor Mono Regular](https://rubjo.github.io/victor-mono/) -- **Term**: kitty because of the ligature support, I also use suckless's simple - terminal (st) on my laptop +- **Shell**: Zsh for user, dash linked to /bin/sh +- **Window manager**: [dwm fork](https://github.com/mjkloeckner/dwm) +- **dwm status**: [dwmblocks-async](https://github.com/UtkarshVerma/dwmblocks-async) +- **Application launcher**: [dmenu fork](https://github.com/mjkloeckner/dmenu) +- **Term**: kitty and [my fork](https://github.com/mjkloeckner/dmenu) of + suckless's simple terminal (st) on my laptop +- **Term font**: JetBrainsMono Nerd Font +- **dwm bar (and dmenu) font**: [Victor Mono Regular](https://rubjo.github.io/victor-mono/) + and JoyPixels for emojis - **Editor**: vim (neovim) -- **Web Browser**: Firefox -- **Login Manager**: autologin on tty1 and starting Xserver from zshrc +- **vim colorscheme**: gruvbox +- **Web browser**: Firefox +- **Login manager**: none, autologin on tty1 and starting Xorg from zsh with the + following statement: ```console # Starts the X server only on tty1 @@ -27,9 +34,77 @@ if [[ -z "$DISPLAY" ]] && [[ $(tty) = /dev/tty1 ]]; then fi ``` -- **Lockscreen**: i3lock custom - [script](https://github.com/klewer-martin/scripts/blob/inspiron/lockscreen) +- **Lockscreen**: i3lock custom [script](https://github.com/klewer-martin/scripts/blob/inspiron/lockscreen) + (wrapper of [betterlockscreen](https://github.com/betterlockscreen/betterlockscreen)) - **Notifications**: Dunst - **Blue light filter**: redshift -- **Compositor**: jonaburg's picom fork (adds efects when changing workspaces in - dwm) +- **Compositor**: jonaburg's picom fork (adds animations when changing + workspaces in dwm) +- **Applications theme**: adwaita +- **Video player**: mpv +- **pdf viewer**: zathura + +## Arch linux package installation + +### Display server and graphics libraries +Starting from a vanilla arch linux installation you will need, first Xorg server +and some basic fonts + +``` +pacman -S xorg xorg-server xorg-xinit ttf-dejavu ttf-joypixels +``` + +also make sure to install your graphics card drivers as well as common graphics +libraries, in the case of integrated intel hd graphics: + +``` +pacman -S xf86-video-intel mesa mesa-utils +``` + +### System +``` +pacman -S zsh dash base-devel ssh git openssh xss-lock xbindkeys xcape dunst \ +man-db man-pages +``` + +read more about why [dash](https://wiki.archlinux.org/title/Dash) on the arch +wiki + +#### Zsh plugins installation +Run the following commands to clone the plugins into the zsh plugged folder, +then it should be sourced automatically from the .zshrc file +##### [zsh-autosuggestions](https://github.com/zsh-users/zsh-autosuggestions) + +``` +git clone https://github.com/zsh-users/zsh-autosuggestions \ + ~/.config/zsh/plugged/zsh-autosuggestions +``` +##### [zsh-history-substring-search](https://github.com/zsh-users/zsh-history-substring-search) +``` +git clone https://github.com/zsh-users/zsh-history-substring-search \ + ~/.config/zsh/plugged/zsh-history-substring-search +``` +##### [zsh-syntax-highlighting](https://github.com/zsh-users/zsh-syntax-highlighting) +``` +git clone https://github.com/zsh-users/zsh-syntax-highlighting.git + ~/.config/zsh/plugged/zsh-syntax-highlighting +``` + +### User applications +#### Official repositories +These are some packages from the offical repos that I use + +``` +pacman -S neovim tmux kitty firefox dolphin dolphin-plugins gvfs gvfs-mtp \ +gvfs-smb kio kio-extras kio-fuse adwaita-qt5 zathura zathura-pdf-mupdf \ +zathura-pdf-djvu mpv xclip gnome-calculator redshift lxappearance qt5ct \ +nitrogen feh translate-shell ueberzug scrot udisks2 gtk2 gtk3 +``` + +#### Arch linux User Repositories +These are packages from the AUR (make sure you have an [AUR +helper](https://wiki.archlinux.org/title/AUR_helpers) installed) + +``` +yay -S betterlockscreen nerd-fonts-jetbrains-mono picom-jonaburg-git gitmux +```