diff --git a/.aliases b/.aliases deleted file mode 100644 index b6294e4..0000000 --- a/.aliases +++ /dev/null @@ -1,84 +0,0 @@ -#!/usr/bin/env bash - -# Easier navigation: .., ..., ...., ....., ~ and - -alias ..="cd .." -alias cd..="cd .." -alias ...="cd ../.." -alias ....="cd ../../.." -alias .....="cd ../../../.." -alias ......="cd ../../../../.." -alias ~="cd ~" # `cd` is probably faster to type though -alias -- -="cd -" - -# TODO: Make this conditional if using termux -#? maybe by using pwd (/data/data/com.termux/files) - -# Shortcuts -alias sd="cd /mnt/sdcard" -alias dl="cd /mnt/sdcard/Download" -alias g="git" -alias h="history" -alias j="jobs" - -# alternative to tail -f -alias lessf="less +F" - -# List all files colorized in long format -alias l="ls -l" -alias ll="ls -lah" - -# List all files colorized in long format, including dot files -alias la="ls -la" - -# List only directories -alias lsd="ls -l | grep --color=never '^d'" - -# Always use color output for `ls` -#alias ls="command ls --color=auto" - -# Always enable colored `grep` output -# Note: `GREP_OPTIONS="--color=auto"` is deprecated, hence the alias usage. -alias grep='grep --color=auto' -alias fgrep='fgrep --color=auto' -alias egrep='egrep --color=auto' - -# Enable aliases to be sudo’ed -alias sudo='sudo ' - -# Get week number -alias week='date +%V' - -# Stopwatch -alias timer='echo "Timer started. Stop with Ctrl-D." && date && time cat && date' - -# Dice for the undecided -alias dice='echo $[ 1 + $RANDOM % 6 ]' -alias yn='[ $[ $RANDOM % 2 ] == 0 ] && echo "Yes" || echo "No"' - -# IP addresses -alias myip="dig +short myip.opendns.com @resolver1.opendns.com" -alias localip="ifconfig wlan0 | grep 'inet addr' | cut -d ':' -f 2 | cut -d ' ' -f 1" -alias ips="ifconfig -a | grep -o 'inet6\? \(addr:\)\?\s\?\(\(\([0-9]\+\.\)\{3\}[0-9]\+\)\|[a-fA-F0-9:]\+\)' | awk '{ sub(/inet6? (addr:)? ?/, \"\"); print }'" - -# Canonical hex dump; some systems have this symlinked -command -v hd > /dev/null || alias hd="hexdump -C" - -# URL-encode strings -alias urlencode='python -c "import sys, urllib as ul; print ul.quote_plus(sys.argv[1]);"' - -# Ring the terminal bell -alias badge="tput bel" - -# Intuitive map function -# For example, to list all directories that contain a certain file: -# find . -name .gitattributes | map dirname -alias map="xargs -n1" - -# Reload the shell (i.e. invoke as a login shell) -alias reload="exec $SHELL -l" - -# See if connection works -alias p="ping 1.1.1.1" - -# Print each PATH entry on a separate line -alias path='echo -e ${PATH//:/\\n}' \ No newline at end of file diff --git a/.bash_profile b/.bash_profile deleted file mode 100644 index adec905..0000000 --- a/.bash_profile +++ /dev/null @@ -1,63 +0,0 @@ -# Add `~/bin` to the `$PATH` -export PATH="$HOME/bin:$PATH"; - -# Load the shell dotfiles, and then some: -# * ~/.path can be used to extend `$PATH`. -# * ~/.extra can be used for other settings you don’t want to commit. -for file in ~/.{path,bash_prompt,exports,aliases,functions,extra}; do - [ -r "$file" ] && [ -f "$file" ] && source "$file"; -done; -unset file; - - -# Case-insensitive globbing (used in pathname expansion) -shopt -s nocaseglob; - -# Append to the Bash history file, rather than overwriting it -shopt -s histappend; - -# Autocorrect typos in path names when using `cd` -shopt -s cdspell; - -# Enable some Bash 4 features when possible: -# * `autocd`, e.g. `**/qux` will enter `./foo/bar/baz/qux` -# * Recursive globbing, e.g. `echo **/*.txt` -for option in autocd globstar; do - shopt -s "$option" 2> /dev/null; -done; - -# timestamps for later analysis. www.debian-administration.org/users/rossen/weblog/1 -export HISTTIMEFORMAT='%F %T ' - -# keep history up to date, across sessions, in realtime -# http://unix.stackexchange.com/a/48113 -export HISTCONTROL=ignoredups:erasedups # no duplicate entries -export HISTSIZE=100000 # big big history (default is 500) -export HISTFILESIZE=$HISTSIZE # big big history -which shopt > /dev/null 2>&1 && shopt -s histappend # append to history, don't overwrite it - -# ^ the only downside with this is [up] on the readline will go over all history not just this bash session. - -# Save and reload the history after each command finishes -export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND" - -# mc theme -export MC_SKIN=$HOME/.mc/solarized.ini - -# Add tab completion for many Bash commands -if [ -f "$HOME/usr/share/bash-completion" ]; then - source "$HOME/usr/share/bash-completion"; -fi; - -# Enable tab completion for `g` by marking it as an alias for `git` -if type _git &> /dev/null && [ -f "$HOME/usr/etc/bash_completion.d/git-completion.bash" ]; then - complete -o default -o nospace -F _git g; -fi; - -# Add tab completion for SSH hostnames based on ~/.ssh/config, ignoring wildcards -[ -e "$HOME/.ssh/config" ] && complete -o "default" -o "nospace" -W "$(grep "^Host" ~/.ssh/config | grep -v "[?*]" | cut -d " " -f2- | tr ' ' '\n')" scp sftp ssh; - - -[ -e "$HOME/.z.sh" ] && . $HOME/.z.sh - -true diff --git a/.bash_prompt b/.bash_prompt deleted file mode 100644 index 9306c73..0000000 --- a/.bash_prompt +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env bash - - -prompt_git_and_status() { - local ps1_exit=$? - local s=''; - local branchName=''; - - if [ $ps1_exit -eq 0 ]; then - ps1_status="${3}" - else - ps1_status="${4}" - fi - - # Check if the current directory is in a Git repository. - if [ $(git rev-parse --is-inside-work-tree &>/dev/null; echo "${?}") == '0' ]; then - - dirty=$(git diff --quiet --ignore-submodules HEAD &>/dev/null; [ $? -eq 1 ]&& echo -e "*") - branchName=`git symbolic-ref -q --short HEAD` - - printf "%s" "${1}${branchName}${2}${dirty} " - fi; - printf "%s" "${ps1_status}\$" -} - -# Set the terminal title to the current working directory. -PS1="\[\033]0;\W\007\]"; # working directory base name -#PS1+="\[${bold}\]"; -#PS1+="\[${userStyle}\]\u"; # username -#PS1+="\[${white}\]@"; -#PS1+="\[${hostStyle}\]\h"; # host -#PS1+="\[${white}\] : "; -PS1+="\[${green}\]\w"; # working directory full path -PS1+="\$(prompt_git_and_status \"\[${white}\] on \[${violet}\]\" \"\[${blue}\]\" \"\[${white}\]\" \"\[${red}\]\")"; # Git repository details and $ -PS1+=" \[${reset}\]"; # and reset color -export PS1; - -PS2="\[${yellow}\]→ \[${reset}\]"; -export PS2; - -# hack: fix slow startup of mc -alias mc="PS1= PROMPT_COMMAND= mc" diff --git a/.bashrc b/.bashrc deleted file mode 100644 index 853fd48..0000000 --- a/.bashrc +++ /dev/null @@ -1,6 +0,0 @@ -if [ -n "$PS1" ] -then - source ~/.bash_profile; -else - [ -r ~/.path ] && [ -f ~/.path ] && source ~/.path; -fi diff --git a/.curlrc b/.curlrc deleted file mode 100644 index 481d94b..0000000 --- a/.curlrc +++ /dev/null @@ -1,8 +0,0 @@ -# Disguise as IE 9 on Windows 7. -user-agent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)" - -# When following a redirect, automatically set the previous URL as referer. -referer = ";auto" - -# Wait 60 seconds before timing out. -connect-timeout = 60 diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index bec7553..0000000 --- a/.editorconfig +++ /dev/null @@ -1,8 +0,0 @@ -root = true - -[*] -charset = utf-8 -indent_style = tab -end_of_line = lf -insert_final_newline = true -trim_trailing_whitespace = true diff --git a/.exports b/.exports deleted file mode 100644 index 3d75b16..0000000 --- a/.exports +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/env bash - -# Make vim the default editor. -export EDITOR='vim'; - -# Enable persistent REPL history for `node`. -export NODE_REPL_HISTORY=~/.node_history; -# Allow 32³ entries; the default is 1000. -export NODE_REPL_HISTORY_SIZE='32768'; -# Use sloppy mode by default, matching web browsers. -export NODE_REPL_MODE='sloppy'; - -# Make Python use UTF-8 encoding for output to stdin, stdout, and stderr. -export PYTHONIOENCODING='UTF-8'; - -# Highlight section titles in manual pages. -export LESS_TERMCAP_md="${yellow}"; - -# Less settings -if which less > /dev/null 2>&1;then - export PAGER="less" - export LESS="-R" - # nicer highlighting - if which src-hilite-lesspipe.sh > /dev/null 2>&1; then - export LESSOPEN="| src-hilite-lesspipe.sh %s" - fi - - # Don’t clear the screen after quitting a manual page. - export MANPAGER='less -X'; -fi diff --git a/.functions b/.functions deleted file mode 100644 index 129dcc2..0000000 --- a/.functions +++ /dev/null @@ -1,323 +0,0 @@ -#!/usr/bin/env bash - -function calc() { - - local result="" - - # ┌─ default (when --mathlib is used) is 20 - result="$( printf "scale=10;%s\n" "$*" | bc --mathlib | tr -d "\\\n" )" - # remove the tailing "\" and "\n" ─┘ - # (large numbers are printed on multiple lines) - - if [[ "$result" == *.* ]]; then - - # Improve the output for decimal numbers. - - printf "%s" "$result" | - sed -e "s/^\./0./" # Add "0" for cases like ".5".` \ - -e "s/^-\./-0./" # Add "0" for cases like "-.5".`\ - -e "s/0*$//;s/\.$//" # Remove tailing zeros. - - else - printf "%s" "$result" - fi - - printf "\n" - -} - -# Create a new directory and enter it -function mkd() { - mkdir -p "$@" && cd "$_"; -} - -# Create a .tar.gz archive, using `zopfli`, `pigz` or `gzip` for compression -function targz() { - local tmpFile="${@%/}.tar"; - tar -cvf "${tmpFile}" --exclude=".DS_Store" "${@}" || return 1; - - size=$( - stat -f"%z" "${tmpFile}" 2> /dev/null; # macOS `stat` - stat -c"%s" "${tmpFile}" 2> /dev/null; # GNU `stat` - ); - - local cmd=""; - if (( size < 52428800 )) && hash zopfli 2> /dev/null; then - # the .tar file is smaller than 50 MB and Zopfli is available; use it - cmd="zopfli"; - else - if hash pigz 2> /dev/null; then - cmd="pigz"; - else - cmd="gzip"; - fi; - fi; - - echo "Compressing .tar ($((size / 1000)) kB) using \`${cmd}\`…"; - "${cmd}" -v "${tmpFile}" || return 1; - [ -f "${tmpFile}" ] && rm "${tmpFile}"; - - zippedSize=$( - stat -f"%z" "${tmpFile}.gz" 2> /dev/null; # macOS `stat` - stat -c"%s" "${tmpFile}.gz" 2> /dev/null; # GNU `stat` - ); - - echo "${tmpFile}.gz ($((zippedSize / 1000)) kB) created successfully."; -} - -# Determine size of a file or total size of a directory -function fs() { - if du -b /dev/null > /dev/null 2>&1; then - local arg=-sbh; - else - local arg=-sh; - fi - if [[ -n "$@" ]]; then - du $arg -- "$@"; - else - du $arg .[^.]* ./*; - fi; -} - -# Use Git’s colored diff when available -hash git &>/dev/null; -if [ $? -eq 0 ]; then - function diff() { - git diff --no-index --color-words "$@"; - } -fi; - -# Create a data URL from a file -function dataurl() { - local mimeType=$(file -b --mime-type "$1"); - if [[ $mimeType == text/* ]]; then - mimeType="${mimeType};charset=utf-8"; - fi - echo "data:${mimeType};base64,$(openssl base64 -in "$1" | tr -d '\n')"; -} - -# Create a git.io short URL -function gitio() { - if [ -z "${1}" -o -z "${2}" ]; then - echo "Usage: \`gitio slug url\`"; - return 1; - fi; - curl -i https://git.io/ -F "url=${2}" -F "code=${1}"; -} - -# Start an HTTP server from a directory, optionally specifying the port -#function server() { -# local port="${1:-8000}"; -# sleep 1 && open "http://localhost:${port}/" & - # Set the default Content-Type to `text/plain` instead of `application/octet-stream` - # And serve everything as UTF-8 (although not technically correct, this doesn’t break anything for binary files) -# python -c $'import SimpleHTTPServer;\nmap = SimpleHTTPServer.SimpleHTTPRequestHandler.extensions_map;\nmap[""] = "text/plain";\nfor key, value in map.items():\n\tmap[key] = value + ";charset=UTF-8";\nSimpleHTTPServer.test();' "$port"; -#} - -# Start a PHP server from a directory, optionally specifying the port -# (Requires PHP 5.4.0+.) -function phpserver() { - local port="${1:-4000}"; - local ip=$(ipconfig getifaddr en0); - sleep 1 && open "http://${ip}:${port}/" & - php -S "${ip}:${port}"; -} - -# Compare original and gzipped file size -function gz() { - local origsize=$(wc -c < "$1"); - local gzipsize=$(gzip -c "$1" | wc -c); - local ratio=$(LC_ALL="en_US" echo "$gzipsize * 100 / $origsize" | bc -l); - printf "orig: %d bytes\n" "$origsize"; - LC_ALL="en_US" printf "gzip: %d bytes (%2.2f%%)\n" "$gzipsize" "$ratio"; -} - -# Syntax-highlight JSON strings or files -# Usage: `json '{"foo":42}'` or `echo '{"foo":42}' | json` -function json() { - if [ -t 0 ]; then # argument - python -mjson.tool <<< "$*" | pygmentize -l javascript; - else # pipe - python -mjson.tool | pygmentize -l javascript; - fi; -} - -# Run `dig` and display the most useful info -function digga() { - if alias colourify >/dev/null 2>&1 - then - shopt -s expand_aliases - colourify dig +nocmd "$1" any +multiline +noall +answer; - else - dig +nocmd "$1" any +multiline +noall +answer; - fi -} - -# UTF-8-encode a string of Unicode symbols -function escape() { - printf "\\\x%s" $(printf "$@" | xxd -p -c1 -u); - # print a newline unless we’re piping the output to another program - if [ -t 1 ]; then - echo ""; # newline - fi; -} - -# Decode \x{ABCD}-style Unicode escape sequences -function unidecode() { - perl -e "binmode(STDOUT, ':utf8'); print \"$@\""; - # print a newline unless we’re piping the output to another program - if [ -t 1 ]; then - echo ""; # newline - fi; -} - -# Get a character’s Unicode code point -function codepoint() { - perl -e "use utf8; print sprintf('U+%04X', ord(\"$@\"))"; - # print a newline unless we’re piping the output to another program - if [ -t 1 ]; then - echo ""; # newline - fi; -} - -# Show all the names (CNs and SANs) listed in the SSL certificate -# for a given domain -function getcertnames() { - if [ -z "${1}" ]; then - echo "ERROR: No domain specified."; - return 1; - fi; - - local domain="${1}"; - echo "Testing ${domain}…"; - echo ""; # newline - - local tmp=$(echo -e "GET / HTTP/1.0\nEOT" \ - | openssl s_client -connect "${domain}:443" -servername "${domain}" 2>&1); - - if [[ "${tmp}" = *"-----BEGIN CERTIFICATE-----"* ]]; then - local certText=$(echo "${tmp}" \ - | openssl x509 -text -certopt "no_aux, no_header, no_issuer, no_pubkey, \ - no_serial, no_sigdump, no_signame, no_validity, no_version"); - echo "Common Name:"; - echo ""; # newline - echo "${certText}" | grep "Subject:" | sed -e "s/^.*CN=//" | sed -e "s/\/emailAddress=.*//"; - echo ""; # newline - echo "Subject Alternative Name(s):"; - echo ""; # newline - echo "${certText}" | grep -A 1 "Subject Alternative Name:" \ - | sed -e "2s/DNS://g" -e "s/ //g" | tr "," "\n" | tail -n +2; - return 0; - else - echo "ERROR: Certificate not found."; - return 1; - fi; -} - -# `v` with no arguments opens the current directory in Vim, otherwise opens the -# given location -function v() { - if [ $# -eq 0 ]; then - vim .; - else - vim "$@"; - fi; -} - -# `tre` is a shorthand for `tree` with hidden files and color enabled, ignoring -# the `.git` directory, listing directories first. The output gets piped into -# `less` with options to preserve color and line numbers, unless the output is -# small enough for one screen. -function tre() { - tree -aC -I '.git|node_modules|bower_components' --dirsfirst "$@" | less -FRNX; -} - -# Copy w/ progress -cp_p () { - rsync -WavP --human-readable --progress "$1" "$2" -} - -# transfer.sh from https://gist.github.com/nl5887/a511f172d3fb3cd0e42d -transfer() { - if [ $# -eq 0 ]; - then - echo "No arguments specified. Usage:\necho transfer /tmp/test.md\ncat /tmp/test.md | transfer test.md" - return 1 - fi - - tmpfile=$( mktemp -t transferXXX ) - - file=$1 - - if tty -s; - then - basefile=$(basename "$file" | sed -e 's/[^a-zA-Z0-9._-]/-/g') - - if [ ! -e $file ]; - then - echo "File $file doesn't exists." - return 1 - fi - - if [ -d $file ]; - then - # zip directory and transfer - zipfile=$( mktemp -t transferXXX.zip ) - cd $(dirname $file) && zip -r -q - $(basename $file) >> $zipfile - curl --progress-bar --upload-file "$zipfile" "https://transfer.sh/$basefile.zip" >> $tmpfile - rm -f $zipfile - else - # transfer file - curl --progress-bar --upload-file "$file" "https://transfer.sh/$basefile" >> $tmpfile - fi - else - # transfer pipe - curl --progress-bar --upload-file "-" "https://transfer.sh/$file" >> $tmpfile - fi - - cat $tmpfile - rm -f $tmpfile -} - -# movie goodies -# animated gifs from any video -# from alex sexton gist.github.com/SlexAxton/4989674 -gifify() { - if [[ -n "$1" ]]; then - if [[ $2 == '--good' ]]; then - ffmpeg -i $1 -r 10 -vcodec png out-static-%05d.png - time convert -verbose +dither -layers Optimize -resize 900x900\> out-static*.png GIF:- | gifsicle --colors 128 --delay=5 --loop --optimize=3 --multifile - > $1.gif - rm out-static*.png - else - ffmpeg -i $1 -s 600x400 -pix_fmt rgb24 -r 10 -f gif - | gifsicle --optimize=3 --delay=3 > $1.gif - fi - else - echo "proper usage: gifify . You DO need to include extension." - fi -} - -# turn that video into webm. -# brew reinstall ffmpeg --with-libvpx -webmify(){ - ffmpeg -i $1 -vcodec libvpx -acodec libvorbis -isync -copyts -aq 80 -threads 3 -qmax 30 -y $2 $1.webm - } - -ffconcat(){ - if [ -e "$1" ]; then - echo "Error: First argument is the output file and it should _not_ exist ($1)" - else - ffmpeg -f concat -safe 0 -i <(printf "file '$PWD/%s'\n" "${@:2}") -c copy "$1" - fi -} - -# weather forecast -# -weather(){ - if [ -z "$1" ]; then - curl -4 -A Curl wttr.in - else - curl -4 -A Curl wttr.in/`urlencode "$*"` - fi -} - - diff --git a/.gdbinit b/.gdbinit deleted file mode 100644 index 9422460..0000000 --- a/.gdbinit +++ /dev/null @@ -1 +0,0 @@ -set disassembly-flavor intel diff --git a/.gitconfig b/.gitconfig deleted file mode 100644 index 964f1ba..0000000 --- a/.gitconfig +++ /dev/null @@ -1,263 +0,0 @@ -[branch] - autosetupmerge = true - -[push] - default = upstream -[rerere] - enabled = true -[rebase] - autosquash = true - -[color] - ui = auto -[color "branch"] - current = yellow reverse - local = yellow - remote = green -[color "decorate"] - remoteBranch = blue bold -[color "diff"] - meta = yellow bold - frag = magenta bold - old = red bold - new = green bold -[color "status"] - added = yellow - changed = green - untracked = cyan - -[alias] - #LAZY VERSIONS OF BASIC COMMANDS - - co = checkout - br = branch - ci = commit - st = status - - #BETTER VERSIONS OF BASIC COMMANDS - - purr = pull --rebase - puff = pull --ff-only - difff = diff --color-words #just words - bbranch = branch -v - branches = branch -avvl - sth = stash -u - unstage = reset HEAD -- - alias = !git config --list | grep 'alias\\.' | sed 's/alias\\.\\([^=]*\\)=\\(.*\\)/\\1 => \\2/' | grep -v 'alias'| awk 'BEGIN { FS = \"=>\" }{ printf(\"%-20s=>%s\\n\", $1,$2)}'|sort - makegitrepo = !git init && git add . && git commit -m \"initial commit\" - fpush = push --force-with-lease - - #BASIC HISTORY VIEWING - - hist = log --graph --date=relative \ - --format=format:'%C(auto)%h %C(bold blue)%an%C(auto)%d %C(green)%ad%C(reset)%n%w(80,8,8)%s' - histfull = log --graph --date=relative --name-status \ - --format=format:'%C(auto)%h %C(bold blue)%an%C(auto)%d %C(green)%ad%C(reset)%n%w(80,8,8)%s%n' - llog = log --pretty=format:'%C(yellow)%h %Cred%ad %Cblue%an%Cgreen%d %Creset%s' --date=iso - changelog = log --pretty=format:'%Cgreen%d %Creset%s' --date=iso - ls = log --pretty=format:'%C(yellow)%p..%h %C(white dim)%cd %<|(49,trunc)%an %C(reset)%s' --date=short --abbrev=8 --no-merges - recent = for-each-ref --sort=-committerdate refs/heads/ --format='%(authordate:short) %(color:red)%(objectname:short) %(color:yellow)%(refname:short)%(color:reset) (%(color:green)%(committerdate:relative)%(color:reset))' - - #BASIC REPO INFORMATION - - whois = "!sh -c 'git log -i -1 --pretty=\"format::%an <%ae>\n\" --author=\"$1\"' -" - whatis = show -s --pretty='tformat::%h (%s, %ad)' --date=short - howmany = "!sh -c 'git log -a --pretty=oneline | wc -l'" - howmanybywhom = shortlog -sn - - #WHAT WAS GOING ON, WHILE YOU WERE AWAY - - anychanges = !sh -c 'git fetch' && git log --oneline HEAD..origin/$1 - anychangesonmaster = !sh -c 'git fetch' && git log --oneline HEAD..origin/master - whoischanging = !sh -c 'git shortlog HEAD..origin/$0' - whoischangingmaster = !sh -c 'git shortlog HEAD..origin/master' - - #what branches you have on origin, with info on who is guilty and how long ago. Useful for gitflow and feature branches in general. Requires fetch up-front. - showorigin = "!sh -c 'for branch in `git branch -r | grep -v HEAD`;do echo `git show -s --format=\"%Cred%ci %C(green)%h %C(yellow)%cr %C(magenta)%an %C(blue)\" $branch | head -n 1` \\\t$branch; done | sort -r'" - - #get remote branches - trackallbranches = !sh -c "for branchname in `git branch -r `; do git branch --track $branchname; done" - updateallbranches = !sh -c "for branchname in `git branch -r `; do git checkout $branchname ; git pull; done" - - #TAGS - - showtags = show-ref --tags - pushtags = push --tags - tagwithdate = !sh -c 'git tag "$0"_$(date "+%y-%m-%d_%H-%M-%S")' - lasttag = describe --abbrev=0 --tags - checkoutlasttag = !sh -c 'git checkout `git describe --abbrev=0 --tags`' - # Pushes given tag to remote 'origin' repo (or the remote passed as the second parameter) - publishtag = "!sh -c 'git push ${2:-origin} $1' -" - # Removes given tag from remote 'origin' repo (or the remote passed as the second parameter) - unpublishtag = "!sh -c 'git push ${2:-origin} :refs/tags/$1' -" - - #IGNORING - - # fix .gitignore - fixgitignore = !git rm -r --cached . && git add . && git commit -m \"Just a .gitignore fix \" - - # Ignore files only locally - hide = update-index --assume-unchanged - unhide = update-index --no-assume-unchanged - - #OTHER - - #Finds a filename in the git repository. Gives absolute location (from the git root). - find = !sh -c 'git ls-tree -r --name-only HEAD | grep --color $1' - - - #Deletes all branches that were safely merged into the master. All other are skipped (no worries). - #on osx xargs does not have -r argument, so it fail. If you remove -r, it will run at least once, making this not safe operation - cleanup = !git branch --merged=master | grep -Ev '^\\* | master$' | xargs -r git branch -d - - #Deletes orphaned remote branches (.git/refs/remotes/origin), clean up reflog and remove all untracked files - cleanuplocal = !git remote prune origin && git gc && git clean -df - - # Check if any file in repo has whitespace errors - # As described in http://peter.eisentraut.org/blog/2014/11/04/checking-whitespace-with-git/ - check-whitespace = !git diff-tree --check $(git hash-object -t tree /dev/null) HEAD - - # Check if any file in repo has windows line endings - #Currently do not work as alias, works from comand line directly. There is a problem with \r - check-eol = !git grep --files-with-matches $'\\r' HEAD - - #Jira tickets (from: http://blogs.atlassian.com/2014/08/whats-new-git-2-1/) - issues = "!f() { : git log ; echo 'Printing issue keys'; git log --oneline $@ | egrep -o [A-Z]+-[0-9]+ | sort | uniq; }; f" - #version for git below 2.1 - #issues = !sh -c 'git log --oneline $@ | egrep -o [A-Z]+-[0-9]+ | sort | uniq' - - - # Gets the current branch name (not so useful in itself, but used in other aliases) - branch-name = "!git rev-parse --abbrev-ref HEAD" - # Pushes the current branch to the remote "origin" (or the remote passed as the parameter) and set it to track the upstream branch - publish = "!sh -c 'git push -u ${1:-origin} $(git branch-name)' -" - # Deletes the remote version of the current branch from the remote "origin" (or the remote passed as the parameter) - unpublish = "!sh -c 'set -e; git push ${1:-origin} :$(git branch-name);git branch --unset-upstream $(git branch-name)' -" - - # Fetch PR from GitHub by number/id - fetchpr = "!sh -c 'git fetch origin pull/$0/head:pr/$0'" - - #add all, commit with message and push to remote - apm = "!f() { git add --all && git commit -m \"$@\" && git push; }; f" - -[apply] - whitespace = nowarn -[core] - pager = less -R -[help] - autocorrect = 1 #fucking magic! - -#Kudos for (copied from): -#http://git-scm.com/book/en/Customizing-Git-Git-Configuration -#http://robots.thoughtbot.com/post/4747482956/streamline-your-git-workflow-with-aliases -#http://oli.jp/2012/git-powerup/#conclusion -#http://blog.blindgaenger.net/advanced_git_aliases.html -#https://gist.github.com/robmiller/6018582 (branch-name, publish, unpublish) -[color] - ui = auto -[color "branch"] - current = yellow reverse - local = yellow - remote = green -[color "decorate"] - remoteBranch = blue bold -[color "diff"] - meta = yellow bold - frag = magenta bold - old = red bold - new = green bold -[color "status"] - added = yellow - changed = green - untracked = cyan - -[alias] - drzewokurwa = log --graph --date=relative \ - --format=format:'%C(auto)%h %C(bold blue)%an%C(auto)%d %C(green)%ad%C(reset)%n%w(80,8,8)%s' - duzedrzewokurwa= log --graph --date=relative --name-status \ - --format=format:'%C(auto)%h %C(bold blue)%an%C(auto)%d %C(green)%ad%C(reset)%n%w(80,8,8)%s%n' - komitykurwa = log --pretty=format:'%C(yellow)%h %Cred%ad %Cblue%an%Cgreen%d %Creset%s' --date=iso - - ktotokurwa = "!sh -c 'git log -i -1 --pretty=\"format::%an <%ae>\n\" --author=\"$1\"' -" - cotokurwa = show -s --pretty='tformat::%h (%s, %ad)' --date=short - - cotamkurwa = !sh -c 'git fetch' && git log --oneline HEAD..origin/$1 - cotammistrzukurwa = !sh -c 'git fetch' && git log --oneline HEAD..origin/master - ktotamkurwa = !sh -c 'git shortlog HEAD..origin/$0' - ktotammistrzukurwa = !sh -c 'git shortlog HEAD..origin/master' - - tagikurwa = show-ref --tags - pchajtagikurwa = push --tags - tagujzdatakurwa = !sh -c 'git tag "$0"_$(date "+%y-%m-%d_%H-%M-%S")' - wyjebtag = !sh -c 'git tag -d "$0"' - wyjebtagwchuj = !sh -c 'git tag -d "$0" && git push --delete origin tag "$0"' - - pojebalosiekurwa = reset --hard - - ktonajebalkurwa = blame - - kurwa = status - cokurwa = status - cojestkurwa = diff - howcanikurwa = help - nabokkurwa = stash - zbokukurwa = stash apply - sprzatajkurwa = clean - sprzatajwszystkokurwa = !sh -c 'git clean -x' && git reset --hard - wyjebzrobionekurwa = !sh -c 'git branch --merged' | grep -v "\\*" | grep -v master | grep -v dev | xargs -n 1 git branch -d - majonez = !sh -c 'branch="$(git rev-parse --abbrev-ref HEAD)" && git checkout master && git pull && git branch -d "$branch"' - - dodajkurwa = add - takkurwa = commit - sciagajkurwa = pull - sciagajtegokurwa = !sh -c 'git pull origin $(git rev-parse --abbrev-ref HEAD)' - dalejkurwa = push - dalejnowociotokurwa = push -u origin master - pchajkurwa = push - pchajkurwayolo = push --force - sorrykurwa = commit --amend -m - spierdolwszystko = merge - - cofnijwchuj = reset HEAD~100 - wypierdolwchuj = reset HEAD~100 --hard - acomitamkurwa = push origin --force - walictokurwa = rm .* -rF - - palisiekurwa = !sh -c 'git add . && git commit -m \"palilo sie\" --no-gpg-sign --no-verify && git push --force && echo \"Ok, now RUN!\"' - -[apply] - whitespace = nowarn - -[user] - name = VectorKappa - email = piotrpatalong@gmail.com - -# URL shorthands - -[url "git@github.com:"] - - insteadOf = "gh:" - pushInsteadOf = "github:" - pushInsteadOf = "git://github.com/" - -[url "git://github.com/"] - - insteadOf = "github:" - -[url "git@gist.github.com:"] - - insteadOf = "gst:" - pushInsteadOf = "gist:" - pushInsteadOf = "git://gist.github.com/" - -[url "git://gist.github.com/"] - - insteadOf = "gist:" - -[diff] - - # Detect copies as well as renames - renames = copies - -[diff "bin"] - - # Use `hexdump` to diff binary files - textconv = hexdump -v -C diff --git a/.inputrc b/.inputrc deleted file mode 100644 index 6e31e4e..0000000 --- a/.inputrc +++ /dev/null @@ -1,44 +0,0 @@ -# Make Tab autocomplete regardless of filename case -set completion-ignore-case on - -# List all matches in case multiple possible completions are possible -set show-all-if-ambiguous on - -# Immediately add a trailing slash when autocompleting symlinks to directories -set mark-symlinked-directories on - -# Use the text that has already been typed as the prefix for searching through -# commands (i.e. more intelligent Up/Down behavior) -"\e[B": history-search-forward -"\e[A": history-search-backward - -# ctrl left, ctrl right for moving on the readline by word -"\e[1;5C": forward-word -"\e[1;5D": backward-word - -# Do not autocomplete hidden files unless the pattern explicitly begins with a dot -set match-hidden-files off - -# Show all autocomplete results at once -set page-completions off - -# If there are more than 200 possible completions for a word, ask to show them all -set completion-query-items 200 - -# Show extra file information when completing, like `ls -F` does -set visible-stats on - -# Be more intelligent when autocompleting by also looking at the text after -# the cursor. For example, when the current line is "cd ~/src/mozil", and -# the cursor is on the "z", pressing Tab will not autocomplete it to "cd -# ~/src/mozillail", but to "cd ~/src/mozilla". (This is supported by the -# Readline used by Bash 4.) -set skip-completed-text on - -# Allow UTF-8 input and output, instead of showing stuff like $'\0123\0456' -set input-meta on -set output-meta on -set convert-meta off - -# Use Alt/Meta + Delete to delete the preceding word -"\e[3;3~": kill-word diff --git a/.pythonrc b/.pythonrc deleted file mode 100644 index d83a87d..0000000 --- a/.pythonrc +++ /dev/null @@ -1,378 +0,0 @@ -# -*- coding: utf-8 -*- -"""Startup script that adds niceties to the interactive interpreter. - -This script adds the following things: - -- Readline bindings, tab completion, and history (in ~/.history/python, - which can be disabled by setting NOHIST in the environment) - -- Pretty printing of expression output (with Pygments highlighting) - -- Pygments highlighting of tracebacks - -- Function arguments in repr() for callables - -- A source() function that displays the source of an arbitrary object - (in a pager, with Pygments highlighting) - -Python 2.3 and newer are supported, including Python 3.x. - -Note: The default versions of Python that ship with Mac OS X don't -come with readline. To get readline support, you can try a stand-alone -readline library[1], or you can use a different Python distribution -(like the one from MacPorts). - -[1]: http://pypi.python.org/pypi/readline -""" - - -def _pythonrc_enable_readline(): - """Enable readline, tab completion, and history""" - import sys - - try: - import readline - import rlcompleter - except ImportError: - sys.stderr.write('readline unavailable - tab completion disabled.\n') - return - - old_complete = readline.get_completer() - - def complete(text, state): - if not text: - # Insert four spaces for indentation - return (' ', None)[state] - else: - return old_complete(text, state) - readline.parse_and_bind('tab: complete') - readline.set_completer(complete) - - -def _pythonrc_enable_history(): - import atexit - import os - try: - import readline - except: - return - - # "NOHIST= python" will disable history - if 'NOHIST' not in os.environ: - history_path = os.path.expanduser('~/.history/python') - - has_written = [False] - - def write_history(): - if not has_written[0]: - readline.write_history_file(history_path) - print('Written history to %s' % history_path) - has_written[0] = True - atexit.register(write_history) - - if os.path.isfile(history_path): - try: - readline.read_history_file(history_path) - except IOError: - pass - - readline.set_history_length(-1) - - -def _pythonrc_enable_pprint(): - """Enable pretty printing of evaluated expressions""" - import pprint - import sys - - try: - if sys.platform == 'win32': - raise ImportError() - from cStringIO import StringIO - from pygments import highlight - from pygments.lexers import PythonLexer, PythonTracebackLexer - from pygments.formatters import TerminalFormatter - - def pphighlight(o, *a, **kw): - s = pprint.pformat(o, *a, **kw) - try: - sys.stdout.write( - highlight(s, PythonLexer(), TerminalFormatter())) - except UnicodeError: - sys.stdout.write(s) - sys.stdout.write('\n') - - _old_excepthook = sys.excepthook - - def excepthook(exctype, value, traceback): - """Prints exceptions to sys.stderr and colorizes them""" - - # traceback.format_exception() isn't used because it's - # inconsistent with the built-in formatter - old_stderr = sys.stderr - sys.stderr = StringIO() - try: - _old_excepthook(exctype, value, traceback) - s = sys.stderr.getvalue() - try: - s = highlight( - s, PythonTracebackLexer(), TerminalFormatter()) - except UnicodeError: - pass - old_stderr.write(s) - finally: - sys.stderr = old_stderr - - sys.excepthook = excepthook - except ImportError: - pphighlight = pprint.pprint - - try: - import __builtin__ - except ImportError: - import builtins as __builtin__ - import inspect - import pydoc - import sys - import types - - help_types = [types.BuiltinFunctionType, types.BuiltinMethodType, - types.FunctionType, types.MethodType, types.ModuleType, - type, - # method_descriptor - type(list.remove)] - if hasattr(types, 'UnboundMethodType'): - help_types.append(types.UnboundMethodType) - help_types = tuple(help_types) - - def _ioctl_width(fd): - - from fcntl import ioctl - from struct import pack, unpack - from termios import TIOCGWINSZ - return unpack('HHHH', - ioctl(fd, TIOCGWINSZ, pack('HHHH', 0, 0, 0, 0)))[1] - - def get_width(): - """Returns terminal width""" - - width = 0 - try: - width = _ioctl_width(0) or _ioctl_width(1) or _ioctl_width(2) - except ImportError: - pass - if not width: - import os - width = os.environ.get('COLUMNS', 0) - return width - - if hasattr(inspect, 'getfullargspec'): - getargspec = inspect.getfullargspec - else: - getargspec = inspect.getargspec - - def pprinthook(value): - """Pretty print an object to sys.stdout and also save it in - __builtin__. - """ - - if value is None: - return - __builtin__._ = value - - if isinstance(value, help_types): - reprstr = repr(value) - try: - if inspect.isfunction(value): - parts = reprstr.split(' ') - parts[1] += inspect.formatargspec(*getargspec(value)) - reprstr = ' '.join(parts) - elif inspect.ismethod(value): - parts = reprstr[:-1].split(' ') - parts[2] += inspect.formatargspec(*getargspec(value)) - reprstr = ' '.join(parts) + '>' - except TypeError: - pass - sys.stdout.write(reprstr) - sys.stdout.write('\n') - if getattr(value, '__doc__', None): - sys.stdout.write('\n') - sys.stdout.write(pydoc.getdoc(value)) - sys.stdout.write('\n') - else: - pphighlight(value, width=get_width() or 80) - - sys.displayhook = pprinthook - - -def _pythonrc_fix_linecache(): - """Add source(obj) that shows the source code for a given object""" - import os - import sys - from linecache import cache - - # linecache.updatecache() replacement that actually works with zips. - # See http://bugs.python.org/issue4223 for more information. - def updatecache(filename, module_globals=None): - """Update a cache entry and return its list of lines. - If something's wrong, print a message, discard the cache entry, - and return an empty list.""" - - if filename in cache: - del cache[filename] - if not filename or filename[0] + filename[-1] == '<>': - return [] - - fullname = filename - try: - stat = os.stat(fullname) - except os.error: - basename = os.path.split(filename)[1] - - if module_globals and '__loader__' in module_globals: - name = module_globals.get('__name__') - loader = module_globals['__loader__'] - get_source = getattr(loader, 'get_source', None) - - if name and get_source: - try: - data = get_source(name) - except (ImportError, IOError): - pass - else: - if data is None: - return [] - cache[filename] = ( - len(data), None, - [line + '\n' for line in data.splitlines()], - fullname - ) - return cache[filename][2] - - for dirname in sys.path: - try: - fullname = os.path.join(dirname, basename) - except (TypeError, AttributeError): - pass - else: - try: - stat = os.stat(fullname) - break - except os.error: - pass - else: - return [] - try: - fp = open(fullname, 'rU') - lines = fp.readlines() - fp.close() - except IOError: - return [] - size, mtime = stat.st_size, stat.st_mtime - cache[filename] = size, mtime, lines, fullname - return lines - - import linecache - linecache.updatecache = updatecache - - -def source(obj): - """Display the source code of an object. - - Applies syntax highlighting if Pygments is available. - """ - import os - import sys - from inspect import findsource, getmodule, getsource, getsourcefile - from pydoc import pager - - try: - # Check to see if the object is defined in a shared library, which - # findsource() doesn't do properly (see issue4050) - if not getsourcefile(obj): - raise TypeError - s = getsource(obj) - except TypeError: - sys.stderr.write("Source code unavailable (maybe it's part of " - "a C extension?)\n") - return - - # Detect the module's file encoding. We could use - # tokenize.detect_encoding(), but it's only available in Python 3. - import re - enc = 'ascii' - for line in findsource(getmodule(obj))[0][:2]: - m = re.search(r'coding[:=]\s*([-\w.]+)', line) - if m: - enc = m.group(1) - if hasattr(s, 'decode'): - try: - s = s.decode(enc, 'replace') - except LookupError: - s = s.decode('ascii', 'replace') - - try: - # For now, let's assume we'll never have a proper terminal on win32 - if sys.platform == 'win32': - raise ImportError - from pygments import highlight - from pygments.lexers import PythonLexer - from pygments.formatters import TerminalFormatter - s = highlight(s, PythonLexer(), TerminalFormatter()) - except (ImportError, UnicodeError): - pass - - # Display the source code in the pager, and try to convince less not to - # escape color control codes. - has_lessopts = 'LESS' in os.environ - lessopts = os.environ.get('LESS', '') - try: - os.environ['LESS'] = lessopts + ' -R' - if hasattr(s, 'decode'): - pager(s.encode(sys.stdout.encoding, 'replace')) - else: - pager(s) - finally: - if has_lessopts: - os.environ['LESS'] = lessopts - else: - os.environ.pop('LESS', None) - -if __name__ == '__main__': - __doc__ = None - - # Make sure modules in the current directory can't interfere - import sys - try: - try: - cwd = sys.path.index('') - sys.path.pop(cwd) - except ValueError: - cwd = None - - sys.ps1 = "\001\033[0;32m\002>>> \001\033[1;37m\002" - sys.ps2 = "\001\033[1;31m\002... \001\033[1;37m\002" - - # Run installation functions and don't taint the global namespace - try: - try: - import jedi.utils - jedi.utils.setup_readline() - del jedi - except: - print('No jedi here. Coming to the dark side.') - _pythonrc_enable_readline() - del _pythonrc_enable_readline - - _pythonrc_enable_history() - _pythonrc_enable_pprint() - _pythonrc_fix_linecache() - - del _pythonrc_enable_history - del _pythonrc_enable_pprint - del _pythonrc_fix_linecache - finally: - if cwd is not None: - sys.path.insert(cwd, '') - del cwd - finally: - pass diff --git a/.screenrc b/.screenrc deleted file mode 100644 index 145ee15..0000000 --- a/.screenrc +++ /dev/null @@ -1,113 +0,0 @@ -# no annoying audible bell, please -vbell on - -# detach on hangup -autodetach on - -# don't display the copyright page -startup_message off - -# Always start `screen` with UTF-8 enabled (`screen -U`) -defutf8 on - -# Extend the vt100 desciption with some sequences. -termcap vt100* ms:AL=\E[%dL:DL=\E[%dM:UP=\E[%dA:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC -terminfo vt100* ms:AL=\E[%p1%dL:DL=\E[%p1%dM:UP=\E[%p1%dA:DO=\E[%p1%dB:LE=\E[%p1%dD:RI=\E[%p1%dC - -#xterm understands both im/ic and doesn't have a status line. -#Note: Do not specify im and ic in the real termcap/info file as -#some programs (e.g. vi) will not work anymore. -termcap xterm hs@:cs=\E[%i%d;%dr:im=\E[4h:ei=\E[4l -terminfo xterm hs@:cs=\E[%i%p1%d;%p2%dr:im=\E[4h:ei=\E[4l - -#80/132 column switching must be enabled for ^AW to work -#change init sequence to not switch width -termcap xterm Z0=\E[?3h:Z1=\E[?3l:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l -terminfo xterm Z0=\E[?3h:Z1=\E[?3l:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l - -#make hp700 termcap/info better -termcap hp700 'Z0=\E[?3h:Z1=\E[?3l:hs:ts=\E[62"p\E[0$~\E[2$~\E[1$}:fs=\E[0}\E[61"p:ds=\E[62"p\E[1$~\E[61"p:ic@' -terminfo hp700 'Z0=\E[?3h:Z1=\E[?3l:hs:ts=\E[62"p\E[0$~\E[2$~\E[1$}:fs=\E[0}\E[61"p:ds=\E[62"p\E[1$~\E[61"p:ic@' - -#wyse-75-42 must have flow control (xo = "terminal uses xon/xoff") -#essential to have it here, as this is a slow terminal. -termcap wy75-42 xo -terminfo wy75-42 xo - -# New termcap sequences for cursor application mode. -termcap wy* CS=\E[?1h:CE=\E[?1l:vi=\E[?25l:ve=\E[?25h:VR=\E[?5h:VN=\E[?5l:cb=\E[1K:CD=\E[1J -terminfo wy* CS=\E[?1h:CE=\E[?1l:vi=\E[?25l:ve=\E[?25h:VR=\E[?5h:VN=\E[?5l:cb=\E[1K:CD=\E[1J - -# Make the output buffer large for (fast) xterms. -termcap xterm* OL=10000 -terminfo xterm* OL=10000 - -#remove some stupid / dangerous key bindings -bind k -bind ^k -bind . -bind ^\ -bind \\ -bind ^h -bind h -#make them better -#bind '\\' quit -bind 'K' kill -bind '}' history - -pow_detach_msg "Screen session of \$LOGNAME \$:cr:\$:nl:ended." - -# Yet another hack: -# Prepend/append register [/] to the paste if ^a^] is pressed. -# This lets me have autoindent mode in vi. -register [ "\033:se noai\015a" -register ] "\033:se ai\015a" -bind ^] paste [.] - -# tell screen that xterm can switch to dark background and has function -# keys. -terminfo xterm 'VR=\E[?5h:VN=\E[?5l:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~' -termcap xterm 'VR=\E[?5h:VN=\E[?5l:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~' -termcap xterm 'kh=\E[1~:kI=\E[2~:kD=\E[3~:kH=\E[4~:kP=\E[5~:kN=\E[6~' -terminfo xterm 'kh=\E[1~:kI=\E[2~:kD=\E[3~:kH=\E[4~:kP=\E[5~:kN=\E[6~' - -# special xterm hardstatus: use the window title. -termcap xterm 'hs:ts=\E]2;:fs=\007:ds=\E]0;Screen\007' -terminfo xterm 'hs:ts=\E]2;:fs=\007:ds=\E]0;Screen\007' - -# advertise hardstatus support to $TERMCAP -termcap * '' 'hs:ts=\E_:fs=\E\\:ds=\E_\E\\' -terminfo * '' 'hs:ts=\E_:fs=\E\\:ds=\E_\E\\' - -# make the shell in every window a login shell -#shell -$SHELL - -# shellaka '> |tcsh' -# shellaka '$ |sh' - -terminfo wy75-42 'G0:S0=\E(K:E0=\E(B:C0=\104\133\126\134\134\135\144\173\166\174\174\175\137\176' - -terminfo wy75-42 'hs@' - -# our xterm has colors! (rxvt, too) -termcap xterm 'AF=\E[3%dm:AB=\E[4%dm' -terminfo xterm 'AF=\E[3%p1%dm:AB=\E[4%p1%dm' - -# set every new windows hardstatus line to somenthing descriptive -defhstatus "Screen: window \5 (\5t)" - -defscrollback 32000 - -#terminfo xterm 'vb=\E[?5h$<200/>\E[?5l' -#termcap xterm 'vi=\E[?25l:ve=\E[34h\E[?25h:vs=\E[34l' - -# emulate part of the 'K' charset -termcap xterm 'XC=K%,%\E(B,[\304,\\\\\326,]\334,{\344,|\366,}\374,~\337' -terminfo xterm 'XC=K%,%\E(B,[\304,\\\\\326,]\334,{\344,|\366,}\374,~\337' - -hardstatus on -hardstatus alwayslastline -hardstatus string "%{.kG} %d.%m %c%{..y} | %{...}%-w%{..R}(%n %t)%{-}%+w %=%{..G} %l" - -sorendition 01 47 - diff --git a/.termux/colors.properties b/.termux/colors.properties deleted file mode 100644 index 7a71bf2..0000000 --- a/.termux/colors.properties +++ /dev/null @@ -1,22 +0,0 @@ -# https://git.io/nord -foreground=#d8dee9 -background=#2e3440 -cursor=#d8dee9 - -color0=#3b4252 -color1=#bf616a -color2=#a3be8c -color3=#ebcb8b -color4=#81a1c1 -color5=#b48ead -color6=#88c0d0 -color7=#e5e8f0 - -color8=#4c566a -color9=#bf616a -color10=#a3be8c -color11=#ebcb8b -color12=#81a1c1 -color13=#b48ead -color14=#8fbcbb -color15=#eceff4 diff --git a/.termux/font.ttf b/.termux/font.ttf deleted file mode 100644 index 14a75a0..0000000 Binary files a/.termux/font.ttf and /dev/null differ diff --git a/.termux/termux.properties b/.termux/termux.properties deleted file mode 100644 index 60912e5..0000000 --- a/.termux/termux.properties +++ /dev/null @@ -1 +0,0 @@ -extra-keys = [['ESC','/','-','HOME','UP','END','PGUP'],['TAB','CTRL','ALT','LEFT','DOWN','RIGHT','PGDN']] diff --git a/.tmux.conf b/.tmux.conf deleted file mode 100644 index d8eb3b0..0000000 --- a/.tmux.conf +++ /dev/null @@ -1,239 +0,0 @@ -# tmux settings -# http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man1/tmux.1#x4f5054494f4e53 - -# ---------------------------------------------------------------------- -# | General Settings | -# ---------------------------------------------------------------------- - -# Make a new session, all you need is to run tmux a all the time then -new-session - -# Make window index start at 1 -set -g base-index 1 - -# Make pane index start at 1 -setw -g pane-base-index 1 - -# Remove delay when sending commands -# (default is 500 milliseconds) -set -sg escape-time 1 - -# If you want to enable mouse scrolling & cut-n-paste, uncomment the following: -#set -g mouse on -#bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'select-pane -t=; copy-mode -e; send-keys -M'" -#bind -n WheelDownPane select-pane -t= \; send-keys -M -#bind -n C-WheelUpPane select-pane -t= \; copy-mode -e \; send-keys -M -#bind -t vi-copy C-WheelUpPane halfpage-up -#bind -t vi-copy C-WheelDownPane halfpage-down -#bind -t emacs-copy C-WheelUpPane halfpage-up -#bind -t emacs-copy C-WheelDownPane halfpage-down - -set -g history-limit 30000 - - -# ---------------------------------------------------------------------- -# | Key Mappings | -# ---------------------------------------------------------------------- - -# Change the key combination for the PREFIX key to `ctrl-a` -set -g prefix C-a -unbind-key C-b - -# Make tmux send the PREFIX to an application running -# within tmux simply by pressing PREFIX key twice -bind C-a send-prefix -bind a send-prefix - -# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# Use vim keybindings in copy mode -setw -g mode-keys vi - -# Remap the copy & paste keys to work as in vim -unbind [ -bind Escape copy-mode -# use P instead of p because of screen compatibility -unbind P -bind P paste-buffer -bind -t vi-copy 'v' begin-selection -bind -t vi-copy 'y' copy-selection - -# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# [ PREFIX + - ] Split window horizontally -bind - split-window -v - -# [ PREFIX + | ] Split window vertically -bind | split-window -h - -# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# [ PREFIX + h/j/k/l ] Move from pane to pane -bind h select-pane -L -bind j select-pane -D -bind k select-pane -U -bind l select-pane -R - -# [ PREFIX + H/J/K/L ] Resize pane -bind -r H resize-pane -L 5 -bind -r J resize-pane -D 5 -bind -r K resize-pane -U 5 -bind -r L resize-pane -R 5 - -# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# [ PREFIX + r ] Reload tmux config -bind r source-file ~/.tmux.conf \; display 'tmux configs reloaded' - - -# ---------------------------------------------------------------------- -# | Status bar | -# ---------------------------------------------------------------------- - -# Notified when something happens in one of the other windows -#setw -g monitor-activity on -#set -g visual-activity on - -# Periodically refresh the status bar -set -g status-interval 60 - -# Turn on UTF-8 support -set -g status-utf8 on - -# Customize what is displayed -set -g status-justify left -set -g status-left-length 50 -set -g status-left " %R | " -# └─ current time -set -g status-right " #S " -# └─ current session name - -# ---------------------------------------------------------------------- -# | Visual Styling | -# ---------------------------------------------------------------------- - -# Display things in 256 colors -set -g default-terminal 'screen-256color' - -# Solarized theme -#### COLOUR (Solarized 256) - -# default statusbar colors -set-option -g status-bg colour235 #base02 -set-option -g status-fg colour136 #yellow -set-option -g status-attr default - -# default window title colors -set-window-option -g window-status-fg colour244 #base0 -set-window-option -g window-status-bg default -#set-window-option -g window-status-attr dim - -# active window title colors -set-window-option -g window-status-current-fg colour166 #orange -set-window-option -g window-status-current-bg default -#set-window-option -g window-status-current-attr bright - -# pane border -set-option -g pane-border-fg colour235 #base02 -set-option -g pane-active-border-fg colour240 #base01 - -# message text -set-option -g message-bg colour235 #base02 -set-option -g message-fg colour166 #orange - -# pane number display -set-option -g display-panes-active-colour colour33 #blue -set-option -g display-panes-colour colour166 #orange - -# clock -set-window-option -g clock-mode-colour colour64 #green - -# bell -# compatiblity with older tmux versions -#set-window-option -g window-status-bell-style fg=colour235,bg=colour160 #base02, red - -# ---------------------------------------------------------------------- -# | Compatiblity with screen | -# ---------------------------------------------------------------------- - - -# lockscreen ^X x -unbind ^X -bind ^X lock-server -unbind x -bind x lock-server - -# screen ^C c -unbind ^C -bind ^C new-window -unbind c -bind c new-window - -# detach ^D d -unbind ^D -bind ^D detach - -# displays * -unbind * -bind * list-clients - -# next ^@ ^N sp n -unbind ^@ -bind ^@ next-window -unbind ^N -bind ^N next-window -unbind " " -bind " " next-window -unbind n -bind n next-window - -# title A -unbind A -bind A command-prompt "rename-window %%" - -# other ^A -unbind ^A -bind ^A last-window - -# prev ^H ^P p ^? -unbind ^H -bind ^H previous-window -unbind ^P -bind ^P previous-window -unbind p -bind p previous-window -unbind BSpace -bind BSpace previous-window - -# windows ^W w -unbind ^W -bind ^W list-windows -unbind w -bind w list-windows - -# quit \ -unbind '\' -bind '\' confirm-before "kill-server" - -# kill K k -unbind K -bind K confirm-before "kill-window" -unbind k -bind k confirm-before "kill-window" - -# redisplay ^L l -unbind ^L -bind ^L refresh-client -unbind l -bind l refresh-client - -# :kB: focus up -unbind Tab -bind Tab select-pane -t:.+ -unbind BTab -bind BTab select-pane -t:.- - -# " windowlist -b -unbind '"' -bind '"' choose-window - diff --git a/.vim_runtime/autoload/pathogen.vim b/.vim_runtime/autoload/pathogen.vim deleted file mode 100644 index a13ae08..0000000 --- a/.vim_runtime/autoload/pathogen.vim +++ /dev/null @@ -1,347 +0,0 @@ -" pathogen.vim - path option manipulation -" Maintainer: Tim Pope -" Version: 2.3 - -" Install in ~/.vim/autoload (or ~\vimfiles\autoload). -" -" For management of individually installed plugins in ~/.vim/bundle (or -" ~\vimfiles\bundle), adding `execute pathogen#infect()` to the top of your -" .vimrc is the only other setup necessary. -" -" The API is documented inline below. - -if exists("g:loaded_pathogen") || &cp - finish -endif -let g:loaded_pathogen = 1 - -" Point of entry for basic default usage. Give a relative path to invoke -" pathogen#interpose() (defaults to "bundle/{}"), or an absolute path to invoke -" pathogen#surround(). Curly braces are expanded with pathogen#expand(): -" "bundle/{}" finds all subdirectories inside "bundle" inside all directories -" in the runtime path. -function! pathogen#infect(...) abort - for path in a:0 ? filter(reverse(copy(a:000)), 'type(v:val) == type("")') : ['bundle/{}'] - if path =~# '^\%({\=[$~\\/]\|{\=\w:[\\/]\).*[{}*]' - call pathogen#surround(path) - elseif path =~# '^\%([$~\\/]\|\w:[\\/]\)' - call s:warn('Change pathogen#infect('.string(path).') to pathogen#infect('.string(path.'/{}').')') - call pathogen#surround(path . '/{}') - elseif path =~# '[{}*]' - call pathogen#interpose(path) - else - call s:warn('Change pathogen#infect('.string(path).') to pathogen#infect('.string(path.'/{}').')') - call pathogen#interpose(path . '/{}') - endif - endfor - call pathogen#cycle_filetype() - if pathogen#is_disabled($MYVIMRC) - return 'finish' - endif - return '' -endfunction - -" Split a path into a list. -function! pathogen#split(path) abort - if type(a:path) == type([]) | return a:path | endif - if empty(a:path) | return [] | endif - let split = split(a:path,'\\\@]','\\&','') - endif -endfunction - -" Like findfile(), but hardcoded to use the runtimepath. -function! pathogen#runtime_findfile(file,count) abort "{{{1 - let rtp = pathogen#join(1,pathogen#split(&rtp)) - let file = findfile(a:file,rtp,a:count) - if file ==# '' - return '' - else - return fnamemodify(file,':p') - endif -endfunction - -" Section: Deprecated - -function! s:warn(msg) abort - echohl WarningMsg - echomsg a:msg - echohl NONE -endfunction - -" Prepend all subdirectories of path to the rtp, and append all 'after' -" directories in those subdirectories. Deprecated. -function! pathogen#runtime_prepend_subdirectories(path) abort - call s:warn('Change pathogen#runtime_prepend_subdirectories('.string(a:path).') to pathogen#infect('.string(a:path.'/{}').')') - return pathogen#surround(a:path . pathogen#slash() . '{}') -endfunction - -function! pathogen#incubate(...) abort - let name = a:0 ? a:1 : 'bundle/{}' - call s:warn('Change pathogen#incubate('.(a:0 ? string(a:1) : '').') to pathogen#infect('.string(name).')') - return pathogen#interpose(name) -endfunction - -" Deprecated alias for pathogen#interpose(). -function! pathogen#runtime_append_all_bundles(...) abort - if a:0 - call s:warn('Change pathogen#runtime_append_all_bundles('.string(a:1).') to pathogen#infect('.string(a:1.'/{}').')') - else - call s:warn('Change pathogen#runtime_append_all_bundles() to pathogen#infect()') - endif - return pathogen#interpose(a:0 ? a:1 . '/{}' : 'bundle/{}') -endfunction - -if exists(':Vedit') - finish -endif - -let s:vopen_warning = 0 - -function! s:find(count,cmd,file,lcd) - let rtp = pathogen#join(1,pathogen#split(&runtimepath)) - let file = pathogen#runtime_findfile(a:file,a:count) - if file ==# '' - return "echoerr 'E345: Can''t find file \"".a:file."\" in runtimepath'" - endif - if !s:vopen_warning - let s:vopen_warning = 1 - let warning = '|echohl WarningMsg|echo "Install scriptease.vim to continue using :V'.a:cmd.'"|echohl NONE' - else - let warning = '' - endif - if a:lcd - let path = file[0:-strlen(a:file)-2] - execute 'lcd `=path`' - return a:cmd.' '.pathogen#fnameescape(a:file) . warning - else - return a:cmd.' '.pathogen#fnameescape(file) . warning - endif -endfunction - -function! s:Findcomplete(A,L,P) - let sep = pathogen#slash() - let cheats = { - \'a': 'autoload', - \'d': 'doc', - \'f': 'ftplugin', - \'i': 'indent', - \'p': 'plugin', - \'s': 'syntax'} - if a:A =~# '^\w[\\/]' && has_key(cheats,a:A[0]) - let request = cheats[a:A[0]].a:A[1:-1] - else - let request = a:A - endif - let pattern = substitute(request,'/\|\'.sep,'*'.sep,'g').'*' - let found = {} - for path in pathogen#split(&runtimepath) - let path = expand(path, ':p') - let matches = split(glob(path.sep.pattern),"\n") - call map(matches,'isdirectory(v:val) ? v:val.sep : v:val') - call map(matches,'expand(v:val, ":p")[strlen(path)+1:-1]') - for match in matches - let found[match] = 1 - endfor - endfor - return sort(keys(found)) -endfunction - -command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Ve :execute s:find(,'edit',,0) -command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vedit :execute s:find(,'edit',,0) -command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vopen :execute s:find(,'edit',,1) -command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vsplit :execute s:find(,'split',,1) -command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vvsplit :execute s:find(,'vsplit',,1) -command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vtabedit :execute s:find(,'tabedit',,1) -command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vpedit :execute s:find(,'pedit',,1) -command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vread :execute s:find(,'read',,1) - -" vim:set et sw=2 foldmethod=expr foldexpr=getline(v\:lnum)=~'^\"\ Section\:'?'>1'\:getline(v\:lnum)=~#'^fu'?'a1'\:getline(v\:lnum)=~#'^endf'?'s1'\:'=': diff --git a/.vim_runtime/my_plugins/.gitkeep b/.vim_runtime/my_plugins/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/.vim_runtime/sources_forked/peaksea/colors/peaksea.vim b/.vim_runtime/sources_forked/peaksea/colors/peaksea.vim deleted file mode 100644 index da2fdef..0000000 --- a/.vim_runtime/sources_forked/peaksea/colors/peaksea.vim +++ /dev/null @@ -1,606 +0,0 @@ -" Vim color file --- psc (peak sea color) "Lite version" -" Maintainer: Pan, Shi Zhu -" URL: http://vim.sourceforge.net/scripts/script.php?script_id=760 -" Last Change: 5 Feb 2010 -" Version: 3.4 -" -" Comments and e-mails are welcomed, thanks. -" -" The peaksea color is simply a colorscheme with the default settings of -" the original ps_color. Lite version means there's no custom settings -" and fancy features such as integration with reloaded.vim -" -" The full version of ps_color.vim will be maintained until Vim 8. -" By then there will be only the lite version: peaksea.vim -" -" Note: Please set the background option in your .vimrc and/or .gvimrc -" -" It is much better *not* to set 'background' option inside -" a colorscheme file. because ":set background" improperly -" may cause colorscheme be sourced twice -" -" Color Scheme Overview: -" :ru syntax/hitest.vim -" -" Relevant Help: -" :h highlight-groups -" :h psc-cterm-color-table -" -" Colors Order: -" #rrggbb -" - -hi clear - -if exists("syntax_on") - syntax reset -endif - -let g:colors_name = "peaksea" - -" I don't want to abuse folding, but here folding is used to avoid confusion. -if &background=='light' - " for background=light {{{2 - " LIGHT COLOR DEFINE START - - hi Normal guifg=#000000 guibg=#e0e0e0 gui=NONE - hi Search guifg=White guibg=DarkRed gui=NONE - hi Visual guifg=NONE guibg=#a6caf0 gui=NONE - hi Cursor guifg=#f0f0f0 guibg=#008000 gui=NONE - " The idea of CursorIM is pretty good, however, the feature is still buggy - " in the current version (Vim 7.0). - " The following line will be kept commented until the bug fixed. - " - " hi CursorIM guifg=#f0f0f0 guibg=#800080 - hi Special guifg=#907000 guibg=NONE gui=NONE - hi Comment guifg=#606000 guibg=NONE gui=NONE - hi Number guifg=#907000 guibg=NONE gui=NONE - hi Constant guifg=#007068 guibg=NONE gui=NONE - hi StatusLine guifg=fg guibg=#a6caf0 gui=NONE - hi LineNr guifg=#686868 guibg=NONE gui=NONE - hi Question guifg=fg guibg=#d0d090 gui=NONE - hi PreProc guifg=#009030 guibg=NONE gui=NONE - hi Statement guifg=#2060a8 guibg=NONE gui=NONE - hi Type guifg=#0850a0 guibg=NONE gui=NONE - hi Todo guifg=#800000 guibg=#e0e090 gui=NONE - " NOTE THIS IS IN THE WARM SECTION - hi Error guifg=#c03000 guibg=NONE gui=NONE - hi Identifier guifg=#a030a0 guibg=NONE gui=NONE - hi ModeMsg guifg=fg guibg=#b0b0e0 gui=NONE - hi VisualNOS guifg=fg guibg=#b0b0e0 gui=NONE - hi SpecialKey guifg=#1050a0 guibg=NONE gui=NONE - hi NonText guifg=#002090 guibg=#d0d0d0 gui=NONE - hi Directory guifg=#a030a0 guibg=NONE gui=NONE - hi ErrorMsg guifg=fg guibg=#f0b090 gui=NONE - hi MoreMsg guifg=#489000 guibg=NONE gui=NONE - hi Title guifg=#a030a0 guibg=NONE gui=NONE - hi WarningMsg guifg=#b02000 guibg=NONE gui=NONE - hi WildMenu guifg=fg guibg=#d0d090 gui=NONE - hi Folded guifg=NONE guibg=#b0e0b0 gui=NONE - hi FoldColumn guifg=fg guibg=NONE gui=NONE - hi DiffAdd guifg=NONE guibg=#b0b0e0 gui=NONE - hi DiffChange guifg=NONE guibg=#e0b0e0 gui=NONE - hi DiffDelete guifg=#002090 guibg=#d0d0d0 gui=NONE - hi DiffText guifg=NONE guibg=#c0e080 gui=NONE - hi SignColumn guifg=fg guibg=#90e090 gui=NONE - - hi IncSearch guifg=White guibg=DarkRed gui=NONE - hi StatusLineNC guifg=fg guibg=#c0c0c0 gui=NONE - hi VertSplit guifg=fg guibg=#c0c0c0 gui=NONE - hi Underlined guifg=#6a5acd guibg=NONE gui=underline - hi Ignore guifg=bg guibg=NONE - " NOTE THIS IS IN THE WARM SECTION - if v:version >= 700 - if has('spell') - hi SpellBad guifg=NONE guibg=NONE guisp=#c03000 - hi SpellCap guifg=NONE guibg=NONE guisp=#2060a8 - hi SpellRare guifg=NONE guibg=NONE guisp=#a030a0 - hi SpellLocal guifg=NONE guibg=NONE guisp=#007068 - endif - hi Pmenu guifg=fg guibg=#e0b0e0 - hi PmenuSel guifg=#f0f0f0 guibg=#806060 gui=NONE - hi PmenuSbar guifg=fg guibg=#c0c0c0 gui=NONE - hi PmenuThumb guifg=fg guibg=#c0e080 gui=NONE - hi TabLine guifg=fg guibg=#c0c0c0 gui=NONE - hi TabLineFill guifg=fg guibg=#c0c0c0 gui=NONE - hi TabLineSel guifg=fg guibg=NONE gui=NONE - hi CursorColumn guifg=NONE guibg=#f0b090 - hi CursorLine guifg=NONE guibg=NONE gui=underline - hi MatchParen guifg=NONE guibg=#c0e080 - endif - - " LIGHT COLOR DEFINE END - - " Vim 7 added stuffs - if v:version >= 700 - hi Ignore gui=NONE - - " the gui=undercurl guisp could only support in Vim 7 - if has('spell') - hi SpellBad gui=undercurl - hi SpellCap gui=undercurl - hi SpellRare gui=undercurl - hi SpellLocal gui=undercurl - endif - hi TabLine gui=underline - hi TabLineFill gui=underline - hi CursorLine gui=underline - endif - - " For reversed stuffs, clear the reversed prop and set the bold prop again - hi IncSearch gui=bold - hi StatusLine gui=bold - hi StatusLineNC gui=bold - hi VertSplit gui=bold - hi Visual gui=bold - - " Enable the bold property - hi Question gui=bold - hi DiffText gui=bold - hi Statement gui=bold - hi Type gui=bold - hi MoreMsg gui=bold - hi ModeMsg gui=bold - hi NonText gui=bold - hi Title gui=bold - hi DiffDelete gui=bold - hi TabLineSel gui=bold - - " gui define for background=light end here - - " generally, a dumb terminal is dark, we assume the light terminal has 256 - " color support. - if &t_Co==8 || &t_Co==16 - set t_Co=256 - endif - if &t_Co==256 - " 256color light terminal support here - - hi Normal ctermfg=16 ctermbg=254 cterm=NONE - " Comment/Uncomment the following line to disable/enable transparency - "hi Normal ctermfg=16 ctermbg=NONE cterm=NONE - hi Search ctermfg=White ctermbg=DarkRed cterm=NONE - hi Visual ctermfg=NONE ctermbg=153 cterm=NONE - hi Cursor ctermfg=255 ctermbg=28 cterm=NONE - " hi CursorIM ctermfg=255 ctermbg=90 - hi Special ctermfg=94 ctermbg=NONE cterm=NONE - hi Comment ctermfg=58 ctermbg=NONE cterm=NONE - hi Number ctermfg=94 ctermbg=NONE cterm=NONE - hi Constant ctermfg=23 ctermbg=NONE cterm=NONE - hi StatusLine ctermfg=fg ctermbg=153 cterm=NONE - hi LineNr ctermfg=242 ctermbg=NONE cterm=NONE - hi Question ctermfg=fg ctermbg=186 cterm=NONE - hi PreProc ctermfg=29 ctermbg=NONE cterm=NONE - hi Statement ctermfg=25 ctermbg=NONE cterm=NONE - hi Type ctermfg=25 ctermbg=NONE cterm=NONE - hi Todo ctermfg=88 ctermbg=186 cterm=NONE - " NOTE THIS IS IN THE WARM SECTION - hi Error ctermfg=130 ctermbg=NONE cterm=NONE - hi Identifier ctermfg=133 ctermbg=NONE cterm=NONE - hi ModeMsg ctermfg=fg ctermbg=146 cterm=NONE - hi VisualNOS ctermfg=fg ctermbg=146 cterm=NONE - hi SpecialKey ctermfg=25 ctermbg=NONE cterm=NONE - hi NonText ctermfg=18 ctermbg=252 cterm=NONE - " Comment/Uncomment the following line to disable/enable transparency - "hi NonText ctermfg=18 ctermbg=NONE cterm=NONE - hi Directory ctermfg=133 ctermbg=NONE cterm=NONE - hi ErrorMsg ctermfg=fg ctermbg=216 cterm=NONE - hi MoreMsg ctermfg=64 ctermbg=NONE cterm=NONE - hi Title ctermfg=133 ctermbg=NONE cterm=NONE - hi WarningMsg ctermfg=124 ctermbg=NONE cterm=NONE - hi WildMenu ctermfg=fg ctermbg=186 cterm=NONE - hi Folded ctermfg=NONE ctermbg=151 cterm=NONE - hi FoldColumn ctermfg=fg ctermbg=NONE cterm=NONE - hi DiffAdd ctermfg=NONE ctermbg=146 cterm=NONE - hi DiffChange ctermfg=NONE ctermbg=182 cterm=NONE - hi DiffDelete ctermfg=18 ctermbg=252 cterm=NONE - hi DiffText ctermfg=NONE ctermbg=150 cterm=NONE - hi SignColumn ctermfg=fg ctermbg=114 cterm=NONE - - hi IncSearch ctermfg=White ctermbg=DarkRed cterm=NONE - hi StatusLineNC ctermfg=fg ctermbg=250 cterm=NONE - hi VertSplit ctermfg=fg ctermbg=250 cterm=NONE - hi Underlined ctermfg=62 ctermbg=NONE cterm=underline - hi Ignore ctermfg=bg ctermbg=NONE - " NOTE THIS IS IN THE WARM SECTION - if v:version >= 700 - if has('spell') - if 0 - " ctermsp is not supported in Vim7, we ignore it. - hi SpellBad cterm=undercurl ctermbg=NONE ctermfg=130 - hi SpellCap cterm=undercurl ctermbg=NONE ctermfg=25 - hi SpellRare cterm=undercurl ctermbg=NONE ctermfg=133 - hi SpellLocal cterm=undercurl ctermbg=NONE ctermfg=23 - else - hi SpellBad cterm=undercurl ctermbg=NONE ctermfg=NONE - hi SpellCap cterm=undercurl ctermbg=NONE ctermfg=NONE - hi SpellRare cterm=undercurl ctermbg=NONE ctermfg=NONE - hi SpellLocal cterm=undercurl ctermbg=NONE ctermfg=NONE - endif - endif - hi Pmenu ctermfg=fg ctermbg=182 - hi PmenuSel ctermfg=255 ctermbg=95 cterm=NONE - hi PmenuSbar ctermfg=fg ctermbg=250 cterm=NONE - hi PmenuThumb ctermfg=fg ctermbg=150 cterm=NONE - hi TabLine ctermfg=fg ctermbg=250 cterm=NONE - hi TabLineFill ctermfg=fg ctermbg=250 cterm=NONE - hi TabLineSel ctermfg=fg ctermbg=NONE cterm=NONE - hi CursorColumn ctermfg=NONE ctermbg=216 - hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline - hi MatchParen ctermfg=NONE ctermbg=150 - endif - - hi TabLine cterm=underline - hi TabLineFill cterm=underline - hi CursorLine cterm=underline - - " For reversed stuffs, clear the reversed prop and set the bold prop again - hi IncSearch cterm=bold - hi StatusLine cterm=bold - hi StatusLineNC cterm=bold - hi VertSplit cterm=bold - hi Visual cterm=bold - - hi NonText cterm=bold - hi Question cterm=bold - hi Title cterm=bold - hi DiffDelete cterm=bold - hi DiffText cterm=bold - hi Statement cterm=bold - hi Type cterm=bold - hi MoreMsg cterm=bold - hi ModeMsg cterm=bold - hi TabLineSel cterm=bold - - "hi lCursor ctermfg=bg ctermbg=fg cterm=NONE - endif " t_Co==256 - " }}}2 -elseif &background=='dark' - " for background=dark {{{2 - " DARK COLOR DEFINE START - - hi Normal guifg=#d0d0d0 guibg=#202020 gui=NONE - hi Comment guifg=#d0d090 guibg=NONE gui=NONE - hi Constant guifg=#80c0e0 guibg=NONE gui=NONE - hi Number guifg=#e0c060 guibg=NONE gui=NONE - hi Identifier guifg=#f0c0f0 guibg=NONE gui=NONE - hi Statement guifg=#c0d8f8 guibg=NONE gui=NONE - hi PreProc guifg=#60f080 guibg=NONE gui=NONE - hi Type guifg=#b0d0f0 guibg=NONE gui=NONE - hi Special guifg=#e0c060 guibg=NONE gui=NONE - hi Error guifg=#f08060 guibg=NONE gui=NONE - hi Todo guifg=#800000 guibg=#d0d090 gui=NONE - hi Search guifg=White guibg=DarkRed gui=NONE - hi Visual guifg=#000000 guibg=#a6caf0 gui=NONE - hi Cursor guifg=#000000 guibg=#00f000 gui=NONE - " NOTE THIS IS IN THE COOL SECTION - " hi CursorIM guifg=#000000 guibg=#f000f0 gui=NONE - hi StatusLine guifg=#000000 guibg=#a6caf0 gui=NONE - hi LineNr guifg=#b0b0b0 guibg=NONE gui=NONE - hi Question guifg=#000000 guibg=#d0d090 gui=NONE - hi ModeMsg guifg=fg guibg=#000080 gui=NONE - hi VisualNOS guifg=fg guibg=#000080 gui=NONE - hi SpecialKey guifg=#b0d0f0 guibg=NONE gui=NONE - hi NonText guifg=#6080f0 guibg=#101010 gui=NONE - hi Directory guifg=#80c0e0 guibg=NONE gui=NONE - hi ErrorMsg guifg=#d0d090 guibg=#800000 gui=NONE - hi MoreMsg guifg=#c0e080 guibg=NONE gui=NONE - hi Title guifg=#f0c0f0 guibg=NONE gui=NONE - hi WarningMsg guifg=#f08060 guibg=NONE gui=NONE - hi WildMenu guifg=#000000 guibg=#d0d090 gui=NONE - hi Folded guifg=#aaaaaa guibg=#333333 gui=NONE - hi FoldColumn guifg=#202020 guibg=NONE gui=NONE - hi DiffAdd guifg=NONE guibg=#000080 gui=NONE - hi DiffChange guifg=NONE guibg=#800080 gui=NONE - hi DiffDelete guifg=#6080f0 guibg=#202020 gui=NONE - hi DiffText guifg=#000000 guibg=#c0e080 gui=NONE - hi SignColumn guifg=#e0e0e0 guibg=#202020 gui=NONE - hi IncSearch guifg=White guibg=DarkRed gui=NONE - hi StatusLineNC guifg=#000000 guibg=#c0c0c0 gui=NONE - hi VertSplit guifg=#000000 guibg=#c0c0c0 gui=NONE - hi Underlined guifg=#80a0ff guibg=NONE gui=underline - hi Ignore guifg=#000000 guibg=NONE - " NOTE THIS IS IN THE COOL SECTION - if v:version >= 700 - if has('spell') - " the guisp= could only support in Vim 7 - hi SpellBad guifg=NONE guibg=NONE guisp=#f08060 - hi SpellCap guifg=NONE guibg=NONE guisp=#6080f0 - hi SpellRare guifg=NONE guibg=NONE guisp=#f0c0f0 - hi SpellLocal guifg=NONE guibg=NONE guisp=#c0d8f8 - endif - - hi Pmenu guifg=#dddddd guibg=#444444 gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE - hi PmenuSel guifg=#000000 guibg=#ffffff gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE - - hi TabLine guifg=fg guibg=#008000 gui=NONE - hi TabLineFill guifg=fg guibg=#008000 gui=NONE - hi TabLineSel guifg=fg guibg=NONE gui=NONE - hi CursorColumn guifg=NONE guibg=#800000 gui=NONE - hi CursorLine guifg=NONE guibg=NONE gui=underline - hi MatchParen guifg=NONE guibg=#800080 - endif - - " DARK COLOR DEFINE END - - " Vim 7 added stuffs - if v:version >= 700 - hi Ignore gui=NONE - - " the gui=undercurl could only support in Vim 7 - if has('spell') - hi SpellBad gui=undercurl - hi SpellCap gui=undercurl - hi SpellRare gui=undercurl - hi SpellLocal gui=undercurl - endif - hi TabLine gui=underline - hi TabLineFill gui=underline - hi Underlined gui=underline - hi CursorLine gui=underline - endif - - " gui define for background=dark end here - - if &t_Co==8 || &t_Co==16 - " for 8-color and 16-color term - hi Normal ctermfg=LightGrey ctermbg=Black - hi Special ctermfg=Yellow ctermbg=bg - hi Comment ctermfg=DarkYellow ctermbg=bg - hi Constant ctermfg=Blue ctermbg=bg - hi Number ctermfg=Yellow ctermbg=bg - hi LineNr ctermfg=DarkGrey ctermbg=bg - hi PreProc ctermfg=Green ctermbg=bg - hi Statement ctermfg=Cyan ctermbg=bg - hi Type ctermfg=Cyan ctermbg=bg - hi Error ctermfg=Red ctermbg=bg - hi Identifier ctermfg=Magenta ctermbg=bg - hi SpecialKey ctermfg=Cyan ctermbg=bg - hi NonText ctermfg=Blue ctermbg=bg - hi Directory ctermfg=Blue ctermbg=bg - hi MoreMsg ctermfg=Green ctermbg=bg - hi Title ctermfg=Magenta ctermbg=bg - hi WarningMsg ctermfg=Red ctermbg=bg - hi DiffDelete ctermfg=Blue ctermbg=bg - - hi Search ctermfg=NONE ctermbg=DarkRed - hi Visual ctermfg=Black ctermbg=DarkCyan - hi Cursor ctermfg=Black ctermbg=Green - hi StatusLine ctermfg=Black ctermbg=DarkCyan - hi Question ctermfg=Black ctermbg=DarkYellow - hi Todo ctermfg=DarkRed ctermbg=DarkYellow - hi Folded ctermfg=DarkGrey ctermbg=DarkGrey - hi FoldColumn ctermfg=DarkGrey ctermbg=NONE - hi ModeMsg ctermfg=Grey ctermbg=DarkBlue - hi VisualNOS ctermfg=Grey ctermbg=DarkBlue - hi ErrorMsg ctermfg=DarkYellow ctermbg=DarkRed - hi WildMenu ctermfg=Black ctermbg=DarkYellow - hi SignColumn ctermfg=White ctermbg=DarkGreen - hi DiffText ctermfg=Black ctermbg=DarkYellow - - if v:version >= 700 - if has('spell') - hi SpellBad ctermfg=NONE ctermbg=DarkRed - hi SpellCap ctermfg=NONE ctermbg=DarkBlue - hi SpellRare ctermfg=NONE ctermbg=DarkMagenta - hi SpellLocal ctermfg=NONE ctermbg=DarkGreen - endif - - hi Pmenu ctermfg=White ctermbg=DarkGrey - hi PmenuSel ctermfg=Black ctermbg=White - - hi TabLine ctermfg=fg ctermbg=Black cterm=underline - hi TabLineFill ctermfg=fg ctermbg=Black cterm=underline - hi CursorColumn ctermfg=NONE ctermbg=DarkRed - - hi TabLineSel ctermfg=fg ctermbg=bg - hi CursorLine ctermfg=NONE ctermbg=bg cterm=underline - - hi MatchParen ctermfg=NONE ctermbg=DarkMagenta - endif - if &t_Co==8 - " 8 colour terminal support, this assumes 16 colour is available through - " setting the 'bold' attribute, will get bright foreground colour. - " However, the bright background color is not available for 8-color terms. - " - " You can manually set t_Co=16 in your .vimrc to see if your terminal - " supports 16 colours, - hi DiffText cterm=none - hi Visual cterm=none - hi Cursor cterm=none - hi Comment cterm=none - hi Todo cterm=none - hi StatusLine cterm=none - hi Question cterm=none - hi DiffChange cterm=none - hi ModeMsg cterm=none - hi VisualNOS cterm=none - hi ErrorMsg cterm=none - hi WildMenu cterm=none - hi DiffAdd cterm=none - hi Folded cterm=none - hi DiffDelete cterm=none - hi Normal cterm=none - hi PmenuThumb cterm=none - hi Search cterm=bold - hi Special cterm=bold - hi Constant cterm=bold - hi Number cterm=bold - hi LineNr cterm=bold - hi PreProc cterm=bold - hi Statement cterm=bold - hi Type cterm=bold - hi Error cterm=bold - hi Identifier cterm=bold - hi SpecialKey cterm=bold - hi NonText cterm=bold - hi MoreMsg cterm=bold - hi Title cterm=bold - hi WarningMsg cterm=bold - hi FoldColumn cterm=bold - hi SignColumn cterm=bold - hi Directory cterm=bold - hi DiffDelete cterm=bold - else - " Background > 7 is only available with 16 or more colors - - hi WarningMsg cterm=none - hi Search cterm=none - hi Visual cterm=none - hi Cursor cterm=none - hi Special cterm=none - hi Comment cterm=none - hi Constant cterm=none - hi Number cterm=none - hi LineNr cterm=none - hi PreProc cterm=none - hi Todo cterm=none - hi Error cterm=none - hi Identifier cterm=none - hi Folded cterm=none - hi SpecialKey cterm=none - hi Directory cterm=none - hi ErrorMsg cterm=none - hi Normal cterm=none - hi PmenuThumb cterm=none - hi WildMenu cterm=none - hi FoldColumn cterm=none - hi SignColumn cterm=none - hi DiffAdd cterm=none - hi DiffChange cterm=none - hi Question cterm=none - hi StatusLine cterm=none - hi DiffText cterm=none - hi IncSearch cterm=reverse - hi StatusLineNC cterm=reverse - hi VertSplit cterm=reverse - - " Well, well, bold font with color 0-7 is not possible. - " So, the Question, StatusLine, DiffText cannot act as expected. - - hi Statement cterm=none - hi Type cterm=none - hi MoreMsg cterm=none - hi ModeMsg cterm=none - hi NonText cterm=none - hi Title cterm=none - hi VisualNOS cterm=none - hi DiffDelete cterm=none - hi TabLineSel cterm=none - - endif - elseif &t_Co==256 - " 256color dark terminal support here - hi Normal ctermfg=252 ctermbg=234 cterm=NONE - " Comment/Uncomment the following line to disable/enable transparency - "hi Normal ctermfg=252 ctermbg=NONE cterm=NONE - hi Comment ctermfg=186 ctermbg=NONE cterm=NONE - hi Constant ctermfg=110 ctermbg=NONE cterm=NONE - hi Number ctermfg=179 ctermbg=NONE cterm=NONE - hi Identifier ctermfg=219 ctermbg=NONE cterm=NONE - hi Statement ctermfg=153 ctermbg=NONE cterm=NONE - hi PreProc ctermfg=84 ctermbg=NONE cterm=NONE - hi Type ctermfg=153 ctermbg=NONE cterm=NONE - hi Special ctermfg=179 ctermbg=NONE cterm=NONE - hi Error ctermfg=209 ctermbg=NONE cterm=NONE - hi Todo ctermfg=88 ctermbg=186 cterm=NONE - hi Search ctermfg=White ctermbg=DarkRed cterm=NONE - hi Visual ctermfg=16 ctermbg=153 cterm=NONE - hi Cursor ctermfg=16 ctermbg=46 cterm=NONE - " NOTE THIS IS IN THE COOL SECTION - " hi CursorIM ctermfg=16 ctermbg=201 cterm=NONE - hi StatusLine ctermfg=16 ctermbg=153 cterm=NONE - hi LineNr ctermfg=249 ctermbg=NONE cterm=NONE - hi Question ctermfg=16 ctermbg=186 cterm=NONE - hi ModeMsg ctermfg=fg ctermbg=18 cterm=NONE - hi VisualNOS ctermfg=fg ctermbg=18 cterm=NONE - hi SpecialKey ctermfg=153 ctermbg=NONE cterm=NONE - hi NonText ctermfg=69 ctermbg=233 cterm=NONE - " Comment/Uncomment the following line to disable/enable transparency - "hi NonText ctermfg=69 ctermbg=NONE cterm=NONE - hi Directory ctermfg=110 ctermbg=NONE cterm=NONE - hi ErrorMsg ctermfg=186 ctermbg=88 cterm=NONE - hi MoreMsg ctermfg=150 ctermbg=NONE cterm=NONE - hi Title ctermfg=219 ctermbg=NONE cterm=NONE - hi WarningMsg ctermfg=209 ctermbg=NONE cterm=NONE - hi WildMenu ctermfg=16 ctermbg=186 cterm=NONE - hi Folded ctermfg=NONE ctermbg=DarkGrey cterm=NONE - hi FoldColumn ctermfg=DarkGrey ctermbg=NONE cterm=NONE - hi DiffAdd ctermfg=NONE ctermbg=18 cterm=NONE - hi DiffChange ctermfg=NONE ctermbg=90 cterm=NONE - hi DiffDelete ctermfg=69 ctermbg=234 cterm=NONE - hi DiffText ctermfg=16 ctermbg=150 cterm=NONE - hi SignColumn ctermfg=254 ctermbg=28 cterm=NONE - hi IncSearch ctermfg=White ctermbg=DarkRed cterm=NONE - hi StatusLineNC ctermfg=16 ctermbg=250 cterm=NONE - hi VertSplit ctermfg=16 ctermbg=250 cterm=NONE - hi Underlined ctermfg=111 ctermbg=NONE cterm=underline - hi Ignore ctermfg=16 ctermbg=NONE - " NOTE THIS IS IN THE COOL SECTION - if v:version >= 700 - if has('spell') - " the ctermsp= is not supported in Vim 7 we simply ignored - if 0 - hi SpellBad cterm=undercurl ctermbg=NONE ctermfg=209 - hi SpellCap cterm=undercurl ctermbg=NONE ctermfg=69 - hi SpellRare cterm=undercurl ctermbg=NONE ctermfg=219 - hi SpellLocal cterm=undercurl ctermbg=NONE ctermfg=153 - else - hi SpellBad cterm=undercurl ctermbg=NONE ctermfg=NONE - hi SpellCap cterm=undercurl ctermbg=NONE ctermfg=NONE - hi SpellRare cterm=undercurl ctermbg=NONE ctermfg=NONE - hi SpellLocal cterm=undercurl ctermbg=NONE ctermfg=NONE - endif - endif - - hi Pmenu ctermfg=White ctermbg=DarkGrey - hi PmenuSel ctermfg=Black ctermbg=White cterm=NONE - - hi TabLine ctermfg=fg ctermbg=Black cterm=NONE - hi TabLineFill ctermfg=fg ctermbg=Black cterm=NONE - hi TabLineSel ctermfg=fg ctermbg=NONE cterm=NONE - - hi CursorColumn ctermfg=NONE ctermbg=88 cterm=NONE - hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline - hi MatchParen ctermfg=NONE ctermbg=90 - hi TabLine cterm=underline - hi TabLineFill cterm=underline - hi Underlined cterm=underline - hi CursorLine cterm=underline - endif - - endif " t_Co - - " }}}2 -endif - -" Links: -" -" COLOR LINKS DEFINE START - -hi link String Constant -" Character must be different from strings because in many languages -" (especially C, C++) a 'char' variable is scalar while 'string' is pointer, -" mistaken a 'char' for a 'string' will cause disaster! -hi link Character Number -hi link SpecialChar LineNr -hi link Tag Identifier -hi link cCppOut LineNr -" The following are not standard hi links, -" these are used by DrChip -hi link Warning MoreMsg -hi link Notice Constant -" these are used by Calendar -hi link CalToday PreProc -" these are used by TagList -hi link MyTagListTagName IncSearch -hi link MyTagListTagScope Constant - -hi TabLineFill guifg=#9098a0 guibg=#111111 -hi TabLine guifg=black guibg=#888888 -hi TabLineSel guifg=white guibg=#202020 gui=bold - -" COLOR LINKS DEFINE END - -" vim:et:nosta:sw=2:ts=8: -" vim600:fdm=marker:fdl=1: diff --git a/.vim_runtime/sources_forked/set_tabline/plugin/set_tabline.vim b/.vim_runtime/sources_forked/set_tabline/plugin/set_tabline.vim deleted file mode 100644 index 5d53e82..0000000 --- a/.vim_runtime/sources_forked/set_tabline/plugin/set_tabline.vim +++ /dev/null @@ -1,30 +0,0 @@ -function! CustomizedTabLine() - let s = '' - let t = tabpagenr() - let i = 1 - while i <= tabpagenr('$') - let buflist = tabpagebuflist(i) - let winnr = tabpagewinnr(i) - let s .= '%' . i . 'T' - let s .= (i == t ? '%1*' : '%2*') - let s .= ' ' - let s .= i . ':' - let s .= '%*' - let s .= (i == t ? '%#TabLineSel#' : '%#TabLine#') - let file = bufname(buflist[winnr - 1]) - let file = fnamemodify(file, ':p:t') - if file == '' - let file = '[No Name]' - endif - let s .= file - let s .= ' ' - let i = i + 1 - endwhile - let s .= '%T%#TabLineFill#%=' - let s .= (tabpagenr('$') > 1 ? '%999XX' : 'X') - return s -endfunction - -" Always show the tablilne -set stal=2 -set tabline=%!CustomizedTabLine() diff --git a/.vim_runtime/sources_forked/vim-irblack-forked/README b/.vim_runtime/sources_forked/vim-irblack-forked/README deleted file mode 100644 index 089fe73..0000000 --- a/.vim_runtime/sources_forked/vim-irblack-forked/README +++ /dev/null @@ -1,11 +0,0 @@ -This is a version of Infinite Red's vim theme (http://blog.infinitered.com/entries/show/8) packaged to work with Tim Pope's pathogen plugin (http://www.vim.org/scripts/script.php?script_id=2332). - -To use it (assuming you're using pathogen): - -- go to your bundle directory (.vim/bundle or .vimbundles) and clone the repo: - - git clone git@github.com:wgibbs/vim-irblack.git - -- edit your .vimrc and add: - - :colorscheme ir_black diff --git a/.vim_runtime/sources_forked/vim-irblack-forked/colors/ir_black.vim b/.vim_runtime/sources_forked/vim-irblack-forked/colors/ir_black.vim deleted file mode 100644 index b06b12e..0000000 --- a/.vim_runtime/sources_forked/vim-irblack-forked/colors/ir_black.vim +++ /dev/null @@ -1,220 +0,0 @@ -" ir_black color scheme -" More at: http://blog.infinitered.com/entries/show/8 - - -" ******************************************************************************** -" Standard colors used in all ir_black themes: -" Note, x:x:x are RGB values -" -" normal: #f6f3e8 -" -" string: #A8FF60 168:255:96 -" string inner (punc, code, etc): #00A0A0 0:160:160 -" number: #FF73FD 255:115:253 -" comments: #7C7C7C 124:124:124 -" keywords: #96CBFE 150:203:254 -" operators: white -" class: #FFFFB6 255:255:182 -" method declaration name: #FFD2A7 255:210:167 -" regular expression: #E9C062 233:192:98 -" regexp alternate: #FF8000 255:128:0 -" regexp alternate 2: #B18A3D 177:138:61 -" variable: #C6C5FE 198:197:254 -" -" Misc colors: -" red color (used for whatever): #FF6C60 255:108:96 -" light red: #FFB6B0 255:182:176 -" -" brown: #E18964 good for special -" -" lightpurpleish: #FFCCFF -" -" Interface colors: -" background color: black -" cursor (where underscore is used): #FFA560 255:165:96 -" cursor (where block is used): white -" visual selection: #1D1E2C -" current line: #151515 21:21:21 -" search selection: #07281C 7:40:28 -" line number: #3D3D3D 61:61:61 - - -" ******************************************************************************** -" The following are the preferred 16 colors for your terminal -" Colors Bright Colors -" Black #4E4E4E #7C7C7C -" Red #FF6C60 #FFB6B0 -" Green #A8FF60 #CEFFAB -" Yellow #FFFFB6 #FFFFCB -" Blue #96CBFE #FFFFCB -" Magenta #FF73FD #FF9CFE -" Cyan #C6C5FE #DFDFFE -" White #EEEEEE #FFFFFF - - -" ******************************************************************************** -set background=dark -hi clear - -if exists("syntax_on") - syntax reset -endif - -let colors_name = "ir_black" - - -"hi Example guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE - -" General colors -hi Normal guifg=#f6f3e8 guibg=black gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE -hi NonText guifg=#070707 guibg=black gui=NONE ctermfg=black ctermbg=NONE cterm=NONE - -hi Cursor guifg=black guibg=white gui=NONE ctermfg=black ctermbg=white cterm=reverse -hi LineNr guifg=#3D3D3D guibg=black gui=NONE ctermfg=darkgray ctermbg=NONE cterm=NONE - -hi VertSplit guifg=#202020 guibg=#202020 gui=NONE ctermfg=darkgray ctermbg=darkgray cterm=NONE -hi StatusLine guifg=#CCCCCC guibg=#202020 gui=None ctermfg=white ctermbg=darkgray cterm=NONE -hi StatusLineNC guifg=black guibg=#202020 gui=NONE ctermfg=blue ctermbg=darkgray cterm=NONE - -hi Folded guifg=#a0a8b0 guibg=#384048 gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE -hi Title guifg=#f6f3e8 guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=NONE -hi Visual guifg=NONE guibg=DarkBlue gui=NONE ctermfg=NONE ctermbg=darkgray cterm=NONE - -hi SpecialKey guifg=#808080 guibg=#343434 gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE - -hi WildMenu guifg=white guibg=DarkRed gui=NONE ctermfg=white ctermbg=DarkRed cterm=NONE -hi PmenuSbar guifg=black guibg=white gui=NONE ctermfg=black ctermbg=white cterm=NONE -"hi Ignore guifg=gray guibg=black gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE - -hi Error guifg=NONE guibg=red gui=undercurl ctermfg=white ctermbg=red cterm=NONE guisp=#FF6C60 " undercurl color -hi ErrorMsg guifg=white guibg=#FF6C60 gui=BOLD ctermfg=white ctermbg=red cterm=NONE -hi WarningMsg guifg=white guibg=#FF6C60 gui=BOLD ctermfg=white ctermbg=red cterm=NONE - -" Message displayed in lower left, such as --INSERT-- -hi ModeMsg guifg=black guibg=#C6C5FE gui=BOLD ctermfg=black ctermbg=cyan cterm=BOLD - -if version >= 700 " Vim 7.x specific colors - hi CursorLine guifg=NONE guibg=#121212 gui=NONE ctermfg=NONE ctermbg=NONE cterm=BOLD - hi CursorColumn guifg=NONE guibg=#121212 gui=NONE ctermfg=NONE ctermbg=NONE cterm=BOLD - hi MatchParen guifg=#f6f3e8 guibg=#857b6f gui=BOLD ctermfg=white ctermbg=darkgray cterm=NONE - hi Pmenu guifg=#f6f3e8 guibg=#444444 gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE - hi PmenuSel guifg=#000000 guibg=#cae682 gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE - hi Search guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE -endif - -" Syntax highlighting -hi Comment guifg=#7C7C7C guibg=NONE gui=NONE ctermfg=darkgray ctermbg=NONE cterm=NONE -hi String guifg=#A8FF60 guibg=NONE gui=NONE ctermfg=green ctermbg=NONE cterm=NONE -hi Number guifg=#FF73FD guibg=NONE gui=NONE ctermfg=magenta ctermbg=NONE cterm=NONE - -hi Keyword guifg=#96CBFE guibg=NONE gui=NONE ctermfg=blue ctermbg=NONE cterm=NONE -hi PreProc guifg=#96CBFE guibg=NONE gui=NONE ctermfg=blue ctermbg=NONE cterm=NONE -hi Conditional guifg=#6699CC guibg=NONE gui=NONE ctermfg=blue ctermbg=NONE cterm=NONE " if else end - -hi Todo guifg=#8f8f8f guibg=NONE gui=NONE ctermfg=red ctermbg=NONE cterm=NONE -hi Constant guifg=#99CC99 guibg=NONE gui=NONE ctermfg=cyan ctermbg=NONE cterm=NONE - -hi Identifier guifg=#C6C5FE guibg=NONE gui=NONE ctermfg=cyan ctermbg=NONE cterm=NONE -hi Function guifg=#FFD2A7 guibg=NONE gui=NONE ctermfg=brown ctermbg=NONE cterm=NONE -hi Type guifg=#FFFFB6 guibg=NONE gui=NONE ctermfg=yellow ctermbg=NONE cterm=NONE -hi Statement guifg=#6699CC guibg=NONE gui=NONE ctermfg=lightblue ctermbg=NONE cterm=NONE - -hi Special guifg=#E18964 guibg=NONE gui=NONE ctermfg=white ctermbg=NONE cterm=NONE -hi Delimiter guifg=#00A0A0 guibg=NONE gui=NONE ctermfg=cyan ctermbg=NONE cterm=NONE -hi Operator guifg=#6699CC guibg=NONE gui=NONE ctermfg=blue ctermbg=NONE cterm=NONE - -hi link Character Constant -hi link Boolean Constant -hi link Float Number -hi link Repeat Statement -hi link Label Statement -hi link Exception Statement -hi link Include PreProc -hi link Define PreProc -hi link Macro PreProc -hi link PreCondit PreProc -hi link StorageClass Type -hi link Structure Type -hi link Typedef Type -hi link Tag Special -hi link SpecialChar Special -hi link SpecialComment Special -hi link Debug Special - - -" Special for Ruby -hi rubyRegexp guifg=#B18A3D guibg=NONE gui=NONE ctermfg=brown ctermbg=NONE cterm=NONE -hi rubyRegexpDelimiter guifg=#FF8000 guibg=NONE gui=NONE ctermfg=brown ctermbg=NONE cterm=NONE -hi rubyEscape guifg=white guibg=NONE gui=NONE ctermfg=cyan ctermbg=NONE cterm=NONE -hi rubyInterpolationDelimiter guifg=#00A0A0 guibg=NONE gui=NONE ctermfg=blue ctermbg=NONE cterm=NONE -hi rubyControl guifg=#6699CC guibg=NONE gui=NONE ctermfg=blue ctermbg=NONE cterm=NONE "and break, etc -"hi rubyGlobalVariable guifg=#FFCCFF guibg=NONE gui=NONE ctermfg=lightblue ctermbg=NONE cterm=NONE "yield -hi rubyStringDelimiter guifg=#336633 guibg=NONE gui=NONE ctermfg=lightgreen ctermbg=NONE cterm=NONE -"rubyInclude -"rubySharpBang -"rubyAccess -"rubyPredefinedVariable -"rubyBoolean -"rubyClassVariable -"rubyBeginEnd -"rubyRepeatModifier -"hi link rubyArrayDelimiter Special " [ , , ] -"rubyCurlyBlock { , , } - -hi link rubyClass Keyword -hi link rubyModule Keyword -hi link rubyKeyword Keyword -hi link rubyOperator Operator -hi link rubyIdentifier Identifier -hi link rubyInstanceVariable Identifier -hi link rubyGlobalVariable Identifier -hi link rubyClassVariable Identifier -hi link rubyConstant Type - - -" Special for Java -" hi link javaClassDecl Type -hi link javaScopeDecl Identifier -hi link javaCommentTitle javaDocSeeTag -hi link javaDocTags javaDocSeeTag -hi link javaDocParam javaDocSeeTag -hi link javaDocSeeTagParam javaDocSeeTag - -hi javaDocSeeTag guifg=#CCCCCC guibg=NONE gui=NONE ctermfg=darkgray ctermbg=NONE cterm=NONE -hi javaDocSeeTag guifg=#CCCCCC guibg=NONE gui=NONE ctermfg=darkgray ctermbg=NONE cterm=NONE -"hi javaClassDecl guifg=#CCFFCC guibg=NONE gui=NONE ctermfg=white ctermbg=NONE cterm=NONE - - -" Special for XML -hi link xmlTag Keyword -hi link xmlTagName Conditional -hi link xmlEndTag Identifier - - -" Special for HTML -hi link htmlTag Keyword -hi link htmlTagName Conditional -hi link htmlEndTag Identifier - - -" Special for Javascript -hi link javaScriptNumber Number - - -" Special for Python -"hi link pythonEscape Keyword - - -" Special for CSharp -hi link csXmlTag Keyword - - -" Amix customizations - -" Tab line -hi TabLineFill guifg=#000000 guibg=#000000 gui=NONE -hi TabLine guifg=black guibg=#888888 gui=NONE -hi TabLineSel guifg=white guibg=#000000 gui=bold - -" Search higlights -hi Search guifg=White guibg=DarkRed gui=NONE diff --git a/.vim_runtime/sources_forked/vim-peepopen/README b/.vim_runtime/sources_forked/vim-peepopen/README deleted file mode 100644 index e69de29..0000000 diff --git a/.vim_runtime/sources_forked/vim-peepopen/README.md b/.vim_runtime/sources_forked/vim-peepopen/README.md deleted file mode 100644 index bec6f87..0000000 --- a/.vim_runtime/sources_forked/vim-peepopen/README.md +++ /dev/null @@ -1,36 +0,0 @@ -README.md

vim-peepopen

- -

A plugin for the Vim text editor. PeepOpen provides fuzzy search of filenames and paths in a programming project.

- -

Installation

- -

Get the PeepOpen.app and open it at least once to approve the Mac OS X security dialog.

- -

Standard:

- -

Copy peepopen.vim to your ~/.vim/plugin directory.

- -

With Tim Pope’s Pathogen:

- -

Copy the entire vim-peepopen plugin directory to your ~/.vim/bundle directory.

- -

Usage

- -

<Leader>p opens the current project directory with the PeepOpen application.

- -

Use the vim-rooter plugin for automatic assignment of the current working directory for projects stored in Git.

- -

(Leader is mapped to ‘\’ by default)

- -

Options

- -

Automatically quit PeepOpen when Vim exits.

- -

let p:peepopen_quit = 1

- -

Credits

- - diff --git a/.vim_runtime/sources_forked/vim-peepopen/plugin/peepopen.vim b/.vim_runtime/sources_forked/vim-peepopen/plugin/peepopen.vim deleted file mode 100644 index eadb413..0000000 --- a/.vim_runtime/sources_forked/vim-peepopen/plugin/peepopen.vim +++ /dev/null @@ -1,57 +0,0 @@ -" plugin/peepopen.vim -" Author: Geoffrey Grosenbach -" License: MIT License - -" Install this file as plugin/peepopen.vim. - -" If you prefer Command-T, use this snippet in your .gvimrc: - -" if has("gui_macvim") -" macmenu &File.New\ Tab key= -" map PeepOpen -" end - -" ============================================================================ - -" Exit quickly when: -" - this plugin was already loaded (or disabled) -" - when 'compatible' is set -if &cp || exists("g:peepopen_loaded") && g:peepopen_loaded - finish -endif -let g:peepopen_loaded = 1 -let s:save_cpo = &cpo -set cpo&vim - -if !exists('g:peepopen_quit') - let g:peepopen_quit = 0 -endif - -function s:LaunchPeepOpenViaVim() - silent exe "!open -a PeepOpen " . shellescape(getcwd()) - redraw! -endfunction - -function s:QuitPeepOpenViaVim() - silent exe '!ps ax | grep PeepOpen | grep -v grep | awk "{ print $1 }" | xargs kill -QUIT' -endfunction - -command! PeepOpen :call LaunchPeepOpenViaVim() -command! PeepQuit :call QuitPeepOpenViaVim() - -if has('autocmd') && exists('g:peepopen_quit') && g:peepopen_quit - au VimLeave * :call QuitPeepOpenViaVim() -endif - -noremap

ack.vim

- -

Run your favorite search tool from Vim, with an enhanced results list.

- -

This plugin was designed as a Vim frontend for the programmer’s search tool -ack. ack can be used as a replacement for 99% of the uses of grep. The -plugin allows you to search with ack from within Vim and shows the results in a -split window.

- -

But here’s a little secret for the Vim-seasoned: it’s just a light wrapper for -Vim’s grepprg and the quickfix window for match results. This makes it easy -to integrate with your own Vim configuration and use existing knowledge of core -features. It also means the plugin is flexible to use with other search tools.

- -

Installation

- -

ack

- -

You will need ack (>= 2.0), of course. To install it follow the -manual.

- -

The Plugin

- -

It is recommended to use one of the popular plugin managers for Vim. There are -many and you probably already have a preferred one, but a few examples for your -copy-and-paste convenience:

- -

Pathogen

- -
$ git clone https://github.com/mileszs/ack.vim.git ~/.vim/bundle/ack.vim
- -

Vundle

- -
Plugin 'mileszs/ack.vim'
- -

NeoBundle

- -
NeoBundle 'mileszs/ack.vim'
- -

Manual (not recommended)

- -

Download the plugin and extract it in ~/.vim/ (or -%PROGRAMFILES%/Vim/vimfiles on Windows).

- -

Usage

- -
:Ack [options] {pattern} [{directories}]
- -

Search recursively in {directories} (which defaults to the current directory) -for the {pattern}.

- -

Files containing the search term will be listed in the quickfix window, along -with the line number of the occurrence, once for each occurrence. <Enter> on -a line in this window will open the file and place the cursor on the matching -line.

- -

Just like where you use :grep, :grepadd, :lgrep, and :lgrepadd, you can -use :Ack, :AckAdd, :LAck, and :LAckAdd respectively. (See :help Ack -after installing, or doc/ack.txt in the repo, for more information.)

- -

For more ack help see ack documentation.

- -

Keyboard Shortcuts

- -

The quickfix results window is augmented with these convenience mappings:

- -
?    a quick summary of these keys, repeat to close
-o    to open (same as Enter)
-O    to open and close the quickfix window
-go   to preview file, open but maintain focus on ack.vim results
-t    to open in new tab
-T    to open in new tab without moving to it
-h    to open in horizontal split
-H    to open in horizontal split, keeping focus on the results
-v    to open in vertical split
-gv   to open in vertical split, keeping focus on the results
-q    to close the quickfix window
- -

Gotchas

- -

To search for a pattern that contains whitespace, you need to enclose the -pattern in single quotes. For example: :Ack 'foo bar' to search for -‘foo bar’.

- -

Some characters have special meaning, and need to be escaped in your search -pattern. For instance, #. You need to escape it with :Ack '\\\#define -foo' to search for ‘#define foo’. See issue #5.

- -

Possibly FAQ

- -

Can I use ag (The Silver Searcher) with this?

- -

Absolutely, and probably other tools if their output is similar or you can -write a pattern match for it–just set g:ackprg. If you like, you can fall -back to Ack in case you use your vimrc on a system without Ag available:

- -
if executable('ag')
-  let g:ackprg = 'ag --vimgrep'
-endif
- -

Since Ack is quite portable you might check a copy of it into your dotfiles -repository in ~/bin so you’ll nearly always have it available.

- -

What’s the difference from ag.vim?

- -

Well… not a lot really.

- -

Present maintainer, yours truly, kind of wishes they never forked, -contributes to both, and wouldn’t mind seeing them merged again. ag.vim got a -nice code clean-up (which ack.vim is now hopefully getting), and ack.vim picked -up a few features that haven’t made their way to ag.vim, like :AckWindow, -optional background search execution with vim-dispatch, and auto-previewing.

- -

I don’t want to jump to the first result automatically.

- -

Use :Ack!, with bang. If you want this behavior most of the time, you might -like an abbreviation or mapping in your personal config, something like these:

- -
cnoreabbrev Ack Ack!
-nnoremap <Leader>a :Ack!<Space>
- -

Most of the :[L]Ack* commands support this. Note that this behavior follows -the convention of Vim’s built-in :grep and :make commands.

- -

Changelog

- -

Please see the GitHub releases page.

- -

Credits

- -

This plugin is derived from Antoine Imbert’s blog post ack and Vim -Integration (in particular, the function in the update to the post). Miles -Sterrett packaged it up as a plugin and documented it in Vim’s help -format, and since then many contributors have submitted -enhancements and fixes.

- -

And of course, where would we be without ack. And, you know, Vim.

diff --git a/.vim_runtime/sources_non_forked/ack.vim/autoload/ack.vim b/.vim_runtime/sources_non_forked/ack.vim/autoload/ack.vim deleted file mode 100644 index b6afdba..0000000 --- a/.vim_runtime/sources_non_forked/ack.vim/autoload/ack.vim +++ /dev/null @@ -1,246 +0,0 @@ -if exists('g:autoloaded_ack') || &cp - finish -endif - -if exists('g:ack_use_dispatch') - if g:ack_use_dispatch && !exists(':Dispatch') - call s:Warn('Dispatch not loaded! Falling back to g:ack_use_dispatch = 0.') - let g:ack_use_dispatch = 0 - endif -else - let g:ack_use_dispatch = 0 -endif - -"----------------------------------------------------------------------------- -" Public API -"----------------------------------------------------------------------------- - -function! ack#Ack(cmd, args) "{{{ - call s:Init(a:cmd) - redraw - - " Local values that we'll temporarily set as options when searching - let l:grepprg = g:ackprg - let l:grepformat = '%f:%l:%c:%m,%f:%l:%m' " Include column number - - " Strip some options that are meaningless for path search and set match - " format accordingly. - if s:SearchingFilepaths() - let l:grepprg = substitute(l:grepprg, '-H\|--column', '', 'g') - let l:grepformat = '%f' - endif - - " Check user policy for blank searches - if empty(a:args) - if !g:ack_use_cword_for_empty_search - echo "No regular expression found." - return - endif - endif - - " If no pattern is provided, search for the word under the cursor - let l:grepargs = empty(a:args) ? expand("") : a:args . join(a:000, ' ') - - "Bypass search if cursor is on blank string - if l:grepargs == "" - echo "No regular expression found." - return - endif - - " NOTE: we escape special chars, but not everything using shellescape to - " allow for passing arguments etc - let l:escaped_args = escape(l:grepargs, '|#%') - - echo "Searching ..." - - if g:ack_use_dispatch - call s:SearchWithDispatch(l:grepprg, l:escaped_args, l:grepformat) - else - call s:SearchWithGrep(a:cmd, l:grepprg, l:escaped_args, l:grepformat) - endif - - " Dispatch has no callback mechanism currently, we just have to display the - " list window early and wait for it to populate :-/ - call ack#ShowResults() - call s:Highlight(l:grepargs) -endfunction "}}} - -function! ack#AckFromSearch(cmd, args) "{{{ - let search = getreg('/') - " translate vim regular expression to perl regular expression. - let search = substitute(search, '\(\\<\|\\>\)', '\\b', 'g') - call ack#Ack(a:cmd, '"' . search . '" ' . a:args) -endfunction "}}} - -function! ack#AckHelp(cmd, args) "{{{ - let args = a:args . ' ' . s:GetDocLocations() - call ack#Ack(a:cmd, args) -endfunction "}}} - -function! ack#AckWindow(cmd, args) "{{{ - let files = tabpagebuflist() - - " remove duplicated filenames (files appearing in more than one window) - let files = filter(copy(sort(files)), 'index(files,v:val,v:key+1)==-1') - call map(files, "bufname(v:val)") - - " remove unnamed buffers as quickfix (empty strings before shellescape) - call filter(files, 'v:val != ""') - - " expand to full path (avoid problems with cd/lcd in au QuickFixCmdPre) - let files = map(files, "shellescape(fnamemodify(v:val, ':p'))") - let args = a:args . ' ' . join(files) - - call ack#Ack(a:cmd, args) -endfunction "}}} - -function! ack#ShowResults() "{{{ - let l:handler = s:UsingLocList() ? g:ack_lhandler : g:ack_qhandler - execute l:handler - call s:ApplyMappings() - redraw! -endfunction "}}} - -"----------------------------------------------------------------------------- -" Private API -"----------------------------------------------------------------------------- - -function! s:ApplyMappings() "{{{ - if !s:UsingListMappings() || &filetype != 'qf' - return - endif - - let l:wintype = s:UsingLocList() ? 'l' : 'c' - let l:closemap = ':' . l:wintype . 'close' - let g:ack_mappings.q = l:closemap - - nnoremap ? :call QuickHelp() - - if g:ack_autoclose - " We just map the 'go' and 'gv' mappings to close on autoclose, wtf? - for key_map in items(g:ack_mappings) - execute printf("nnoremap %s %s", get(key_map, 0), get(key_map, 1) . l:closemap) - endfor - - execute "nnoremap " . l:closemap - else - for key_map in items(g:ack_mappings) - execute printf("nnoremap %s %s", get(key_map, 0), get(key_map, 1)) - endfor - endif - - if exists("g:ackpreview") " if auto preview in on, remap j and k keys - nnoremap j j - nnoremap k k - nmap j - nmap k - endif -endfunction "}}} - -function! s:GetDocLocations() "{{{ - let dp = '' - for p in split(&rtp, ',') - let p = p . '/doc/' - if isdirectory(p) - let dp = p . '*.txt ' . dp - endif - endfor - - return dp -endfunction "}}} - -function! s:Highlight(args) "{{{ - if !g:ackhighlight - return - endif - - let @/ = matchstr(a:args, "\\v(-)\@", "n") -endfunction "}}} - -" Initialize state for an :Ack* or :LAck* search -function! s:Init(cmd) "{{{ - let s:searching_filepaths = (a:cmd =~# '-g$') ? 1 : 0 - let s:using_loclist = (a:cmd =~# '^l') ? 1 : 0 - - if g:ack_use_dispatch && s:using_loclist - call s:Warn('Dispatch does not support location lists! Proceeding with quickfix...') - let s:using_loclist = 0 - endif -endfunction "}}} - -function! s:QuickHelp() "{{{ - execute 'edit' globpath(&rtp, 'doc/ack_quick_help.txt') - - silent normal gg - setlocal buftype=nofile bufhidden=hide nobuflisted - setlocal nomodifiable noswapfile - setlocal filetype=help - setlocal nonumber norelativenumber nowrap - setlocal foldmethod=diff foldlevel=20 - - nnoremap ? :q!:call ack#ShowResults() -endfunction "}}} - -function! s:SearchWithDispatch(grepprg, grepargs, grepformat) "{{{ - let l:makeprg_bak = &l:makeprg - let l:errorformat_bak = &l:errorformat - - " We don't execute a :grep command for Dispatch, so add -g here instead - if s:SearchingFilepaths() - let l:grepprg = a:grepprg . ' -g' - else - let l:grepprg = a:grepprg - endif - - try - let &l:makeprg = l:grepprg . ' ' . a:grepargs - let &l:errorformat = a:grepformat - - Make - finally - let &l:makeprg = l:makeprg_bak - let &l:errorformat = l:errorformat_bak - endtry -endfunction "}}} - -function! s:SearchWithGrep(grepcmd, grepprg, grepargs, grepformat) "{{{ - let l:grepprg_bak = &l:grepprg - let l:grepformat_bak = &grepformat - - try - let &l:grepprg = a:grepprg - let &grepformat = a:grepformat - - silent execute a:grepcmd a:grepargs - finally - let &l:grepprg = l:grepprg_bak - let &grepformat = l:grepformat_bak - endtry -endfunction "}}} - -" Are we finding matching files, not lines? (the -g option -- :AckFile) -function! s:SearchingFilepaths() "{{{ - return get(s:, 'searching_filepaths', 0) -endfunction "}}} - -" Predicate for whether mappings are enabled for list type of current search. -function! s:UsingListMappings() "{{{ - if s:UsingLocList() - return g:ack_apply_lmappings - else - return g:ack_apply_qmappings - endif -endfunction "}}} - -" Were we invoked with a :LAck command? -function! s:UsingLocList() "{{{ - return get(s:, 'using_loclist', 0) -endfunction "}}} - -function! s:Warn(msg) "{{{ - echohl WarningMsg | echomsg 'Ack: ' . a:msg | echohl None -endf "}}} - -let g:autoloaded_ack = 1 -" vim:set et sw=2 ts=2 tw=78 fdm=marker diff --git a/.vim_runtime/sources_non_forked/ack.vim/doc/ack.txt b/.vim_runtime/sources_non_forked/ack.vim/doc/ack.txt deleted file mode 100644 index 22e884b..0000000 --- a/.vim_runtime/sources_non_forked/ack.vim/doc/ack.txt +++ /dev/null @@ -1,315 +0,0 @@ -*ack.txt* Plugin that integrates ack with Vim - -============================================================================== -Author: Antoine Imbert *ack-author* -License: Same terms as Vim itself (see |license|) - -This plugin is only available if 'compatible' is not set. - -{Vi does not have any of this} - -============================================================================== -INTRODUCTION *ack* - -This plugin is a front for the Perl module App::Ack. Ack can be used as a -replacement for grep. This plugin will allow you to run ack from vim, and -shows the results in a split window. - -:Ack[!] [options] {pattern} [{directory}] *:Ack* - - Search recursively in {directory} (which defaults to the current - directory) for the {pattern}. Behaves just like the |:grep| command, but - will open the |Quickfix| window for you. If [!] is not given the first - occurrence is jumped to. - -:AckAdd [options] {pattern} [{directory}] *:AckAdd* - - Just like |:Ack|, but instead of making a new list, the matches are - appended to the current |quickfix| list. - -:AckFromSearch [{directory}] *:AckFromSearch* - - Just like |:Ack| but the pattern is from previous search. - -:LAck [options] {pattern} [{directory}] *:LAck* - - Just like |:Ack| but instead of the |quickfix| list, matches are placed in - the current |location-list|. - -:LAckAdd [options] {pattern} [{directory}] *:LAckAdd* - - Just like |:AckAdd| but instead of the |quickfix| list, matches are added - to the current |location-list| - -:AckFile [options] {pattern} [{directory}] *:AckFile* - - Search recursively in {directory} (which defaults to the current - directory) for filenames matching the {pattern}. Behaves just like the - |:grep| command, but will open the |Quickfix| window for you. - -:AckHelp[!] [options] {pattern} *:AckHelp* - - Search vim documentation files for the {pattern}. Behaves just like the - |:Ack| command, but searches only vim documentation .txt files - -:LAckHelp [options] {pattern} *:LAckHelp* - - Just like |:AckHelp| but instead of the |quickfix| list, matches are placed - in the current |location-list|. - -:AckWindow[!] [options] {pattern} *:AckWindow* - - Search all buffers visible in the screen (current tab page only) files for - the {pattern}. - -:LAckWindow [options] {pattern} *:LAckWindow* - - Just like |:AckWindow| but instead of the |quickfix| list, matches are - placed in the current |location-list|. - -Files containing the search term will be listed in the split window, along -with the line number of the occurrence, once for each occurrence. on -a line in this window will open the file, and place the cursor on the matching -line. - -Note that if you are using Dispatch.vim with |g:ack_use_dispatch|, location -lists are not supported, because Dispatch does not support them at this time. -`:LAck` versions of commands above will give a warning and proceed to use the -quickfix list instead. - -See http://beyondgrep.com/ for more information on searching with ack. - - -============================================================================== -CONFIGURATION *ack-configuration* - - *g:ackprg* -g:ackprg -Default for ubuntu: "ack-grep" -Default for other systems: "ack" - -Use this option to specify the search command and its default arguments. - -Example: -> - let g:ackprg = "ag --vimgrep" -< - *g:ack_default_options* -g:ack_default_options -Default: " -s -H --nocolor --nogroup --column" - -Use this option to specify the default arguments given to `ack`. This is only -used if |g:ackprg| has not been customized from the default--if you are using -a custom search program instead of Ack, set your preferred options in -|g:ackprg|. - -NOTE: This option may be deprecated in the future. ~ - -Example: -> - let g:ack_default_options = - \ " -s -H --nocolor --nogroup --column --smart-case --follow" -< - *g:ack_apply_qmappings* -g:ack_apply_qmappings -Default: 1 - -This option enables mappings on the |quickfix| window. - - *g:ack_apply_lmappings* -g:ack_apply_lmappings -Default: 1 - -This option enables mappings on |location-list| windows. - - *g:ack_mappings* -g:ack_mappings -Default: { - \ "t": "T", - \ "T": "TgTj", - \ "o": "", - \ "O": ":ccl", - \ "go": "j", - \ "h": "K", - \ "H": "Kb", - \ "v": "HbJt", - \ "gv": "HbJ" } - -This option list all maps create on quickfix/Location list window. - -Example, if you want to open the result in the middle of the screen: -> - let g:ack_mappings = { "o": "zz" } -< - *g:ack_qhandler* -g:ack_qhandler -Default: "botright copen" - -Command to open the quickview window. - -If you want to open a quickview window with 30 lines you can do: -> - let g:ack_qhandler = "botright copen 30" -< - *g:ack_lhandler* -g:ack_lhandler -Default: "botright lopen" - -Command to open the Location list window. - -If you want to open a Location list window with 30 lines you can do: -> - let g:ack_lhandler = "botright lopen 30" -< - *g:ackhighlight* -g:ackhighlight -Default: 0 - -Use this option to highlight the searched term. - -Example: -> - let g:ackhighlight = 1 -< - *g:ack_autoclose* -g:ack_autoclose -Default: 0 - -Use this option to specify whether to close the quickfix window after -using any of the shortcuts. - -Example: -> - let g:ack_autoclose = 1 -< - *g:ack_autofold_results* -g:ack_autofold_results -Default: 0 - -Use this option to fold the results in quickfix by file name. Only the current -fold will be open by default and while you press 'j' and 'k' to move between the -results if you hit other fold the last one will be closed and the current will -be open. - -Example: -> - let g:ack_autofold_results = 1 -< - *g:ackpreview* -g:ackpreview -Default: 0 - -Use this option to automagically open the file with 'j' or 'k'. - -Example: -> - let g:ackpreview = 1 -< - *g:ack_use_dispatch* -g:ack_use_dispatch -Default: 0 - -Use this option to use vim-dispatch to run searches in the background, with a -variety of execution backends for different systems. - -Due to limitations in Dispatch at this time, location lists are unsupported -and result windows will appear before results are ready. Still, these may be -acceptable tradeoffs for very large projects where searches are slow. - -Example: -> - let g:ack_use_dispatch = 1 -< - *g:ack_use_cword_for_empty_search* -g:ack_use_cword_for_empty_search -Default: 1 - -Use this option to enable blank searches to run against the word under the -cursor. When this option is not set, blank searches will only output an error -message. - -Example: -> - let g:ack_use_cword_for_empty_search = 0 -< -============================================================================== -MAPPINGS *ack-mappings* - -The following keyboard shortcuts are available in the |quickfix| and -|location-list| windows: - -? display a quick summary of these mappings. - -o open file (same as Enter). - -O open file and close the quickfix window. - -go preview file (open but maintain focus on ack.vim results). - -t open in a new tab. - -T open in new tab without moving to it. - -h open in horizontal split. - -H open in horizontal split, keeping focus on the results. - -v open in vertical split. - -gv open in vertical split, keeping focus on the results. - -q close the quickfix window. - -To adjust these, see |g:ack_mappings|. - -============================================================================== -Ignoring files *ack-ignore* - -If you're using this plugin with ag, The Silver Searcher, bear in mind that: - - - It ignores file patterns from your .gitignore and .hgignore. - - - If there are other files in your source repository you don't wish to - search, you can add their patterns to an .agignore file. - -============================================================================== -ISSUES AND FAQ *ack-issues-and-faq* - -I don't want to jump to the first result automatically.~ - - Use `:Ack!`, with bang. If you want this behavior most of the time, you - might like an abbreviation or mapping in your personal config, something - like these: -> - cnoreabbrev Ack Ack! - nnoremap a :Ack! -< - Most of the `:[L]Ack*` commands support this. Note that this behavior - follows the convention of Vim's built-in |:grep| and |:make| commands. - -I use NERDTree and opening ack.vim results in a vertical split displacing it.~ - - You are probably using NERDTree with its default alignment at the left - side of the window. Set these custom mappings in your vimrc to work around - this: -> - let g:ack_mappings = { - \ 'v': 'LpJp', - \ 'gv': 'LpJ' } -< - This solution will be improved in the future. - -Results show a mix of relative and absolute paths, making them hard to read.~ - - This is a quirk of Vim that can happen with plain |:vimgrep| too. You can - try this in your vimrc to work around it: -> - autocmd BufAdd * exe "cd" fnameescape(getcwd()) -< - but for some users this may be disruptive to their Vim workflow. For more - details, see: - - http://vi.stackexchange.com/a/4816/7174 - https://github.com/mileszs/ack.vim/issues/143 - -vim:set et sw=4 ts=4 tw=78: diff --git a/.vim_runtime/sources_non_forked/ack.vim/doc/ack_quick_help.txt b/.vim_runtime/sources_non_forked/ack.vim/doc/ack_quick_help.txt deleted file mode 100644 index 94306a0..0000000 --- a/.vim_runtime/sources_non_forked/ack.vim/doc/ack_quick_help.txt +++ /dev/null @@ -1,15 +0,0 @@ -==== ack.vim quick help =============== - - *?:* a quick summary of these keys, repeat to close - *o:* to open (same as Enter) - *O:* to open and close the quickfix window - *go:* to preview file, open but maintain focus on ack.vim results - *t:* to open in new tab - *T:* to open in new tab without moving to it - *h:* to open in horizontal split - *H:* to open in horizontal split, keeping focus on the results - *v:* to open in vertical split - *gv:* to open in vertical split, keeping focus on the results - *q:* to close the quickfix window - -======================================== diff --git a/.vim_runtime/sources_non_forked/ack.vim/ftplugin/qf.vim b/.vim_runtime/sources_non_forked/ack.vim/ftplugin/qf.vim deleted file mode 100644 index 27564fa..0000000 --- a/.vim_runtime/sources_non_forked/ack.vim/ftplugin/qf.vim +++ /dev/null @@ -1,9 +0,0 @@ -if exists("g:ack_autofold_results") && g:ack_autofold_results - setlocal foldlevel=0 - setlocal foldmethod=expr - setlocal foldexpr=matchstr(getline(v:lnum),'^[^\|]\\+')==#matchstr(getline(v:lnum+1),'^[^\|]\\+')?1:'<1' - setlocal foldenable - setlocal foldclose=all - setlocal foldopen=all - nnoremap j jzz -endif diff --git a/.vim_runtime/sources_non_forked/ack.vim/plugin/ack.vim b/.vim_runtime/sources_non_forked/ack.vim/plugin/ack.vim deleted file mode 100644 index 202ae2e..0000000 --- a/.vim_runtime/sources_non_forked/ack.vim/plugin/ack.vim +++ /dev/null @@ -1,83 +0,0 @@ -if exists('g:loaded_ack') || &cp - finish -endif - -if !exists("g:ack_default_options") - let g:ack_default_options = " -s -H --nopager --nocolor --nogroup --column" -endif - -" Location of the ack utility -if !exists("g:ackprg") - if executable('ack-grep') - let g:ackprg = "ack-grep" - elseif executable('ack') - let g:ackprg = "ack" - else - finish - endif - let g:ackprg .= g:ack_default_options -endif - -if !exists("g:ack_apply_qmappings") - let g:ack_apply_qmappings = !exists("g:ack_qhandler") -endif - -if !exists("g:ack_apply_lmappings") - let g:ack_apply_lmappings = !exists("g:ack_lhandler") -endif - -let s:ack_mappings = { - \ "t": "T", - \ "T": "TgTj", - \ "o": "", - \ "O": "pc", - \ "go": "p", - \ "h": "K", - \ "H": "Kb", - \ "v": "HbJt", - \ "gv": "HbJ" } - -if exists("g:ack_mappings") - let g:ack_mappings = extend(s:ack_mappings, g:ack_mappings) -else - let g:ack_mappings = s:ack_mappings -endif - -if !exists("g:ack_qhandler") - let g:ack_qhandler = "botright copen" -endif - -if !exists("g:ack_lhandler") - let g:ack_lhandler = "botright lopen" -endif - -if !exists("g:ackhighlight") - let g:ackhighlight = 0 -endif - -if !exists("g:ack_autoclose") - let g:ack_autoclose = 0 -endif - -if !exists("g:ack_autofold_results") - let g:ack_autofold_results = 0 -endif - -if !exists("g:ack_use_cword_for_empty_search") - let g:ack_use_cword_for_empty_search = 1 -endif - -command! -bang -nargs=* -complete=file Ack call ack#Ack('grep', ) -command! -bang -nargs=* -complete=file AckAdd call ack#Ack('grepadd', ) -command! -bang -nargs=* -complete=file AckFromSearch call ack#AckFromSearch('grep', ) -command! -bang -nargs=* -complete=file LAck call ack#Ack('lgrep', ) -command! -bang -nargs=* -complete=file LAckAdd call ack#Ack('lgrepadd', ) -command! -bang -nargs=* -complete=file AckFile call ack#Ack('grep -g', ) -command! -bang -nargs=* -complete=help AckHelp call ack#AckHelp('grep', ) -command! -bang -nargs=* -complete=help LAckHelp call ack#AckHelp('lgrep', ) -command! -bang -nargs=* AckWindow call ack#AckWindow('grep', ) -command! -bang -nargs=* LAckWindow call ack#AckWindow('lgrep', ) - -let g:loaded_ack = 1 - -" vim:set et sw=2 ts=2 tw=78 fdm=marker diff --git a/.vim_runtime/sources_non_forked/ale/LICENSE b/.vim_runtime/sources_non_forked/ale/LICENSE deleted file mode 100644 index f8f3524..0000000 --- a/.vim_runtime/sources_non_forked/ale/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2016-2019, w0rp -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(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/.vim_runtime/sources_non_forked/ale/autoload/ale.vim b/.vim_runtime/sources_non_forked/ale/autoload/ale.vim deleted file mode 100644 index 6251b47..0000000 --- a/.vim_runtime/sources_non_forked/ale/autoload/ale.vim +++ /dev/null @@ -1,268 +0,0 @@ -" Author: w0rp , David Alexander -" Description: Primary code path for the plugin -" Manages execution of linters when requested by autocommands - -" Strings used for severity in the echoed message -let g:ale_echo_msg_error_str = get(g:, 'ale_echo_msg_error_str', 'Error') -let g:ale_echo_msg_info_str = get(g:, 'ale_echo_msg_info_str', 'Info') -let g:ale_echo_msg_log_str = get(g:, 'ale_echo_msg_log_str', 'Log') -let g:ale_echo_msg_warning_str = get(g:, 'ale_echo_msg_warning_str', 'Warning') -" Ignoring linters, for disabling some, or ignoring LSP diagnostics. -let g:ale_linters_ignore = get(g:, 'ale_linters_ignore', {}) -let g:ale_disable_lsp = get(g:, 'ale_disable_lsp', 0) - -" LSP window/showMessage format -let g:ale_lsp_show_message_format = get(g:, 'ale_lsp_show_message_format', '%severity%:%linter%: %s') -" Valid values mimic LSP definitions (error, warning and information; log is -" never shown) -let g:ale_lsp_show_message_severity = get(g:, 'ale_lsp_show_message_severity', 'error') - -let s:lint_timer = -1 -let s:getcmdwintype_exists = exists('*getcmdwintype') - -" Return 1 if a file is too large for ALE to handle. -function! ale#FileTooLarge(buffer) abort - let l:max = getbufvar(a:buffer, 'ale_maximum_file_size', get(g:, 'ale_maximum_file_size', 0)) - - return l:max > 0 ? (line2byte(line('$') + 1) > l:max) : 0 -endfunction - -" A function for checking various conditions whereby ALE just shouldn't -" attempt to do anything, say if particular buffer types are open in Vim. -function! ale#ShouldDoNothing(buffer) abort - " The checks are split into separate if statements to make it possible to - " profile each check individually with Vim's profiling tools. - " - " Do nothing if ALE is disabled. - if !getbufvar(a:buffer, 'ale_enabled', get(g:, 'ale_enabled', 0)) - return 1 - endif - - " Don't perform any checks when newer NeoVim versions are exiting. - if get(v:, 'exiting', v:null) isnot v:null - return 1 - endif - - let l:filetype = getbufvar(a:buffer, '&filetype') - - " Do nothing when there's no filetype. - if l:filetype is# '' - return 1 - endif - - " Do nothing for diff buffers. - if getbufvar(a:buffer, '&diff') - return 1 - endif - - " Do nothing for blacklisted files. - if index(get(g:, 'ale_filetype_blacklist', []), l:filetype) >= 0 - return 1 - endif - - " Do nothing if running from command mode. - if s:getcmdwintype_exists && !empty(getcmdwintype()) - return 1 - endif - - let l:filename = fnamemodify(bufname(a:buffer), ':t') - - " Do nothing for directories. - if l:filename is# '.' - return 1 - endif - - " Don't start linting and so on when an operator is pending. - if ale#util#Mode(1) is# 'no' - return 1 - endif - - " Do nothing if running in the sandbox. - if ale#util#InSandbox() - return 1 - endif - - " Do nothing if the file is too large. - if ale#FileTooLarge(a:buffer) - return 1 - endif - - " Do nothing from CtrlP buffers with CtrlP-funky. - if exists(':CtrlPFunky') is 2 - \&& getbufvar(a:buffer, '&l:statusline') =~# 'CtrlPMode.*funky' - return 1 - endif - - return 0 -endfunction - -function! s:Lint(buffer, should_lint_file, timer_id) abort - " Use the filetype from the buffer - let l:filetype = getbufvar(a:buffer, '&filetype') - let l:linters = ale#linter#Get(l:filetype) - - " Apply ignore lists for linters only if needed. - let l:ignore_config = ale#Var(a:buffer, 'linters_ignore') - let l:disable_lsp = ale#Var(a:buffer, 'disable_lsp') - let l:linters = !empty(l:ignore_config) || l:disable_lsp - \ ? ale#engine#ignore#Exclude(l:filetype, l:linters, l:ignore_config, l:disable_lsp) - \ : l:linters - - " Tell other sources that they can start checking the buffer now. - let g:ale_want_results_buffer = a:buffer - silent doautocmd User ALEWantResults - unlet! g:ale_want_results_buffer - - " Don't set up buffer data and so on if there are no linters to run. - if !has_key(g:ale_buffer_info, a:buffer) && empty(l:linters) - return - endif - - " Clear lint_file linters, or only run them if the file exists. - let l:lint_file = empty(l:linters) - \ || (a:should_lint_file && filereadable(expand('#' . a:buffer . ':p'))) - - call ale#engine#RunLinters(a:buffer, l:linters, l:lint_file) -endfunction - -" (delay, [linting_flag, buffer_number]) -function! ale#Queue(delay, ...) abort - if a:0 > 2 - throw 'too many arguments!' - endif - - let l:buffer = get(a:000, 1, v:null) - - if l:buffer is v:null - let l:buffer = bufnr('') - endif - - if type(l:buffer) isnot v:t_number - throw 'buffer_number must be a Number' - endif - - if ale#ShouldDoNothing(l:buffer) - return - endif - - " Default linting_flag to '' - let l:should_lint_file = get(a:000, 0) is# 'lint_file' - - if s:lint_timer != -1 - call timer_stop(s:lint_timer) - let s:lint_timer = -1 - endif - - if a:delay > 0 - let s:lint_timer = timer_start( - \ a:delay, - \ function('s:Lint', [l:buffer, l:should_lint_file]) - \) - else - call s:Lint(l:buffer, l:should_lint_file, 0) - endif -endfunction - -let s:current_ale_version = [2, 7, 0] - -" A function used to check for ALE features in files outside of the project. -function! ale#Has(feature) abort - let l:match = matchlist(a:feature, '\c\v^ale-(\d+)\.(\d+)(\.(\d+))?$') - - if !empty(l:match) - let l:version = [l:match[1] + 0, l:match[2] + 0, l:match[4] + 0] - - return ale#semver#GTE(s:current_ale_version, l:version) - endif - - return 0 -endfunction - -" Given a buffer number and a variable name, look for that variable in the -" buffer scope, then in global scope. If the name does not exist in the global -" scope, an exception will be thrown. -" -" Every variable name will be prefixed with 'ale_'. -function! ale#Var(buffer, variable_name) abort - let l:full_name = 'ale_' . a:variable_name - let l:vars = getbufvar(str2nr(a:buffer), '', {}) - - return get(l:vars, l:full_name, g:[l:full_name]) -endfunction - -" Initialize a variable with a default value, if it isn't already set. -" -" Every variable name will be prefixed with 'ale_'. -function! ale#Set(variable_name, default) abort - let l:full_name = 'ale_' . a:variable_name - - if !has_key(g:, l:full_name) - let g:[l:full_name] = a:default - endif -endfunction - -" Given a string for adding to a command, return the string padded with a -" space on the left if it is not empty. Otherwise return an empty string. -" -" This can be used for making command strings cleaner and easier to test. -function! ale#Pad(string) abort - return !empty(a:string) ? ' ' . a:string : '' -endfunction - -" Given a environment variable name and a value, produce part of a command for -" setting an environment variable before running a command. The syntax will be -" valid for cmd on Windows, or most shells on Unix. -function! ale#Env(variable_name, value) abort - if has('win32') - return 'set ' . a:variable_name . '=' . ale#Escape(a:value) . ' && ' - endif - - return a:variable_name . '=' . ale#Escape(a:value) . ' ' -endfunction - -" Escape a string suitably for each platform. -" shellescape does not work on Windows. -function! ale#Escape(str) abort - if fnamemodify(&shell, ':t') is? 'cmd.exe' - " If the string contains spaces, it will be surrounded by quotes. - " Otherwise, special characters will be escaped with carets (^). - return substitute( - \ a:str =~# ' ' - \ ? '"' . substitute(a:str, '"', '""', 'g') . '"' - \ : substitute(a:str, '\v([&|<>^])', '^\1', 'g'), - \ '%', - \ '%%', - \ 'g', - \) - endif - - return shellescape (a:str) -endfunction - -" Get the loclist item message according to a given format string. -" -" See `:help g:ale_loclist_msg_format` and `:help g:ale_echo_msg_format` -function! ale#GetLocItemMessage(item, format_string) abort - let l:msg = a:format_string - let l:severity = g:ale_echo_msg_warning_str - let l:code = get(a:item, 'code', '') - let l:type = get(a:item, 'type', 'E') - let l:linter_name = get(a:item, 'linter_name', '') - let l:code_repl = !empty(l:code) ? '\=submatch(1) . l:code . submatch(2)' : '' - - if l:type is# 'E' - let l:severity = g:ale_echo_msg_error_str - elseif l:type is# 'I' - let l:severity = g:ale_echo_msg_info_str - endif - - " Replace special markers with certain information. - " \=l:variable is used to avoid escaping issues. - let l:msg = substitute(l:msg, '\v\%([^\%]*)code([^\%]*)\%', l:code_repl, 'g') - let l:msg = substitute(l:msg, '\V%severity%', '\=l:severity', 'g') - let l:msg = substitute(l:msg, '\V%linter%', '\=l:linter_name', 'g') - " Replace %s with the text. - let l:msg = substitute(l:msg, '\V%s', '\=a:item.text', 'g') - - return l:msg -endfunction diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-ada.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-ada.txt deleted file mode 100644 index 2ac30c0..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-ada.txt +++ /dev/null @@ -1,36 +0,0 @@ -=============================================================================== -ALE Ada Integration *ale-ada-options* - - -=============================================================================== -gcc *ale-ada-gcc* - -g:ale_ada_gcc_executable *g:ale_ada_gcc_executable* - *b:ale_ada_gcc_executable* - Type: |String| - Default: `'gcc'` - -This variable can be changed to use a different executable for gcc. - - -g:ale_ada_gcc_options *g:ale_ada_gcc_options* - *b:ale_ada_gcc_options* - Type: |String| - Default: `'-gnatwa -gnatq'` - - This variable can be set to pass additional options to gcc. - - -=============================================================================== -gnatpp *ale-ada-gnatpp* - -g:ale_ada_gnatpp_options *g:ale_ada_gnatpp_options* - *b:ale_ada_gnatpp_options* - Type: |String| - Default: `''` - - This variable can be set to pass extra options to the gnatpp fixer. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-ansible.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-ansible.txt deleted file mode 100644 index 3a4efaa..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-ansible.txt +++ /dev/null @@ -1,16 +0,0 @@ -=============================================================================== -ALE Ansible Integration *ale-ansible-options* - - -=============================================================================== -ansible-lint *ale-ansible-ansible-lint* - -g:ale_ansible_ansible_lint_executable *g:ale_ansible_ansible_lint_executable* - *b:ale_ansible_ansible_lint_executable* - Type: |String| - Default: `'ansible-lint'` - - This variable can be changed to modify the executable used for ansible-lint. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-asciidoc.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-asciidoc.txt deleted file mode 100644 index 86629fd..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-asciidoc.txt +++ /dev/null @@ -1,18 +0,0 @@ -=============================================================================== -ALE AsciiDoc Integration *ale-asciidoc-options* - - -=============================================================================== -write-good *ale-asciidoc-write-good* - -See |ale-write-good-options| - - -=============================================================================== -textlint *ale-asciidoc-textlint* - -See |ale-text-textlint| - - -=============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-asm.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-asm.txt deleted file mode 100644 index a97c6d0..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-asm.txt +++ /dev/null @@ -1,25 +0,0 @@ -=============================================================================== -ALE ASM Integration *ale-asm-options* - - -=============================================================================== -gcc *ale-asm-gcc* - -g:ale_asm_gcc_executable *g:ale_asm_gcc_executable* - *b:ale_asm_gcc_executable* - Type: |String| - Default: `'gcc'` - -This variable can be changed to use a different executable for gcc. - - -g:ale_asm_gcc_options *g:ale_asm_gcc_options* - *b:ale_asm_gcc_options* - Type: |String| - Default: `'-Wall'` - - This variable can be set to pass additional options to gcc. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-awk.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-awk.txt deleted file mode 100644 index b9c5c34..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-awk.txt +++ /dev/null @@ -1,25 +0,0 @@ -=============================================================================== -ALE Awk Integration *ale-awk-options* - - -=============================================================================== -gawk *ale-awk-gawk* - -g:ale_awk_gawk_executable *g:ale_awk_gawk_executable* - *b:ale_awk_gawk_executable* - Type: |String| - Default: `'gawk'` - - This variable sets executable used for gawk. - - -g:ale_awk_gawk_options *g:ale_awk_gawk_options* - *b:ale_awk_gawk_options* - Type: |String| - Default: `''` - - With this variable we are able to pass extra arguments for gawk - for invocation. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-bats.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-bats.txt deleted file mode 100644 index cf2199e..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-bats.txt +++ /dev/null @@ -1,13 +0,0 @@ -=============================================================================== -ALE Bats Integration *ale-bats-options* - - -=============================================================================== -shellcheck *ale-bats-shellcheck* - -The `shellcheck` linter for Bats uses the sh options for `shellcheck`; see: -|ale-sh-shellcheck|. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-bib.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-bib.txt deleted file mode 100644 index 35998c3..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-bib.txt +++ /dev/null @@ -1,19 +0,0 @@ -=============================================================================== -ALE BibTeX Integration *ale-bib-options* - - -=============================================================================== -bibclean *ale-bib-bibclean* - -g:ale_bib_bibclean_executable *g:ale_bib_bibclean_executable* - - Type: |String| - Default: `'bibclean'` - -g:ale_bib_bibclean_options *g:ale_bib_bibclean_options* - - Type: |String| - Default: `'-align-equals'` - -=============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-c.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-c.txt deleted file mode 100644 index c9eb79d..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-c.txt +++ /dev/null @@ -1,333 +0,0 @@ -=============================================================================== -ALE C Integration *ale-c-options* - - -=============================================================================== -Global Options - -g:ale_c_build_dir_names *g:ale_c_build_dir_names* - *b:ale_c_build_dir_names* - - Type: |List| - Default: `['build', 'bin']` - - A list of directory names to be used when searching upwards from cpp - files to discover compilation databases with. For directory named `'foo'`, - ALE will search for `'foo/compile_commands.json'` in all directories on and above - the directory containing the cpp file to find path to compilation database. - This feature is useful for the clang tools wrapped around LibTooling (namely - here, clang-tidy) - - -g:ale_c_build_dir *g:ale_c_build_dir* - *b:ale_c_build_dir* - - Type: |String| - Default: `''` - - For programs that can read `compile_commands.json` files, this option can be - set to the directory containing the file for the project. ALE will try to - determine the location of `compile_commands.json` automatically, but if your - file exists in some other directory, you can set this option so ALE will - know where it is. - - This directory will be searched instead of |g:ale_c_build_dir_names|. - - -g:ale_c_parse_compile_commands *g:ale_c_parse_compile_commands* - *b:ale_c_parse_compile_commands* - Type: |Number| - Default: `0` - - If set to `1`, ALE will parse `compile_commands.json` files to automatically - determine flags for C or C++ compilers. ALE will first search for the - nearest `compile_commands.json` file, and then look for - `compile_commands.json` files in the directories for - |g:ale_c_build_dir_names|. - - If |g:ale_c_parse_makefile| or |b:ale_c_parse_makefile| is set to `1`, the - output of `make -n` will be preferred over `compile_commands.json` files. - - -g:ale_c_parse_makefile *g:ale_c_parse_makefile* - *b:ale_c_parse_makefile* - Type: |Number| - Default: `0` - - If set to `1`, ALE will run `make -n` to automatically determine flags to - set for C or C++ compilers. This can make it easier to determine the correct - build flags to use for different files. - - -=============================================================================== -clang *ale-c-clang* - -g:ale_c_clang_executable *g:ale_c_clang_executable* - *b:ale_c_clang_executable* - Type: |String| - Default: `'clang'` - - This variable can be changed to use a different executable for clang. - - -g:ale_c_clang_options *g:ale_c_clang_options* - *b:ale_c_clang_options* - Type: |String| - Default: `'-std=c11 -Wall'` - - This variable can be changed to modify flags given to clang. - - -=============================================================================== -clangd *ale-c-clangd* - -g:ale_c_clangd_executable *g:ale_c_clangd_executable* - *b:ale_c_clangd_executable* - Type: |String| - Default: `'clangd'` - - This variable can be changed to use a different executable for clangd. - - -g:ale_c_clangd_options *g:ale_c_clangd_options* - *b:ale_c_clangd_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to clangd. - - -=============================================================================== -clang-format *ale-c-clangformat* - -g:ale_c_clangformat_executable *g:ale_c_clangformat_executable* - *b:ale_c_clangformat_executable* - Type: |String| - Default: `'clang-format'` - - This variable can be changed to use a different executable for clang-format. - - -g:ale_c_clangformat_options *g:ale_c_clangformat_options* - *b:ale_c_clangformat_options* - Type: |String| - Default: `''` - - This variable can be change to modify flags given to clang-format. - - -=============================================================================== -clangtidy *ale-c-clangtidy* - -`clang-tidy` will be run only when files are saved to disk, so that -`compile_commands.json` files can be used. It is recommended to use this -linter in combination with `compile_commands.json` files. -Therefore, `clang-tidy` linter reads the options |g:ale_c_build_dir| and -|g:ale_c_build_dir_names|. Also, setting |g:ale_c_build_dir| actually -overrides |g:ale_c_build_dir_names|. - - -g:ale_c_clangtidy_checks *g:ale_c_clangtidy_checks* - *b:ale_c_clangtidy_checks* - Type: |List| - Default: `[]` - - The checks to enable for clang-tidy with the `-checks` argument. - - All options will be joined with commas, and escaped appropriately for - the shell. The `-checks` flag can be removed entirely by setting this - option to an empty List. - - Not all of clangtidy checks are applicable for C. You should consult the - clang documentation for an up-to-date list of compatible checks: - http://clang.llvm.org/extra/clang-tidy/checks/list.html - - -g:ale_c_clangtidy_executable *g:ale_c_clangtidy_executable* - *b:ale_c_clangtidy_executable* - Type: |String| - Default: `'clang-tidy'` - - This variable can be changed to use a different executable for clangtidy. - - -g:ale_c_clangtidy_options *g:ale_c_clangtidy_options* - *b:ale_c_clangtidy_options* - Type: |String| - Default: `''` - - This variable can be changed to modify compiler flags given to clang-tidy. - - - Setting this variable to a non-empty string, - - and working in a buffer where no compilation database is found using - |g:ale_c_build_dir_names| or |g:ale_c_build_dir|, - will cause the `--` argument to be passed to `clang-tidy`, which will mean - that detection of `compile_commands.json` files for compile command - databases will be disabled. - Only set this option if you want to control compiler flags - entirely manually, and no `compile_commands.json` file is in one - of the |g:ale_c_build_dir_names| directories of the project tree. - - -g:ale_c_clangtidy_extra_options *g:ale_c_clangtidy_extra_options* - *b:ale_c_clangtidy_extra_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to clang-tidy. - - -g:ale_c_clangtidy_fix_errors *g:ale_c_clangtidy_fix_errors* - *b:ale_c_clangtidy_fix_errors* - Type: |Number| - Default: `1` - - This variable can be changed to disable the `-fix-errors` option for the - |clangtidy| fixer. - - -=============================================================================== -cppcheck *ale-c-cppcheck* - -g:ale_c_cppcheck_executable *g:ale_c_cppcheck_executable* - *b:ale_c_cppcheck_executable* - Type: |String| - Default: `'cppcheck'` - - This variable can be changed to use a different executable for cppcheck. - - -g:ale_c_cppcheck_options *g:ale_c_cppcheck_options* - *b:ale_c_cppcheck_options* - Type: |String| - Default: `'--enable=style'` - - This variable can be changed to modify flags given to cppcheck. - - -=============================================================================== -cquery *ale-c-cquery* - -g:ale_c_cquery_executable *g:ale_c_cquery_executable* - *b:ale_c_cquery_executable* - Type: |String| - Default: `'cquery'` - - This variable can be changed to use a different executable for cquery. - - -g:ale_cpp_cquery_cache_directory *g:ale_c_cquery_cache_directory* - *b:ale_c_cquery_cache_directory* - Type: |String| - Default: `'~/.cache/cquery'` - - This variable can be changed to decide which directory cquery uses for its -cache. - - -=============================================================================== -flawfinder *ale-c-flawfinder* - -g:ale_c_flawfinder_executable *g:ale_c_flawfinder_executable* - *b:ale_c_flawfinder_executable* - Type: |String| - Default: `'flawfinder'` - - This variable can be changed to use a different executable for flawfinder. - - -g:ale_c_flawfinder_minlevel *g:ale_c_flawfinder_minlevel* - *b:ale_c_flawfinder_minlevel* - Type: |Number| - Default: `1` - - This variable can be changed to ignore risks under the given risk threshold. - - -g:ale_c_flawfinder_options *g:ale-c-flawfinder* - *b:ale-c-flawfinder* - Type: |String| - Default: `''` - - This variable can be used to pass extra options into the flawfinder command. - -g:ale_c_flawfinder_error_severity *g:ale_c_flawfinder_error_severity* - *b:ale_c_flawfinder_error_severity* - Type: |Number| - Default: `6` - - This variable can be changed to set the minimum severity to be treated as an - error. This setting also applies to flawfinder for c++. - - -=============================================================================== -gcc *ale-c-gcc* - -g:ale_c_gcc_executable *g:ale_c_gcc_executable* - *b:ale_c_gcc_executable* - Type: |String| - Default: `'gcc'` - - This variable can be changed to use a different executable for gcc. - - -g:ale_c_gcc_options *g:ale_c_gcc_options* - *b:ale_c_gcc_options* - Type: |String| - Default: `'-std=c11 -Wall'` - - This variable can be change to modify flags given to gcc. - - -=============================================================================== -uncrustify *ale-c-uncrustify* - -g:ale_c_uncrustify_executable *g:ale_c_uncrustify_executable* - *b:ale_c_uncrustify_executable* - Type: |String| - Default: `'uncrustify'` - - This variable can be changed to use a different executable for uncrustify. - - -g:ale_c_uncrustify_options *g:ale_c_uncrustify_options* - *b:ale_c_uncrustify_options* - Type: |String| - Default: `''` - - This variable can be change to modify flags given to uncrustify. - - -=============================================================================== -ccls *ale-c-ccls* - -g:ale_c_ccls_executable *g:ale_c_ccls_executable* - *b:ale_c_ccls_executable* - Type: |String| - Default: `'ccls'` - - This variable can be changed to use a different executable for ccls. - - -g:ale_c_ccls_init_options *g:ale_c_ccls_init_options* - *b:ale_c_ccls_init_options* - Type: |Dictionary| - Default: `{}` - - This variable can be changed to customize ccls initialization options. - Example: > - { - \ 'cacheDirectory': '/tmp/ccls', - \ 'cacheFormat': 'binary', - \ 'diagnostics': { - \ 'onOpen': 0, - \ 'opChange': 1000, - \ }, - \ } -< - Visit https://github.com/MaskRay/ccls/wiki/Initialization-options for all - available options and explanations. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-chef.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-chef.txt deleted file mode 100644 index 75e144e..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-chef.txt +++ /dev/null @@ -1,46 +0,0 @@ -=============================================================================== -ALE Chef Integration *ale-chef-options* - - -=============================================================================== -cookstyle *ale-chef-cookstyle* - -g:ale_chef_cookstyle_options *g:ale_chef_cookstyle_options* - *b:ale_chef_cookstyle_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to cookstyle. - - -g:ale_chef_cookstyle_executable *g:ale_chef_cookstyle_executable* - *b:ale_chef_cookstyle_executable* - Type: |String| - Default: `'cookstyle'` - - This variable can be changed to point to the cookstyle binary in case it's - not on the $PATH or a specific version/path must be used. - - -=============================================================================== -foodcritic *ale-chef-foodcritic* - -g:ale_chef_foodcritic_options *g:ale_chef_foodcritic_options* - *b:ale_chef_foodcritic_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to foodcritic. - - -g:ale_chef_foodcritic_executable *g:ale_chef_foodcritic_executable* - *b:ale_chef_foodcritic_executable* - Type: |String| - Default: `'foodcritic'` - - This variable can be changed to point to the foodcritic binary in case it's - not on the $PATH or a specific version/path must be used. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-clojure.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-clojure.txt deleted file mode 100644 index 2bf00c0..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-clojure.txt +++ /dev/null @@ -1,28 +0,0 @@ -=============================================================================== -ALE Clojure Integration *ale-clojure-options* - - -=============================================================================== -clj-kondo *ale-clojure-clj-kondo* - -A minimal and opinionated linter for code that sparks joy. - -https://github.com/borkdude/clj-kondo - -=============================================================================== -joker *ale-clojure-joker* - -Joker is a small Clojure interpreter and linter written in Go. - -https://github.com/candid82/joker - -Linting options are not configurable by ale, but instead are controlled by a -`.joker` file in same directory as the file (or current working directory if -linting stdin), a parent directory relative to the file, or the users home -directory. - -see https://github.com/candid82/joker#linter-mode for more information. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: - diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-cloudformation.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-cloudformation.txt deleted file mode 100644 index 9724403..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-cloudformation.txt +++ /dev/null @@ -1,46 +0,0 @@ -=============================================================================== -ALE CloudFormation Integration *ale-cloudformation-options* - - -=============================================================================== -cfn-python-lint *ale-cloudformation-cfn-python-lint* - -cfn-python-lint is a linter for AWS CloudFormation template file. - -Website: https://github.com/awslabs/cfn-python-lint - -Installation -------------------------------------------------------------------------------- - - -Install cfn-python-lint using either pip or brew: > - -`pip install cfn-lint`. If pip is not available, run -`python setup.py clean --all` then `python setup.py install`. - - Homebrew (macOS): - -`brew install cfn-lint` - -< -Configuration -------------------------------------------------------------------------------- - -To get cloudformation linter to work on only CloudFormation files we must set -the buffer |filetype| to yaml.cloudformation. -This causes ALE to lint the file with linters configured for cloudformation and -yaml files. - -Just put: - -> - - au BufRead,BufNewFile *.template.yaml set filetype=yaml.cloudformation - -< - -on `ftdetect/cloudformation.vim` - -This will get both cloudformation and yaml linters to work on any file with `.template.yaml` ext. -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-cmake.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-cmake.txt deleted file mode 100644 index 602637b..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-cmake.txt +++ /dev/null @@ -1,43 +0,0 @@ -=============================================================================== -ALE CMake Integration *ale-cmake-options* - - -=============================================================================== -cmakelint *ale-cmake-cmakelint* - -g:ale_cmake_cmakelint_executable *g:ale_cmake_cmakelint_executable* - *b:ale_cmake_cmakelint_executable* - Type: |String| - Default: `'cmakelint'` - - This variable can be set to change the path the cmakelint. - - -g:ale_cmake_cmakelint_options *g:ale_cmake_cmakelint_options* - *b:ale_cmake_cmakelint_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to cmakelint. - - -=============================================================================== -cmake-format *ale-cmake-cmakeformat* - -g:ale_cmake_cmakeformat_executable *g:ale_cmake_cmakeformat_executable* - *b:ale_cmake_cmakeformat_executable* - Type: |String| - Default: `'cmakeformat'` - - This variable can be set to change the path the cmake-format. - - -g:ale_cmake_cmakeformat_options *g:ale_cmake_cmakeformat_options* - *b:ale_cmake_cmakeformat_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to cmake-format. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-cpp.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-cpp.txt deleted file mode 100644 index ead3be2..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-cpp.txt +++ /dev/null @@ -1,331 +0,0 @@ -=============================================================================== -ALE C++ Integration *ale-cpp-options* - - -=============================================================================== -Global Options - -The following C options also apply to some C++ linters too. - -* |g:ale_c_build_dir_names| -* |g:ale_c_build_dir| -* |g:ale_c_parse_makefile| -* |g:ale_c_parse_compile_commands| - - -=============================================================================== -clang *ale-cpp-clang* - -g:ale_cpp_clang_executable *g:ale_cpp_clang_executable* - *b:ale_cpp_clang_executable* - Type: |String| - Default: `'clang++'` - - This variable can be changed to use a different executable for clang. - - -g:ale_cpp_clang_options *g:ale_cpp_clang_options* - *b:ale_cpp_clang_options* - Type: |String| - Default: `'-std=c++14 -Wall'` - - This variable can be changed to modify flags given to clang. - - -=============================================================================== -clangd *ale-cpp-clangd* - -g:ale_cpp_clangd_executable *g:ale_cpp_clangd_executable* - *b:ale_cpp_clangd_executable* - Type: |String| - Default: `'clangd'` - - This variable can be changed to use a different executable for clangd. - - -g:ale_cpp_clangd_options *g:ale_cpp_clangd_options* - *b:ale_cpp_clangd_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to clangd. - - -=============================================================================== -clangcheck *ale-cpp-clangcheck* - -`clang-check` will be run only when files are saved to disk, so that -`compile_commands.json` files can be used. It is recommended to use this -linter in combination with `compile_commands.json` files. -Therefore, `clang-check` linter reads the options |g:ale_c_build_dir| and -|g:ale_c_build_dir_names|. Also, setting |g:ale_c_build_dir| actually -overrides |g:ale_c_build_dir_names|. - - -g:ale_cpp_clangcheck_executable *g:ale_cpp_clangcheck_executable* - *b:ale_cpp_clangcheck_executable* - Type: |String| - Default: `'clang-check'` - - This variable can be changed to use a different executable for clangcheck. - - -g:ale_cpp_clangcheck_options *g:ale_cpp_clangcheck_options* - *b:ale_cpp_clangcheck_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to clang-check. - - This variable should not be set to point to build subdirectory with - `-p path/to/build` option, as it is handled by the |g:ale_c_build_dir| - option. - - -=============================================================================== -clang-format *ale-cpp-clangformat* - -See |ale-c-clangformat| for information about the available options. -Note that the C options are also used for C++. - - -=============================================================================== -clangtidy *ale-cpp-clangtidy* - -`clang-tidy` will be run only when files are saved to disk, so that -`compile_commands.json` files can be used. It is recommended to use this -linter in combination with `compile_commands.json` files. -Therefore, `clang-tidy` linter reads the options |g:ale_c_build_dir| and -|g:ale_c_build_dir_names|. Also, setting |g:ale_c_build_dir| actually -overrides |g:ale_c_build_dir_names|. - - -g:ale_cpp_clangtidy_checks *g:ale_cpp_clangtidy_checks* - *b:ale_cpp_clangtidy_checks* - Type: |List| - Default: `[]` - - The checks to enable for clang-tidy with the `-checks` argument. - - All options will be joined with commas, and escaped appropriately for - the shell. The `-checks` flag can be removed entirely by setting this - option to an empty List. - - -g:ale_cpp_clangtidy_executable *g:ale_cpp_clangtidy_executable* - *b:ale_cpp_clangtidy_executable* - Type: |String| - Default: `'clang-tidy'` - - This variable can be changed to use a different executable for clangtidy. - - -g:ale_cpp_clangtidy_options *g:ale_cpp_clangtidy_options* - *b:ale_cpp_clangtidy_options* - Type: |String| - Default: `''` - - This variable can be changed to modify compiler flags given to clang-tidy. - - - Setting this variable to a non-empty string, - - and working in a buffer where no compilation database is found using - |g:ale_c_build_dir_names| or |g:ale_c_build_dir|, - will cause the `--` argument to be passed to `clang-tidy`, which will mean - that detection of `compile_commands.json` files for compile command - databases will be disabled. - Only set this option if you want to control compiler flags - entirely manually, and no `compile_commands.json` file is in one - of the |g:ale_c_build_dir_names| directories of the project tree. - - -g:ale_cpp_clangtidy_extra_options *g:ale_cpp_clangtidy_extra_options* - *b:ale_cpp_clangtidy_extra_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to clang-tidy. - - -g:ale_cpp_clangtidy_fix_errors *g:ale_cpp_clangtidy_fix_errors* - *b:ale_cpp_clangtidy_fix_errors* - Type: |Number| - Default: `1` - - This variable can be changed to disable the `-fix-errors` option for the - |clangtidy| fixer. - - -=============================================================================== -clazy *ale-cpp-clazy* - -g:ale_cpp_clazy_executable *g:ale_cpp_clazy_executable* - *b:ale_cpp_clazy_executable* - Type: |String| - Default: `'clazy-standalone'` - - This variable can be changed to use a different executable for clazy. - - -g:ale_cpp_clazy_checks *g:ale_cpp_clazy_checks* - *b:ale_cpp_clazy_checks* - Type: |List| - Default: `['level1']` - - The checks to enable for clazy with the `-checks` argument. - - All options will be joined with commas, and escaped appropriately for - the shell. The `-checks` flag can be removed entirely by setting this - option to an empty List. - - -g:ale_cpp_clazy_options *g:ale_cpp_clazy_options* - *b:ale_cpp_clazy_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to clazy. - - -=============================================================================== -cppcheck *ale-cpp-cppcheck* - -g:ale_cpp_cppcheck_executable *g:ale_cpp_cppcheck_executable* - *b:ale_cpp_cppcheck_executable* - Type: |String| - Default: `'cppcheck'` - - This variable can be changed to use a different executable for cppcheck. - - -g:ale_cpp_cppcheck_options *g:ale_cpp_cppcheck_options* - *b:ale_cpp_cppcheck_options* - Type: |String| - Default: `'--enable=style'` - - This variable can be changed to modify flags given to cppcheck. - - -=============================================================================== -cpplint *ale-cpp-cpplint* - -g:ale_cpp_cpplint_executable *g:ale_cpp_cpplint_executable* - *b:ale_cpp_cpplint_executable* - Type: |String| - Default: `'cpplint'` - - This variable can be changed to use a different executable for cpplint. - - -g:ale_cpp_cpplint_options *g:ale_cpp_cpplint_options* - *b:ale_cpp_cpplint_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to cpplint. - - -=============================================================================== -cquery *ale-cpp-cquery* - -g:ale_cpp_cquery_executable *g:ale_cpp_cquery_executable* - *b:ale_cpp_cquery_executable* - Type: |String| - Default: `'cquery'` - - This variable can be changed to use a different executable for cquery. - - -g:ale_cpp_cquery_cache_directory *g:ale_cpp_cquery_cache_directory* - *b:ale_cpp_cquery_cache_directory* - Type: |String| - Default: `'~/.cache/cquery'` - - This variable can be changed to decide which directory cquery uses for its - cache. - - -=============================================================================== -flawfinder *ale-cpp-flawfinder* - -g:ale_cpp_flawfinder_executable *g:ale_cpp_flawfinder_executable* - *b:ale_cpp_flawfinder_executable* - Type: |String| - Default: `'flawfinder'` - - This variable can be changed to use a different executable for flawfinder. - - -g:ale_cpp_flawfinder_minlevel *g:ale_cpp_flawfinder_minlevel* - *b:ale_cpp_flawfinder_minlevel* - Type: |Number| - Default: `1` - - This variable can be changed to ignore risks under the given risk threshold. - - -g:ale_cpp_flawfinder_options *g:ale-cpp-flawfinder* - *b:ale-cpp-flawfinder* - Type: |String| - Default: `''` - - This variable can be used to pass extra options into the flawfinder command. - - -=============================================================================== -gcc *ale-cpp-gcc* - -g:ale_cpp_gcc_executable *g:ale_cpp_gcc_executable* - *b:ale_cpp_gcc_executable* - Type: |String| - Default: `'gcc'` - - This variable can be changed to use a different executable for gcc. - - -g:ale_cpp_gcc_options *g:ale_cpp_gcc_options* - *b:ale_cpp_gcc_options* - Type: |String| - Default: `'-std=c++14 -Wall'` - - This variable can be changed to modify flags given to gcc. - - -=============================================================================== -uncrustify *ale-cpp-uncrustify* - -See |ale-c-uncrustify| for information about the available options. - - -=============================================================================== -ccls *ale-cpp-ccls* - -g:ale_cpp_ccls_executable *g:ale_cpp_ccls_executable* - *b:ale_cpp_ccls_executable* - Type: |String| - Default: `'ccls'` - - This variable can be changed to use a different executable for ccls. - - -g:ale_cpp_ccls_init_options *g:ale_cpp_ccls_init_options* - *b:ale_cpp_ccls_init_options* - Type: |Dictionary| - Default: `{}` - - This variable can be changed to customize ccls initialization options. - Example: > - { - \ 'cacheDirectory': '/tmp/ccls', - \ 'cacheFormat': 'binary', - \ 'diagnostics': { - \ 'onOpen': 0, - \ 'opChange': 1000, - \ }, - \ } -< - Visit https://github.com/MaskRay/ccls/wiki/Initialization-options for all - available options and explanations. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-cs.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-cs.txt deleted file mode 100644 index bb13863..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-cs.txt +++ /dev/null @@ -1,197 +0,0 @@ -=============================================================================== -ALE C# Integration *ale-cs-options* - - -In addition to the linters that are provided with ALE, C# code can be checked -with the OmniSharp plugin. See here: https://github.com/OmniSharp/omnisharp-vim - - -=============================================================================== -csc *ale-cs-csc* - - The |ale-cs-csc| linter checks for semantic errors when files are opened or - saved. - - See |ale-lint-file-linters| for more information on linters which do not - check for problems while you type. - - The csc linter uses the mono csc compiler, providing full C# 7 and newer - support, to generate a temporary module target file (/t:module). The module - includes all '*.cs' files contained in the directory tree rooted at the path - defined by the |g:ale_cs_csc_source| or |b:ale_cs_csc_source| variable and - all sub directories. - - It will in future replace the |ale-cs-mcs| and |ale-cs-mcsc| linters as both - utilize the mcsc compiler which, according to the mono project, is no longer - actively developed, and only receives maintenance updates. However, because - the csc compiler does not support the -syntax option, this linter does not - offer any as-you-type syntax checking, similar to the |ale-cs-mcsc| linter. - - The paths to search for additional assembly files can be specified using the - |g:ale_cs_csc_assembly_path| or |b:ale_cs_csc_assembly_path| variables. - - NOTE: ALE will not find any errors in files apart from syntax errors if any - one of the source files contains a syntax error. Syntax errors must be fixed - first before other errors will be shown. - - -g:ale_cs_csc_options *g:ale_cs_csc_options* - *b:ale_cs_csc_options* - Type: |String| - Default: `''` - - This option can be set to pass additional arguments to the `csc` compiler. - - For example, to add the dotnet package which is not added per default: > - - let g:ale_cs_mcs_options = ' /warn:4 /langversion:7.2' -< - NOTE: the `/unsafe` option is always passed to `csc`. - - -g:ale_cs_csc_source *g:ale_cs_csc_source* - *b:ale_cs_csc_source* - Type: |String| - Default: `''` - - This variable defines the root path of the directory tree searched for the - '*.cs' files to be linted. If this option is empty, the source file's - directory will be used. - - NOTE: Currently it is not possible to specify sub directories and - directory sub trees which shall not be searched for *.cs files. - - -g:ale_cs_csc_assembly_path *g:ale_cs_csc_assembly_path* - *b:ale_cs_csc_assembly_path* - Type: |List| - Default: `[]` - - This variable defines a list of path strings to be searched for external - assembly files. The list is passed to the csc compiler using the `/lib:` - flag. - - -g:ale_cs_csc_assemblies *g:ale_cs_csc_assemblies* - *b:ale_cs_csc_assemblies* - Type: |List| - Default: `[]` - - This variable defines a list of external assembly (*.dll) files required - by the mono mcs compiler to generate a valid module target. The list is - passed the csc compiler using the `/r:` flag. - - For example: > - - " Compile C# programs with the Unity engine DLL file on Mac. - let g:ale_cs_mcsc_assemblies = [ - \ '/Applications/Unity/Unity.app/Contents/Frameworks/Managed/UnityEngine.dll', - \ 'path-to-unityproject/obj/Debug', - \] -< - -=============================================================================== -mcs *ale-cs-mcs* - - The `mcs` linter looks only for syntax errors while you type. See - |ale-cs-mcsc| for the separately configured linter for checking for semantic - errors. - - -g:ale_cs_mcs_options *g:ale_cs_mcs_options* - *b:ale_cs_mcs_options* - - Type: String - Default: `''` - - This variable can be changed to pass additional flags given to mcs. - - NOTE: The -unsafe flag is selected implicitly and thus does not need to be - explicitly included in the |g:ale_cs_mcs_options| or |b:ale_cs_mcs_options| - parameter. - - -=============================================================================== -mcsc *ale-cs-mcsc* - - The mcsc linter checks for semantic errors when files are opened or saved - See |ale-lint-file-linters| for more information on linters which do not - check for problems while you type. - - The mcsc linter uses the mono mcs compiler to generate a temporary module - target file (-t:module). The module includes including all '*.cs' files - contained in the directory tree rooted at the path defined by the - |g:ale_cs_mcsc_source| or |b:ale_cs_mcsc_source| variable. - variable and all sub directories. - - The paths to search for additional assembly files can be specified using the - |g:ale_cs_mcsc_assembly_path| or |b:ale_cs_mcsc_assembly_path| variables. - - NOTE: ALE will not find any errors in files apart from syntax errors if any - one of the source files contains a syntax error. Syntax errors must be fixed - first before other errors will be shown. - - -g:ale_cs_mcsc_options *g:ale_cs_mcsc_options* - *b:ale_cs_mcsc_options* - Type: |String| - Default: `''` - - This option can be set to pass additional arguments to the `mcs` compiler. - - For example, to add the dotnet package which is not added per default: > - - let g:ale_cs_mcs_options = '-pkg:dotnet' -< - NOTE: the `-unsafe` option is always passed to `mcs`. - - -g:ale_cs_mcsc_source *g:ale_cs_mcsc_source* - *b:ale_cs_mcsc_source* - Type: |String| - Default: `''` - - This variable defines the root path of the directory tree searched for the - '*.cs' files to be linted. If this option is empty, the source file's - directory will be used. - - NOTE: Currently it is not possible to specify sub directories and - directory sub trees which shall not be searched for *.cs files. - - -g:ale_cs_mcsc_assembly_path *g:ale_cs_mcsc_assembly_path* - *b:ale_cs_mcsc_assembly_path* - Type: |List| - Default: `[]` - - This variable defines a list of path strings to be searched for external - assembly files. The list is passed to the mcs compiler using the `-lib:` - flag. - - -g:ale_cs_mcsc_assemblies *g:ale_cs_mcsc_assemblies* - *b:ale_cs_mcsc_assemblies* - Type: |List| - Default: `[]` - - This variable defines a list of external assembly (*.dll) files required - by the mono mcs compiler to generate a valid module target. The list is - passed the mcs compiler using the `-r:` flag. - - For example: > - - " Compile C# programs with the Unity engine DLL file on Mac. - let g:ale_cs_mcsc_assemblies = [ - \ '/Applications/Unity/Unity.app/Contents/Frameworks/Managed/UnityEngine.dll', - \ 'path-to-unityproject/obj/Debug', - \] -< - -=============================================================================== -uncrustify *ale-cs-uncrustify* - -See |ale-c-uncrustify| for information about the available options. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-css.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-css.txt deleted file mode 100644 index ff74b26..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-css.txt +++ /dev/null @@ -1,47 +0,0 @@ -=============================================================================== -ALE CSS Integration *ale-css-options* - - -=============================================================================== -fecs *ale-css-fecs* - -`fecs` options for CSS is the same as the options for JavaScript, and both of -them reads `./.fecsrc` as the default configuration file. See: -|ale-javascript-fecs|. - - -=============================================================================== -prettier *ale-css-prettier* - -See |ale-javascript-prettier| for information about the available options. - - -=============================================================================== -stylelint *ale-css-stylelint* - -g:ale_css_stylelint_executable *g:ale_css_stylelint_executable* - *b:ale_css_stylelint_executable* - Type: |String| - Default: `'stylelint'` - - See |ale-integrations-local-executables| - - -g:ale_css_stylelint_options *g:ale_css_stylelint_options* - *b:ale_css_stylelint_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to stylelint. - - -g:ale_css_stylelint_use_global *g:ale_css_stylelint_use_global* - *b:ale_css_stylelint_use_global* - Type: |String| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-cuda.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-cuda.txt deleted file mode 100644 index 0e53f75..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-cuda.txt +++ /dev/null @@ -1,32 +0,0 @@ -=============================================================================== -ALE CUDA Integration *ale-cuda-options* - - -=============================================================================== -nvcc *ale-cuda-nvcc* - -g:ale_cuda_nvcc_executable *g:ale_cuda_nvcc_executable* - *b:ale_cuda_nvcc_executable* - Type: |String| - Default: `'nvcc'` - - This variable can be changed to use a different executable for nvcc. - Currently only nvcc 8.0 is supported. - - -g:ale_cuda_nvcc_options *g:ale_cuda_nvcc_options* - *b:ale_cuda_nvcc_options* - Type: |String| - Default: `'-std=c++11'` - - This variable can be changed to modify flags given to nvcc. - -=============================================================================== -clang-format *ale-cuda-clangformat* - -See |ale-c-clangformat| for information about the available options. -Note that the C options are also used for cuda. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-d.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-d.txt deleted file mode 100644 index 72349a2..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-d.txt +++ /dev/null @@ -1,32 +0,0 @@ -=============================================================================== -ALE D Integration *ale-d-options* - -=============================================================================== -dfmt *ale-d-dfmt* - -g:ale_d_dfmt_options *g:ale_d_dfmt_options* - *b:ale_d_dfmt_options* - Type: |String| - Default: `''` - -This variable can be set to pass additional options to the dfmt fixer. - -=============================================================================== -dls *ale-d-dls* - -g:ale_d_dls_executable *g:ale_d_dls_executable* - *b:ale_d_dls_executable* - Type: |String| - Default: `dls` - -See |ale-integrations-local-executables| - - -=============================================================================== -uncrustify *ale-d-uncrustify* - -See |ale-c-uncrustify| for information about the available options. - - -=============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-dart.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-dart.txt deleted file mode 100644 index a6d88dd..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-dart.txt +++ /dev/null @@ -1,71 +0,0 @@ -=============================================================================== -ALE Dart Integration *ale-dart-options* - - -=============================================================================== -dartanalyzer *ale-dart-dartanalyzer* - -Installation -------------------------------------------------------------------------------- - -Install Dart via whatever means. `dartanalyzer` will be included in the SDK. - -You can add the SDK to `$PATH`, as described here: -https://www.dartlang.org/tools/sdk - -If you have installed Dart on Linux, you can also try the following: > - " Set the executable path for dartanalyzer to the absolute path to it. - let g:ale_dart_dartanalyzer_executable = '/usr/lib/dart/bin/dartanalyzer' -< -... or similarly for wherever your Dart SDK lives. This should work without -having to modify `$PATH`. - -ALE can only check for problems with `dartanalyzer` with the file on disk. -See |ale-lint-file-linters| - -Options -------------------------------------------------------------------------------- - -g:ale_dart_dartanalyzer_executable *g:ale_dart_dartanalyzer_executable* - *b:ale_dart_dartanalyzer_executable* - Type: |String| - Default: `'dartanalyzer'` - - This variable can be set to change the path to dartanalyzer. - - -=============================================================================== -dartfmt *ale-dart-dartfmt* - -Installation -------------------------------------------------------------------------------- - -Installing Dart should probably ensure that `dartfmt` is in your `$PATH`. - -In case it is not, try to set the executable option to its absolute path. : > - " Set the executable path for dartfmt to the absolute path to it. - let g:ale_dart_dartfmt_executable = '/usr/lib/dart/bin/dartfmt' - > - -Options -------------------------------------------------------------------------------- - -g:ale_dart_dartfmt_executable *g:ale_dart_dartfmt_executable* - *b:ale_dart_dartfmt_executable* - Type: |String| - Default: `''` - - This variable can be set to specify an absolute path to the - dartfmt executable (or to specify an alternate executable). - - -g:ale_dart_dartfmt_options *g:ale_dart_dartfmt_options* - *b:ale_dart_dartfmt_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to the dartfmt fixer. - -=============================================================================== - - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-development.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-development.txt deleted file mode 100644 index faa570c..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-development.txt +++ /dev/null @@ -1,357 +0,0 @@ -*ale-development.txt* For Vim version 8.0. -*ale-dev* -*ale-development* - -ALE Development Documentation - -=============================================================================== -CONTENTS *ale-development-contents* - - 1. Introduction.........................|ale-development-introduction| - 2. Design Goals.........................|ale-design-goals| - 3. Coding Standards.....................|ale-coding-standards| - 4. Testing ALE..........................|ale-development-tests| - 4.1. Writing Linter Tests.............|ale-development-linter-tests| - 4.2. Writing Fixer Tests..............|ale-development-fixer-tests| - -=============================================================================== -1. Introduction *ale-development-introduction* - -This document contains helpful information for ALE developers, including -design goals, information on how to run the tests, coding standards, and so -on. You should read this document if you want to get involved with ALE -development. - -=============================================================================== -2. Design Goals *ale-design-goals* - -This section lists design goals for ALE, in no particular order. They are as -follows. - -ALE code should be almost 100% VimL. This makes the plugin as portable as -possible. - -ALE should run without needing any other plugins to be installed, to make -installation simple. ALE can integrate with other plugins for more advanced -functionality, non-essential functionality, or improving on basic first party -functionality. - -ALE should check files with as many tools as possible by default, except where -they cause security issues or make excessive use of resources on modern -machines. - -ALE should be free of breaking changes to the public API, which is comprised of -documented functions and options, until a major version is planned. Breaking -changes should be preceded by a deprecation phase complete with warnings. -Changes required for security may be an exception. - -ALE supports Vim 8 and above, and NeoVim 0.2.0 or newer. These are the -earliest versions of Vim and NeoVim which support |job|, |timer|, |closure|, -and |lambda| features. All ALE code should be written so it is compatible with -these versions of Vim, or with version checks so particular features can -degrade or fail gracefully. - -Just about everything should be documented and covered with tests. - -By and large, people shouldn't pay for the functionality they don't use. Care -should be taken when adding new features, so supporting new features doesn't -degrade the general performance of anything ALE does. - -LSP support will become more important as time goes on. ALE should provide -better support for LSP features as time goes on. - -When merging pull requests, you should respond with `Cheers! :beers:`, purely -for comedy value. - -=============================================================================== -3. Coding Standards *ale-coding-standards* - -The following general coding standards should be adhered to for Vim code. - -* Check your Vim code with `Vint` and do everything it says. ALE will check - your Vim code with Vint automatically. See: https://github.com/Kuniwak/vint - Read ALE's `Dockerfile` to see which version of `Vint` it uses. -* Try to write descriptive and concise names for variables and functions. - Names shouldn't be too short or too long. Think about others reading your - code later on. -* Use `snake_case` names for variables and arguments, and `PascalCase` names - for functions. Prefix every variable name with its scope. (`l:`, `g:`, etc.) -* Try to keep lines no longer than 80 characters, but this isn't an absolute - requirement. -* Use 4 spaces for every level of indentation in Vim code. -* Add a blank line before every `function`, `if`, `for`, `while`, or `return`, - which doesn't start a new level of indentation. This makes the logic in - your code easier to follow. -* End every file with a trailing newline character, but not with extra blank - lines. Remove trailing whitespace from the ends of lines. -* Write the full names of commands instead of abbreviations. For example, write - `function` instead of `func`, and `endif` instead of `end`. -* Write functions with `!`, so files can be reloaded. Use the |abort| keyword - for all functions, so functions exit on the first error. -* Make sure to credit yourself in files you have authored with `Author:` - and `Description:` comments. - -In addition to the above general guidelines for the style of your code, you -should also follow some additional rules designed to prevent mistakes. Some of -these are reported with ALE's `custom-linting-rules` script. See -|ale-development-tests|. - -* Don't leave stray `:echo` lines in code. Use `execute 'echo' ...` if you must - echo something. -* For strings use |is#| instead of |==#|, `is?` instead of `==?`, `isnot#` - instead of `!=#`, and `isnot?` instead of `!=?`. This is because `'x' ==# 0` - returns 1, while `'x' is# 0` returns 0, so you will experience fewer issues - when numbers are compared with strings. `is` and `isnot` also do not throw - errors when other objects like List or Dictionaries are compared with - strings. -* Don't use the `getcwd()` function in the ALE codebase. Most of ALE's code - runs from asynchronous callback functions, and these functions can execute - from essentially random buffers. Therefore, the `getcwd()` output is - useless. Use `expand('#' . a:buffer . ':p:h')` instead. Don't use - `expand('%...')` for the same reason. -* Don't use the `simplify()` function. It doesn't simplify paths enough. Use - `ale#path#Simplify()` instead. -* Don't use the `shellescape()` function. It doesn't escape arguments properly - on Windows. Use `ale#Escape()` instead, which will avoid escaping where it - isn't needed, and generally escape arguments better on Windows. -* Don't use the `tempname()` function. It doesn't work when `$TMPDIR` isn't - set. Use `ale#util#Tempname()` instead, which temporarily sets `$TMPDIR` - appropriately where needed. -* Use `snake_case` names for linter names, so they can be used as part of - variable names. You can define `aliases` for linters, for other names people - might try to configure linters with. -* Use |v:t_TYPE| variables instead of `type()`, which are more readable. - -Apply the following guidelines when writing Vader test files. - -* Use 2 spaces for Vader test files, instead of the 4 spaces for Vim files. -* If you write `Before` and `After` blocks, you should typically write them at - the top of the file, so they run for all tests. There may be some tests - where it make sense to modify the `Before` and `After` code part of the way - through the file. -* If you modify any settings or global variables, reset them in `After` - blocks. The Vader `Save` and `Restore` commands can be useful for this - purpose. -* If you load or define linters in tests, write `call ale#linter#Reset()` in - an `After` block. -* Just write `Execute` blocks for Vader tests, and don't bother writing `Then` - blocks. `Then` blocks execute after `After` blocks in older versions, and - that can be confusing. - -Apply the following rules when writing Bash scripts. - -* Run `shellcheck`, and do everything it says. - See: https://github.com/koalaman/shellcheck -* Try to write scripts so they will run on Linux, BSD, or Mac OSX. - -=============================================================================== -4. Testing ALE *ale-development-tests* *ale-dev-tests* *ale-tests* - -ALE is tested with a suite of tests executed in Travis CI and AppVeyor. ALE -runs tests with the following versions of Vim in the following environments. - -1. Vim 8.0.0027 on Linux via Travis CI. -2. Vim 8.1.0519 on Linux via Travis CI. -3. NeoVim 0.2.0 on Linux via Travis CI. -4. NeoVim 0.3.5 on Linux via Travis CI. -5. Vim 8 (stable builds) on Windows via AppVeyor. - -If you are developing ALE code on Linux, Mac OSX, or BSD, you can run ALEs -tests by installing Docker and running the `run-tests` script. Follow the -instructions on the Docker site for installing Docker. -See: https://docs.docker.com/install/ - -NOTE: Don't forget to add your user to the `docker` group on Linux, or Docker -just won't work. See: https://docs.docker.com/install/linux/linux-postinstall/ - -If you run simply `./run-tests` from the ALE repository root directory, the -latest Docker image for tests will be downloaded if needed, and the script -will run all of the tests in Vader, Vint checks, and several Bash scripts for -finding extra issues. Run `./run-tests --help` to see all of the options the -script supports. Note that the script supports selecting particular test files. - -Generally write tests for any changes you make. The following types of tests -are recommended for the following types of code. - -* New/edited error handler callbacks -> Write tests in `test/handler` -* New/edited command callbacks -> Write tests in `test/command_callback` -* New/edited fixer functions -> Write tests in `test/fixers` - -Look at existing tests in the codebase for examples of how to write tests. -Refer to the Vader documentation for general information on how to write Vader -tests: https://github.com/junegunn/vader.vim - -See |ale-development-linter-tests| for more information on how to write linter -tests. - -When you add new linters or fixers, make sure to add them into the tables in -supported-tools.md and |ale-supported-languages-and-tools.txt|. If you forget to -keep them both in sync, you should see an error like the following in Travis CI. -> - ======================================== - diff supported-tools.md and doc/ale-supported-languages-and-tools.txt tables - ======================================== - Differences follow: - - --- /tmp/readme.qLjNhJdB 2018-07-01 16:29:55.590331972 +0100 - +++ /tmp/doc.dAi8zfVE 2018-07-01 16:29:55.582331877 +0100 - @@ -1 +1 @@ - - ASM: gcc, foobar - + ASM: gcc -< -Make sure to list documentation entries for linters and fixers in individual -help files in the table of contents, and to align help tags to the right -margin. For example, if you add a heading for an `aardvark` tool to -`ale-python.txt` with a badly aligned doc tag, you will see errors like so. > - - ======================================== - Look for badly aligned doc tags - ======================================== - Badly aligned tags follow: - - doc/ale-python.txt:aardvark ... - ======================================== - Look for table of contents issues - ======================================== - - Check for bad ToC sorting: - - Check for mismatched ToC and headings: - - --- /tmp/table-of-contents.mwCFOgSI 2018-07-01 16:33:25.068811878 +0100 - +++ /tmp/headings.L4WU0hsO 2018-07-01 16:33:25.076811973 +0100 - @@ -168,6 +168,7 @@ - pyrex (cython), ale-pyrex-options - cython, ale-pyrex-cython - python, ale-python-options - + aardvark, ale-python-aardvark - autopep8, ale-python-autopep8 - black, ale-python-black - flake8, ale-python-flake8 -< -Make sure to make the table of contents match the headings, and to keep the -doc tags on the right margin. - -=============================================================================== -4.1 Writing Linter Tests *ale-development-linter-tests* - -Tests for ALE linters take two forms. - -1. Tests for handling the output of commands. -2. Tests for checking which commands are run, or connections are made. - -Tests of the first form should go in the `test/handler` directory, and should -be written like so. > - - Before: - " Load the file which defines the linter. - runtime ale_linters/filetype/linter_name_here.vim - - After: - " Unload all linters again. - call ale#linter#Reset() - - Execute(The output should be correct): - - " Test that the right loclist items are parsed from the handler. - AssertEqual - \ [ - \ { - \ 'lnum': 1, - \ 'type': 'E', - \ 'text': 'Something went wrong', - \ }, - \ ], - \ ale_linters#filetype#linter_name#Handle(bufnr(''), [ - \ '1:Something went wrong', - \ ] -< -Tests for what ALE runs should go in the `test/command_callback` directory, -and should be written like so. > - - Before: - " Load the linter and set up a series of commands, reset linter variables, - " clear caches, etc. - " - " Vader's 'Save' command will be called here for linter variables. - call ale#assert#SetUpLinterTest('filetype', 'linter_name') - - After: - " Reset linters, variables, etc. - " - " Vader's 'Restore' command will be called here. - call ale#assert#TearDownLinterTest() - - Execute(The default command should be correct): - " AssertLinter checks the executable and command. - " Pass expected_executable, expected_command - AssertLinter 'some-command', ale#Escape('some-command') . ' --foo' - - Execute(Check chained commands): - " GivenCommandOutput can be called with 1 or more list for passing output - " to chained commands. The output for each callback defaults to an empty - " list. - GivenCommandOutput ['v2.1.2'] - " Given a List of commands, check all of them. - " Given a String, only the last command in the chain will be checked. - AssertLinter 'some-command', [ - \ ale#Escape('some-command') . ' --version', - \ ale#Escape('some-command') . ' --foo', - \] -< -The full list of commands that will be temporarily defined for linter tests -given the above setup are as follows. - -`GivenCommandOutput [...]` - Define output for ale#command#Run. -`AssertLinter executable, command` - Check the executable and command. -`AssertLinterNotExecuted` - Check that linters will not be executed. -`AssertLSPLanguage language` - Check the language given to an LSP server. -`AssertLSPOptions options_dict` - Check the options given to an LSP server. -`AssertLSPConfig config_dict` - Check the config given to an LSP server. -`AssertLSPProject project_root` - Check the root given to an LSP server. -`AssertLSPAddress address` - Check the address to an LSP server. - - -=============================================================================== -4.2 Writing Fixer Tests *ale-development-fixer-tests* - -Tests for ALE fixers should go in the `test/fixers` directory, and should -be written like so. > - - Before: - " Load the fixer and set up a series of commands, reset fixer variables, - " clear caches, etc. - " - " Vader's 'Save' command will be called here for fixer variables. - call ale#assert#SetUpFixerTest('filetype', 'fixer_name') - - After: - " Reset fixers, variables, etc. - " - " Vader's 'Restore' command will be called here. - call ale#assert#TearDownFixerTest() - - Execute(The default command should be correct): - " AssertFixer checks the result of the loaded fixer function. - AssertFixer {'command': ale#Escape('some-command') . ' --foo'} - - Execute(Check chained commands): - " Same as above for linter tests. - GivenCommandOutput ['v2.1.2'] - " Given a List of commands, check all of them. - " Given anything else, only the last result will be checked. - AssertFixer [ - \ ale#Escape('some-command') . ' --version', - \ {'command': ale#Escape('some-command') . ' --foo'} - \] -< -The full list of commands that will be temporarily defined for fixer tests -given the above setup are as follows. - -`GivenCommandOutput [...]` - Define output for ale#command#Run. -`AssertFixer results` - Check the fixer results -`AssertFixerNotExecuted` - Check that fixers will not be executed. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-dockerfile.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-dockerfile.txt deleted file mode 100644 index 284c6a1..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-dockerfile.txt +++ /dev/null @@ -1,60 +0,0 @@ -=============================================================================== -ALE Dockerfile Integration *ale-dockerfile-options* - - -=============================================================================== -dockerfile_lint *ale-dockerfile-dockerfile_lint* - -g:ale_dockerfile_dockerfile_lint_executable - *g:ale_dockerfile_dockerfile_lint_executable* - *b:ale_dockerfile_dockerfile_lint_executable* - Type: |String| - Default: `'dockerfile_lint'` - - This variable can be changed to specify the executable used to run - dockerfile_lint. - - -g:ale_dockerfile_dockerfile_lint_options - *g:ale_dockerfile_dockerfile_lint_options* - *b:ale_dockerfile_dockerfile_lint_options* - Type: |String| - Default: `''` - - This variable can be changed to add additional command-line arguments to - the dockerfile lint invocation - like custom rule file definitions. - - -=============================================================================== -hadolint *ale-dockerfile-hadolint* - - hadolint can be found at: https://github.com/hadolint/hadolint - - -g:ale_dockerfile_hadolint_use_docker *g:ale_dockerfile_hadolint_use_docker* - *b:ale_dockerfile_hadolint_use_docker* - Type: |String| - Default: `'never'` - - This variable controls if docker and the hadolint image are used to run this - linter: if 'never', docker will never be used; 'always' means docker will - always be used; 'yes' and docker will be used if the hadolint executable - cannot be found. - - For now, the default is 'never'. This may change as ale's support for using - docker to lint evolves. - - -g:ale_dockerfile_hadolint_image *g:ale_dockerfile_hadolint_image* - *b:ale_dockerfile_hadolint_image* - Type: |String| - Default: `'hadolint/hadolint'` - - This variable controls the docker image used to run hadolint. The default - is hadolint's author's build, and can be found at: - - https://hub.docker.com/r/hadolint/hadolint/ - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-elixir.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-elixir.txt deleted file mode 100644 index 5864f72..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-elixir.txt +++ /dev/null @@ -1,89 +0,0 @@ -=============================================================================== -ALE Elixir Integration *ale-elixir-options* - - -=============================================================================== -mix *ale-elixir-mix* - - -The `mix` linter is disabled by default, as it can bee too expensive to run. -See `:help g:ale_linters` - - -g:ale_elixir_mix_options *g:ale_elixir_mix_options* - *b:ale_elixir_mix_options* - Type: |String| - Default: `'mix'` - - - This variable can be changed to specify the mix executable. - -=============================================================================== -mix_format *ale-elixir-mix-format* - -g:ale_elixir_mix_format_options *g:ale_elixir_mix_format_options* - *b:ale_elixir_mix_format_options* - Type: |String| - Default: `''` - - - This variable can be changed to specify the mix options passed to the - mix_format fixer - -=============================================================================== -dialyxir *ale-elixir-dialyxir* - -Dialyzer, a DIscrepancy AnaLYZer for ERlang programs. -http://erlang.org/doc/man/dialyzer.html - -It can be used with elixir through dialyxir -https://github.com/jeremyjh/dialyxir - -Options for dialyzer are not configurable by ale, but they are instead -configured on your project's `mix.exs`. - -See https://github.com/jeremyjh/dialyxir#with-explaining-stuff for more -information. - -=============================================================================== -elixir-ls *ale-elixir-elixir-ls* - -Elixir Language Server (https://github.com/JakeBecker/elixir-ls) - -g:ale_elixir_elixir_ls_release *g:ale_elixir_elixir_ls_release* - *b:ale_elixir_elixir_ls_release* - Type: |String| - Default: `'elixir-ls'` - - Location of the elixir-ls release directory. This directory must contain - the language server scripts (language_server.sh and language_server.bat). - -g:ale_elixir_elixir_ls_config *g:ale_elixir_elixir_ls_config* - *b:ale_elixir_elixir_ls_config* - Type: |Dictionary| - Default: `{}` - - Dictionary containing configuration settings that will be passed to the - language server. For example, to disable Dialyzer: > - { - \ 'elixirLS': { - \ 'dialyzerEnabled': v:false, - \ }, - \ } -< - Consult the ElixirLS documentation for more information about settings. -=============================================================================== -credo *ale-elixir-credo* - -Credo (https://github.com/rrrene/credo) - -g:ale_elixir_credo_strict *g:ale_elixir_credo_strict* - - Type: Integer - Default: 0 - - Tells credo to run in strict mode or suggest mode. Set variable to 1 to - enable --strict mode. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-elm.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-elm.txt deleted file mode 100644 index b151024..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-elm.txt +++ /dev/null @@ -1,100 +0,0 @@ -=============================================================================== -ALE Elm Integration *ale-elm-options* - - -=============================================================================== -elm-format *ale-elm-elm-format* - -g:ale_elm_format_executable *g:ale_elm_format_executable* - *b:ale_elm_format_executable* - Type: |String| - Default: `'elm-format'` - - See |ale-integrations-local-executables| - - -g:ale_elm_format_use_global *g:ale_elm_format_use_global* - *b:ale_elm_format_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -g:ale_elm_format_options *g:ale_elm_format_options* - *b:ale_elm_format_options* - Type: |String| - Default: `'--yes'` - - This variable can be set to pass additional options to elm-format. - -=============================================================================== -elm-ls *ale-elm-elm-ls* - -g:ale_elm_ls_executable *g:ale_elm_ls_executable* - *b:ale_elm_ls_executable* - Type: |String| - Default: `'elm-language-server'` - - See |ale-integrations-local-executables| - - -g:ale_elm_ls_use_global *g:ale_elm_ls_use_global* - *b:ale_elm_ls_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 1)` - - See |ale-integrations-local-executables| - - -g:ale_elm_ls_elm_path *g:ale_elm_ls_elm_path* - *b:ale_elm_ls_elm_path* - Type: |String| - Default: `''` - - See |ale-integrations-local-executables| - - -g:ale_elm_ls_elm_format_path *g:ale_elm_ls_elm_format_path* - *b:ale_elm_ls_elm_format_path* - Type: |String| - Default: `''` - - See |ale-integrations-local-executables| - - -g:ale_elm_ls_elm_test_path *g:ale_elm_ls_elm_test_path* - *b:ale_elm_ls_elm_test_path* - Type: |String| - Default: `''` - - See |ale-integrations-local-executables| - - -g:ale_elm_ls_elm_analyse_trigger *g:ale_elm_ls_elm_analyse_trigger* - *b:ale_elm_ls_elm_analyse_trigger* - Type: |String| - Default: `'change'` - - One of 'change', 'save' or 'never' - -=============================================================================== -elm-make *ale-elm-elm-make* - -g:ale_elm_make_executable *g:ale_elm_make_executable* - *b:ale_elm_make_executable* - Type: |String| - Default: `'elm'` - - See |ale-integrations-local-executables| - - -g:ale_elm_make_use_global *g:ale_elm_make_use_global* - *b:ale_elm_make_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-erlang.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-erlang.txt deleted file mode 100644 index 59993a9..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-erlang.txt +++ /dev/null @@ -1,58 +0,0 @@ -=============================================================================== -ALE Erlang Integration *ale-erlang-options* - - -=============================================================================== -dialyzer *ale-erlang-dialyzer* - -g:ale_erlang_dialyzer_executable *g:ale_erlang_dialyzer_executable* - *b:ale_erlang_dialyzer_executable* - Type: |String| - Default: `'dialyzer'` - - This variable can be changed to specify the dialyzer executable. - - -g:ale_erlang_dialyzer_plt_file *g:ale_erlang_dialyzer_plt_file* - *b:ale_erlang_dialyzer_plt_file* - Type: |String| - - This variable can be changed to specify the path to the PLT file. By - default, it will search for the PLT file inside the `_build` directory. If - there isn't one, it will fallback to the path `$REBAR_PLT_DIR/dialyzer/plt`. - Otherwise, it will default to `$HOME/.dialyzer_plt`. - - -g:ale_erlang_dialyzer_rebar3_profile *g:ale_erlang_dialyzer_rebar3_profile* - *b:ale_erlang_dialyzer_rebar3_profile* - Type: |String| - Default: `'default'` - - This variable can be changed to specify the profile that is used to - run dialyzer with rebar3. - -------------------------------------------------------------------------------- -erlc *ale-erlang-erlc* - -g:ale_erlang_erlc_options *g:ale_erlang_erlc_options* - *b:ale_erlang_erlc_options* - Type: |String| - Default: `''` - - This variable controls additional parameters passed to `erlc`, such as `-I` - or `-pa`. - - -------------------------------------------------------------------------------- -syntaxerl *ale-erlang-syntaxerl* - -g:ale_erlang_syntaxerl_executable *g:ale_erlang_syntaxerl_executable* - *b:ale_erlang_syntaxerl_executable* - Type: |String| - Default: `'syntaxerl'` - - This variable can be changed to specify the syntaxerl executable. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-eruby.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-eruby.txt deleted file mode 100644 index d75d386..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-eruby.txt +++ /dev/null @@ -1,37 +0,0 @@ -=============================================================================== -ALE Eruby Integration *ale-eruby-options* - -There are four linters for `eruby` files: - -- `erb` -- `erubis` -- `erubi` -- `ruumba` - -`erb` is in the Ruby standard library and is mostly universal. `erubis` is the -default parser in Rails between 3.0 and 5.1. `erubi` is the default in Rails -5.1 and later. `ruumba` can extract Ruby from eruby files and run rubocop on -the result. To selectively enable a subset, see |g:ale_linters|. - -=============================================================================== -ruumba *ale-eruby-ruumba* - -g:ale_eruby_ruumba_executable *g:ale_eruby_ruumba_executable* - *b:ale_eruby_ruumba_executable* - Type: String - Default: `'ruumba` - - Override the invoked ruumba binary. This is useful for running ruumba - from binstubs or a bundle. - - -g:ale_eruby_ruumba_options *g:ale_ruby_ruumba_options* - *b:ale_ruby_ruumba_options* - Type: |String| - Default: `''` - - This variable can be change to modify flags given to ruumba. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-fish.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-fish.txt deleted file mode 100644 index 8450b38..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-fish.txt +++ /dev/null @@ -1,14 +0,0 @@ -=============================================================================== -ALE Fish Integration *ale-fish-options* - -Lints fish files using `fish -n`. - -Note that `fish -n` is not foolproof: it sometimes gives false positives or -errors that are difficult to parse without more context. This integration skips -displaying errors if an error message is not found. - -If ALE is not showing any errors but your file does not run as expected, run -`fish -n ` from the command line. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-fortran.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-fortran.txt deleted file mode 100644 index c9b7e8e..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-fortran.txt +++ /dev/null @@ -1,55 +0,0 @@ -=============================================================================== -ALE Fortran Integration *ale-fortran-options* - - -=============================================================================== -gcc *ale-fortran-gcc* - -g:ale_fortran_gcc_executable *g:ale_fortran_gcc_executable* - *b:ale_fortran_gcc_executable* - Type: |String| - Default: `'gcc'` - - This variable can be changed to modify the executable used for checking - Fortran code with GCC. - - -g:ale_fortran_gcc_options *g:ale_fortran_gcc_options* - *b:ale_fortran_gcc_options* - Type: |String| - Default: `'-Wall'` - - This variable can be changed to modify flags given to gcc. - - -g:ale_fortran_gcc_use_free_form *g:ale_fortran_gcc_use_free_form* - *b:ale_fortran_gcc_use_free_form* - Type: |Number| - Default: `1` - - When set to `1`, the `-ffree-form` flag will be used for GCC, to check files - with the free form layout. When set to `0`, `-ffixed-form` will be used - instead, for checking files with fixed form layouts. - - -=============================================================================== -language_server *ale-fortran-language-server* - -g:ale_fortran_language_server_executable *g:ale_fortran_language_server_executable* - *b:ale_fortran_language_server_executable* - Type: |String| - Default: `'fortls'` - - This variable can be changed to modify the executable used for the Fortran - Language Server. - -g:ale_fortran_language_server_use_global *g:ale_fortran_language_server_use_global* - *b:ale_fortran_language_server_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-fountain.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-fountain.txt deleted file mode 100644 index ac0870c..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-fountain.txt +++ /dev/null @@ -1,6 +0,0 @@ -=============================================================================== -ALE Fountain Integration *ale-fountain-options* - - -=============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-fuse.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-fuse.txt deleted file mode 100644 index 0849c37..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-fuse.txt +++ /dev/null @@ -1,25 +0,0 @@ -=============================================================================== -ALE FusionScript Integration *ale-fuse-options* - - -=============================================================================== -fusion-lint *ale-fuse-fusionlint* - -g:ale_fusion_fusionlint_executable *g:ale_fuse_fusionlint_executable* - *b:ale_fuse_fusionlint_executable* - Type: |String| - Default: `'fusion-lint'` - - This variable can be changed to change the path to fusion-lint. - - -g:ale_fuse_fusionlint_options *g:ale_fuse_fusionlint_options* - *b:ale_fuse_fusionlint_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to fusion-lint. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-gitcommit.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-gitcommit.txt deleted file mode 100644 index 38f3fd9..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-gitcommit.txt +++ /dev/null @@ -1,44 +0,0 @@ -=============================================================================== -ALE Git Commit Integration *ale-gitcommit-options* - - -=============================================================================== -gitlint *ale-gitcommit-gitlint* - -g:ale_gitcommit_gitlint_executable *g:ale_gitcommit_gitlint_executable* - *b:ale_gitcommit_gitlint_executable* - Type: |String| - Default: `'gitlint'` - - This variable can be changed to modify the executable used for gitlint. - - -g:ale_gitcommit_gitlint_options *g:ale_gitcommit_gitlint_options* - *b:ale_gitcommit_gitlint_options* - Type: |String| - Default: `''` - - This variable can be changed to add command-line arguments to the gitlint - invocation. For example, you can specify the path to a configuration file. > - - let g:ale_gitcommit_gitlint_options = '-C /home/user/.config/gitlint.ini' -< - You can also disable particular error codes using this option. For example, - you can ignore errors for git commits with a missing body. > - - let g:ale_gitcommit_gitlint_options = '--ignore B6' -< - -g:ale_gitcommit_gitlint_use_global *g:ale_gitcommit_gitlint_use_global* - *b:ale_gitcommit_gitlint_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - This variable controls whether or not ALE will search for gitlint in a - virtualenv directory first. If this variable is set to `1`, then ALE will - always use |g:ale_gitcommit_gitlint_executable| for the executable path. - - Both variables can be set with `b:` buffer variables instead. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-glsl.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-glsl.txt deleted file mode 100644 index 257de75..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-glsl.txt +++ /dev/null @@ -1,56 +0,0 @@ -=============================================================================== -ALE GLSL Integration *ale-glsl-options* - *ale-integration-glsl* - -=============================================================================== -Integration Information - - Since Vim does not detect the glsl file types out-of-the-box, you need the - runtime files for glsl from here: https://github.com/tikhomirov/vim-glsl - - Note that the current glslang-based linter expects glslangValidator in - standard paths. If it's not installed system-wide you can set - |g:ale_glsl_glslang_executable| to a specific path. - - -=============================================================================== -glslang *ale-glsl-glslang* - -g:ale_glsl_glslang_executable *g:ale_glsl_glslang_executable* - *b:ale_glsl_glslang_executable* - Type: |String| - Default: `'glslangValidator'` - - This variable can be changed to change the path to glslangValidator. - - -g:ale_glsl_glslang_options *g:ale_glsl_glslang_options* - *b:ale_glsl_glslang_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to glslangValidator. - - -=============================================================================== -glslls *ale-glsl-glslls* - -g:ale_glsl_glslls_executable *g:ale_glsl_glslls_executable* - *b:ale_glsl_glslls_executable* - Type: |String| - Default: `'glslls'` - - This variable can be changed to change the path to glslls. - See |ale-integrations-local-executables| - -g:ale_glsl_glslls_logfile *g:ale_glsl_glslls_logfile* - *b:ale_glsl_glslls_logfile* - Type: |String| - Default: `''` - - Setting this variable to a writeable file path will enable logging to that - file. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-go.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-go.txt deleted file mode 100644 index 5c0791b..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-go.txt +++ /dev/null @@ -1,263 +0,0 @@ -=============================================================================== -ALE Go Integration *ale-go-options* - - -=============================================================================== -Integration Information - -The `gometalinter` linter is disabled by default. ALE enables `gofmt`, -`golint` and `go vet` by default. It also supports `staticcheck`, `go -build`, `gosimple`, `golangserver`. - -To enable `gometalinter`, update |g:ale_linters| as appropriate: -> - " Enable all of the linters you want for Go. - let g:ale_linters = {'go': ['gometalinter', 'gofmt']} -< -A possible configuration is to enable `gometalinter` and `gofmt` but paired -with the `--fast` option, set by |g:ale_go_gometalinter_options|. This gets you -the benefit of running a number of linters, more than ALE would by default, -while ensuring it doesn't run any linters known to be slow or resource -intensive. - -g:ale_go_go_executable *g:ale_go_go_options* - *b:ale_go_go_options* - - Type: |String| - Default: `'go'` - - The executable that will be run for the `gobuild` and `govet` linters, and - the `gomod` fixer. - - -g:ale_go_go111module *g:ale_go_go111module* - *b:ale_go_go111module* - Type: |String| - Default: `''` - - Override the value of the `$GO111MODULE` environment variable for - golang tools. - - - -=============================================================================== -bingo *ale-go-bingo* - -g:ale_go_bingo_executable *g:ale_go_bingo_executable* - *b:ale_go_bingo_executable* - Type: |String| - Default: `'bingo'` - - Location of the bingo binary file. - - -g:ale_go_bingo_options *g:ale_go_bingo_options* - *b:ale_go_bingo_options* - Type: |String| - Default: `''` - - -=============================================================================== -gobuild *ale-go-gobuild* - -g:ale_go_gobuild_options *g:ale_go_gobuild_options* - *b:ale_go_gobuild_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to the gobuild linter. - They are injected directly after "go test". - - -=============================================================================== -gofmt *ale-go-gofmt* - -g:ale_go_gofmt_options *g:ale_go_gofmt_options* - *b:ale_go_gofmt_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to the gofmt fixer. - - -=============================================================================== -golangci-lint *ale-go-golangci-lint* - -`golangci-lint` is a `lint_file` linter, which only lints files that are -written to disk. This differs from the default behavior of linting the buffer. -See: |ale-lint-file| - -g:ale_go_golangci_lint_executable *g:ale_go_golangci_lint_executable* - *b:ale_go_golangci_lint_executable* - Type: |String| - Default: `'golangci-lint'` - - The executable that will be run for golangci-lint. - - -g:ale_go_golangci_lint_options *g:ale_go_golangci_lint_options* - *b:ale_go_golangci_lint_options* - Type: |String| - Default: `'--enable-all'` - - This variable can be changed to alter the command-line arguments to the - golangci-lint invocation. - - -g:ale_go_golangci_lint_package *g:ale_go_golangci_lint_package* - *b:ale_go_golangci_lint_package* - Type: |Number| - Default: `0` - - When set to `1`, the whole Go package will be checked instead of only the - current file. - - -=============================================================================== -golangserver *ale-go-golangserver* - -g:ale_go_langserver_executable *g:ale_go_langserver_executable* - *b:ale_go_langserver_executable* - Type: |String| - Default: `'go-langserver'` - - Location of the go-langserver binary file. - - -g:ale_go_langserver_options *g:ale_go_langserver_options* - *b:ale_go_langserver_options* - Type: |String| - Default: `''` - - Additional options passed to the go-langserver command. Note that the - `-gocodecompletion` option is ignored because it is handled automatically - by the |g:ale_completion_enabled| variable. - - -=============================================================================== -golint *ale-go-golint* - -g:ale_go_golint_executable *g:ale_go_golint_executable* - *b:ale_go_golint_executable* - Type: |String| - Default: `'golint'` - - This variable can be set to change the golint executable path. - - -g:ale_go_golint_options *g:ale_go_golint_options* - *b:ale_go_golint_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to the golint linter. - - -=============================================================================== -gometalinter *ale-go-gometalinter* - -`gometalinter` is a `lint_file` linter, which only lints files that are -written to disk. This differs from the default behavior of linting the buffer. -See: |ale-lint-file| - -g:ale_go_gometalinter_executable *g:ale_go_gometalinter_executable* - *b:ale_go_gometalinter_executable* - Type: |String| - Default: `'gometalinter'` - - The executable that will be run for gometalinter. - - -g:ale_go_gometalinter_options *g:ale_go_gometalinter_options* - *b:ale_go_gometalinter_options* - Type: |String| - Default: `''` - - This variable can be changed to alter the command-line arguments to the - gometalinter invocation. - - Since `gometalinter` runs a number of linters that can consume a lot of - resources it's recommended to set this option to a value of `--fast` if you - use `gometalinter` as one of the linters in |g:ale_linters|. This disables a - number of linters known to be slow or consume a lot of resources. - - -g:ale_go_gometalinter_lint_package *g:ale_go_gometalinter_lint_package* - *b:ale_go_gometalinter_lint_package* - Type: |Number| - Default: `0` - - When set to `1`, the whole Go package will be checked instead of only the - current file. - - -=============================================================================== -gopls *ale-go-gopls* - -g:ale_go_gopls_executable *g:ale_go_gopls_executable* - *b:ale_go_gopls_executable* - Type: |String| - Default: `'gopls'` - - Location of the gopls binary file. - - -g:ale_go_gopls_options *g:ale_go_gopls_options* - *b:ale_go_gopls_options* - Type: |String| - Default: `''` - - -=============================================================================== -govet *ale-go-govet* - -g:ale_go_govet_options *g:ale_go_govet_options* - *b:ale_go_govet_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to the go vet linter. - - -=============================================================================== -revive *ale-go-revive* - -g:ale_go_revive_executable *g:ale_go_revive_executable* - *b:ale_go_revive_executable* - Type: |String| - Default: `'revive'` - - This variable can be set to change the revive executable path. - - -g:ale_go_revive_options *g:ale_go_revive_options* - *b:ale_go_revive_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to the revive - - -=============================================================================== -staticcheck *ale-go-staticcheck* - -g:ale_go_staticcheck_options *g:ale_go_staticcheck_options* - *b:ale_go_staticcheck_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to the staticcheck - linter. - - -g:ale_go_staticcheck_lint_package *g:ale_go_staticcheck_lint_package* - *b:ale_go_staticcheck_lint_package* - Type: |Number| - Default: `0` - - When set to `1`, the whole Go package will be checked instead of only the - current file. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-graphql.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-graphql.txt deleted file mode 100644 index 603694b..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-graphql.txt +++ /dev/null @@ -1,22 +0,0 @@ -=============================================================================== -ALE GraphQL Integration *ale-graphql-options* - - -=============================================================================== -eslint *ale-graphql-eslint* - -The `eslint` linter for GraphQL uses the JavaScript options for `eslint`; see: -|ale-javascript-eslint|. - -You will need the GraphQL ESLint plugin installed for this to work. - -=============================================================================== -gqlint *ale-graphql-gqlint* - -=============================================================================== -prettier *ale-graphql-prettier* - -See |ale-javascript-prettier| for information about the available options. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-hack.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-hack.txt deleted file mode 100644 index 4776b8c..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-hack.txt +++ /dev/null @@ -1,51 +0,0 @@ -=============================================================================== -ALE Hack Integration *ale-hack-options* - *ale-integration-hack* - - HHAST is disabled by default, as it executes code in the project root. - - Currently linters must be enabled globally. HHAST can be enabled with: - -> - let g:ale_linters = {'hack': ['hack', 'hhast']} -< - -=============================================================================== -hack *ale-hack-hack* - -g:ale_hack_hack_executable *g:ale_hack_hack_executable* - *b:ale_hack_hack_executable* - - Type: |String| - Default: `'hh_client'` - - This variable can be set to use a specific executable to interact with the - Hack typechecker. - - -=============================================================================== -hackfmt *ale-hack-hackfmt* - -g:ale_hack_hackfmt_options *g:ale_hack_hackfmt_options* - *b:ale_hack_hackfmt_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to the hackfmt fixer. - - -=============================================================================== -hhast *ale-hack-hhast* - -g:ale_hack_hhast_executable *g:ale_hack_hhast_executable* - *b:ale_hack_hhast_executable* - - Type: |String| - Default: `'vendor/bin/hhast-lint'` - - This variable can be set to use a specific executable to interact with the - Hack typechecker. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-handlebars.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-handlebars.txt deleted file mode 100644 index 5daec5b..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-handlebars.txt +++ /dev/null @@ -1,32 +0,0 @@ -=============================================================================== -ALE Handlebars Integration *ale-handlebars-options* - - -=============================================================================== -prettier *ale-handlebars-prettier* - -See |ale-javascript-prettier| for information about the available options. -Uses glimmer parser by default. - - -=============================================================================== -ember-template-lint *ale-handlebars-embertemplatelint* - -g:ale_handlebars_embertemplatelint_executable - *g:ale_handlebars_embertemplatelint_executable* - Type: |String| *b:ale_handlebars_embertemplatelint_executable* - Default: `'ember-template-lint'` - - See |ale-integrations-local-executables| - - -g:ale_handlebars_embertemplatelint_use_global - *g:ale_handlebars_embertemplatelint_use_global* - Type: |Number| *b:ale_handlebars_embertemplatelint_use_global* - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-haskell.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-haskell.txt deleted file mode 100644 index 5dd3ec1..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-haskell.txt +++ /dev/null @@ -1,176 +0,0 @@ -=============================================================================== -ALE Haskell Integration *ale-haskell-options* - - -=============================================================================== -brittany *ale-haskell-brittany* - -g:ale_haskell_brittany_executable *g:ale_haskell_brittany_executable* - *b:ale_haskell_brittany_executable* - Type: |String| - Default: `'brittany'` - - This variable can be changed to use a different executable for brittany. - - -=============================================================================== -floskell *ale-haskell-floskell* - -g:ale_haskell_floskell_executable *g:ale_haskell_floskell_executable* - *b:ale_haskell_floskell_executable* - Type: |String| - Default: `'floskell'` - - This variable can be changed to use a different executable for floskell. - - -=============================================================================== -ghc *ale-haskell-ghc* - -g:ale_haskell_ghc_options *g:ale_haskell_ghc_options* - *b:ale_haskell_ghc_options* - Type: |String| - Default: `'-fno-code -v0'` - - This variable can be changed to modify flags given to ghc. - - -=============================================================================== -ghc-mod *ale-haskell-ghc-mod* - -g:ale_haskell_ghc_mod_executable *g:ale_haskell_ghc_mod_executable* - *b:ale_haskell_ghc_mod_executable* - Type: |String| - Default: `'ghc-mod'` - - This variable can be changed to use a different executable for ghc-mod. - - -=============================================================================== -cabal-ghc *ale-haskell-cabal-ghc* - -g:ale_haskell_cabal_ghc_options *g:ale_haskell_cabal_ghc_options* - *b:ale_haskell_cabal_ghc_options* - Type: |String| - Default: `'-fno-code -v0'` - - This variable can be changed to modify flags given to ghc through cabal - exec. - - -=============================================================================== -hdevtools *ale-haskell-hdevtools* - -g:ale_haskell_hdevtools_executable *g:ale_haskell_hdevtools_executable* - *b:ale_haskell_hdevtools_executable* - Type: |String| - Default: `'hdevtools'` - - This variable can be changed to use a different executable for hdevtools. - - -g:ale_haskell_hdevtools_options *g:ale_haskell_hdevtools_options* - *b:ale_haskell_hdevtools_options* - Type: |String| - Default: `get(g:, 'hdevtools_options', '-g -Wall')` - - This variable can be changed to modify flags given to hdevtools. - - The hdevtools documentation recommends setting GHC options for `hdevtools` - with `g:hdevtools_options`. ALE will use the value of `g:hdevtools_options` - for the value of `g:ale_haskell_hdevtools_options` by default, so this - option can be respected and overridden specifically for ALE. - - -=============================================================================== -hfmt *ale-haskell-hfmt* - -g:ale_haskell_hfmt_executable *g:ale_haskell_hfmt_executable* - *b:ale_haskell_hfmt_executable* - Type: |String| - Default: `'hfmt'` - - This variable can be changed to use a different executable for hfmt. - - -=============================================================================== -hindent *ale-haskell-hindent* - -g:ale_haskell_hindent_executable *g:ale_haskell_hindent_executable* - *b:ale_haskell_hindent_executable* - Type: |String| - Default: `'hindent'` - - This variable can be changed to use a different executable for hindent. - - -=============================================================================== -hlint *ale-haskell-hlint* - -g:ale_haskell_hlint_executable *g:ale_haskell_hlint_executable* - *b:ale_haskell_hlint_executable* - Type: |String| - Default: `'hlint'` - - This variable can be changed to use a different executable for hlint. - - -g:ale_haskell_hlint_options g:ale_haskell_hlint_options - b:ale_haskell_hlint_options - Type: String - Default: '' - - This variable can be used to pass extra options to the underlying hlint - executable. - - -=============================================================================== -stack-build *ale-haskell-stack-build* - -g:ale_haskell_stack_build_options *g:ale_haskell_stack_build_options* - *b:ale_haskell_stack_build_options* - Type: |String| - Default: `'--fast'` - - We default to using `'--fast'`. Since Stack generates binaries, your - programs will be slower unless you separately rebuild them outside of ALE. - - -=============================================================================== -stack-ghc *ale-haskell-stack-ghc* - -g:ale_haskell_stack_ghc_options *g:ale_haskell_stack_ghc_options* - *b:ale_haskell_stack_ghc_options* - Type: |String| - Default: `'-fno-code -v0'` - - This variable can be changed to modify flags given to ghc through `stack - ghc` - - -=============================================================================== -stylish-haskell *ale-haskell-stylish-haskell* - -g:ale_haskell_stylish_haskell_executable - *g:ale_haskell_stylish_haskell_executable* - *b:ale_haskell_stylish_haskell_executable* - Type: |String| - Default: `'stylish-haskell'` - - This variable can be changed to use a different executable for stylish-haskell. - - -=============================================================================== -hie *ale-haskell-hie* - -g:ale_haskell_hie_executable *g:ale_haskell_hie_executable* - *b:ale_haskell_hie_executable* - Type: |String| - Default: `'hie'` - - This variable can be changed to use a different executable for the haskell - ide engine. i.e. `'hie-wrapper'` - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-hcl.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-hcl.txt deleted file mode 100644 index 59b0a9d..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-hcl.txt +++ /dev/null @@ -1,11 +0,0 @@ -=============================================================================== -ALE HCL Integration *ale-hcl-options* - - -=============================================================================== -terraform-fmt *ale-hcl-terraform-fmt* - -See |ale-terraform-fmt-fixer| for information about the available options. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-html.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-html.txt deleted file mode 100644 index c78dc4c..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-html.txt +++ /dev/null @@ -1,140 +0,0 @@ -=============================================================================== -ALE HTML Integration *ale-html-options* - - -=============================================================================== -fecs *ale-html-fecs* - -`fecs` options for HTMl is the same as the options for JavaScript, -and both of them reads `./.fecsrc` as the default configuration file. -See: |ale-javascript-fecs|. - -=============================================================================== -html-beautify *ale-html-beautify* - -g:ale_html_beautify_options *g:ale_html_beautify_options* - *b:ale_html_beautify_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to html-beautify. - - -=============================================================================== -htmlhint *ale-html-htmlhint* - -g:ale_html_htmlhint_executable *g:ale_html_htmlhint_executable* - *b:ale_html_htmlhint_executable* - Type: |String| - Default: `'htmlhint'` - - See |ale-integrations-local-executables| - - -g:ale_html_htmlhint_options *g:ale_html_htmlhint_options* - *b:ale_html_htmlhint_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to HTMLHint. - - -g:ale_html_htmlhint_use_global *g:ale_html_htmlhint_use_global* - *b:ale_html_htmlhint_use_global* - Type: |String| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -tidy *ale-html-tidy* - -`tidy` is a console application which corrects and cleans up HTML and XML -documents by fixing markup errors and upgrading legacy code to modern -standards. - -Note: -`/usr/bin/tidy` on macOS (installed by default) is too old. It was released -on 31 Oct 2006. It does not consider modern HTML specs (HTML5) and shows -outdated warnings. So |ale| ignores `/usr/bin/tidy` on macOS. - -To use `tidy` on macOS, please install the latest version with Homebrew: -> - $ brew install tidy-html5 -< -`/usr/local/bin/tidy` is installed. - -g:ale_html_tidy_executable *g:ale_html_tidy_executable* - *b:ale_html_tidy_executable* - Type: |String| - Default: `'tidy'` - - This variable can be changed to change the path to tidy. - - -g:ale_html_tidy_options *g:ale_html_tidy_options* - *b:ale_html_tidy_options* - Type: |String| - Default: `'-q -e -language en'` - - This variable can be changed to change the arguments provided to the - executable. - - ALE will attempt to automatically detect the appropriate file encoding to - provide to html-tidy, and fall back to UTF-8 when encoding detection fails. - - The recognized file encodings are as follows: ascii, big5, cp1252 (win1252), - cp850 (ibm858), cp932 (shiftjis), iso-2022-jp (iso-2022), latin1, macroman - (mac), sjis (shiftjis), utf-16le, utf-16, utf-8 - - -g:ale_html_tidy_use_global *g:html_tidy_use_global* - - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -prettier *ale-html-prettier* - -See |ale-javascript-prettier| for information about the available options. - - -=============================================================================== -stylelint *ale-html-stylelint* - -g:ale_html_stylelint_executable *g:ale_html_stylelint_executable* - *b:ale_html_stylelint_executable* - Type: |String| - Default: `'stylelint'` - - See |ale-integrations-local-executables| - - -g:ale_html_stylelint_options *g:ale_html_stylelint_options* - *b:ale_html_stylelint_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to stylelint. - - -g:ale_html_stylelint_use_global *g:ale_html_stylelint_use_global* - *b:ale_html_stylelint_use_global* - Type: |String| - Default: `0` - - See |ale-integrations-local-executables| - - -=============================================================================== -write-good *ale-html-write-good* - -See |ale-write-good-options| - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-idris.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-idris.txt deleted file mode 100644 index c7500b0..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-idris.txt +++ /dev/null @@ -1,23 +0,0 @@ -=============================================================================== -ALE Idris Integration *ale-idris-options* - -=============================================================================== -idris *ale-idris-idris* - -g:ale_idris_idris_executable *g:ale_idris_idris_executable* - *b:ale_idris_idris_executable* - Type: |String| - Default: `'idris'` - - This variable can be changed to change the path to idris. - - -g:ale_idris_idris_options *g:ale_idris_idris_options* - *b:ale_idris_idris_options* - Type: |String| - Default: `'--total --warnpartial --warnreach --warnipkg'` - - This variable can be changed to modify flags given to idris. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-ink.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-ink.txt deleted file mode 100644 index 9412a09..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-ink.txt +++ /dev/null @@ -1,40 +0,0 @@ -=============================================================================== -ALE Ink Integration *ale-ink-options* - - -=============================================================================== -ink-language-server *ale-ink-language-server* - -Ink Language Server - (https://github.com/ephraim/ink-language-server) - -g:ale_ink_ls_executable g:ale_ink_ls_executable - b:ale_ink_ls_executable - Type: |String| - Default: `'ink-language-server'` - - Ink language server executable. - -g:ale_ink_ls_initialization_options - g:ale_ink_ls_initialization_options - b:ale_ink_ls_initialization_options - Type: |Dictionary| - Default: `{}` - - Dictionary containing configuration settings that will be passed to the - language server at startup. For certain platforms and certain story - structures, the defaults will suffice. However, many projects will need to - change these settings - see the ink-language-server website for more - information. - - An example of setting non-default options: - { - \ 'ink': { - \ 'mainStoryPath': 'init.ink', - \ 'inklecateExecutablePath': '/usr/local/bin/inklecate', - \ 'runThroughMono': v:false - \ } - \} - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-ispc.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-ispc.txt deleted file mode 100644 index bf30e8e..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-ispc.txt +++ /dev/null @@ -1,24 +0,0 @@ -=============================================================================== -ALE ISPC Integration *ale-ispc-options* - - -=============================================================================== -ispc *ale-ispc-ispc* - -g:ale_ispc_ispc_executable *g:ale_ispc_ispc_executable* - *b:ale_ispc_ispc_executable* - Type: |String| - Default: `'ispc'` - - This variable can be changed to use a different executable for ispc. - - -g:ale_ispc_ispc_options *g:ale_ispc_ispc_options* - *b:ale_ispc_ispc_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to ispc. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-java.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-java.txt deleted file mode 100644 index d2001ca..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-java.txt +++ /dev/null @@ -1,268 +0,0 @@ -=============================================================================== -ALE Java Integration *ale-java-options* - - -=============================================================================== -checkstyle *ale-java-checkstyle* - -g:ale_java_checkstyle_config *g:ale_java_checkstyle_config* - *b:ale_java_checkstyle_config* - - Type: |String| - Default: `'/google_checks.xml'` - - A path to a checkstyle configuration file. - - If a configuration file is specified with |g:ale_java_checkstyle_options|, - it will be preferred over this setting. - - The path to the configuration file can be an absolute path or a relative - path. ALE will search for the relative path in parent directories. - - -g:ale_java_checkstyle_executable *g:ale_java_checkstyle_executable* - *b:ale_java_checkstyle_executable* - - Type: |String| - Default: 'checkstyle' - - This variable can be changed to modify the executable used for checkstyle. - - -g:ale_java_checkstyle_options *g:ale_java_checkstyle_options* - *b:ale_java_checkstyle_options* - - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to checkstyle. - - If a configuration file is specified with `-c`, it will be used instead of - configuration files set with |g:ale_java_checkstyle_config|. - - -=============================================================================== -javac *ale-java-javac* - -g:ale_java_javac_classpath *g:ale_java_javac_classpath* - *b:ale_java_javac_classpath* - Type: |String| or |List| - Default: `''` - - This variable can be set to change the global classpath for Java. - - -g:ale_java_javac_executable *g:ale_java_javac_executable* - *b:ale_java_javac_executable* - Type: |String| - Default: `'javac'` - - This variable can be set to change the executable path used for javac. - - -g:ale_java_javac_options *g:ale_java_javac_options* - *b:ale_java_javac_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to javac. - -g:ale_java_javac_sourcepath *g:ale_java_javac_sourcepath* - *b:ale_java_javac_sourcepath* - Type: |String| or |List| - Default: `''` - -This variable can set multiple source code paths, the source code path is a -relative path (relative to the project root directory). - -Example: - -String type: -Note that the unix system separator is a colon(`:`) window system -is a semicolon(`;`). -> - let g:ale_java_javac_sourcepath = 'build/gen/source/xx/main:build/gen/source' -< -List type: -> - let g:ale_java_javac_sourcepath = [ - \ 'build/generated/source/querydsl/main', - \ 'target/generated-sources/source/querydsl/main' - \ ] -< - - -=============================================================================== -google-java-format *ale-java-google-java-format* - - -g:ale_java_google_java_format_executable - *g:ale_java_google_java_format_executable* - *b:ale_java_google_java_format_executable* - Type: |String| - Default: `'google-java-format'` - - See |ale-integrations-local-executables| - - -g:ale_java_google_java_format_options *g:ale_java_google_java_format_options* - *b:ale_java_google_java_format_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options - - -=============================================================================== -pmd *ale-java-pmd* - -g:ale_java_pmd_options *g:ale_java_pmd_options* - *b:ale_java_pmd_options* - - Type: String - Default: '-R category/java/bestpractices' - - This variable can be changed to modify flags given to PMD. Do not specify -f - and -d. They are added automatically. - - -=============================================================================== -javalsp *ale-java-javalsp* - -To enable Java LSP linter you need to download and build the vscode-javac -language server from https://github.com/georgewfraser/java-language-server. -Simply download the source code and then build a distribution: - - scripts/link_mac.sh - -or - - scripts/link_windows.sh - -This generates a dist/mac or dist/windows directory that contains the -language server. To let ALE use this language server you need to set the -g:ale_java_javalsp_executable variable to the absolute path of the launcher -executable in this directory. - -g:ale_java_javalsp_executable *g:ale_java_javalsp_executable* - *b:ale_java_javalsp_executable* - Type: |String| - Default: `''` - -This variable must be set to the absolute path of the language server launcher -executable. For example: -> - let g:ale_java_javalsp_executable=/java-language-server/dist/mac/bin/launcher -< - -g:ale_java_javalsp_config *g:ale_java_javalsp_config* - *b:ale_java_javalsp_config* - Type: |Dictionary| - Default: `{}` - -The javalsp linter automatically detects external depenencies for Maven and -Gradle projects. In case the javalsp fails to detect some of them, you can -specify them setting a dictionary to |g:ale_java_javalsp_config| variable. -> - let g:ale_java_javalsp_executable = - \ { - \ 'java': { - \ 'externalDependencies': [ - \ 'junit:junit:jar:4.12:test', " Maven format - \ 'junit:junit:4.1' " Gradle format - \ ], - \ 'classPath': [ - \ 'lib/some-dependency.jar', - \ '/android-sdk/platforms/android-28.jar' - \ ] - \ } - \ } - -The Java language server will look for the dependencies you specify in -`externalDependencies` array in your Maven and Gradle caches ~/.m2 and -~/.gradle. - -=============================================================================== -eclipselsp *ale-java-eclipselsp* - -To enable Eclipse LSP linter you need to clone and build the eclipse.jdt.ls -language server from https://github.com/eclipse/eclipse.jdt.ls. Simply -clone the source code repo and then build the plugin: - - ./mvnw clean verify - -Note: currently, the build can only run when launched with JDK 8. JDK 9 or more -recent versions can be used to run the server though. - -After build completes the files required to run the language server will be -located inside the repository folder `eclipse.jdt.ls`. Please ensure to set -|g:ale_java_eclipselsp_path| to the absolute path of that folder. - -You could customize compiler options and code assists of the server. -Under your project folder, modify the file `.settings/org.eclipse.jdt.core.prefs` -with options presented at -https://help.eclipse.org/neon/topic/org.eclipse.jdt.doc.isv/reference/api/org/eclipse/jdt/core/JavaCore.html. - -g:ale_java_eclipselsp_path *g:ale_java_eclipselsp_path* - *b:ale_java_eclipselsp_path* - - Type: |String| - Default: `'$HOME/eclipse.jdt.ls'` - - Absolute path to the location of the eclipse.jdt.ls repository folder. Or if - you have VSCode extension installed the absolute path to the VSCode extensions - folder (e.g. $HOME/.vscode/extensions/redhat.java-0.4x.0 in Linux). - - -g:ale_java_eclipselsp_executable *g:ale_java_eclipse_executable* - *b:ale_java_eclipse_executable* - Type: |String| - Default: `'java'` - - This variable can be set to change the executable path used for java. - - -g:ale_java_eclipselsp_config_path *g:ale_java_eclipse_config_path* - *b:ale_java_eclipse_config_path* - Type: |String| - Default: `''` - - Set this variable to change the configuration directory path used by - eclipselsp (e.g. `$HOME/.jdtls` in Linux). - By default ALE will attempt to use the configuration within the installation - directory. - This setting is particularly useful when eclipselsp is installed in a - non-writable directory like `/usr/share/java/jdtls`, as is the case when - installed via system package. - - -g:ale_java_eclipselsp_workspace_path *g:ale_java_eclipselsp_workspace_path* - *b:ale_java_eclipselsp_workspace_path* - - Type: |String| - Default: `''` - - If you have Eclipse installed is good idea to set this variable to the - absolute path of the Eclipse workspace. If not set this value will be set to - the parent folder of the project root. - -g:ale_java_eclipselsp_javaagent *g:ale_java_eclipselsp_javaagent* - *b:ale_java_eclipselsp_javaagent* - - Type: |String| - Default: `''` - - A variable to add java agent for annotation processing such as Lombok. - If you have multiple java agent files, use space to separate them. For example: -> - let g:ale_java_eclipselsp_javaagent='/eclipse/lombok.jar /eclipse/jacoco.jar' -< - -=============================================================================== -uncrustify *ale-java-uncrustify* - -See |ale-c-uncrustify| for information about the available options. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-javascript.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-javascript.txt deleted file mode 100644 index ea0a708..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-javascript.txt +++ /dev/null @@ -1,336 +0,0 @@ -=============================================================================== -ALE JavaScript Integration *ale-javascript-options* - - *ale-eslint-nested-configuration-files* - -For fixing files with ESLint, nested configuration files with `root: false` -are not supported. This is because ALE fixes files by writing the contents of -buffers to temporary files, and then explicitly sets the configuration file. -Configuration files which are set explicitly must be root configuration files. -If you are using nested configuration files, you should restructure your -project so your configuration files use `extends` instead. - -See the ESLint documentation here: -http://eslint.org/docs/user-guide/configuring#extending-configuration-files - -You should change the structure of your project from this: > - /path/foo/.eslintrc.js # root: true - /path/foo/bar/.eslintrc.js # root: false -< -To this: > - /path/foo/.base-eslintrc.js # Base configuration here - /path/foo/.eslintrc.js # extends: ["/path/foo/.base-eslintrc.js"] - /path/foo/bar/.eslintrc.js # extends: ["/path/foo/.base-eslintrc.js"] -< - -=============================================================================== -eslint *ale-javascript-eslint* - -g:ale_javascript_eslint_executable *g:ale_javascript_eslint_executable* - *b:ale_javascript_eslint_executable* - Type: |String| - Default: `'eslint'` - - See |ale-integrations-local-executables| - - -g:ale_javascript_eslint_options *g:ale_javascript_eslint_options* - *b:ale_javascript_eslint_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to eslint. - - -g:ale_javascript_eslint_use_global *g:ale_javascript_eslint_use_global* - *b:ale_javascript_eslint_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -g:ale_javascript_eslint_suppress_eslintignore - *g:ale_javascript_eslint_suppress_eslintignore* - *b:ale_javascript_eslint_suppress_eslintignore* - Type: |Number| - Default: `0` - - This variable can be set to `1` to disable warnings for files being ignored - by eslint. - - -g:ale_javascript_eslint_suppress_missing_config - *g:ale_javascript_eslint_suppress_missing_config* - *b:ale_javascript_eslint_suppress_missing_config* - Type: |Number| - Default: `0` - - This variable can be set to `1` to disable errors for missing eslint - configuration files. - - When turning this option on, eslint will not report any problems when no - configuration files are found. - - -=============================================================================== -fecs *ale-javascript-fecs* - -`fecs` is a lint tool for HTML/CSS/JavaScript, can be installed via: - - `$ npm install --save-dev fecs` - -And the configuration file is located at `./fecsrc`, see http://fecs.baidu.com -for more options. - - -g:ale_javascript_fecs_executable *g:ale_javascript_fecs_executable* - *b:ale_javascript_fecs_executable* - Type: |String| - Default: `'fecs'` - - See |ale-integrations-local-executables| - - -g:ale_javascript_fecs_use_global *g:ale_javascript_fecs_use_global* - *b:ale_javascript_fecs_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -flow *ale-javascript-flow* - -g:ale_javascript_flow_executable *g:ale_javascript_flow_executable* - *b:ale_javascript_flow_executable* - Type: |String| - Default: `'flow'` - - See |ale-integrations-local-executables| - - -g:ale_javascript_flow_use_home_config *g:ale_javascript_flow_use_home_config* - *b:ale_javascript_flow_use_home_config* - Type: |Number| - Default: `0` - - When set to `1`, ALE will allow Flow to be executed with configuration files - from your home directory. ALE will not run Flow with home directory - configuration files by default, as doing so can lead to Vim consuming all of - your RAM and CPU power. - - -g:ale_javascript_flow_use_global *g:ale_javascript_flow_use_global* - *b:ale_javascript_flow_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -g:ale_javascript_flow_use_respect_pragma - *g:ale_javascript_flow_use_respect_pragma* - *b:ale_javascript_flow_use_respect_pragma* - Type: |Number| - Default: `1` - - By default, ALE will use the `--respect-pragma` option for `flow`, so only - files with the `@flow` pragma are checked by ALE. This option can be set to - `0` to disable that behaviour, so all files can be checked by `flow`. - - -=============================================================================== -importjs *ale-javascript-importjs* - -g:ale_javascript_importjs_executable *g:ale_javascript_importjs_executable* - *b:ale_javascript_importjs_executable* - Type: |String| - Default: `'importjs'` - - -=============================================================================== -jscs *ale-javascript-jscs* - -g:ale_javascript_jscs_executable *g:ale_javascript_jscs_executable* - *b:ale_javascript_jscs_executable* - Type: |String| - Default: `'jscs'` - - See |ale-integrations-local-executables| - - -g:ale_javascript_jscs_use_global *g:ale_javascript_jscs_use_global* - *b:ale_javascript_jscs_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -jshint *ale-javascript-jshint* - -g:ale_javascript_jshint_executable *g:ale_javascript_jshint_executable* - *b:ale_javascript_jshint_executable* - Type: |String| - Default: `'jshint'` - - See |ale-integrations-local-executables| - - -g:ale_javascript_jshint_use_global *g:ale_javascript_jshint_use_global* - *b:ale_javascript_jshint_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -prettier *ale-javascript-prettier* - -g:ale_javascript_prettier_executable *g:ale_javascript_prettier_executable* - *b:ale_javascript_prettier_executable* - Type: |String| - Default: `'prettier'` - - See |ale-integrations-local-executables| - - -g:ale_javascript_prettier_options *g:ale_javascript_prettier_options* - *b:ale_javascript_prettier_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to prettier. - - -g:ale_javascript_prettier_use_global *g:ale_javascript_prettier_use_global* - *b:ale_javascript_prettier_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -prettier-eslint *ale-javascript-prettier-eslint* - -g:ale_javascript_prettier_eslint_executable - *g:ale_javascript_prettier_eslint_executable* - *b:ale_javascript_prettier_eslint_executable* - Type: |String| - Default: `'prettier-eslint'` - - See |ale-integrations-local-executables| - - -g:ale_javascript_prettier_eslint_options - *g:ale_javascript_prettier_eslint_options* - *b:ale_javascript_prettier_eslint_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to prettier-eslint. - - -g:ale_javascript_prettier_eslint_use_global - *g:ale_javascript_prettier_eslint_use_global* - *b:ale_javascript_prettier_eslint_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -prettier-standard *ale-javascript-prettier-standard* - - -g:ale_javascript_prettier_standard_executable - *g:ale_javascript_prettier_standard_executable* - *b:ale_javascript_prettier_standard_executable* - Type: |String| - Default: `'prettier-standard'` - - See |ale-integrations-local-executables| - - -g:ale_javascript_prettier_standard_options - *g:ale_javascript_prettier_standard_options* - *b:ale_javascript_prettier_standard_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to prettier-standard. - - -g:ale_javascript_prettier_standard_use_global - *g:ale_javascript_prettier_standard_use_global* - *b:ale_javascript_prettier_standard_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - - - -=============================================================================== -standard *ale-javascript-standard* - -g:ale_javascript_standard_executable *g:ale_javascript_standard_executable* - *b:ale_javascript_standard_executable* - Type: |String| - Default: `'standard'` - - See |ale-integrations-local-executables| - - -g:ale_javascript_standard_options *g:ale_javascript_standard_options* - *b:ale_javascript_standard_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to standard. - - -g:ale_javascript_standard_use_global *g:ale_javascript_standard_use_global* - *b:ale_javascript_standard_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -xo *ale-javascript-xo* - -g:ale_javascript_xo_executable *g:ale_javascript_xo_executable* - *b:ale_javascript_xo_executable* - Type: |String| - Default: `'xo'` - - See |ale-integrations-local-executables| - - -g:ale_javascript_xo_options *g:ale_javascript_xo_options* - *b:ale_javascript_xo_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to xo. - - -g:ale_javascript_xo_use_global *g:ale_javascript_xo_use_global* - *b:ale_javascript_xo_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-json.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-json.txt deleted file mode 100644 index 96499a0..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-json.txt +++ /dev/null @@ -1,105 +0,0 @@ -=============================================================================== -ALE JSON Integration *ale-json-options* - - -=============================================================================== -fixjson *ale-json-fixjson* - -fixjson is a JSON file fixer/formatter for humans using (relaxed) JSON5. -It provides: - -- Pretty-prints JSON input -- Fixes various failures while humans writing JSON - - Fixes trailing commas objects or arrays - - Fixes missing commas for elements of objects or arrays - - Adds quotes to keys in objects - - Newlines in strings - - Hex numbers - - Fixes single quotes to double quotes - -You can install it using npm: -> - $ npm install -g fixjson -< -ALE provides fixjson integration as a fixer. See |ale-fix|. - -g:ale_json_fixjson_executable *g:ale_json_fixjson_executable* - *b:ale_json_fixjson_executable* - - Type: |String| - Default: `'fixjson'` - - The executable that will be run for fixjson. - -g:ale_json_fixjson_options *g:ale_json_fixjson_options* - *b:ale_json_fixjson_options* - - Type: |String| - Default: `''` - - This variable can add extra options to the command executed for running - fixjson. - -g:ale_json_fixjson_use_global *g:ale_json_fixjson_use_global* - *b:ale_json_fixjson_use_global* - - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -jsonlint *ale-json-jsonlint* - -g:ale_json_jsonlint_executable *g:ale_json_jsonlint_executable* - *b:ale_json_jsonlint_executable* - - Type: |String| - Default: `'jsonlint'` - - The executable that will be run for jsonlint. - -g:ale_json_jsonlint_use_global *g:ale_json_jsonlint_use_global* - *b:ale_json_jsonlint_use_global* - - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -jq *ale-json-jq* - -g:ale_json_jq_executable *g:ale_json_jq_executable* - *b:ale_json_jq_executable* - Type: |String| - Default: `'jq'` - - This option can be changed to change the path for `jq`. - - -g:ale_json_jq_options *g:ale_json_jq_options* - *b:ale_json_jq_options* - Type: |String| - Default: `''` - - This option can be changed to pass extra options to `jq`. - -g:ale_json_jq_filters *g:ale_json_jq_filters* - *b:ale_json_jq_filters* - Type: |String| - Default: `'.'` - - This option can be changed to pass custom filters to `jq`. - - -=============================================================================== -prettier *ale-json-prettier* - -See |ale-javascript-prettier| for information about the available options. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-julia.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-julia.txt deleted file mode 100644 index 5153241..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-julia.txt +++ /dev/null @@ -1,20 +0,0 @@ -=============================================================================== -ALE Julia Integration *ale-julia-options* - -=============================================================================== -languageserver *ale-julia-languageserver* - -To enable Julia LSP linter you need to install the LanguageServer.jl package -within julia. - -g:ale_julia_executable *g:ale_julia_executable* - *b:ale_julia_executable* - - Type: |String| - Default: 'julia' - - Path to the julia exetuable. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: - diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-kotlin.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-kotlin.txt deleted file mode 100644 index 4028531..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-kotlin.txt +++ /dev/null @@ -1,113 +0,0 @@ -=============================================================================== -ALE Kotlin Integration *ale-kotlin-options* - *ale-integration-kotlin* - -=============================================================================== -Integration Information - - Make sure your setup has support for the kotlin file type. A filetype plugin - can be found here: https://github.com/udalov/kotlin-vim - - - Note: Make sure you have a working kotlin compiler - - -=============================================================================== -kotlinc *ale-kotlin-kotlinc* - -g:ale_kotlin_kotlinc_options *g:ale_kotlin_kotlinc_options* - Type: |String| - Default: `''` - - Additional options to pass to the kotlin compiler - -g:ale_kotlin_kotlinc_enable_config *g:ale_kotlin_kotlinc_enable_config* - Type: |Number| - Default: `0` - - Setting this variable to `1` tells the linter to load a configuration file. - This should be set in your vimrc - -g:ale_kotlin_kotlinc_config_file *g:ale_kotlin_kotlinc_config_file* - Type: |String| - Default: `'.ale_kotlin_kotlinc_config'` - - Filename of the configuration file. This should be set in your vimrc - -g:ale_kotlin_kotlinc_classpath *g:ale_kotlin_kotlinc_classpath* - Type: |String| - Default: `''` - - A string containing the paths (separated by the appropriate path separator) - of the source directories. - -g:ale_kotlin_kotlinc_sourcepath *g:ale_kotlin_kotlinc_sourcepath* - Type: |String| - Default: `''` - - A string containing the paths (separated by space) of the source - directories. - -g:ale_kotlin_kotlinc_use_module_file *g:ale_kotlin_kotlinc_use_module_file* - Type: |Number| - Default: `0` - - This option indicates whether the linter should use a module file. It is off - by default. - -g:ale_kotlin_kotlinc_module_filename *g:ale_kotlin_kotlinc_module_filename* - Type: |String| - Default: `'module.xml'` - - The filename of the module file that the linter should pass to the kotlin - compiler. - - -=============================================================================== -ktlint *ale-kotlin-ktlint* - -g:ale_kotlin_ktlint_executable *g:ale_kotlin_ktlint_executable* - Type: |String| - Default: `''` - - The Ktlint executable. - - Posix-compliant shell scripts are the only executables that can be found on - Ktlint's github release page. If you are not on such a system, your best - bet will be to download the ktlint jar and set this option to something - similar to `'java -jar /path/to/ktlint.jar'` - -g:ale_kotlin_ktlint_rulesets *g:ale_kotlin_ktlint_rulesets* - Type: |List| of |String|s - Default: [] - - This list should contain paths to ruleset jars and/or strings of maven - artifact triples. Example: - > - let g:ale_kotlin_ktlint_rulesets = ['/path/to/custom-ruleset.jar', - 'com.ktlint.rulesets:mycustomrule:1.0.0'] - -g:ale_kotlin_ktlint_options *g:ale_kotlin_ktlint_options* - Type: |String| - Default: `''` - - Additional options to pass to ktlint for both linting and fixing. Example: - > - let g:ale_kotlin_ktlint_options = '--android' - - -=============================================================================== -languageserver *ale-kotlin-languageserver* - -g:ale_kotlin_languageserver_executable *g:ale_kotlin_languageserver_executable* - Type: |String| - Default: `''` - - The kotlin-language-server executable. - - Executables are located inside the bin/ folder of the language server - release. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-latex.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-latex.txt deleted file mode 100644 index bedbabc..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-latex.txt +++ /dev/null @@ -1,18 +0,0 @@ -=============================================================================== -ALE LaTeX Integration *ale-latex-options* - - -=============================================================================== -write-good *ale-latex-write-good* - -See |ale-write-good-options| - - -=============================================================================== -textlint *ale-latex-textlint* - -See |ale-text-textlint| - - -=============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-less.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-less.txt deleted file mode 100644 index 040e511..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-less.txt +++ /dev/null @@ -1,66 +0,0 @@ -=============================================================================== -ALE Less Integration *ale-less-options* - - -=============================================================================== -lessc *ale-less-lessc* - -g:ale_less_lessc_executable *g:ale_less_lessc_executable* - *b:ale_less_lessc_executable* - Type: |String| - Default: `'lessc'` - - See |ale-integrations-local-executables| - - -g:ale_less_lessc_options *g:ale_less_lessc_options* - *b:ale_less_lessc_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to lessc. - - -g:ale_less_lessc_use_global *g:ale_less_lessc_use_global* - *b:ale_less_lessc_use_global* - Type: |String| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -prettier *ale-less-prettier* - -See |ale-javascript-prettier| for information about the available options. - - -=============================================================================== -stylelint *ale-less-stylelint* - -g:ale_less_stylelint_executable *g:ale_less_stylelint_executable* - *b:ale_less_stylelint_executable* - Type: |String| - Default: `'stylelint'` - - See |ale-integrations-local-executables| - - -g:ale_less_stylelint_options *g:ale_less_stylelint_options* - *b:ale_less_stylelint_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to stylelint. - - -g:ale_less_stylelint_use_global *g:ale_less_stylelint_use_global* - *b:ale_less_stylelint_use_global* - Type: |String| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-llvm.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-llvm.txt deleted file mode 100644 index 2f4a46b..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-llvm.txt +++ /dev/null @@ -1,19 +0,0 @@ -=============================================================================== -ALE LLVM Integration *ale-llvm-options* - - -=============================================================================== -llc *ale-llvm-llc* - -g:ale_llvm_llc_executable *g:ale_llvm_llc_executable* - *b:ale_llvm_llc_executable* - - Type: |String| - Default: "llc" - - The command to use for checking. This variable is useful when llc command - has suffix like "llc-5.0". - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-lua.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-lua.txt deleted file mode 100644 index f1286f8..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-lua.txt +++ /dev/null @@ -1,34 +0,0 @@ -=============================================================================== -ALE Lua Integration *ale-lua-options* - -=============================================================================== -luac *ale-lua-luac* - -g:ale_lua_luac_executable *g:ale_lua_luac_executable* - *b:ale_lua_luac_executable* - Type: |String| - Default: `'luac'` - - This variable can be changed to change the path to luac. - -=============================================================================== -luacheck *ale-lua-luacheck* - -g:ale_lua_luacheck_executable *g:ale_lua_luacheck_executable* - *b:ale_lua_luacheck_executable* - Type: |String| - Default: `'luacheck'` - - This variable can be changed to change the path to luacheck. - - -g:ale_lua_luacheck_options *g:ale_lua_luacheck_options* - *b:ale_lua_luacheck_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to luacheck. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-markdown.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-markdown.txt deleted file mode 100644 index 4e27eb9..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-markdown.txt +++ /dev/null @@ -1,71 +0,0 @@ -=============================================================================== -ALE Markdown Integration *ale-markdown-options* - - -=============================================================================== -mdl *ale-markdown-mdl* - -g:ale_markdown_mdl_executable *g:ale_markdown_mdl_executable* - *b:ale_markdown_mdl_executable* - Type: |String| - Default: `'mdl'` - - Override the invoked mdl binary. This is useful for running mdl from - binstubs or a bundle. - - -g:ale_markdown_mdl_options *g:ale_markdown_mdl_options* - *b:ale_markdown_mdl_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to mdl. - - -=============================================================================== -prettier *ale-markdown-prettier* - -See |ale-javascript-prettier| for information about the available options. - - -=============================================================================== -remark-lint *ale-markdown-remark-lint* - -g:ale_markdown_remark_lint_executable *g:ale_markdown_remark_lint_executable* - *b:ale_markdown_remark_lint_executable* - Type: |String| - Default: `'remark'` - - See |ale-integrations-local-executables| - - -g:ale_markdown_remark_lint_options *g:ale_markdown_remark_lint_options* - *b:ale_markdown_remark_lint_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to remark-lint. - - -g:ale_markdown_remark_lint_use_global *g:ale_markdown_remark_lint_use_global* - *b:ale_markdown_remark_lint_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -textlint *ale-markdown-textlint* - -See |ale-text-textlint| - - -=============================================================================== -write-good *ale-markdown-write-good* - -See |ale-write-good-options| - - -=============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-mercury.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-mercury.txt deleted file mode 100644 index ca06a0a..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-mercury.txt +++ /dev/null @@ -1,26 +0,0 @@ -=============================================================================== -ALE Mercury Integration *ale-mercury-options* - - -=============================================================================== -mmc *ale-mercury-mmc* - - -g:ale_mercury_mmc_executable *g:ale_mercury_mmc_executable* - *b:ale_mercury_mmc_executable* - Type: |String| - Default: `'mmc'` - - This variable can be changed to use a different executable for mmc. - - -g:ale_mercury_mmc_options *g:ale_mercury_mmc_options* - *b:ale_mercury_mmc_options* - Type: |String| - Default: `'--make --output-compile-error-lines 100'` - - This variable can be set to pass additional options to mmc. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-nasm.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-nasm.txt deleted file mode 100644 index 16c024a..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-nasm.txt +++ /dev/null @@ -1,26 +0,0 @@ -=============================================================================== -ALE NASM Integration *ale-nasm-options* - - -=============================================================================== -nasm *ale-nasm-nasm* - -g:ale_nasm_nasm_executable *g:ale_nasm_nasm_executable* - *b:ale_nasm_nasm_executable* - - Type: |String| - Default `'nasm'` - - This variable can be changed to use different executable for NASM. - - -g:ale_nasm_nasm_options *g:ale_nasm_nasm_options* - *b:ale_nasm_nasm_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to NASM. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-nim.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-nim.txt deleted file mode 100644 index 8985aeb..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-nim.txt +++ /dev/null @@ -1,45 +0,0 @@ -=============================================================================== -ALE Nim Integration *ale-nim-options* - - -=============================================================================== -nimcheck *ale-nim-nimcheck* - - ALE does not provide additional configuration options for `nimcheck` at this - point. - - -=============================================================================== -nimlsp *ale-nim-nimlsp* - -g:nim_nimlsp_nim_sources *g:nim_nimlsp_nim_sources* - - Type: |String| - Default: `''` - - Sets the path to Nim source repository as the first argument to `nimlsp` - command. - - -=============================================================================== -nimpretty *ale-nim-nimpretty* - - -g:ale_nim_nimpretty_executable *g:ale_nim_nimpretty_executable* - *b:ale_nim_nimpretty_executable* - Type: |String| - Default: `'nimpretty'` - - This variable can be changed to use a different executable for nimpretty. - - -g:ale_nim_nimpretty_options *g:ale_nim_nimpretty_options* - *b:ale_nim_nimpretty_options* - Type: |String| - Default: `'--maxLineLen:80'` - - This variable can be changed to modify flags given to nimpretty. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-nix.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-nix.txt deleted file mode 100644 index 5b2bd6c..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-nix.txt +++ /dev/null @@ -1,24 +0,0 @@ -=============================================================================== -ALE Nix Integration *ale-nix-options* - - -=============================================================================== -nixpkgs-fmt *ale-nix-nixpkgs-fmt* - -g:ale_nix_nixpkgsfmt_executable *g:ale_nix_nixpkgsfmt_executable* - *b:ale_nix_nixpkgsfmt_executable* - Type: |String| - Default: `'nixpkgs-fmt'` - - This variable sets executable used for nixpkgs-fmt. - -g:ale_nix_nixpkgsfmt_options *g:ale_nix_nixpkgsfmt_options* - *b:ale_nix_nixpkgsfmt_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to the nixpkgs-fmt fixer. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-nroff.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-nroff.txt deleted file mode 100644 index 62ec789..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-nroff.txt +++ /dev/null @@ -1,12 +0,0 @@ -=============================================================================== -ALE nroff Integration *ale-nroff-options* - - -=============================================================================== -write-good *ale-nroff-write-good* - -See |ale-write-good-options| - - -=============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-objc.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-objc.txt deleted file mode 100644 index 0163175..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-objc.txt +++ /dev/null @@ -1,73 +0,0 @@ -=============================================================================== -ALE Objective-C Integration *ale-objc-options* - - -=============================================================================== -clang *ale-objc-clang* - -g:ale_objc_clang_options *g:ale_objc_clang_options* - *b:ale_objc_clang_options* - Type: |String| - Default: `'-std=c11 -Wall'` - - This variable can be changed to modify flags given to clang. - - -=============================================================================== -clangd *ale-objc-clangd* - -g:ale_objc_clangd_executable *g:ale_objc_clangd_executable* - *b:ale_objc_clangd_executable* - Type: |String| - Default: `'clangd'` - - This variable can be changed to use a different executable for clangd. - - -g:ale_objc_clangd_options *g:ale_objc_clangd_options* - *b:ale_objc_clangd_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to clangd. - - -=============================================================================== -uncrustify *ale-objc-uncrustify* - -See |ale-c-uncrustify| for information about the available options. - - -=============================================================================== -ccls *ale-objc-ccls* - -g:ale_objc_ccls_executable *g:ale_objc_ccls_executable* - *b:ale_objc_ccls_executable* - Type: |String| - Default: `'ccls'` - - This variable can be changed to use a different executable for ccls. - - -g:ale_objc_ccls_init_options *g:ale_objc_ccls_init_options* - *b:ale_objc_ccls_init_options* - Type: |Dictionary| - Default: `{}` - - This variable can be changed to customize ccls initialization options. - Example: > - { - \ 'cacheDirectory': '/tmp/ccls', - \ 'cacheFormat': 'binary', - \ 'diagnostics': { - \ 'onOpen': 0, - \ 'opChange': 1000, - \ }, - \ } -< - Visit https://github.com/MaskRay/ccls/wiki/Initialization-options for all - available options and explanations. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-objcpp.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-objcpp.txt deleted file mode 100644 index cd65ab7..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-objcpp.txt +++ /dev/null @@ -1,42 +0,0 @@ -=============================================================================== -ALE Objective-C++ Integration *ale-objcpp-options* - - -=============================================================================== -clang *ale-objcpp-clang* - -g:ale_objcpp_clang_options *g:ale_objcpp_clang_options* - *b:ale_objcpp_clang_options* - Type: |String| - Default: `'-std=c++14 -Wall'` - - This variable can be changed to modify flags given to clang. - - -=============================================================================== -clangd *ale-objcpp-clangd* - -g:ale_objcpp_clangd_executable *g:ale_objcpp_clangd_executable* - *b:ale_objcpp_clangd_executable* - Type: |String| - Default: `'clangd'` - - This variable can be changed to use a different executable for clangd. - - -g:ale_objcpp_clangd_options *g:ale_objcpp_clangd_options* - *b:ale_objcpp_clangd_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to clangd. - - -=============================================================================== -uncrustify *ale-objcpp-uncrustify* - -See |ale-c-uncrustify| for information about the available options. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-ocaml.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-ocaml.txt deleted file mode 100644 index 8b644c1..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-ocaml.txt +++ /dev/null @@ -1,82 +0,0 @@ -=============================================================================== -ALE OCaml Integration *ale-ocaml-options* - - -=============================================================================== -merlin *ale-ocaml-merlin* - - To use merlin linter for OCaml source code you need to make sure Merlin for - Vim is correctly configured. See the corresponding Merlin wiki page for - detailed instructions - (https://github.com/the-lambda-church/merlin/wiki/vim-from-scratch). - -=============================================================================== -ols *ale-ocaml-ols* - - The `ocaml-language-server` is the engine that powers OCaml and ReasonML - editor support using the Language Server Protocol. See the installation - instructions: - https://github.com/freebroccolo/ocaml-language-server#installation - -g:ale_ocaml_ols_executable *g:ale_ocaml_ols_executable* - *b:ale_ocaml_ols_executable* - Type: |String| - Default: `'ocaml-language-server'` - - This variable can be set to change the executable path for `ols`. - -g:ale_ocaml_ols_use_global *g:ale_ocaml_ols_use_global* - *b:ale_ocaml_ols_use_global* - Type: |String| - Default: `get(g:, 'ale_use_global_executables', 0)` - - This variable can be set to `1` to always use the globally installed - executable. See also |ale-integrations-local-executables|. - -=============================================================================== -ocamlformat *ale-ocaml-ocamlformat* - -g:ale_ocaml_ocamlformat_executable *g:ale_ocaml_ocamlformat_executable* - *b:ale_ocaml_ocamlformat_executable* - Type: |String| - Default: `'ocamlformat'` - - This variable can be set to pass the path of the ocamlformat fixer. - -g:ale_ocaml_ocamlformat_options *g:ale_ocaml_ocamlformat_options* - *b:ale_ocaml_ocamlformat_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to the ocamlformat fixer. - -=============================================================================== -ocp-indent *ale-ocaml-ocp-indent* - -g:ale_ocaml_ocp_indent_executable *g:ale_ocaml_ocp_indent_executable* - *b:ale_ocaml_ocp_indent_executable* - Type: |String| - Default: `ocp-indent` - - This variable can be set to pass the path of the ocp-indent. - -g:ale_ocaml_ocp_indent_options *g:ale_ocaml_ocp_indent_options* - *b:ale_ocaml_ocp_indent_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to the ocp-indent. - -g:ale_ocaml_ocp_indent_config *g:ale_ocaml_ocp_indent_config* - *b:ale_ocaml_ocp_indent_config* - Type: |String| - Default: `''` - - This variable can be set to pass additional config to the ocp-indent. - Expand after "--config=". - - "ocp-indent" can also be enabled from ocamlformat config. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-pawn.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-pawn.txt deleted file mode 100644 index f836df9..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-pawn.txt +++ /dev/null @@ -1,12 +0,0 @@ -=============================================================================== -ALE Pawn Integration *ale-pawn-options* - - -=============================================================================== -uncrustify *ale-pawn-uncrustify* - -See |ale-c-uncrustify| for information about the available options. - - -=============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-perl.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-perl.txt deleted file mode 100644 index 761c273..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-perl.txt +++ /dev/null @@ -1,91 +0,0 @@ -=============================================================================== -ALE Perl Integration *ale-perl-options* - -ALE offers a few ways to check Perl code. Checking code with `perl` is -disabled by default, as `perl` code cannot be checked without executing it. -Specifically, we use the `-c` flag to see if `perl` code compiles. This does -not execute all of the code in a file, but it does run `BEGIN` and `CHECK` -blocks. See `perl --help` and https://stackoverflow.com/a/12908487/406224 - -See |g:ale_linters|. - - -=============================================================================== -perl *ale-perl-perl* - -g:ale_perl_perl_executable *g:ale_perl_perl_executable* - *b:ale_perl_perl_executable* - Type: |String| - Default: `'perl'` - - This variable can be changed to modify the executable used for linting perl. - - -g:ale_perl_perl_options *g:ale_perl_perl_options* - *b:ale_perl_perl_options* - Type: |String| - Default: `'-c -Mwarnings -Ilib'` - - This variable can be changed to alter the command-line arguments to the perl - invocation. - - -=============================================================================== -perlcritic *ale-perl-perlcritic* - -g:ale_perl_perlcritic_executable *g:ale_perl_perlcritic_executable* - *b:ale_perl_perlcritic_executable* - Type: |String| - Default: `'perlcritic'` - - This variable can be changed to modify the perlcritic executable used for - linting perl. - - -g:ale_perl_perlcritic_profile *g:ale_perl_perlcritic_profile* - *b:ale_perl_perlcritic_profile* - Type: |String| - Default: `'.perlcriticrc'` - - This variable can be changed to modify the perlcritic profile used for - linting perl. The current directory is checked for the file, then the - parent directory, etc, until it finds one. If no matching file is found, no - profile is passed to perlcritic. - - Set to an empty string to disable passing a specific profile to perlcritic - with the `'--profile'` option. - - To prevent perlcritic from using any profile, set this variable to an empty - string and pass `'--no-profile'`to perlcritic via the - |g:ale_perl_perlcritic_options| variable. - - -g:ale_perl_perlcritic_options *g:ale_perl_perlcritic_options* - *b:ale_perl_perlcritic_options* - Type: |String| - Default: `''` - - This variable can be changed to supply additional command-line arguments to - the perlcritic invocation. - - -g:ale_perl_perlcritic_showrules *g:ale_perl_perlcritic_showrules* - - Type: |Number| - Default: 0 - - Controls whether perlcritic rule names are shown after the error message. - Defaults to off to reduce length of message. -=============================================================================== -perltidy *ale-perl-perltidy* - -g:ale_perl_perltidy_options *g:ale_perl_perltidy_options* - *b:ale_perl_perltidy_options* - Type: |String| - Default: `''` - - This variable can be changed to alter the command-line arguments to - the perltidy invocation. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-perl6.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-perl6.txt deleted file mode 100644 index 94953db..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-perl6.txt +++ /dev/null @@ -1,43 +0,0 @@ -=============================================================================== -ALE Perl6 Integration *ale-perl6-options* - -Checking code with `perl6` is disabled by default, as `perl6` code cannot be -checked without executing it. Specifically, we use the `-c` flag to see if -`perl6` code compiles. This does not execute all of the code in a file, but it -does run `BEGIN` and `CHECK` blocks. See `perl6 --help` - -Full support requires a perl6 implementation that supports the -PERL6_EXCEPTIONS_HANDLER environment variable and JSON error output, -which was specified in 6.d. Rakudo version 2018.08 is the first rakudo release -that supports this. See `perl6 --version` and -https://docs.perl6.org/programs/03-environment-variables. - -Without this variable, errors and warnings will appear at line 1, and can be -viewed with ALEDetail. This also serves as a fallback for errors and warnings -that do not trigger JSON output. - -See |g:ale_linters|. - - -=============================================================================== -perl6 *ale-perl6-perl6* - -g:ale_perl6_perl6_executable *g:ale_perl6_perl6_executable* - *b:ale_perl6_perl6_executable* - Type: |String| - Default: `'perl6'` - - This variable can be changed to modify the executable used for linting - perl6. - - -g:ale_perl6_perl6_options *g:ale_perl6_perl6_options* - *b:ale_perl6_perl6_options* - Type: |String| - Default: `'-c -Ilib'` - - This variable can be changed to alter the command-line arguments to the - perl6 invocation. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-php.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-php.txt deleted file mode 100644 index 645decd..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-php.txt +++ /dev/null @@ -1,234 +0,0 @@ -=============================================================================== -ALE PHP Integration *ale-php-options* - -=============================================================================== -langserver *ale-php-langserver* - -g:ale_php_langserver_executable *g:ale_php_langserver_executable* - *b:ale_php_langserver_executable* - Type: |String| - Default: `'php-language-server.php'` - - The variable can be set to configure the executable that will be used for - running the PHP language server. `vendor` directory executables will be - preferred instead of this setting if |g:ale_php_langserver_use_global| is `0`. - - See: |ale-integrations-local-executables| - - -g:ale_php_langserver_use_global *g:ale_php_langserver_use_global* - *b:ale_php_langserver_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - This variable can be set to `1` to force the language server to be run with - the executable set for |g:ale_php_langserver_executable|. - - See: |ale-integrations-local-executables| - - -=============================================================================== -phan *ale-php-phan* - -WARNING: please use the phan_client linter if you have an configuration file -for your project because the phan will look into your entirely project and -ale will display in the current buffer warnings that may belong to other file. - -g:ale_php_phan_minimum_severity *g:ale_php_phan_minimum_severity* - *b:ale_php_phan_minimum_severity* - Type: |Number| - Default: `0` - - This variable defines the minimum severity level. - -g:ale_php_phan_executable *g:ale_php_phan_executable* - *b:ale_php_phan_executable* - Type: |String| - Default: `'phan'` - - This variable sets executable used for phan or phan_client. - -g:ale_php_phan_use_client *g:ale_php_phan_use_client* - *b:ale_php_phan_use_client* - Type: |Number| - Default: `get(g:, 'ale_php_phan_use_client', 0)` - - This variable can be set to 1 to use the phan_client with phan daemon mode - instead of the phan standalone. - -=============================================================================== -phpcbf *ale-php-phpcbf* - -g:ale_php_phpcbf_executable *g:ale_php_phpcbf_executable* - *b:ale_php_phpcbf_executable* - Type: |String| - Default: `'phpcbf'` - - See |ale-integrations-local-executables| - - -g:ale_php_phpcbf_standard *g:ale_php_phpcbf_standard* - *b:ale_php_phpcbf_standard* - Type: |String| - Default: `''` - - This variable can be set to specify the coding standard used by phpcbf. If no - coding standard is specified, phpcbf will default to fixing against the - PEAR coding standard, or the standard you have set as the default. - - -g:ale_php_phpcbf_use_global *g:ale_php_phpcbf_use_global* - *b:ale_php_phpcbf_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -phpcs *ale-php-phpcs* - -g:ale_php_phpcs_executable *g:ale_php_phpcs_executable* - *b:ale_php_phpcs_executable* - Type: |String| - Default: `'phpcs'` - - See |ale-integrations-local-executables| - - -g:ale_php_phpcs_standard *g:ale_php_phpcs_standard* - *b:ale_php_phpcs_standard* - Type: |String| - Default: `''` - - This variable can be set to specify the coding standard used by phpcs. If no - coding standard is specified, phpcs will default to checking against the - PEAR coding standard, or the standard you have set as the default. - - -g:ale_php_phpcs_use_global *g:ale_php_phpcs_use_global* - *b:ale_php_phpcs_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -g:ale_php_phpcs_options *g:ale_php_phpcs_options* - *b:ale_php_phpcs_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to php-cs - -=============================================================================== -phpmd *ale-php-phpmd* - -g:ale_php_phpmd_executable *g:ale_php_phpmd_executable* - *b:ale_php_phpmd_executable* - Type: |String| - Default: `'phpmd'` - - This variable sets executable used for phpmd. - - -g:ale_php_phpmd_ruleset *g:ale_php_phpmd_ruleset* - *b:ale_php_phpmd_ruleset* - Type: |String| - Default: `'cleancode,codesize,controversial,design,naming,unusedcode'` - - This variable controls the ruleset used by phpmd. Default is to use all of - the available phpmd rulesets - - -=============================================================================== -phpstan *ale-php-phpstan* - -g:ale_php_phpstan_executable *g:ale_php_phpstan_executable* - *b:ale_php_phpstan_executable* - Type: |String| - Default: `'phpstan'` - - This variable sets executable used for phpstan. - - -g:ale_php_phpstan_level *g:ale_php_phpstan_level* - *b:ale_php_phpstan_level* - Type: |String| - Default: `''` - - This variable controls the rule levels. 0 is the loosest and 7 is the - strictest. If this option isn't set, the rule level will be controlled by - the configuration file. If no configuration file can be detected, `'7'` will - be used instead. - - -g:ale_php_phpstan_configuration *g:ale_php_phpstan_configuration* - *b:ale_php_phpstan_configuration* - Type: |String| - Default: `''` - - This variable sets path to phpstan configuration file. - - -g:ale_php_phpstan_autoload *g:ale_php_phpstan_autoload* - *b:ale_php_phpstan_autoload* - Type: |String| - Default: `''` - - This variable sets path to phpstan autoload file. - - -=============================================================================== -psalm *ale-php-psalm* - -g:ale_php_psalm_executable *g:ale_php_psalm_executable* - *b:ale_php_psalm_executable* - Type: |String| - Default: `'psalm'` - - This variable sets the executable used for psalm. - -g:ale_psalm_langserver_options *g:ale_psalm_langserver_options* - *b:ale_psalm_langserver_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to psalm. - -=============================================================================== -php-cs-fixer *ale-php-php-cs-fixer* - -g:ale_php_cs_fixer_executable *g:ale_php_cs_fixer_executable* - *b:ale_php_cs_fixer_executable* - Type: |String| - Default: `'php-cs-fixer'` - - This variable sets executable used for php-cs-fixer. - -g:ale_php_cs_fixer_use_global *g:ale_php_cs_fixer_use_global* - *b:ale_php_cs_fixer_use_global* - Type: |Boolean| - Default: `get(g:, 'ale_use_global_executables', 0)` - - This variable force globally installed fixer. - -g:ale_php_cs_fixer_options *g:ale_php_cs_fixer_options* - *b:ale_php_cs_fixer_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to php-cs-fixer. - -=============================================================================== -php *ale-php-php* - -g:ale_php_php_executable *g:ale_php_php_executable* - *b:ale_php_php_executable* - Type: |String| - Default: `'php'` - - This variable sets the executable used for php. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-po.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-po.txt deleted file mode 100644 index 1e03b7b..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-po.txt +++ /dev/null @@ -1,12 +0,0 @@ -=============================================================================== -ALE PO Integration *ale-po-options* - - -=============================================================================== -write-good *ale-po-write-good* - -See |ale-write-good-options| - - -=============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-pod.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-pod.txt deleted file mode 100644 index c7cc0bb..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-pod.txt +++ /dev/null @@ -1,12 +0,0 @@ -=============================================================================== -ALE Pod Integration *ale-pod-options* - - -=============================================================================== -write-good *ale-pod-write-good* - -See |ale-write-good-options| - - -=============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-pony.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-pony.txt deleted file mode 100644 index 3b32168..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-pony.txt +++ /dev/null @@ -1,25 +0,0 @@ -=============================================================================== -ALE Pony Integration *ale-pony-options* - - -=============================================================================== -ponyc *ale-pony-ponyc* - -g:ale_pony_ponyc_executable *g:ale_pony_ponyc_executable* - *b:ale_pony_ponyc_executable* - Type: |String| - Default: `'ponyc'` - - See |ale-integrations-local-executables| - - -g:ale_pony_ponyc_options *g:ale_pony_ponyc_options* - *b:ale_pony_ponyc_options* - Type: |String| - Default: `'--pass paint'` - - This variable can be set to pass options to ponyc. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-powershell.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-powershell.txt deleted file mode 100644 index c28ef9e..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-powershell.txt +++ /dev/null @@ -1,77 +0,0 @@ -=============================================================================== -ALE PowerShell Integration *ale-powershell-options* - - -=============================================================================== -powershell *ale-powershell-powershell* - -g:ale_powershell_powershell_executable *g:ale_powershell_powershell_executable* - *b:ale_powershell_powershell_executable* - Type: String - Default: `'pwsh'` - - This variable can be changed to use a different executable for powershell. - -> - " Use powershell.exe rather than the default pwsh - let g:ale_powershell_powershell_executable = 'powershell.exe' -> - -=============================================================================== -psscriptanalyzer *ale-powershell-psscriptanalyzer* - -Installation -------------------------------------------------------------------------------- - -Install PSScriptAnalyzer by any means, so long as it can be automatically -imported in PowerShell. -Some PowerShell plugins set the filetype of files to `ps1`. To continue using -these plugins, use the ale_linter_aliases global to alias `ps1` to `powershell` - -> - " Allow ps1 filetype to work with powershell linters - let g:ale_linter_aliases = {'ps1': 'powershell'} -< - -g:ale_powershell_psscriptanalyzer_executable -*g:ale_powershell_psscriptanalyzer_executable* - *b:ale_powershell_psscriptanalyzer_executable* - Type: |String| - Default: `'pwsh'` - - This variable sets executable used for powershell. - - For example, on Windows you could set powershell to be Windows Powershell: -> - let g:ale_powershell_psscriptanalyzer_executable = 'powershell.exe' -< - -g:ale_powershell_psscriptanalyzer_module -*g:ale_powershell_psscriptanalyzer_module* - *b:ale_powershell_psscriptanalyzer_module* - Type: |String - Default: `'psscriptanalyzer'` - - This variable sets the name of the psscriptanalyzer module. - for psscriptanalyzer invocation. - - -g:ale_powershell_psscriptanalyzer_exclusions -*g:ale_powershell_psscriptanalyzer_exclusions* - *b:ale_powershell_psscriptanalyzer_exclusions* - Type: |String| - Default: `''` - - Set this variable to exclude test(s) for psscriptanalyzer - (-ExcludeRule option). To exclude more than one option, separate them with - commas. - -> - " Suppress Write-Host and Global vars warnings - let g:ale_powershell_psscriptanalyzer_exclusions = - \ 'PSAvoidUsingWriteHost,PSAvoidGlobalVars' -< - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-prolog.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-prolog.txt deleted file mode 100644 index 14062a5..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-prolog.txt +++ /dev/null @@ -1,56 +0,0 @@ -=============================================================================== -ALE Prolog Integration *ale-prolog-options* - - -=============================================================================== -swipl *ale-prolog-swipl* - -g:ale_prolog_swipl_executable *g:ale_prolog_swipl_executable* - *b:ale_prolog_swipl_executable* - Type: |String| - Default: `'swipl'` - - The executable that will be run for the `swipl` linter. - -g:ale_prolog_swipl_load *g:ale_prolog_swipl_load* - *b:ale_prolog_swipl_load* - Type: |String| - Default: `'current_prolog_flag(argv, [File]), load_files(File, [sandboxed(true)]), halt.'` - - The prolog goals that will be passed to |g:ale_prolog_swipl_executable| with `-g` option. - - It does: - 1. Takes the first command argument (current file path) - 2. Checks (syntactic / semantic) problems and output to stderr - - NOTE: `sandboxed(true)` prohibits executing some directives such as 'initialization main'. - -g:ale_prolog_swipl_timeout *g:ale_prolog_swipl_timeout* - *b:ale_prolog_swipl_timeout* - Type: |Number| - Default: `3` - - Timeout seconds to detect long-running linter. - It is done by setting SIGALRM. - See |g:ale_prolog_swipl_alarm| and |g:ale_prolog_swipl_alarm_handler|. - -g:ale_prolog_swipl_alarm *g:ale_prolog_swipl_alarm* - *b:ale_prolog_swipl_alarm* - Type: |String| - Default: `'alarm(%t, (%h), _, [])'` - - The prolog goals to be expected to set SIGALRM. - `%t` is replaced by |g:ale_prolog_swipl_timeout|. - `%h` is replaced by |g:ale_prolog_swipl_alarm_handler|. - -g:ale_prolog_swipl_alarm_handler *g:ale_prolog_swipl_alarm_handler* - *b:ale_prolog_swipl_alarm_handler* - Type: |String| - Default: `'writeln(user_error, "ERROR: Exceeded %t seconds, Please change g:prolog_swipl_timeout to modify the limit."), halt(1)'` - - The prolog goals to be expected that will be run on SIGALRM. - `%t` is replaced by |g:ale_prolog_swipl_timeout|. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-proto.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-proto.txt deleted file mode 100644 index 734e23d..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-proto.txt +++ /dev/null @@ -1,33 +0,0 @@ -=============================================================================== -ALE Proto Integration *ale-proto-options* - - -=============================================================================== -Integration Information - -Linting of `.proto` files requires that the `protoc` binary is installed in the -system path and that the `protoc-gen-lint` plugin for the `protoc` binary is also -installed. - -To enable `.proto` file linting, update |g:ale_linters| as appropriate: -> - " Enable linter for .proto files - let g:ale_linters = {'proto': ['protoc-gen-lint']} -< -=============================================================================== -protoc-gen-lint *ale-proto-protoc-gen-lint* - - The linter is a plugin for the `protoc` binary. As long as the binary resides - in the system path, `protoc` will find it. - -g:ale_proto_protoc_gen_lint_options *g:ale_proto_protoc_gen_lint_options* - - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to protoc. Note that the - directory of the linted file is always passed as an include path with '-I' - before any user-supplied options. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-pug.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-pug.txt deleted file mode 100644 index e2836f8..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-pug.txt +++ /dev/null @@ -1,44 +0,0 @@ -=============================================================================== -ALE Pug Integration *ale-pug-options* - - -=============================================================================== -puglint *ale-pug-puglint* - -The puglint linter will detect configuration files based on the path to the -filename automatically. Configuration files will be loaded in this order: - -1. `.pug-lintrc` -2. `.pug-lintrc.js` -3. `.pug-lintrc.json` -4. `package.json` - -You might need to create a configuration file for your project to get -meaningful results. - -g:ale_pug_puglint_executable *g:ale_pug_puglint_executable* - *b:ale_pug_puglint_executable* - Type: |String| - Default: `'pug-lint'` - - See |ale-integrations-local-executables| - - -g:ale_pug_puglint_options *g:ale_pug_puglint_options* - *b:ale_pug_puglint_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to pug-lint. - - -g:ale_pug_puglint_use_global *g:ale_pug_puglint_use_global* - *b:ale_pug_puglint_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-puppet.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-puppet.txt deleted file mode 100644 index daa8c10..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-puppet.txt +++ /dev/null @@ -1,57 +0,0 @@ -=============================================================================== -ALE Puppet Integration *ale-puppet-options* - - -=============================================================================== -puppet *ale-puppet-puppet* - -g:ale_puppet_puppet_executable *g:ale_puppet_puppet_executable* - *b:ale_puppet_puppet_executable* - Type: |String| - Default: `'puppet'` - - This variable can be changed to specify the executable used for puppet. - - -g:ale_puppet_puppet_options *g:ale_puppet_puppet_options* - *b:ale_puppet_puppet_options* - Type: |String| - Default: `''` - - This variable can be changed to add command-line arguments to the - puppet parser validate invocation. - - -=============================================================================== -puppetlint *ale-puppet-puppetlint* - -g:ale_puppet_puppetlint_executable *g:ale_puppet_puppetlint_executable* - *b:ale_puppet_puppetlint_executable* - Type: |String| - Default: `'puppet-lint'` - - This variable can be changed to specify the executable used for puppet-lint. - - -g:ale_puppet_puppetlint_options *g:ale_puppet_puppetlint_options* - *b:ale_puppet_puppetlint_options* - Type: |String| - Default: `'--no-autoloader_layout-check'` - - This variable can be changed to add command-line arguments to the - puppet-lint invocation. - - -=============================================================================== -puppet-languageserver *ale-puppet-languageserver* - -g:ale_puppet_languageserver_executable *g:ale_puppet_languageserver_executable* - *b:ale_puppet_languageserver_executable* - type: |String| - Default: `'puppet-languageserver'` - - This variable can be used to specify the executable used for - puppet-languageserver. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-purescript.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-purescript.txt deleted file mode 100644 index e809f2c..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-purescript.txt +++ /dev/null @@ -1,42 +0,0 @@ -=============================================================================== -ALE PureScript Integration *ale-purescript-options* - - -=============================================================================== -purescript-language-server *ale-purescript-language-server* - -PureScript Language Server - (https://github.com/nwolverson/purescript-language-server) - -g:ale_purescript_ls_executable g:ale_purescript_ls_executable - b:ale_purescript_ls_executable - Type: |String| - Default: `'purescript-language-server'` - - PureScript language server executable. - -g:ale_purescript_ls_config g:ale_purescript_ls_config - b:ale_purescript_ls_config - Type: |Dictionary| - Default: `{}` - - Dictionary containing configuration settings that will be passed to the - language server. For example, with a spago project: - { - \ 'purescript': { - \ 'addSpagoSources': v:true, - \ 'addNpmPath': v:true, - \ 'buildCommand': 'spago build -- --json-errors' - \ } - \} -=============================================================================== -purty *ale-purescript-purty* - -g:ale_purescript_purty_executable *g:ale_purescript_purty_executable* - *b:ale_purescript_purty_executable* - Type: |String| - Default: `'purty'` - - This variable can be changed to use a different executable for purty. -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-pyrex.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-pyrex.txt deleted file mode 100644 index 245e611..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-pyrex.txt +++ /dev/null @@ -1,25 +0,0 @@ -=============================================================================== -ALE Pyrex (Cython) Integration *ale-pyrex-options* - - -=============================================================================== -cython *ale-pyrex-cython* - -g:ale_pyrex_cython_executable *g:ale_pyrex_cython_executable* - *b:ale_pyrex_cython_executable* - Type: |String| - Default: `'cython'` - - This variable can be changed to use a different executable for cython. - - -g:ale_pyrex_cython_options *g:ale_pyrex_cython_options* - *b:ale_pyrex_cython_options* - Type: |String| - Default: `'--warning-extra --warning-errors'` - - This variable can be changed to modify flags given to cython. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-python.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-python.txt deleted file mode 100644 index 93f1d66..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-python.txt +++ /dev/null @@ -1,774 +0,0 @@ -=============================================================================== -ALE Python Integration *ale-python-options* - - -g:ale_python_auto_pipenv *g:ale_python_auto_pipenv* - *b:ale_python_auto_pipenv* - Type: |Number| - Default: `0` - - Detect whether the file is inside a pipenv, and set the executable to `pipenv` - if true. This is overridden by a manually-set executable. - -=============================================================================== -ALE Python Project Root Behavior *ale-python-root* - -For some linters, ALE will search for a Python project root by looking at the -files in directories on or above where a file being checked is. ALE applies -the following methods, in order: - -1. Find the first directory containing a common Python configuration file. -2. If no configuration file can be found, use the first directory which does - not contain a readable file named `__init__.py`. - -ALE will look for configuration files with the following filenames. > - - MANIFEST.in - setup.cfg - pytest.ini - tox.ini - mypy.ini - pycodestyle.cfg - .flake8 - .flake8rc - pylama.ini - pylintrc - .pylintrc - Pipfile - Pipfile.lock -< - -The first directory containing any of the files named above will be used. - - -=============================================================================== -autopep8 *ale-python-autopep8* - -g:ale_python_autopep8_executable *g:ale_python_autopep8_executable* - *b:ale_python_autopep8_executable* - Type: |String| - Default: `'autopep8'` - - See |ale-integrations-local-executables| - - -g:ale_python_autopep8_options *g:ale_python_autopep8_options* - *b:ale_python_autopep8_options* - Type: |String| - Default: `''` - - This variable can be set to pass extra options to autopep8. - - -g:ale_python_autopep8_use_global *g:ale_python_autopep8_use_global* - *b:ale_python_autopep8_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -bandit *ale-python-bandit* - -g:ale_python_bandit_executable *g:ale_python_bandit_executable* - *b:ale_python_bandit_executable* - Type: |String| - Default: `'bandit'` - - See |ale-integrations-local-executables| - - Set this to `'pipenv'` to invoke `'pipenv` `run` `bandit'`. - - -g:ale_python_bandit_options *g:ale_python_bandit_options* - *b:ale_python_bandit_options* - Type: |String| - Default: `''` - - This variable can be changed to add command-line arguments to the - bandit invocation. - - -g:ale_python_bandit_use_config *g:ale_python_bandit_use_config* - *b:ale_python_bandit_use_config* - Type: |Number| - Default: `1` - - If this variable is true and a `.bandit` file exists in the directory of the - file being checked or a parent directory, an `--ini` option is added to the - `bandit` command for the nearest `.bandit` file. Set this variable false to - disable adding the `--ini` option automatically. - - -g:ale_python_bandit_use_global *g:ale_python_bandit_use_global* - *b:ale_python_bandit_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -g:ale_python_bandit_auto_pipenv *g:ale_python_bandit_auto_pipenv* - *b:ale_python_bandit_auto_pipenv* - Type: |Number| - Default: `0` - - Detect whether the file is inside a pipenv, and set the executable to `pipenv` - if true. This is overridden by a manually-set executable. - - -=============================================================================== -black *ale-python-black* - -g:ale_python_black_executable *g:ale_python_black_executable* - *b:ale_python_black_executable* - Type: |String| - Default: `'black'` - - See |ale-integrations-local-executables| - - -g:ale_python_black_options *g:ale_python_black_options* - *b:ale_python_black_options* - Type: |String| - Default: `''` - - This variable can be set to pass extra options to black. - - -g:ale_python_black_use_global *g:ale_python_black_use_global* - *b:ale_python_black_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -g:ale_python_black_auto_pipenv *g:ale_python_black_auto_pipenv* - *b:ale_python_black_auto_pipenv* - Type: |Number| - Default: `0` - - Detect whether the file is inside a pipenv, and set the executable to `pipenv` - if true. This is overridden by a manually-set executable. - -g:ale_python_black_change_directory *g:ale_python_black_change_directory* - *b:ale_python_black_change_directory* - Type: |Number| - Default: `1` - - If set to `1`, ALE will switch to the directory the Python file being - checked with `black` is in before checking it. This helps `black` find - configuration files more easily. This option can be turned off if you want - to control the directory Python is executed from yourself. - - -=============================================================================== -flake8 *ale-python-flake8* - -g:ale_python_flake8_change_directory *g:ale_python_flake8_change_directory* - *b:ale_python_flake8_change_directory* - Type: |Number| - Default: `1` - - If set to `1`, ALE will switch to the directory the Python file being - checked with `flake8` is in before checking it. This helps `flake8` find - configuration files more easily. This option can be turned off if you want - to control the directory Python is executed from yourself. - - -g:ale_python_flake8_executable *g:ale_python_flake8_executable* - *b:ale_python_flake8_executable* - Type: |String| - Default: `'flake8'` - - This variable can be changed to modify the executable used for flake8. Set - this to `'pipenv'` to invoke `'pipenv` `run` `flake8'`. - - -g:ale_python_flake8_options *g:ale_python_flake8_options* - *b:ale_python_flake8_options* - Type: |String| - Default: `''` - - This variable can be changed to add command-line arguments to the flake8 - invocation. - - For example, to dynamically switch between programs targeting Python 2 and - Python 3, you may want to set > - - let g:ale_python_flake8_executable = 'python3' " or 'python' for Python 2 - let g:ale_python_flake8_options = '-m flake8' -< - after making sure it's installed for the appropriate Python versions (e.g. - `python3 -m pip install --user flake8`). - - -g:ale_python_flake8_use_global *g:ale_python_flake8_use_global* - *b:ale_python_flake8_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - This variable controls whether or not ALE will search for flake8 in a - virtualenv directory first. If this variable is set to `1`, then ALE will - always use |g:ale_python_flake8_executable| for the executable path. - - Both variables can be set with `b:` buffer variables instead. - - -g:ale_python_flake8_auto_pipenv *g:ale_python_flake8_auto_pipenv* - *b:ale_python_flake8_auto_pipenv* - Type: |Number| - Default: `0` - - Detect whether the file is inside a pipenv, and set the executable to `pipenv` - if true. This is overridden by a manually-set executable. - - -=============================================================================== -isort *ale-python-isort* - -g:ale_python_isort_executable *g:ale_python_isort_executable* - *b:ale_python_isort_executable* - Type: |String| - Default: `'isort'` - - See |ale-integrations-local-executables| - - -g:ale_python_isort_options *g:ale_python_isort_options* - *b:ale_python_isort_options* - Type: |String| - Default: `''` - - This variable can be set to pass extra options to isort. - - -g:ale_python_isort_use_global *g:ale_python_isort_use_global* - *b:ale_python_isort_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -mypy *ale-python-mypy* - -The minimum supported version of mypy that ALE supports is v0.4.4. This is -the first version containing the `--shadow-file` option ALE needs to be able -to check for errors while you type. - -`mypy` will be run from a detected project root, per |ale-python-root|. - - -g:ale_python_mypy_auto_pipenv *g:ale_python_mypy_auto_pipenv* - *b:ale_python_mypy_auto_pipenv* - Type: |Number| - Default: `0` - - Detect whether the file is inside a pipenv, and set the executable to `pipenv` - if true. This is overridden by a manually-set executable. - - -g:ale_python_mypy_executable *g:ale_python_mypy_executable* - *b:ale_python_mypy_executable* - Type: |String| - Default: `'mypy'` - - See |ale-integrations-local-executables| - - Set this to `'pipenv'` to invoke `'pipenv` `run` `mypy'`. - - -g:ale_python_mypy_ignore_invalid_syntax - *g:ale_python_mypy_ignore_invalid_syntax* - *b:ale_python_mypy_ignore_invalid_syntax* - Type: |Number| - Default: `0` - - When set to `1`, syntax error messages for mypy will be ignored. This option - can be used when running other Python linters which check for syntax errors, - as mypy can take a while to finish executing. - - -g:ale_python_mypy_options *g:ale_python_mypy_options* - *b:ale_python_mypy_options* - Type: |String| - Default: `''` - - This variable can be changed to add command-line arguments to the mypy - invocation. - - -g:ale_python_mypy_show_notes *g:ale_python_mypy_show_notes* - *b:ale_python_mypy_show_notes* - Type: |Number| - Default: `1` - - If enabled, notes on lines will be displayed as 'I' (info) messages. - - -g:ale_python_mypy_use_global *g:ale_python_mypy_use_global* - *b:ale_python_mypy_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - - -=============================================================================== -prospector *ale-python-prospector* - -g:ale_python_prospector_executable *g:ale_python_prospector_executable* - *b:ale_python_prospector_executable* - Type: |String| - Default: `'prospector'` - - See |ale-integrations-local-executables| - - Set this to `'pipenv'` to invoke `'pipenv` `run` `prospector'`. - - -g:ale_python_prospector_options *g:ale_python_prospector_options* - *b:ale_python_prospector_options* - Type: |String| - Default: `''` - - This variable can be changed to add command-line arguments to the prospector - invocation. - - For example, to dynamically switch between programs targeting Python 2 and - Python 3, you may want to set > - - let g:ale_python_prospector_executable = 'python3' - " or 'python' for Python 2 - let g:ale_python_prospector_options = '--rcfile /path/to/.prospector.yaml' - " The virtualenv detection needs to be disabled. - let g:ale_python_prospector_use_global = 0 - - after making sure it's installed for the appropriate Python versions (e.g. - `python3 -m pip install --user prospector`). - - -g:ale_python_prospector_use_global *g:ale_python_prospector_use_global* - *b:ale_python_prospector_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -g:ale_python_prospector_auto_pipenv *g:ale_python_prospector_auto_pipenv* - *b:ale_python_prospector_auto_pipenv* - Type: |Number| - Default: `0` - - Detect whether the file is inside a pipenv, and set the executable to `pipenv` - if true. This is overridden by a manually-set executable. - - -=============================================================================== -pycodestyle *ale-python-pycodestyle* - - -g:ale_python_pycodestyle_executable *g:ale_python_pycodestyle_executable* - *b:ale_python_pycodestyle_executable* - Type: |String| - Default: `'pycodestyle'` - - See |ale-integrations-local-executables| - - Set this to `'pipenv'` to invoke `'pipenv` `run` `pycodestyle'`. - - -g:ale_python_pycodestyle_options *g:ale_python_pycodestyle_options* - *b:ale_python_pycodestyle_options* - Type: |String| - Default: `''` - - This variable can be changed to add command-line arguments to the - pycodestyle invocation. - - -g:ale_python_pycodestyle_use_global *g:ale_python_pycodestyle_use_global* - *b:ale_python_pycodestyle_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -g:ale_python_pycodestyle_auto_pipenv *g:ale_python_pycodestyle_auto_pipenv* - *b:ale_python_pycodestyle_auto_pipenv* - Type: |Number| - Default: `0` - - Detect whether the file is inside a pipenv, and set the executable to `pipenv` - if true. This is overridden by a manually-set executable. - - -=============================================================================== -pydocstyle *ale-python-pydocstyle* - - -g:ale_python_pydocstyle_executable *g:ale_python_pydocstyle_executable* - *b:ale_python_pydocstyle_executable* - Type: |String| - Default: `'pydocstyle'` - - See |ale-integrations-local-executables| - - Set this to `'pipenv'` to invoke `'pipenv` `run` `pydocstyle'`. - - -g:ale_python_pydocstyle_options *g:ale_python_pydocstyle_options* - *b:ale_python_pydocstyle_options* - Type: |String| - Default: `''` - - This variable can be changed to add command-line arguments to the - pydocstyle invocation. - - -g:ale_python_pydocstyle_use_global *g:ale_python_pydocstyle_use_global* - *b:ale_python_pydocstyle_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -g:ale_python_pydocstyle_auto_pipenv *g:ale_python_pydocstyle_auto_pipenv* - *b:ale_python_pydocstyle_auto_pipenv* - Type: |Number| - Default: `0` - - Detect whether the file is inside a pipenv, and set the executable to `pipenv` - if true. This is overridden by a manually-set executable. - - -=============================================================================== -pyflakes *ale-python-pyflakes* - - -g:ale_python_pyflakes_executable *g:ale_python_pyflakes_executable* - *b:ale_python_pyflakes_executable* - Type: |String| - Default: `'pyflakes'` - - See |ale-integrations-local-executables| - - Set this to `'pipenv'` to invoke `'pipenv` `run` `pyflakes'`. - - -g:ale_python_pyflakes_auto_pipenv *g:ale_python_pyflakes_auto_pipenv* - *b:ale_python_pyflakes_auto_pipenv* - Type: |Number| - Default: `0` - - Detect whether the file is inside a pipenv, and set the executable to `pipenv` - if true. This is overridden by a manually-set executable. - - -=============================================================================== -pylama *ale-python-pylama* - -g:ale_python_pylama_change_directory *g:ale_python_pylama_change_directory* - *b:ale_python_pylama_change_directory* - Type: |Number| - Default: `1` - - If set to `1`, `pylama` will be run from a detected project root, per - |ale-python-root|. This is useful because `pylama` only searches for - configuration files in its current directory and applies file masks using - paths relative to its current directory. This option can be turned off if - you want to control the directory in which `pylama` is executed. - - -g:ale_python_pylama_executable *g:ale_python_pylama_executable* - *b:ale_python_pylama_executable* - Type: |String| - Default: `'pylama'` - - This variable can be changed to modify the executable used for pylama. Set - this to `'pipenv'` to invoke `'pipenv` `run` `pylama'`. - - -g:ale_python_pylama_options *g:ale_python_pylama_options* - *b:ale_python_pylama_options* - Type: |String| - Default: `''` - - This variable can be changed to add command-line arguments to the pylama - invocation. - - -g:ale_python_pylama_use_global *g:ale_python_pylama_use_global* - *b:ale_python_pylama_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - This variable controls whether or not ALE will search for pylama in a - virtualenv directory first. If this variable is set to `1`, then ALE will - always use |g:ale_python_pylama_executable| for the executable path. - - Both variables can be set with `b:` buffer variables instead. - - -g:ale_python_pylama_auto_pipenv *g:ale_python_pylama_auto_pipenv* - *b:ale_python_pylama_auto_pipenv* - Type: |Number| - Default: `0` - - Detect whether the file is inside a pipenv, and set the executable to `pipenv` - if true. This is overridden by a manually-set executable. - - -=============================================================================== -pylint *ale-python-pylint* - -g:ale_python_pylint_change_directory *g:ale_python_pylint_change_directory* - *b:ale_python_pylint_change_directory* - Type: |Number| - Default: `1` - - If set to `1`, `pylint` will be run from a detected project root, per - |ale-python-root|. Since `pylint` only checks for `pylintrc` in the packages - above its current directory before falling back to user and global `pylintrc` - files, this is necessary for `pylint` to use a project `pylintrc` file, if - present. This option can be turned off if you want to control the directory - Python is executed from yourself. - - -g:ale_python_pylint_executable *g:ale_python_pylint_executable* - *b:ale_python_pylint_executable* - Type: |String| - Default: `'pylint'` - - See |ale-integrations-local-executables| - - Set this to `'pipenv'` to invoke `'pipenv` `run` `pylint'`. - - -g:ale_python_pylint_options *g:ale_python_pylint_options* - *b:ale_python_pylint_options* - Type: |String| - Default: `''` - - This variable can be changed to add command-line arguments to the pylint - invocation. - - For example, to dynamically switch between programs targeting Python 2 and - Python 3, you may want to set > - - let g:ale_python_pylint_executable = 'python3' " or 'python' for Python 2 - let g:ale_python_pylint_options = '--rcfile /path/to/pylint.rc' - " The virtualenv detection needs to be disabled. - let g:ale_python_pylint_use_global = 0 - - after making sure it's installed for the appropriate Python versions (e.g. - `python3 -m pip install --user pylint`). - - -g:ale_python_pylint_use_global *g:ale_python_pylint_use_global* - *b:ale_python_pylint_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -g:ale_python_pylint_auto_pipenv *g:ale_python_pylint_auto_pipenv* - *b:ale_python_pylint_auto_pipenv* - Type: |Number| - Default: `0` - - Detect whether the file is inside a pipenv, and set the executable to `pipenv` - if true. This is overridden by a manually-set executable. - - -g:ale_python_pylint_use_msg_id *g:ale_python_pylint_use_msg_id* - *b:ale_python_pylint_use_msg_id* - Type: |Number| - Default: `0` - - Use message for output (e.g. I0011) instead of symbolic name of the message - (e.g. locally-disabled). - -=============================================================================== -pyls *ale-python-pyls* - -`pyls` will be run from a detected project root, per |ale-python-root|. - - -g:ale_python_pyls_executable *g:ale_python_pyls_executable* - *b:ale_python_pyls_executable* - Type: |String| - Default: `'pyls'` - - See |ale-integrations-local-executables| - - Set this to `'pipenv'` to invoke `'pipenv` `run` `pyls'`. - - -g:ale_python_pyls_use_global *g:ale_python_pyls_use_global* - *b:ale_python_pyls_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -g:ale_python_pyls_auto_pipenv *g:ale_python_pyls_auto_pipenv* - *b:ale_python_pyls_auto_pipenv* - Type: |Number| - Default: `0` - - Detect whether the file is inside a pipenv, and set the executable to `pipenv` - if true. This is overridden by a manually-set executable. - - -g:ale_python_pyls_config *g:ale_python_pyls_config* - *b:ale_python_pyls_config* - Type: |Dictionary| - Default: `{}` - - Dictionary with configuration settings for pyls. For example, to disable - the pycodestyle linter: > - { - \ 'pyls': { - \ 'plugins': { - \ 'pycodestyle': { - \ 'enabled': v:false - \ } - \ } - \ }, - \ } -< - -=============================================================================== -pyre *ale-python-pyre* - -`pyre` will be run from a detected project root, per |ale-python-root|. - - -g:ale_python_pyre_executable *g:ale_python_pyre_executable* - *b:ale_python_pyre_executable* - Type: |String| - Default: `'pyre'` - - See |ale-integrations-local-executables| - - Set this to `'pipenv'` to invoke `'pipenv` `run` `pyre'`. - - -g:ale_python_pyre_use_global *g:ale_python_pyre_use_global* - *b:ale_python_pyre_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -g:ale_python_pyre_auto_pipenv *g:ale_python_pyre_auto_pipenv* - *b:ale_python_pyre_auto_pipenv* - Type: |Number| - Default: `0` - - Detect whether the file is inside a pipenv, and set the executable to `pipenv` - if true. This is overridden by a manually-set executable. - - -=============================================================================== -reorder-python-imports *ale-python-reorder_python_imports* - -g:ale_python_reorder_python_imports_executable - *g:ale_python_reorder_python_imports_executable* - *b:ale_python_reorder_python_imports_executable* - Type: |String| - Default: `'reorder-python-imports'` - - See |ale-integrations-local-executables| - - -g:ale_python_reorder_python_imports_options - *g:ale_python_reorder_python_imports_options* - *b:ale_python_reorder_python_imports_options* - Type: |String| - Default: `''` - - This variable can be set to pass extra options to reorder-python-imports. - - -g:ale_python_reorder_python_imports_use_global - *g:ale_python_reorder_python_imports_use_global* - *b:ale_python_reorder_python_imports_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -vulture *ale-python-vulture* - -g:ale_python_vulture_change_directory *g:ale_python_vulture_change_directory* - *b:ale_python_vulture_change_directory* - Type: |Number| - Default: `1` - - If set to `1`, ALE will switch to the directory the Python file being - checked with `vulture` is in before checking it and check the whole project - directory instead of checking only the file opened in the current buffer. - This helps `vulture` to know the context and avoid false-negative results. - - -g:ale_python_vulture_executable *g:ale_python_vulture_executable* - *b:ale_python_vulture_executable* - Type: |String| - Default: `'vulture'` - - See |ale-integrations-local-executables| - - -g:ale_python_vulture_options *g:ale_python_vulture_options* - *b:ale_python_vulture_options* - Type: |String| - Default: `''` - - This variable can be changed to add command-line arguments to the vulture - invocation. - - -g:ale_python_vulture_use_global *g:ale_python_vulture_use_global* - *b:ale_python_vulture_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -yapf *ale-python-yapf* - -g:ale_python_yapf_executable *g:ale_python_yapf_executable* - *b:ale_python_yapf_executable* - Type: |String| - Default: `'yapf'` - - See |ale-integrations-local-executables| - - -g:ale_python_yapf_use_global *g:ale_python_yapf_use_global* - *b:ale_python_yapf_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-qml.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-qml.txt deleted file mode 100644 index f6d715a..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-qml.txt +++ /dev/null @@ -1,18 +0,0 @@ -=============================================================================== -ALE QML Integration *ale-qml-options* - - -=============================================================================== -qmlfmt *ale-qml-qmlfmt* - -g:ale_qml_qmlfmt_executable *g:ale_qml_qmlfmt_executable* - *b:ale_qml_qmlfmt_executable* - Type: |String| - Default: `'qmlfmt'` - - This variable can be set to change the path to qmlfmt. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: - diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-r.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-r.txt deleted file mode 100644 index b5ccebe..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-r.txt +++ /dev/null @@ -1,45 +0,0 @@ -=============================================================================== -ALE R Integration *ale-r-options* - - -=============================================================================== -lintr *ale-r-lintr* - -g:ale_r_lintr_options *g:ale_r_lintr_options* - *b:ale_r_lintr_options* - Type: |String| - Default: `'lintr::with_defaults()'` - - This option can be configured to change the options for lintr. - - The value of this option will be run with `eval` for the `lintr::lint` - options. Consult the lintr documentation for more information. - - -g:ale_r_lintr_lint_package *g:ale_r_lintr_lint_package* - *b:ale_r_lintr_lint_package* - Type: |Number| - Default: `0` - - When set to `1`, the file will be checked with `lintr::lint_package` instead - of `lintr::lint`. This prevents erroneous namespace warnings when linting - package files. - - -=============================================================================== -styler *ale-r-styler* - -g:ale_r_styler_options *g:ale_r_styler_options* - *b:ale_r_styler_options* - Type: |String| - Default: `'styler::tidyverse_style'` - - This option can be configured to change the options for styler. - - The value of this option will be used as the `style` argument for the - `styler::style_file` options. Consult the styler documentation - for more information. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-reasonml.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-reasonml.txt deleted file mode 100644 index b8729a5..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-reasonml.txt +++ /dev/null @@ -1,76 +0,0 @@ -=============================================================================== -ALE ReasonML Integration *ale-reasonml-options* - - -=============================================================================== -merlin *ale-reasonml-merlin* - -To use merlin linter for ReasonML source code you need to make sure Merlin for -Vim is correctly configured. See the corresponding Merlin wiki page for -detailed instructions: -https://github.com/the-lambda-church/merlin/wiki/vim-from-scratch - -=============================================================================== -ols *ale-reasonml-ols* - -The `ocaml-language-server` is the engine that powers OCaml and ReasonML -editor support using the Language Server Protocol. See the installation -instructions: -https://github.com/freebroccolo/ocaml-language-server#installation - - -g:ale_reason_ols_executable *g:ale_reason_ols_executable* - *b:ale_reason_ols_executable* - Type: |String| - Default: `'ocaml-language-server'` - - This variable can be set to change the executable path for `ols`. - - -g:ale_reason_ols_use_global *g:ale_reason_ols_use_global* - *b:ale_reason_ols_use_global* - Type: |String| - Default: `get(g:, 'ale_use_global_executables', 0)` - - This variable can be set to `1` to always use the globally installed - executable. See also |ale-integrations-local-executables|. - - -=============================================================================== -reason-language-server *ale-reasonml-language-server* - -Note: You must set an executable - there is no 'default' install location. -Go to https://github.com/jaredly/reason-language-server and download the -latest release. You can place it anywhere, but ensure you set the executable -path. - - -g:ale_reason_ls_executable *g:ale_reason_ls_executable* - *b:ale_reason_ls_executable* - Type: |String| - - This variable defines the standard location of the language server - executable. This must be set. - - -=============================================================================== -refmt *ale-reasonml-refmt* - -g:ale_reasonml_refmt_executable *g:ale_reasonml_refmt_executable* - *b:ale_reasonml_refmt_executable* - Type: |String| - Default: `'refmt'` - - This variable can be set to pass the path of the refmt fixer. - - -g:ale_reasonml_refmt_options *g:ale_reasonml_refmt_options* - *b:ale_reasonml_refmt_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to the refmt fixer. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-restructuredtext.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-restructuredtext.txt deleted file mode 100644 index e308b07..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-restructuredtext.txt +++ /dev/null @@ -1,26 +0,0 @@ -=============================================================================== -ALE reStructuredText Integration *ale-restructuredtext-options* - - -=============================================================================== -textlint *ale-restructuredtext-textlint* - -To use textlint at reStructuredText, please install `textlint-plugin-rst`. -https://github.com/jimo1001/textlint-plugin-rst -> - $ npm install textlint-plugin-rst - -To install `textlint-plugin-rst`, `docutils-ast-writer` python package -must be installed. -See: https://github.com/jimo1001/docutils-ast-writer - -See |ale-text-textlint| - -=============================================================================== -write-good *ale-restructuredtext-write-good* - -See |ale-write-good-options| - - -=============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-ruby.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-ruby.txt deleted file mode 100644 index a27a20b..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-ruby.txt +++ /dev/null @@ -1,195 +0,0 @@ -=============================================================================== -ALE Ruby Integration *ale-ruby-options* - - -=============================================================================== -brakeman *ale-ruby-brakeman* - -g:ale_ruby_brakeman_executable *g:ale_ruby_brakeman_executable* - *b:ale_ruby_brakeman_executable* - Type: String - Default: `'brakeman'` - - Override the invoked brakeman binary. Set this to `'bundle'` to invoke - `'bundle` `exec` brakeman'. - - -g:ale_ruby_brakeman_options *g:ale_ruby_brakeman_options* - *b:ale_ruby_brakeman_options* - Type: |String| - Default: `''` - - The contents of this variable will be passed through to brakeman. - -=============================================================================== -debride *ale-ruby-debride* - -g:ale_ruby_debride_executable *g:ale_ruby_debride_executable* - *b:ale_ruby_debride_executable* - Type: String - Default: `'debride'` - - Override the invoked debride binary. Set this to `'bundle'` to invoke - `'bundle` `exec` debride'. - - -g:ale_ruby_debride_options *g:ale_ruby_debride_options* - *b:ale_ruby_debride_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to debride. - - - -=============================================================================== -rails_best_practices *ale-ruby-rails_best_practices* - -g:ale_ruby_rails_best_practices_executable - *g:ale_ruby_rails_best_practices_executable* - *b:ale_ruby_rails_best_practices_executable* - Type: String - Default: `'rails_best_practices'` - - Override the invoked rails_best_practices binary. Set this to `'bundle'` to - invoke `'bundle` `exec` rails_best_practices'. - - -g:ale_ruby_rails_best_practices_options - *g:ale_ruby_rails_best_practices_options* - *b:ale_ruby_rails_best_practices_options* - Type: |String| - Default: `''` - - The contents of this variable will be passed through to rails_best_practices. - - -=============================================================================== -reek *ale-ruby-reek* - -g:ale_ruby_reek_executable *g:ale_ruby_reek_executable* - *b:ale_ruby_reek_executable* - Type: String - Default: `'reek'` - - Override the invoked reek binary. Set this to `'bundle'` to invoke - `'bundle` `exec` reek'. - - -g:ale_ruby_reek_show_context *g:ale_ruby_reek_show_context* - *b:ale_ruby_reek_show_context* - Type: |Number| - Default: 0 - - Controls whether context is included in the linter message. Defaults to off - because context is usually obvious while viewing a file. - - -g:ale_ruby_reek_show_wiki_link *g:ale_ruby_reek_show_wiki_link* - *b:ale_ruby_reek_show_wiki_link* - Type: |Number| - Default: 0 - - Controls whether linter messages contain a link to an explanatory wiki page - for the type of code smell. Defaults to off to improve readability. - - -=============================================================================== -rubocop *ale-ruby-rubocop* - -g:ale_ruby_rubocop_executable *g:ale_ruby_rubocop_executable* - *b:ale_ruby_rubocop_executable* - Type: String - Default: `'rubocop'` - - Override the invoked rubocop binary. Set this to `'bundle'` to invoke - `'bundle` `exec` rubocop'. - - -g:ale_ruby_rubocop_options *g:ale_ruby_rubocop_options* - *b:ale_ruby_rubocop_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to rubocop. - - -=============================================================================== -ruby *ale-ruby-ruby* - -g:ale_ruby_ruby_executable *g:ale_ruby_ruby_executable* - *b:ale_ruby_ruby_executable* - Type: String - Default: `'ruby'` - - This variable can be changed to use a different executable for ruby. - - -=============================================================================== -rufo *ale-ruby-rufo* - -g:ale_ruby_rufo_executable *g:ale_ruby_rufo_executable* - *b:ale_ruby_rufo_executable* - Type: String - Default: `'rufo'` - - Override the invoked rufo binary. This is useful for running rufo from - binstubs or a bundle. - - -=============================================================================== -solargraph *ale-ruby-solargraph* - -g:ale_ruby_solargraph_executable *g:ale_ruby_solargraph_executable* - *b:ale_ruby_solargraph_executable* - Type: String - Default: `'solargraph'` - - Override the invoked solargraph binary. This is useful for running solargraph - from binstubs or a bundle. - - -=============================================================================== -sorbet *ale-ruby-sorbet* - -g:ale_ruby_sorbet_executable *g:ale_ruby_sorbet_executable* - *b:ale_ruby_sorbet_executable* - Type: String - Default: `'srb'` - - Override the invoked sorbet binary. Set this to `'bundle'` to invoke - `'bundle` `exec` srb'. - - -g:ale_ruby_sorbet_options *g:ale_ruby_sorbet_options* - *b:ale_ruby_sorbet_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to sorbet. - - -=============================================================================== -standardrb *ale-ruby-standardrb* - -g:ale_ruby_standardrb_executable *g:ale_ruby_standardrb_executable* - *b:ale_ruby_standardrb_executable* - Type: String - Default: `'standardrb'` - - Override the invoked standardrb binary. Set this to `'bundle'` to invoke - `'bundle` `exec` standardrb'. - - -g:ale_ruby_standardrb_options *g:ale_ruby_standardrb_options* - *b:ale_ruby_standardrb_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to standardrb. - - -=============================================================================== - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-rust.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-rust.txt deleted file mode 100644 index 46d4714..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-rust.txt +++ /dev/null @@ -1,272 +0,0 @@ -=============================================================================== -ALE Rust Integration *ale-rust-options* - *ale-integration-rust* - -=============================================================================== -Integration Information - - If Vim does not detect the Rust file type out-of-the-box, you need the runtime - files for Rust distributed in Vim >=8.0.0501 or upstream: - https://github.com/rust-lang/rust.vim - - Note that there are several possible linters and fixers for Rust files: - - 1. rustc -- The Rust compiler is used to check the currently edited file. - So, if your project consists of multiple files, you will get some errors - when you use e.g. a struct which is defined in another file. You can use - |g:ale_rust_ignore_error_codes| to ignore some of these errors. - 2. cargo -- If your project is managed by Cargo, the whole project is - checked. That means that all errors are properly shown, but cargo can - only operate on the files written on disk, so errors will not be reported - while you type. - 3. rls -- If you have `rls` installed, you might prefer using this linter - over cargo. rls implements the Language Server Protocol for incremental - compilation of Rust code, and can check Rust files while you type. `rls` - requires Rust files to contained in Cargo projects. - 4. analyzer -- If you have rust-analyzer installed, you might prefer using - this linter over cargo and rls. rust-analyzer also implements the - Language Server Protocol for incremental compilation of Rust code, and is - the next iteration of rls. rust-analyzer, like rls, requires Rust files - to contained in Cargo projects. - 5. rustfmt -- If you have `rustfmt` installed, you can use it as a fixer to - consistently reformat your Rust code. - - Only cargo is enabled by default. To switch to using rustc instead of cargo, - configure |g:ale_linters| appropriately: > - - " See the help text for the option for more information. - let g:ale_linters = {'rust': ['rustc']} -< - - Also note that rustc 1.12. or later is needed. - - -=============================================================================== -analyzer *ale-rust-analyzer* - -g:ale_rust_analyzer_executable *g:ale_rust_analyzer_executable* - *b:ale_rust_analyzer_executable* - Type: |String| - Default: `'rust-analyzer'` - - This variable can be modified to change the executable path for - `rust-analyzer`. - - -g:ale_rust_analyzer_config *g:ale_rust_analyzer_config* - *b:ale_rust_analyzer_config* - Type: |Dictionary| - Default: `{}` - - Dictionary with configuration settings for rust-analyzer. - -=============================================================================== -cargo *ale-rust-cargo* - -g:ale_rust_cargo_use_check *g:ale_rust_cargo_use_check* - *b:ale_rust_cargo_use_check* - Type: |Number| - Default: `1` - - When set to `1`, this option will cause ALE to use `cargo check` instead of - `cargo build` . `cargo check` is supported since version 1.16.0 of Rust. - - ALE will never use `cargo check` when the version of `cargo` is less than - 0.17.0. - - -g:ale_rust_cargo_check_all_targets *g:ale_rust_cargo_check_all_targets* - *b:ale_rust_cargo_check_all_targets* - Type: |Number| - Default: `0` - - When set to `1`, ALE will set the `--all-targets` option when `cargo check` - is used. See |g:ale_rust_cargo_use_check|, - - -g:ale_rust_cargo_check_tests *g:ale_rust_cargo_check_tests* - *b:ale_rust_cargo_check_tests* - Type: |Number| - Default: `0` - - When set to `1`, ALE will set the `--tests` option when `cargo check` - is used. This allows for linting of tests which are normally excluded. - See |g:ale_rust_cargo_use_check|, - - -g:ale_rust_cargo_check_examples *g:ale_rust_cargo_check_examples* - *b:ale_rust_cargo_check_examples* - Type: |Number| - Default: `0` - - When set to `1`, ALE will set the `--examples` option when `cargo check` - is used. This allows for linting of examples which are normally excluded. - See |g:ale_rust_cargo_use_check|, - - -g:ale_rust_cargo_default_feature_behavior - *g:ale_rust_cargo_default_feature_behavior* - *b:ale_rust_cargo_default_feature_behavior* - Type: |String| - Default: `default` - - When set to `none`, ALE will set the `--no-default-features` option when - invoking `cargo`. Only the features specified in - |g:ale_rust_cargo_include_features| will be included when performing the - lint check. - - When set to `default`, ALE will instruct `cargo` to build all default - features specified in the project's `Cargo.toml` file, in addition to - including any additional features defined in - |g:ale_rust_cargo_include_features|. - - When set to `all`, ALE will set the `--all-features` option when - invoking `cargo`, which will include all features defined in the project's - `Cargo.toml` file when performing the lint check. - - -g:ale_rust_cargo_include_features *g:ale_rust_cargo_include_features* - *b:ale_rust_cargo_include_features* - Type: |String| - Default: `''` - - When defined, ALE will set the `--features` option when invoking `cargo` to - perform the lint check. See |g:ale_rust_cargo_default_feature_behavior|. - - -g:ale_rust_cargo_avoid_whole_workspace *g:ale_rust_cargo_avoid_whole_workspace* - *b:ale_rust_cargo_avoid_whole_workspace* - Type: |Number| - Default: `1` - - When set to 1, and ALE is used to edit a crate that is part of a Cargo - workspace, avoid building the entire workspace by invoking `cargo` directly - in the crate's directory. Otherwise, behave as usual. - - -g:ale_rust_cargo_use_clippy - *g:ale_rust_cargo_use_clippy* - *b:ale_rust_cargo_use_clippy* - Type: |Number| - Default: `0` - - When set to 1, `cargo clippy` will be used instead of `cargo check` or - `cargo build` as linter. - For details of `cargo clippy`, please visit the following link: - - https://github.com/rust-lang-nursery/rust-clippy - - Since `cargo clippy` is optional toolchain, it's safer to check whether - `cargo-clippy` is executable as follows: -> - let g:ale_rust_cargo_use_clippy = executable('cargo-clippy') -< - -g:ale_rust_cargo_clippy_options - *g:ale_rust_cargo_clippy_options* - *b:ale_rust_cargo_clippy_options* - - Type: |String| - Default: `''` - - When `cargo clippy` is used, this value will be added to a command line to run - it. This variable is useful when you want to add some extra options which - only `cargo clippy` supports (e.g. `--deny`). - - -=============================================================================== -rls *ale-rust-rls* - -g:ale_rust_rls_executable *g:ale_rust_rls_executable* - *b:ale_rust_rls_executable* - Type: |String| - Default: `'rls'` - - This variable can be modified to change the executable path for `rls`. - - -g:ale_rust_rls_toolchain *g:ale_rust_rls_toolchain* - *b:ale_rust_rls_toolchain* - Type: |String| - Default: `''` - - This option can be set to change the toolchain used for `rls`. Possible - values include `'nightly'`, `'beta'`, `'stable'`, and `''`. When using - option `''`, rls will automatically find the default toolchain set by - rustup. If you want to use `rls` from a specific toolchain version, you may - also use values like `'channel-yyyy-mm-dd-arch-target'` as long as - `'rls +{toolchain_name} -V'` runs correctly in your command line. - - The `rls` server will only be started once per executable. - - -g:ale_rust_rls_config *g:ale_rust_rls_config* - *b:ale_rust_rls_config* - Type: |Dictionary| - Default: `{}` - - Dictionary with configuration settings for rls. For example, to force - using clippy as linter: > - { - \ 'rust': { - \ 'clippy_preference': 'on' - \ } - \ } - - -=============================================================================== -rustc *ale-rust-rustc* - - -g:ale_rust_rustc_options *g:ale_rust_rustc_options* - *b:ale_rust_rustc_options* - Type: |String| - Default: `'-Z no-codegen'` - - The variable can be used to change the options passed to `rustc`. - - `-Z no-codegen` should only work with nightly builds of Rust. Be careful when - setting the options, as running `rustc` could execute code or generate - binary files. - - -g:ale_rust_ignore_error_codes *g:ale_rust_ignore_error_codes* - *b:ale_rust_ignore_error_codes* - Type: |List| of |String|s - Default: `[]` - - This variable can contain error codes which will be ignored. For example, to - ignore most errors regarding failed imports, put this in your .vimrc - > - let g:ale_rust_ignore_error_codes = ['E0432', 'E0433'] - -g:ale_rust_ignore_secondary_spans *g:ale_rust_ignore_secondary_spans* - *b:ale_rust_ignore_secondary_spans* - Type: Number - Default: 0 - - When set to 1, instructs the Rust error repporting to ignore secondary - spans. The problem with secondary spans is that they sometimes appear in - error messages before the main cause of the error, for example: > - - 1 src/main.rs|98 col 5 error| this function takes 4 parameters but 5 - parameters were supplied: defined here - 2 src/main.rs|430 col 32 error| this function takes 4 parameters but 5 - parameters were supplied: expected 4 parameters -< - This is due to the sorting by line numbers. With this option set to 1, - the 'defined here' span will not be presented. - -=============================================================================== -rustfmt *ale-rust-rustfmt* - -g:ale_rust_rustfmt_options *g:ale_rust_rustfmt_options* - *b:ale_rust_rustfmt_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to the rustfmt fixer. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-sass.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-sass.txt deleted file mode 100644 index 22d7c47..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-sass.txt +++ /dev/null @@ -1,31 +0,0 @@ -=============================================================================== -ALE Sass Integration *ale-sass-options* - - -=============================================================================== -sasslint *ale-sass-sasslint* - -See |ale-scss-sasslint| for information about the available options. - - -=============================================================================== -stylelint *ale-sass-stylelint* - -g:ale_sass_stylelint_executable *g:ale_sass_stylelint_executable* - *b:ale_sass_stylelint_executable* - Type: |String| - Default: `'stylelint'` - - See |ale-integrations-local-executables| - - -g:ale_sass_stylelint_use_global *g:ale_sass_stylelint_use_global* - *b:ale_sass_stylelint_use_global* - Type: |String| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-scala.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-scala.txt deleted file mode 100644 index c9638ba..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-scala.txt +++ /dev/null @@ -1,124 +0,0 @@ -=============================================================================== -ALE Scala Integration *ale-scala-options* - - -=============================================================================== -metals *ale-scala-metals* - -`metals` requires either an SBT project, a Mill project, or a running Bloop -server. - - -g:ale_scala_metals_executable *g:ale_scala_metals_executable* - *b:ale_scala_metals_executable* - Type: |String| - Default: `'metals-vim'` - - Override the invoked `metals` binary. - - -g:ale_scala_metals_project_root *g:ale_scala_metals_project_root* - *b:ale_scala_metals_project_root* - Type: |String| - Default: `''` - - By default the project root is found by searching upwards for `build.sbt`, - `build.sc`, `.bloop` or `.metals`. - If the project root is elsewhere, you can override the project root - directory. - - -=============================================================================== -sbtserver *ale-scala-sbtserver* - -`sbtserver` requires a running ^1.1.x sbt shell to connect to. It will attempt -to connect via TCP to the address defined in `g:ale_scala_sbtserver_address`. -As `sbt` defaults to listening via unix sockets, place these settings into -your `~/.sbt/1.0/global.sbt` to ensure that ale will always attempt to connect -to the right socket: - -`serverConnectionType := ConnectionType.Tcp` and `serverPort := 4273` - - -g:ale_scala_sbtserver_address *g:ale_scala_sbtserver_address* - *b:ale_scala_sbtserver_address* - Type: |String| - Default: `'127.0.0.1:4273'` - - By default the address is found by parsing `active.json`, however, reading a - file is a blocking operation which should be avoided in ale. The easy way - around this is to configure sbt to always connect to the same port, which - the instructions above describe. - - -g:ale_scala_sbtserver_project_root *g:ale_scala_sbtserver_project_root* - *b:ale_scala_sbtserver_project_root* - Type: |String| - Default: `''` - - By default the project root is found by searching upwards for `build.sbt`. - If the project root is elsewhere, you can override the project root - directory. - - -=============================================================================== -scalafmt *ale-scala-scalafmt* - -If Nailgun is used, override `g:ale_scala_scalafmt_executable` like so: > - let g:ale_scala_scalafmt_executable = 'ng' - - -g:ale_scala_scalafmt_executable *g:ale_scala_scalafmt_executable* - *b:ale_scala_scalafmt_executable* - Type: |String| - Default: `'scalafmt'` - - Override the invoked `scalafmt` binary. This is useful for running `scalafmt` - with Nailgun. - - -g:ale_scala_scalafmt_options *g:ale_scala_scalafmt_options* - *b:ale_scala_scalafmt_options* - Type: |String| - Default: `''` - - A string containing additional options to pass to `'scalafmt'`, or - `'ng scalafmt'` if Nailgun is used. - - -=============================================================================== -scalastyle *ale-scala-scalastyle* - -`scalastyle` requires a configuration file for a project to run. When no -configuration file can be found, ALE will report a problem saying that a -configuration file is required at line 1. - -To disable `scalastyle` globally, use |g:ale_linters| like so: > - let g:ale_linters = {'scala': ['scalac']} " Enable only scalac instead -< - -See |g:ale_linters| for more information on disabling linters. - - -g:ale_scala_scalastyle_config *g:ale_scala_scalastyle_config* - *b:ale_scala_scalastyle_config* - Type: |String| - Default: `''` - - A string containing the location of a global fallback configuration file. - - By default, ALE will look for a configuration file named - `scalastyle_config.xml` or `scalastyle-config.xml` in the current file's - directory or parent directories. - - -g:ale_scala_scalastyle_options *g:ale_scala_scalastyle_options* - *b:ale_scala_scalastyle_options* - Type: |String| - Default: `''` - - A string containing additional options to pass to scalastyle. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-scss.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-scss.txt deleted file mode 100644 index 07a94fe..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-scss.txt +++ /dev/null @@ -1,64 +0,0 @@ -=============================================================================== -ALE SCSS Integration *ale-scss-options* - - -=============================================================================== -prettier *ale-scss-prettier* - -See |ale-javascript-prettier| for information about the available options. - - -=============================================================================== -sasslint *ale-scss-sasslint* - -g:ale_scss_sasslint_executable *g:ale_scss_sasslint_executable* - *b:ale_scss_sasslint_executable* - Type: |String| - Default: `'sass-lint'` - - See |ale-integrations-local-executables| - - -g:ale_scss_sasslint_options *g:ale_scss_sasslint_options* - *b:ale_scss_sasslint_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to sass-lint. - - -g:ale_scss_sasslint_use_global *g:ale_scss_sasslint_use_global* - *b:ale_scss_sasslint_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -stylelint *ale-scss-stylelint* - -g:ale_scss_stylelint_executable *g:ale_scss_stylelint_executable* - *b:ale_scss_stylelint_executable* - Type: |String| - Default: `'stylelint'` - - See |ale-integrations-local-executables| - -g:ale_scss_stylelint_options *g:ale_scss_stylelint_options* - *b:ale_scss_stylelint_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to stylelint. - -g:ale_scss_stylelint_use_global *g:ale_scss_stylelint_use_global* - *b:ale_scss_stylelint_use_global* - Type: |String| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-sh.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-sh.txt deleted file mode 100644 index 3eac903..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-sh.txt +++ /dev/null @@ -1,115 +0,0 @@ -=============================================================================== -ALE Shell Integration *ale-sh-options* - - -=============================================================================== -sh-language-server *ale-sh-language-server* - -g:ale_sh_language_server_executable *g:ale_sh_language_server_executable* - *b:ale_sh_language_server_executable* - Type: |String| - Default: `'bash-language-server'` - - See |ale-integrations-local-executables| - - -g:ale_sh_language_server_use_global *g:ale_sh_language_server_use_global* - *b:ale_sh_language_server_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -shell *ale-sh-shell* - -g:ale_sh_shell_default_shell *g:ale_sh_shell_default_shell* - *b:ale_sh_shell_default_shell* - Type: |String| - Default: The current shell (`$SHELL`). Falls back to `'bash'` if that cannot be - read or if the current shell is `'fish'`. - - When ALE runs the linter for shells with the `-n` flag, it will attempt to - read the shell from the shebang (`#!`) line from the shell script to - determine the shell program to run. When this detection fails, this variable - will be used instead. - - -=============================================================================== -shellcheck *ale-sh-shellcheck* - -g:ale_sh_shellcheck_executable *g:ale_sh_shellcheck_executable* - *b:ale_sh_shellcheck_executable* - Type: |String| - Default: `'shellcheck'` - - This variable sets executable used for shellcheck. - - -g:ale_sh_shellcheck_options *g:ale_sh_shellcheck_options* - *b:ale_sh_shellcheck_options* - Type: |String| - Default: `''` - - With this variable we are able to pass extra arguments for shellcheck - for shellcheck invocation. - - For example, if we want shellcheck to follow external sources (`see SC1091`) - we can set the variable as such: -> - let g:ale_sh_shellcheck_options = '-x' -< - - -g:ale_sh_shellcheck_change_directory *g:ale_sh_shellcheck_change_directory* - *b:ale_sh_shellcheck_change_directory* - Type: |Number| - Default: `1` - - If set to `1`, ALE will switch to the directory the shell file being - checked with `shellcheck` is in before checking it. This helps `shellcheck` - determine the path to sourced files more easily. This option can be turned - off if you want to control the directory `shellcheck` is executed from - yourself. - - -g:ale_sh_shellcheck_dialect *g:ale_sh_shellcheck_dialect* - *b:ale_sh_shellcheck_dialect* - Type: |String| - Default: `'auto'` - - This variable specifies the shellcheck dialect (`-s` option). The value - `'auto'` causes ALE to detect the dialect automatically, based on the shebang - line (if present) or the value of `b:is_bash`, `b:is_sh`, or `b:is_kornshell` - (set and used by |sh.vim|). - - -g:ale_sh_shellcheck_exclusions *g:ale_sh_shellcheck_exclusions* - *b:ale_sh_shellcheck_exclusions* - Type: |String| - Default: `''` - - Set this variable to exclude test(s) for shellcheck (-e/--exclude option). - To exclude more than one option, separate them with commas. - - For example, to ignore some warnings that aren't applicable to files that - will be sourced by other scripts, use the buffer-local variant: -> - autocmd BufEnter PKGBUILD,.env - \ let b:ale_sh_shellcheck_exclusions = 'SC2034,SC2154,SC2164' -< - -=============================================================================== -shfmt *ale-sh-shfmt* - -g:ale_sh_shfmt_options *g:ale_sh_shfmt_options* - *b:ale_sh_shfmt_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to the shfmt fixer. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-sml.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-sml.txt deleted file mode 100644 index cc8d679..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-sml.txt +++ /dev/null @@ -1,36 +0,0 @@ -=============================================================================== -ALE SML Integration *ale-sml-options* - -=============================================================================== -smlnj *ale-sml-smlnj* - *ale-sml-smlnj-cm* - -There are two SML/NJ powered checkers: - -- one using Compilation Manager that works on whole projects, but requires you - to save before errors show up -- one using the SML/NJ REPL that works as you change the text, but might fail - if your project can only be built with CM. - -We dynamically select which one to use based whether we find a `*.cm` file at -or above the directory of the file being checked. Only one checker (`smlnj`, -`smlnj-cm`) will be enabled at a time. - -------------------------------------------------------------------------------- - -g:ale_sml_smlnj_cm_file *g:ale_sml_smlnj_cm_file* - *b:ale_sml_smlnj_cm_file* - Type: |String| - Default: `'*.cm'` - - By default, ALE will look for a `*.cm` file in your current directory, - searching upwards. It stops when it finds at least one `*.cm` file (taking - the first file if there are more than one). - - Change this option (in the buffer or global scope) to control how ALE finds - CM files. For example, to always search for a CM file named `sandbox.cm`: -> - let g:ale_sml_smlnj_cm_file = 'sandbox.cm' - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-solidity.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-solidity.txt deleted file mode 100644 index b6e4867..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-solidity.txt +++ /dev/null @@ -1,36 +0,0 @@ -=============================================================================== -ALE Solidity Integration *ale-solidity-options* - - -=============================================================================== -solc *ale-solidity-solc* - - -g:ale_solidity_solc_options *g:ale_solidity_solc_options* - *b:ale_solidity_solc_options* - Type: |String| - Default: `''` - - This variable can be set to pass extra options to solc. - - -=============================================================================== -solhint *ale-solidity-solhint* - - Solhint should work out-of-the-box. You can further configure it using a - `.solihint.json` file. See https://github.com/protofire/solhint for more - information. - - -=============================================================================== -solium *ale-solidity-solium* - - Use of Solium linter for Solidity source code requires a .soliumrc.json - file in project root. This file can be generated by running `solium --init`. - See the corresponding solium usage for detailed instructions - (https://github.com/duaraghav8/Solium#usage). - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: - diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-spec.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-spec.txt deleted file mode 100644 index 3da950c..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-spec.txt +++ /dev/null @@ -1,43 +0,0 @@ -=============================================================================== -ALE Spec Integration *ale-spec-options* - *ale-integration-spec* - -=============================================================================== -Integration Information - - The rpmlint linter is disabled by default, because running rpmlint can - result in the execution of code embedded in the spec file and rpmlint makes - no distinction between checks which are safe to run on untrusted files and - those which are not. - - Currently linters must be enabled globally. The rpmlint linter can be - enabled with: -> - let g:ale_linters = {'spec': ['rpmlint']} -< - -=============================================================================== -rpmlint *ale-spec-rpmlint* - -g:ale_spec_rpmlint_executable *g:ale_spec_rpmlint_executable* - *b:ale_spec_rpmlint_executable* - Type: |String| - Default: `'rpmlint'` - - This variable sets executable used for rpmlint. - - -g:ale_spec_rpmlint_options *g:ale_spec_rpmlint_options* - *b:ale_spec_rpmlint_options* - Type: |String| - Default: `''` - - Set this to pass extra arguments to rpmlint. - - For example, to instruct rpmlint to use a specific configuration file: -> - let g:ale_spec_rpmlint_options = '-f custom.cf' -< - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-sql.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-sql.txt deleted file mode 100644 index 2807271..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-sql.txt +++ /dev/null @@ -1,61 +0,0 @@ -=============================================================================== -ALE SQL Integration *ale-sql-options* - - -=============================================================================== -pgformatter *ale-sql-pgformatter* - -g:ale_sql_pgformatter_executable *g:ale_sql_pgformatter_executable* - *b:ale_sql_pgformatter_executable* - Type: |String| - Default: `'pg_format'` - - This variable sets executable used for pgformatter. - -g:ale_sql_pgformatter_options *g:ale_sql_pgformatter_options* - *b:ale_sql_pgformatter_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to the pgformatter fixer. - - -=============================================================================== -sqlfmt *ale-sql-sqlfmt* - -g:ale_sql_sqlfmt_executable *g:ale_sql_sqlfmt_executable* - *b:ale_sql_sqlfmt_executable* - Type: |String| - Default: `'sqlfmt'` - - This variable sets executable used for sqlfmt. - -g:ale_sql_sqlfmt_options *g:ale_sql_sqlfmt_options* - *b:ale_sql_sqlfmt_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to the sqlfmt fixer. - At this time only the -u flag is available to format with upper-case. - - -=============================================================================== -sqlformat *ale-sql-sqlformat* - -g:ale_sql_sqlformat_executable *g:ale_sql_sqlformat_executable* - *b:ale_sql_sqlformat_executable* - Type: |String| - Default: `'sqlformat'` - - This variable sets executable used for sqlformat. - -g:ale_sql_sqlformat_options *g:ale_sql_sqlformat_options* - *b:ale_sql_sqlformat_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to the sqlformat fixer. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-stylus.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-stylus.txt deleted file mode 100644 index 3e6ba90..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-stylus.txt +++ /dev/null @@ -1,33 +0,0 @@ -=============================================================================== -ALE Stylus Integration *ale-stylus-options* - - -=============================================================================== -stylelint *ale-stylus-stylelint* - -g:ale_stylus_stylelint_executable *g:ale_stylus_stylelint_executable* - *b:ale_stylus_stylelint_executable* - Type: |String| - Default: `'stylelint'` - - See |ale-integrations-local-executables| - - -g:ale_stylus_stylelint_options *g:ale_stylus_stylelint_options* - *b:ale_stylus_stylelint_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to stylelint. - - -g:ale_stylus_stylelint_use_global *g:ale_stylus_stylelint_use_global* - *b:ale_stylus_stylelint_use_global* - Type: |String| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-sugarss.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-sugarss.txt deleted file mode 100644 index 8e991e5..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-sugarss.txt +++ /dev/null @@ -1,31 +0,0 @@ -=============================================================================== -ALE SugarSS Integration *ale-sugarss-options* - - -=============================================================================== -stylelint *ale-sugarss-stylelint* - -g:ale_sugarss_stylelint_executable *g:ale_sugarss_stylelint_executable* - *b:ale_sugarss_stylelint_executable* - Type: |String| - Default: `'stylelint'` - - See |ale-integrations-local-executables| - -g:ale_sugarss_stylelint_options *g:ale_sugarss_stylelint_options* - *b:ale_sugarss_stylelint_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to stylelint. - -g:ale_sugarss_stylelint_use_global *g:ale_sugarss_stylelint_use_global* - *b:ale_sugarss_stylelint_use_global* - Type: |String| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-supported-languages-and-tools.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-supported-languages-and-tools.txt deleted file mode 100644 index 4525229..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-supported-languages-and-tools.txt +++ /dev/null @@ -1,512 +0,0 @@ -*ale-supported-languages-and-tools.txt* For Vim version 8.0. -*ale-supported-list* - -ALE Supported Languages and Tools - -=============================================================================== - -The following languages and tools are supported by ALE. - -Notes: - -`^` No linters for text or Vim help filetypes are enabled by default. -`!!` These linters check only files on disk. See |ale-lint-file-linters| - -* Ada - * `gcc` - * `gnatpp` -* Ansible - * `ansible-lint` -* API Blueprint - * `drafter` -* AsciiDoc - * `alex`!! - * `proselint` - * `redpen` - * `textlint` - * `vale` - * `write-good` -* ASM - * `gcc` -* Awk - * `gawk` -* Bash - * `language-server` - * `shell` (-n flag) - * `shellcheck` - * `shfmt` -* Bats - * `shellcheck` -* BibTeX - * `bibclean` -* Bourne Shell - * `shell` (-n flag) - * `shellcheck` - * `shfmt` -* C - * `ccls` - * `clang` - * `clangd` - * `clang-format` - * `clangtidy`!! - * `cppcheck` - * `cpplint`!! - * `cquery` - * `flawfinder` - * `gcc` - * `uncrustify` -* C# - * `csc`!! - * `mcs` - * `mcsc`!! - * `uncrustify` -* C++ (filetype cpp) - * `ccls` - * `clang` - * `clangcheck`!! - * `clangd` - * `clang-format` - * `clangtidy`!! - * `clazy`!! - * `cppcheck` - * `cpplint`!! - * `cquery` - * `flawfinder` - * `gcc` - * `uncrustify` -* Chef - * `cookstyle` - * `foodcritic` -* Clojure - * `clj-kondo` - * `joker` -* CloudFormation - * `cfn-python-lint` -* CMake - * `cmake-format` - * `cmakelint` -* CoffeeScript - * `coffee` - * `coffeelint` -* Crystal - * `ameba`!! - * `crystal`!! -* CSS - * `csslint` - * `fecs` - * `prettier` - * `stylelint` -* Cucumber - * `cucumber` -* CUDA - * `nvcc`!! -* Cypher - * `cypher-lint` -* Cython (pyrex filetype) - * `cython` -* D - * `dfmt` - * `dls` - * `dmd` - * `uncrustify` -* Dafny - * `dafny`!! -* Dart - * `dartanalyzer`!! - * `dartfmt`!! - * `language_server` -* Dockerfile - * `dockerfile_lint` - * `hadolint` -* Elixir - * `credo` - * `dialyxir` - * `dogma` - * `elixir-ls` - * `mix`!! -* Elm - * `elm-format` - * `elm-ls` - * `elm-make` -* Erb - * `erb` - * `erubi` - * `erubis` - * `ruumba` -* Erlang - * `erlc` - * `SyntaxErl` -* Fish - * `fish` (-n flag) -* Fortran - * `gcc` - * `language_server` -* Fountain - * `proselint` -* FusionScript - * `fusion-lint` -* Git Commit Messages - * `gitlint` -* GLSL - * glslang - * `glslls` -* Go - * `bingo` - * `go build`!! - * `gofmt` - * `goimports` - * `golangci-lint`!! - * `golangserver` - * `golint` - * `gometalinter`!! - * `go mod`!! - * `gopls` - * `gosimple`!! - * `gotype`!! - * `go vet`!! - * `revive`!! - * `staticcheck`!! -* GraphQL - * `eslint` - * `gqlint` - * `prettier` -* Hack - * `hack` - * `hackfmt` - * `hhast` -* Haml - * `haml-lint` -* Handlebars - * `ember-template-lint` -* Haskell - * `brittany` - * `cabal-ghc` - * `floskell` - * `ghc` - * `ghc-mod` - * `hdevtools` - * `hfmt` - * `hie` - * `hindent` - * `hlint` - * `stack-build`!! - * `stack-ghc` - * `stylish-haskell` -* HCL - * `terraform-fmt` -* HTML - * `alex`!! - * `fecs` - * `html-beautify` - * `HTMLHint` - * `prettier` - * `proselint` - * `tidy` - * `write-good` -* Idris - * `idris` -* Ink - * `ink-language-server` -* ISPC - * `ispc`!! -* Java - * `checkstyle` - * `eclipselsp` - * `google-java-format` - * `javac` - * `javalsp` - * `PMD` - * `uncrustify` -* JavaScript - * `eslint` - * `fecs` - * `flow` - * `jscs` - * `jshint` - * `prettier` - * `prettier-eslint` - * `prettier-standard` - * `standard` - * `tsserver` - * `xo` -* JSON - * `fixjson` - * `jq` - * `jsonlint` - * `prettier` -* Julia - * `languageserver` -* Kotlin - * `kotlinc`!! - * `ktlint`!! - * `languageserver` -* LaTeX (tex) - * `alex`!! - * `chktex` - * `lacheck` - * `proselint` - * `redpen` - * `texlab` - * `textlint` - * `vale` - * `write-good` -* Less - * `lessc` - * `prettier` - * `stylelint` -* LLVM - * `llc` -* Lua - * `luac` - * `luacheck` -* Mail - * `alex`!! - * `languagetool`!! - * `proselint` - * `vale` -* Make - * `checkmake` -* Markdown - * `alex`!! - * `languagetool`!! - * `markdownlint`!! - * `mdl` - * `prettier` - * `proselint` - * `redpen` - * `remark-lint` - * `textlint` - * `vale` - * `write-good` -* MATLAB - * `mlint` -* Mercury - * `mmc`!! -* NASM - * `nasm`!! -* Nim - * `nim check`!! - * `nimlsp` - * `nimpretty` -* nix - * `nix-instantiate` - * `nixpkgs-fmt` -* nroff - * `alex`!! - * `proselint` - * `write-good` -* Objective-C - * `ccls` - * `clang` - * `clangd` - * `uncrustify` -* Objective-C++ - * `clang` - * `clangd` - * `uncrustify` -* OCaml - * `merlin` (see |ale-ocaml-merlin|) - * `ocamlformat` - * `ocp-indent` - * `ols` -* Pawn - * `uncrustify` -* Perl - * `perl -c` - * `perl-critic` - * `perltidy` -* Perl6 - * `perl6 -c` -* PHP - * `langserver` - * `phan` - * `phpcbf` - * `phpcs` - * `php-cs-fixer` - * `php -l` - * `phpmd` - * `phpstan` - * `psalm`!! -* PO - * `alex`!! - * `msgfmt` - * `proselint` - * `write-good` -* Pod - * `alex`!! - * `proselint` - * `write-good` -* Pony - * `ponyc` -* PowerShell - * `powershell` - * `psscriptanalyzer` -* Prolog - * `swipl` -* proto - * `protoc-gen-lint` -* Pug - * `pug-lint` -* Puppet - * `languageserver` - * `puppet` - * `puppet-lint` -* PureScript - * `purescript-language-server` - * `purty` -* Python - * `autopep8` - * `bandit` - * `black` - * `flake8` - * `isort` - * `mypy` - * `prospector` - * `pycodestyle` - * `pydocstyle` - * `pyflakes` - * `pylama`!! - * `pylint`!! - * `pyls` - * `pyre` - * `reorder-python-imports` - * `vulture`!! - * `yapf` -* QML - * `qmlfmt` - * `qmllint` -* R - * `lintr` - * `styler` -* Racket - * `raco` -* ReasonML - * `merlin` - * `ols` - * `reason-language-server` - * `refmt` -* reStructuredText - * `alex`!! - * `proselint` - * `redpen` - * `rstcheck` - * `textlint` - * `vale` - * `write-good` -* Re:VIEW - * `redpen` -* RPM spec - * `rpmlint` -* Ruby - * `brakeman` - * `debride` - * `rails_best_practices`!! - * `reek` - * `rubocop` - * `ruby` - * `rufo` - * `solargraph` - * `sorbet` - * `standardrb` -* Rust - * `cargo`!! - * `rls` - * `rust-analyzer` - * `rustc` (see |ale-integration-rust|) - * `rustfmt` -* Sass - * `sass-lint` - * `stylelint` -* Scala - * `fsc` - * `metals` - * `sbtserver` - * `scalac` - * `scalafmt` - * `scalastyle` -* SCSS - * `prettier` - * `sass-lint` - * `scss-lint` - * `stylelint` -* Slim - * `slim-lint` -* SML - * `smlnj` -* Solidity - * `solc` - * `solhint` - * `solium` -* SQL - * `pgformatter` - * `sqlfmt` - * `sqlformat` - * `sqlint` -* Stylus - * `stylelint` -* SugarSS - * `stylelint` -* Swift - * `sourcekit-lsp` - * `swiftformat` - * `swiftlint` -* Tcl - * `nagelfar`!! -* Terraform - * `fmt` - * `tflint` -* Texinfo - * `alex`!! - * `proselint` - * `write-good` -* Text^ - * `alex`!! - * `languagetool`!! - * `proselint` - * `redpen` - * `textlint` - * `vale` - * `write-good` -* Thrift - * `thrift` -* TypeScript - * `eslint` - * `fecs` - * `prettier` - * `standard` - * `tslint` - * `tsserver` - * `typecheck` -* VALA - * `uncrustify` -* Verilog - * `iverilog` - * `verilator` - * `vlog` - * `xvlog` -* VHDL - * `ghdl` - * `vcom` - * `xvhdl` -* Vim - * `vimls` - * `vint` -* Vim help^ - * `alex`!! - * `proselint` - * `write-good` -* Vue - * `prettier` - * `vls` -* XHTML - * `alex`!! - * `proselint` - * `write-good` -* XML - * `xmllint` -* YAML - * `prettier` - * `swaglint` - * `yamllint` -* YANG - * `yang-lsp` diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-swift.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-swift.txt deleted file mode 100644 index 8fa0c06..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-swift.txt +++ /dev/null @@ -1,21 +0,0 @@ -=============================================================================== -ALE Swift Integration *ale-swift-options* - - -=============================================================================== -sourcekitlsp *ale-swift-sourcekitlsp* - -To enable the SourceKit-LSP you need to install and build the executable as -described here: https://github.com/apple/sourcekit-lsp#building-sourcekit-lsp - - -g:ale_sourcekit_lsp_executable *g:ale_sourcekit_lsp_executable* - *b:ale_sourcekit_lsp_executable* - Type: |String| - Default: `'sourcekit-lsp'` - - See |ale-integrations-local-executables| - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: - diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-tcl.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-tcl.txt deleted file mode 100644 index 497c9fd..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-tcl.txt +++ /dev/null @@ -1,25 +0,0 @@ -=============================================================================== -ALE Tcl Integration *ale-tcl-options* - - -=============================================================================== -nagelfar *ale-tcl-nagelfar* - -g:ale_tcl_nagelfar_executable *g:ale_tcl_nagelfar_executable* - *b:ale_tcl_nagelfar_executable* - Type: |String| - Default: `'nagelfar.tcl'` - - This variable can be changed to change the path to nagelfar. - - -g:ale_tcl_nagelfar_options *g:ale_tcl_nagelfar_options* - *b:ale_tcl_nagelfar_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to nagelfar. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-terraform.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-terraform.txt deleted file mode 100644 index f62db19..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-terraform.txt +++ /dev/null @@ -1,78 +0,0 @@ -=============================================================================== -ALE Terraform Integration *ale-terraform-options* - - -=============================================================================== -terraform-fmt-fixer *ale-terraform-fmt-fixer* - -g:ale_terraform_fmt_executable *g:ale_terraform_fmt_executable* - *b:ale_terraform_fmt_executable* - - Type: |String| - Default: `'terraform'` - - This variable can be changed to use a different executable for terraform. - - -g:ale_terraform_fmt_options *g:ale_terraform_fmt_options* - *b:ale_terraform_fmt_options* - Type: |String| - Default: `''` - - -=============================================================================== -terraform *ale-terraform-terraform* - -g:ale_terraform_terraform_executable *g:ale_terraform_terraform_executable* - *b:ale_terraform_terraform_executable* - - Type: |String| - Default: `'terraform'` - - This variable can be changed to use a different executable for terraform. - - -=============================================================================== -terraform-lsp *ale-terraform-terraform-lsp* - -g:ale_terraform_langserver_executable *g:ale_terraform_langserver_executable* - *b:ale_terraform_langserver_executable* - Type: |String| - Default: `'terraform-lsp'` - - This variable can be changed to use a different executable for terraform-lsp. - - -g:ale_terraform_langserver_options *g:ale_terraform_langserver_options* - *b:ale_terraform_langserver_options* - Type: |String| - Default: `''` - - This variable can be changed to pass custom CLI flags to terraform-lsp. - - -=============================================================================== -tflint *ale-terraform-tflint* - -g:ale_terraform_tflint_executable *g:ale_terraform_tflint_executable* - *b:ale_terraform_tflint_executable* - - Type: |String| - Default: `'tflint'` - - This variable can be changed to use a different executable for tflint. - - -g:ale_terraform_tflint_options *g:ale_terraform_tflint_options* - *b:ale_terraform_tflint_options* - Type: |String| - Default: `'-f json'` - - This variable can be changed to pass different options to tflint. Ale does - expect json output from tflint, so if you change this, you'll probably want - to include '-f json' in your new value. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: - diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-tex.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-tex.txt deleted file mode 100644 index ceb9fa8..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-tex.txt +++ /dev/null @@ -1,77 +0,0 @@ -=============================================================================== -ALE TeX Integration *ale-tex-options* - - -=============================================================================== -chktex *ale-tex-chktex* - -g:ale_tex_chktex_executable *g:ale_tex_chktex_executable* - *b:ale_tex_chktex_executable* - Type: |String| - Default: `'chktex'` - - This variable can be changed to change the path to chktex. - - -g:ale_tex_chktex_options *g:ale_tex_chktex_options* - *b:ale_tex_chktex_options* - Type: |String| - Default: `'-I'` - - This variable can be changed to modify flags given to chktex. - - ------------------------------------------------------------------------------- -lacheck *ale-tex-lacheck* - -g:ale_lacheck_executable *g:ale_lacheck_executable* - *b:ale_lacheck_executable* - Type: |String| - Default: '`lacheck`' - - This variable can be changed to change the path to lacheck. - - - -=============================================================================== -latexindent *ale-tex-latexindent* - -g:ale_tex_latexindent_executable *g:ale_tex_latexindent_executable* - *b:ale_tex_latexindent_executable* - Type: |String| - Default: `'latexindent'` - - This variable can be changed to change the path to latexindent. - - -g:ale_tex_latexindent_options *g:ale_tex_latexindent_options* - *b:ale_tex_latexindent_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to latexindent. - - - -=============================================================================== -texlab *ale-tex-texlab* - -g:ale_tex_texlab_executable *g:ale_tex_texlab_executable* - *b:ale_tex_texlab_executable* - Type: |String| - Default: `'texlab'` - - This variable can be changed to change the path to texlab. - - -g:ale_tex_texlab_options *g:ale_tex_texlab_options* - *b:ale_tex_texlab_options* - Type: |String| - Default: `''` - - This variable can be changed to modify flags given to texlab. - - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-texinfo.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-texinfo.txt deleted file mode 100644 index f8ed342..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-texinfo.txt +++ /dev/null @@ -1,12 +0,0 @@ -=============================================================================== -ALE Texinfo Integration *ale-texinfo-options* - - -=============================================================================== -write-good *ale-texinfo-write-good* - -See |ale-write-good-options| - - -=============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-text.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-text.txt deleted file mode 100644 index 913d7e6..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-text.txt +++ /dev/null @@ -1,42 +0,0 @@ -=============================================================================== -ALE Text Integration *ale-text-options* - - -=============================================================================== -textlint *ale-text-textlint* - -The options for the textlint linter are global because it does not make -sense to have them specified on a per-language basis. - -g:ale_textlint_executable *g:ale_textlint_executable* - *b:ale_textlint_executable* - Type: |String| - Default: `'textlint'` - - See |ale-integrations-local-executables| - - -g:ale_textlint_options *g:ale_textlint_options* - *b:ale_textlint_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to textlint. - - -g:ale_textlint_use_global *g:ale_textlint_use_global* - *b:ale_textlint_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -write-good *ale-text-write-good* - -See |ale-write-good-options| - - -=============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-thrift.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-thrift.txt deleted file mode 100644 index bb2ec05..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-thrift.txt +++ /dev/null @@ -1,46 +0,0 @@ -=============================================================================== -ALE Thrift Integration *ale-thrift-options* - - -=============================================================================== -thrift *ale-thrift-thrift* - -The `thrift` linter works by compiling the buffer's contents and reporting any -errors reported by the parser and the configured code generator(s). - -g:ale_thrift_thrift_executable *g:ale_thrift_thrift_executable* - *b:ale_thrift_thrift_executable* - Type: |String| - Default: `'thrift'` - - See |ale-integrations-local-executables| - - -g:ale_thrift_thrift_generators *g:ale_thrift_thrift_generators* - *b:ale_thrift_thrift_generators* - Type: |List| of |String|s - Default: `['cpp']` - - This list must contain one or more named code generators. Generator options - can be included as part of each string, e.g. `['py:dynamic']`. - - -g:ale_thrift_thrift_includes *g:ale_thrift_thrift_includes* - *b:ale_thrift_thrift_includes* - Type: |List| of |String|s - Default: `['.']` - - This list contains paths that will be searched for thrift `include` - directives. - - -g:ale_thrift_thrift_options *g:ale_thrift_thrift_options* - *b:ale_thrift_thrift_options* - Type: |String| - Default: `'-strict'` - - This variable can be changed to customize the additional command-line - arguments that are passed to the thrift compiler. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-typescript.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-typescript.txt deleted file mode 100644 index 2c50d11..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-typescript.txt +++ /dev/null @@ -1,142 +0,0 @@ -=============================================================================== -ALE TypeScript Integration *ale-typescript-options* - - -=============================================================================== -eslint *ale-typescript-eslint* - -Because of how TypeScript compiles code to JavaScript and how interrelated -the two languages are, the `eslint` linter for TypeScript uses the JavaScript -options for `eslint` too. See: |ale-javascript-eslint|. - - -=============================================================================== -prettier *ale-typescript-prettier* - -See |ale-javascript-prettier| for information about the available options. - - -=============================================================================== -standard *ale-typescript-standard* - -g:ale_typescript_standard_executable *g:ale_typescript_standard_executable* - *b:ale_typescript_standard_executable* - Type: |String| - Default: `'standard'` - - See |ale-integrations-local-executables| - - -g:ale_typescript_standard_options *g:ale_typescript_standard_options* - *b:ale_typescript_standard_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to standard. - - -g:ale_typescript_standard_use_global *g:ale_typescript_standard_use_global* - *b:ale_typescript_standard_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -tslint *ale-typescript-tslint* - -This linter isn't recommended, because TSLint can't be used for checking for -problems while you type. You should probably use the tsserver plugin instead. -tsserver plugins are described here: -https://github.com/Microsoft/TypeScript/wiki/Writing-a-Language-Service-Plugin - -Follow the instructions on the plugin website for installing it: -https://github.com/Microsoft/typescript-tslint-plugin - -Then disable TSLint in vimrc or any other Vim configuration file. > - let g:ale_linters_ignore = {'typescript': ['tslint']} -< - -g:ale_typescript_tslint_executable *g:ale_typescript_tslint_executable* - *b:ale_typescript_tslint_executable* - Type: |String| - Default: `'tslint'` - - See |ale-integrations-local-executables| - - -g:ale_typescript_tslint_config_path *g:ale_typescript_tslint_config_path* - *b:ale_typescript_tslint_config_path* - Type: |String| - Default: `''` - - ALE will first discover the tslint.json path in an ancestor directory. If no - such path exists, this variable will be used instead. - - -g:ale_typescript_tslint_ignore_empty_files - *g:ale_typescript_tslint_ignore_empty_files* - *b:ale_typescript_tslint_ignore_empty_files* - Type: |Number| - Default: `0` - - When set to `1`, ALE will not report any problems for empty files with - TSLint. ALE will still execute TSLint for the files, but ignore any problems - reported. This stops ALE from complaining about newly created files, - and files where lines have been added and then removed. - - -g:ale_typescript_tslint_rules_dir *g:ale_typescript_tslint_rules_dir* - *b:ale_typescript_tslint_rules_dir* - Type: |String| - Default: `''` - - If this variable is set, ALE will use it as the rules directory for tslint. - - -g:ale_typescript_tslint_use_global *g:ale_typescript_tslint_use_global* - *b:ale_typescript_tslint_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -tsserver *ale-typescript-tsserver* - -g:ale_typescript_tsserver_executable *g:ale_typescript_tsserver_executable* - *b:ale_typescript_tsserver_executable* - Type: |String| - Default: `'tsserver'` - - ALE will first discover the tsserver path in an ancestor node_modules - directory. If no such path exists, this variable will be used instead. - - If you wish to use only a globally installed version of tsserver, set - |g:ale_typescript_tsserver_use_global| to `1`. - - -g:ale_typescript_tsserver_config_path *g:ale_typescript_tsserver_config_path* - *b:ale_typescript_tsserver_config_path* - Type: |String| - Default: `''` - - ALE will first discover the tsserver.json path in an ancestor directory. If - no such path exists, this variable will be used instead. - - -g:ale_typescript_tsserver_use_global *g:ale_typescript_tsserver_use_global* - *b:ale_typescript_tsserver_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - This variable controls whether or not ALE will search for a local path for - tsserver first. If this variable is set to `1`, then ALE will always use the - global version of tsserver, in preference to locally installed versions of - tsserver in node_modules. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-vala.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-vala.txt deleted file mode 100644 index ca24bcf..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-vala.txt +++ /dev/null @@ -1,12 +0,0 @@ -=============================================================================== -ALE VALA Integration *ale-vala-options* - - -=============================================================================== -uncrustify *ale-vala-uncrustify* - -See |ale-c-uncrustify| for information about the available options. - - -=============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-verilog.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-verilog.txt deleted file mode 100644 index 94b820b..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-verilog.txt +++ /dev/null @@ -1,102 +0,0 @@ -=============================================================================== -ALE Verilog/SystemVerilog Integration *ale-verilog-options* - - -=============================================================================== -ALE can use four different linters for Verilog HDL: - - iverilog: - Using `iverilog -t null -Wall` - - verilator - Using `verilator --lint-only -Wall` - - ModelSim/Questa - Using `vlog -quiet -lint` - - Vivado - Using `xvlog` - -By default, both 'verilog' and 'systemverilog' filetypes are checked. - -You can limit 'systemverilog' files to be checked using only 'verilator' by -defining 'g:ale_linters' variable: -> - au FileType systemverilog - \ let g:ale_linters = {'systemverilog' : ['verilator'],} -< - -Linters/compilers that utilize a "work" directory for analyzing designs- such -as ModelSim and Vivado- can be passed the location of these directories as -part of their respective option strings listed below. This is useful for -holistic analysis of a file (e.g. a design with components, packages, or other -code defined external to the current file as part of a larger project) or -when wanting to simply pass an alternative location for the auto-generated -work directories (such as '/tmp') so as to not muddle the current directory. -Since these type of linters often use this work directory for holding compiled -design data as part of a single build process, they sometimes cannot handle -the frequent, asynchronous application launches when linting while text is -changing. This can happen in the form of hangs or crashes. To help prevent -this when using these linters, it may help to run linting less frequently; for -example, only when a file is saved. - -=============================================================================== -iverilog *ale-verilog-iverilog* - - No additional options - - -=============================================================================== -verilator *ale-verilog-verilator* - -g:ale_verilog_verilator_options *g:ale_verilog_verilator_options* - *b:ale_verilog_verilator_options* - Type: |String| - Default: `''` - - This variable can be changed to modify 'verilator' command arguments - - For example `'-sv --default-language "1800-2012"'` if you want to enable - SystemVerilog parsing and select the 2012 version of the language. - - -=============================================================================== -vlog *ale-verilog-vlog* - -g:ale_verilog_vlog_executable *g:ale_verilog_vlog_executable* - *b:ale_verilog_vlog_executable* - Type: |String| - Default: `'vlog'` - - This variable can be changed to the path to the 'vlog' executable. - - -g:ale_verilog_vlog_options *g:ale_verilog_vlog_options* - *b:ale_verilog_vlog_options* - Type: |String| - Default: `'-quiet -lint'` - - This variable can be changed to modify the flags/options passed to 'vlog'. - - -=============================================================================== -xvlog *ale-verilog-xvlog* - -g:ale_verilog_xvlog_executable *g:ale_verilog_xvlog_executable* - *b:ale_verilog_xvlog_executable* - Type: |String| - Default: `'xvlog'` - - This variable can be changed to the path to the 'xvlog' executable. - - -g:ale_verilog_xvlog_options *g:ale_verilog_xvlog_options* - *b:ale_verilog_xvlog_options* - Type: |String| - Default: `''` - - This variable can be changed to modify the flags/options passed to 'xvlog'. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-vhdl.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-vhdl.txt deleted file mode 100644 index 3fea947..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-vhdl.txt +++ /dev/null @@ -1,92 +0,0 @@ -=============================================================================== -ALE VHDL Integration *ale-vhdl-options* - - -=============================================================================== -ALE can use three different linters for VHDL: - - iverilog: - Using `iverilog -t null -Wall` - - ModelSim/Questa - Using `vcom -2008 -quiet -lint` - - Vivado - Using `xvhdl --2008` - -Note all linters default to VHDL-2008 support. This, and other options, can be -changed with each linter's respective option variable. - -Linters/compilers that utilize a "work" directory for analyzing designs- such -as ModelSim and Vivado- can be passed the location of these directories as -part of their respective option strings listed below. This is useful for -holistic analysis of a file (e.g. a design with components, packages, or other -code defined external to the current file as part of a larger project) or -when wanting to simply pass an alternative location for the auto-generated -work directories (such as '/tmp') so as to not muddle the current directory. -Since these type of linters often use this work directory for holding compiled -design data as part of a single build process, they sometimes cannot handle -the frequent, asynchronous application launches when linting while text is -changing. This can happen in the form of hangs or crashes. To help prevent -this when using these linters, it may help to run linting less frequently; for -example, only when a file is saved. - -=============================================================================== -ghdl *ale-vhdl-ghdl* - -g:ale_vhdl_ghdl_executable *g:ale_vhdl_ghdl_executable* - *b:ale_vhdl_ghdl_executable* - Type: |String| - Default: `'ghdl'` - - This variable can be changed to the path to the 'ghdl' executable. - - -g:ale_vhdl_ghdl_options *g:ale_vhdl_ghdl_options* - *b:ale_vhdl_ghdl_options* - Type: |String| - Default: `'--std=08'` - - This variable can be changed to modify the flags/options passed to 'ghdl'. - - -=============================================================================== -vcom *ale-vhdl-vcom* - -g:ale_vhdl_vcom_executable *g:ale_vhdl_vcom_executable* - *b:ale_vhdl_vcom_executable* - Type: |String| - Default: `'vcom'` - - This variable can be changed to the path to the 'vcom' executable. - - -g:ale_vhdl_vcom_options *g:ale_vhdl_vcom_options* - *b:ale_vhdl_vcom_options* - Type: |String| - Default: `'-2008 -quiet -lint'` - - This variable can be changed to modify the flags/options passed to 'vcom'. - - -=============================================================================== -xvhdl *ale-vhdl-xvhdl* - -g:ale_vhdl_xvhdl_executable *g:ale_vhdl_xvhdl_executable* - *b:ale_vhdl_xvhdl_executable* - Type: |String| - Default: `'xvhdl'` - - This variable can be changed to the path to the 'xvhdl' executable. - - -g:ale_vhdl_xvhdl_options *g:ale_vhdl_xvhdl_options* - *b:ale_vhdl_xvhdl_options* - Type: |String| - Default: `'--2008'` - - This variable can be changed to modify the flags/options passed to 'xvhdl'. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-vim-help.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-vim-help.txt deleted file mode 100644 index 3cbe20d..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-vim-help.txt +++ /dev/null @@ -1,12 +0,0 @@ -=============================================================================== -ALE Vim help Integration *ale-vim-help-options* - - -=============================================================================== -write-good *ale-vim-help-write-good* - -See |ale-write-good-options| - - -=============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-vim.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-vim.txt deleted file mode 100644 index f85b43e..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-vim.txt +++ /dev/null @@ -1,82 +0,0 @@ -=============================================================================== -ALE Vim Integration *ale-vim-options* - - -=============================================================================== -vimls *ale-vim-vimls* - - The `vim-language-server` is the engine that powers VimL editor support - using the Language Server Protocol. See the installation instructions: - https://github.com/iamcco/vim-language-server#install - -g:ale_vim_vimls_executable *g:ale_vim_vimls_executable* - *b:ale_vim_vimls_executable* - Type: |String| - Default: `'vim-language-server'` - - This option can be set to change the executable path for vimls. - - -g:ale_vim_vimls_config *g:ale_vim_vimls_config* - *b:ale_vim_vimls_config* - Type: |Dictionary| - Default: `{}` - - Dictionary containing configuration settings that will be passed to the - language server. For example: > - { - \ 'vim': { - \ 'iskeyword': '@,48-57,_,192-255,-#', - \ 'vimruntime': '', - \ 'runtimepath': '', - \ 'diagnostic': { - \ 'enable': v:true - \ }, - \ 'indexes': { - \ 'runtimepath': v:true, - \ 'gap': 100, - \ 'count': 3, - \ 'projectRootPatterns' : ['.git', 'autoload', 'plugin'] - \ }, - \ 'suggest': { - \ 'fromVimruntime': v:true, - \ 'fromRuntimepath': v:false - \ }, - \ } - \} -< - Consult the vim-language-server documentation for more information about - settings. - - -g:ale_vim_vimls_use_global *g:ale_vim_vimls_use_global* - *b:ale_vim_vimls_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -vint *ale-vim-vint* - -g:ale_vim_vint_executable *g:ale_vim_vint_executable* - *b:ale_vim_vint_executable* - Type: |String| - Default: `'vint'` - - This option can be set to change the executable path for Vint. - - -g:ale_vim_vint_show_style_issues *g:ale_vim_vint_show_style_issues* - *b:ale_vim_vint_show_style_issues* - Type: |Number| - Default: `1` - - This variable will enable/disable style issues for Vint. When this option - is disabled, only warnings and errors which are not purely style issues - will be reported. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-vue.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-vue.txt deleted file mode 100644 index a2c2786..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-vue.txt +++ /dev/null @@ -1,31 +0,0 @@ -=============================================================================== -ALE Vue Integration *ale-vue-options* - - -=============================================================================== -prettier *ale-vue-prettier* - -See |ale-javascript-prettier| for information about the available options. - - -=============================================================================== -vls *ale-vue-vls* - -g:ale_vue_vls_executable *g:ale_vue_vls_executable* - *b:ale_vue_vls_executable* - Type: |String| - Default: `'vls'` - - See |ale-integrations-local-executables| - - -g:ale_vue_vls_use_global *g:ale_vue_vls_use_global* - *b:ale_vue_vls_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-xhtml.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-xhtml.txt deleted file mode 100644 index 3cc639e..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-xhtml.txt +++ /dev/null @@ -1,12 +0,0 @@ -=============================================================================== -ALE XHTML Integration *ale-xhtml-options* - - -=============================================================================== -write-good *ale-xhtml-write-good* - -See |ale-write-good-options| - - -=============================================================================== -vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-xml.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-xml.txt deleted file mode 100644 index e43fdef..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-xml.txt +++ /dev/null @@ -1,34 +0,0 @@ -=============================================================================== -ALE XML Integration *ale-xml-options* - - -=============================================================================== -xmllint *ale-xml-xmllint* - -g:ale_xml_xmllint_executable *g:ale_xml_xmllint_executable* - *b:ale_xml_xmllint_executable* - Type: |String| - Default: `'xmllint'` - - This variable can be set to change the path to xmllint. - - -g:ale_xml_xmllint_options *g:ale_xml_xmllint_options* - *b:ale_xml_xmllint_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to xmllint. - - -g:ale_xml_xmllint_indentsize *g:ale_xml_xmllint_indentsize* - *b:ale_xml_xmllint_indentsize* - Type: |Number| - Default: 2 - - This variable can be sent to specify the amount of spaces used for - indentation. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: - diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-yaml.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-yaml.txt deleted file mode 100644 index c9a12ea..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-yaml.txt +++ /dev/null @@ -1,92 +0,0 @@ -=============================================================================== -ALE YAML Integration *ale-yaml-options* - -=============================================================================== -prettier *ale-yaml-prettier* - -Website: https://github.com/prettier/prettier - - -Installation -------------------------------------------------------------------------------- - -Install prettier either globally or locally: > - - npm install prettier -g # global - npm install prettier # local -< - -=============================================================================== -swaglint *ale-yaml-swaglint* - -Website: https://github.com/byCedric/swaglint - - -Installation -------------------------------------------------------------------------------- - -Install swaglint either globally or locally: > - - npm install swaglint -g # global - npm install swaglint # local -< - -Options -------------------------------------------------------------------------------- - -g:ale_yaml_swaglint_executable *g:ale_yaml_swaglint_executable* - *b:ale_yaml_swaglint_executable* - Type: |String| - Default: `'swaglint'` - - This variable can be set to change the path to swaglint. - - -g:ale_yaml_swaglint_use_global *g:ale_yaml_swaglint_use_global* - *b:ale_yaml_swaglint_use_global* - Type: |String| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -=============================================================================== -yamllint *ale-yaml-yamllint* - -Website: https://github.com/adrienverge/yamllint - - -Installation -------------------------------------------------------------------------------- - -Install yamllint in your a virtualenv directory, locally, or globally: > - - pip install yamllint # After activating virtualenv - pip install --user yamllint # Install to ~/.local/bin - sudo pip install yamllint # Install globally - -See |g:ale_virtualenv_dir_names| for configuring how ALE searches for -virtualenv directories. - - -Options -------------------------------------------------------------------------------- - -g:ale_yaml_yamllint_executable *g:ale_yaml_yamllint_executable* - *b:ale_yaml_yamllint_executable* - Type: |String| - Default: `'yamllint'` - - This variable can be set to change the path to yamllint. - - -g:ale_yaml_yamllint_options *g:ale_yaml_yamllint_options* - *b:ale_yaml_yamllint_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to yamllint. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale-yang.txt b/.vim_runtime/sources_non_forked/ale/doc/ale-yang.txt deleted file mode 100644 index ad61973..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale-yang.txt +++ /dev/null @@ -1,17 +0,0 @@ -=============================================================================== -ALE YANG Integration *ale-yang-options* - - -=============================================================================== -yang-lsp *ale-yang-lsp* - -g:ale_yang_lsp_executable *g:ale_yang_lsp_executable* - *b:ale_yang_lsp_executable* - Type: |String| - Default: `'yang-language-server'` - - This variable can be changed to use a different executable for yang-lsp. - - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/ale.txt b/.vim_runtime/sources_non_forked/ale/doc/ale.txt deleted file mode 100644 index 724da57..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/ale.txt +++ /dev/null @@ -1,3750 +0,0 @@ -*ale.txt* Plugin to lint and fix files asynchronously -*ale* - -ALE - Asynchronous Lint Engine - -=============================================================================== -CONTENTS *ale-contents* - - 1. Introduction.........................|ale-introduction| - 2. Supported Languages & Tools..........|ale-support| - 3. Linting..............................|ale-lint| - 3.1 Adding Language Servers...........|ale-lint-language-servers| - 3.2 Other Sources.....................|ale-lint-other-sources| - 4. Fixing Problems......................|ale-fix| - 5. Language Server Protocol Support.....|ale-lsp| - 5.1 Completion........................|ale-completion| - 5.2 Go To Definition..................|ale-go-to-definition| - 5.3 Go To Type Definition.............|ale-go-to-type-definition| - 5.4 Find References...................|ale-find-references| - 5.5 Hovering..........................|ale-hover| - 5.6 Symbol Search.....................|ale-symbol-search| - 6. Global Options.......................|ale-options| - 6.1 Highlights........................|ale-highlights| - 7. Linter/Fixer Options.................|ale-integration-options| - 7.1 Options for alex..................|ale-alex-options| - 7.2 Options for languagetool..........|ale-languagetool-options| - 7.3 Options for write-good............|ale-write-good-options| - 7.4 Other Linter/Fixer Options........|ale-other-integration-options| - 8. Commands/Keybinds....................|ale-commands| - 9. API..................................|ale-api| - 10. Special Thanks......................|ale-special-thanks| - 11. Contact.............................|ale-contact| - -=============================================================================== -1. Introduction *ale-introduction* - -ALE provides the means to run linters asynchronously in Vim in a variety of -languages and tools. ALE sends the contents of buffers to linter programs -using the |job-control| features available in Vim 8 and NeoVim. For Vim 8, -Vim must be compiled with the |job| and |channel| and |timers| features -as a minimum. - -ALE supports the following key features for linting: - -1. Running linters when text is changed. -2. Running linters when files are opened. -3. Running linters when files are saved. (When a global flag is set.) -4. Populating the |loclist| with warning and errors. -5. Setting |signs| with warnings and errors for error markers. -6. Using |echo| to show error messages when the cursor moves. -7. Setting syntax highlights for errors. - -ALE can fix problems with files with the |ALEFix| command, using the same job -control functionality used for checking for problems. Try using the -|ALEFixSuggest| command for browsing tools that can be used to fix problems -for the current buffer. - -If you are interested in contributing to the development of ALE, read the -developer documentation. See |ale-development| - -=============================================================================== -2. Supported Languages & Tools *ale-support* - -ALE supports a wide variety of languages and tools. See |ale-supported-list| -for the full list. - -=============================================================================== -3. Linting *ale-lint* - -ALE's primary focus is on checking for problems with your code with various -programs via some Vim code for integrating with those programs, referred to -as 'linters.' ALE supports a wide array of programs for linting by default, -but additional programs can be added easily by defining files in |runtimepath| -with the filename pattern `ale_linters//.vim`. For more -information on defining new linters, see the extensive documentation -for |ale#linter#Define()|. - -Without any configuration, ALE will attempt to check all of the code for every -file you open in Vim with all available tools by default. To see what ALE -is doing, and what options have been set, try using the |:ALEInfo| command. - -Most of the linters ALE runs will check the Vim buffer you are editing instead -of the file on disk. This allows you to check your code for errors before you -have even saved your changes. ALE will check your code in the following -circumstances, which can be configured with the associated options. - -* When you modify a buffer. - |g:ale_lint_on_text_changed| -* On leaving insert mode. - |g:ale_lint_on_insert_leave| -* When you open a new or modified buffer. - |g:ale_lint_on_enter| -* When you save a buffer. - |g:ale_lint_on_save| -* When the filetype changes for a buffer. - |g:ale_lint_on_filetype_changed| -* If ALE is used to check code manually. - |:ALELint| - - *ale-lint-settings-on-startup* - -It is worth reading the documentation for every option. You should configure -which events ALE will use before ALE is loaded, so it can optimize which -autocmd commands to run. You can force autocmd commands to be reloaded with -`:ALEDisable | ALEEnable` - -This also applies to the autocmd commands used for |g:ale_echo_cursor|. - - *ale-lint-file-linters* - -Some programs must be run against files which have been saved to disk, and -simply do not support reading temporary files or stdin, either of which are -required for ALE to be able to check for errors as you type. The programs -which behave this way are documented in the lists and tables of supported -programs. ALE will only lint files with these programs in the following -circumstances. - -* When you open a new or modified buffer. - |g:ale_lint_on_enter| -* When you save a buffer. - |g:ale_lint_on_save| -* When the filetype changes for a buffer. - |g:ale_lint_on_filetype_changed| -* If ALE is used to check code manually. - |:ALELint| - -ALE will report problems with your code in the following ways, listed with -their relevant options. - -* By updating loclist. (On by default) - |g:ale_set_loclist| -* By updating quickfix. (Off by default) - |g:ale_set_quickfix| -* By setting error highlights. - |g:ale_set_highlights| -* By creating signs in the sign column. - |g:ale_set_signs| -* By echoing messages based on your cursor. - |g:ale_echo_cursor| -* By inline text based on your cursor. - |g:ale_virtualtext_cursor| -* By displaying the preview based on your cursor. - |g:ale_cursor_detail| -* By showing balloons for your mouse cursor - |g:ale_set_balloons| - -Please consult the documentation for each option, which can reveal some other -ways of tweaking the behaviour of each way of displaying problems. You can -disable or enable whichever options you prefer. - -Most settings can be configured for each buffer. (|b:| instead of |g:|), -including disabling ALE for certain buffers with |b:ale_enabled|. The -|g:ale_pattern_options| setting can be used to configure files differently -based on regular expressions for filenames. For configuring entire projects, -the buffer-local options can be used with external plugins for reading Vim -project configuration files. Buffer-local settings can also be used in -ftplugin files for different filetypes. - -ALE offers several options for controlling which linters are run. - -* Selecting linters to run. - |g:ale_linters| -* Aliasing filetypes for linters - |g:ale_linter_aliases| -* Only running linters you asked for. - |g:ale_linters_explicit| -* Disabling only a subset of linters. - |g:ale_linters_ignore| -* Disabling LSP linters and `tsserver`. - |g:ale_disable_lsp| - - -------------------------------------------------------------------------------- -3.1 Adding Language Servers *ale-lint-language-servers* - -ALE comes with many default configurations for language servers, so they can -be detected and run automatically. ALE can connect to other language servers -by defining a new linter for a filetype. New linters can be defined in |vimrc|, -in plugin files, or `ale_linters` directories in |runtimepath|. - -See |ale-linter-loading-behavior| for more information on loading linters. - -A minimal configuration for a language server linter might look so. > - - call ale#linter#Define('filetype_here', { - \ 'name': 'any_name_you_want', - \ 'lsp': 'stdio', - \ 'executable': '/path/to/executable', - \ 'command': '%e run', - \ 'project_root': '/path/to/root_of_project', - \}) -< -For language servers that use a TCP socket connection, you should define the -address to connect to instead. > - - call ale#linter#Define('filetype_here', { - \ 'name': 'any_name_you_want', - \ 'lsp': 'socket', - \ 'address': 'servername:1234', - \ 'project_root': '/path/to/root_of_project', - \}) -< - Most of the options for a language server can be replaced with a |Funcref| - for a function accepting a buffer number for dynamically computing values - such as the executable path, the project path, the server address, etc, - most of which can also be determined based on executing some other - asynchronous task. See |ale#command#Run()| for computing linter options - based on asynchronous results. - - See |ale#linter#Define()| for a detailed explanation of all of the options - for configuring linters. - - -------------------------------------------------------------------------------- -3.2 Other Sources *ale-lint-other-sources* - -Problems for a buffer can be taken from other sources and rendered by ALE. -This allows ALE to be used in combination with other plugins which also want -to display any problems they might find with a buffer. ALE's API includes the -following components for making this possible. - -* |ale#other_source#StartChecking()| - Tell ALE that a buffer is being checked. -* |ale#other_source#ShowResults()| - Show results from another source. -* |ALEWantResults| - A signal for when ALE wants results. - -Other resources can provide results for ALE to display at any time, following -ALE's loclist format. (See |ale-loclist-format|) For example: > - - " Tell ALE to show some results. - " This function can be called at any time. - call ale#other_source#ShowResults(bufnr(''), 'some-linter-name', [ - \ {'text': 'Something went wrong', 'lnum': 13}, - \]) -< - -Other sources should use a unique name for identifying themselves. A single -linter name can be used for all problems from another source, or a series of -unique linter names can be used. Results can be cleared for that source by -providing an empty List. - -|ale#other_source#StartChecking()| should be called whenever another source -starts checking a buffer, so other tools can know that a buffer is being -checked by some plugin. The |ALEWantResults| autocmd event can be used to -start checking a buffer for problems every time that ALE does. When -|ALEWantResults| is signaled, |g:ale_want_results_buffer| will be set to the -number of the buffer that ALE wants to check. -|ale#other_source#StartChecking()| should be called synchronously, and other -sources should perform their checks on a buffer in the background -asynchronously, so they don't interrupt editing. - -A plugin might integrate its own checks with ALE like so: > - - augroup SomeGroupName - autocmd! - autocmd User ALEWantResults call Hook(g:ale_want_results_buffer) - augroup END - - function! DoBackgroundWork(buffer) abort - " Start some work in the background here. - " ... - " Then call WorkDone(a:buffer, results) - endfunction - - function! Hook(buffer) abort - " Tell ALE we're going to check this buffer. - call ale#other_source#StartChecking(a:buffer, 'some-name') - call DoBackgroundWork(a:buffer) - endfunction - - function! WorkDone(buffer, results) abort - " Send results to ALE after they have been collected. - call ale#other_source#ShowResults(buffer, 'some-name', a:results) - endfunction -< - -=============================================================================== -4. Fixing Problems *ale-fix* - -ALE can fix problems with files with the |ALEFix| command. |ALEFix| -accepts names of fixers to be applied as arguments. Alternatively, -when no arguments are provided, the variable |g:ale_fixers| will be -read for getting a |List| of commands for filetypes, split on `.`, and -the functions named in |g:ale_fixers| will be executed for fixing the -errors. - -The |ALEFixSuggest| command can be used to suggest tools that be used to -fix problems for the current buffer. - -The values for `g:ale_fixers` can be a list of |String|, |Funcref|, or -|lambda| values. String values must either name a function, or a short name -for a function set in the ALE fixer registry. - -Each function for fixing errors must accept either one argument `(buffer)` or -two arguments `(buffer, lines)`, representing the buffer being fixed and the -lines to fix. The functions must return either `0`, for changing nothing, a -|List| for new lines to set, a |Dictionary| for describing a command to be -run in the background, or the result of |ale#command#Run()|. - -Functions receiving a variable number of arguments will not receive the second -argument `lines`. Functions should name two arguments if the `lines` argument -is desired. This is required to avoid unnecessary copying of the lines of -the buffers being checked. - -When a |Dictionary| is returned for an |ALEFix| callback, the following keys -are supported for running the commands. - - `command` A |String| for the command to run. This key is required. - - When `%t` is included in a command string, a temporary - file will be created, containing the lines from the file - after previous adjustment have been done. - - `read_temporary_file` When set to `1`, ALE will read the contents of the - temporary file created for `%t`. This option can be used - for commands which need to modify some file on disk in - order to fix files. - - `process_with` An optional callback for post-processing. - - The callback must accept two arguments, - `(buffer, output)`, which can be used for converting - the output from a command into lines to replace the - buffer's contents with. - - A |List| of |String|s must be returned. - - `read_buffer` An optional key for disabling reading the buffer. - - When set to `0`, ALE will not pipe the buffer's data - into the command via stdin. This option is ignored and - the buffer is not read when `read_temporary_file` is - `1`. - - This option defaults to `1`. - - *ale-fix-configuration* - -Synchronous functions and asynchronous jobs will be run in a sequence for -fixing files, and can be combined. For example: -> - let g:ale_fixers = { - \ 'javascript': [ - \ 'DoSomething', - \ 'eslint', - \ {buffer, lines -> filter(lines, 'v:val !=~ ''^\s*//''')}, - \ ], - \} - - ALEFix -< -The above example will call a function called `DoSomething` which could act -upon some lines immediately, then run `eslint` from the ALE registry, and -then call a lambda function which will remove every single line comment -from the file. - -For buffer-local settings, such as in |g:ale_pattern_options| or in ftplugin -files, a |List| may be used for configuring the fixers instead. -> - " Same as the above, only a List can be used instead of a Dictionary. - let b:ale_fixers = [ - \ 'DoSomething', - \ 'eslint', - \ {buffer, lines -> filter(lines, 'v:val !=~ ''^\s*//''')}, - \] - - ALEFix -< -For convenience, a plug mapping is defined for |ALEFix|, so you can set up a -keybind easily for fixing files. > - - " Bind F8 to fixing problems with ALE - nmap (ale_fix) -< -Files can be fixed automatically with the following options, which are all off -by default. - -|g:ale_fix_on_save| - Fix files when they are saved. - -Fixers can be disabled on save with |g:ale_fix_on_save_ignore|. They will -still be run when you manually run |ALEFix|. - - -=============================================================================== -5. Language Server Protocol Support *ale-lsp* - -ALE offers some support for integrating with Language Server Protocol (LSP) -servers. LSP linters can be used in combination with any other linter, and -will automatically connect to LSP servers when needed. ALE also supports -`tsserver` for TypeScript, which uses a different but very similar protocol. - -If you want to use another plugin for LSP features and tsserver, you can use -the |g:ale_disable_lsp| setting to disable ALE's own LSP integrations, or -ignore particular linters with |g:ale_linters_ignore|. - -------------------------------------------------------------------------------- -5.1 Completion *ale-completion* - -ALE offers support for automatic completion of code while you type. -Completion is only supported while at least one LSP linter is enabled. ALE -will only suggest symbols provided by the LSP servers. - - *ale-deoplete-integration* - -ALE integrates with Deoplete for offering automatic completion data. ALE's -completion source for Deoplete is named `'ale'`, and should enabled -automatically if Deoplete is enabled and configured correctly. Deoplete -integration should not be combined with ALE's own implementation. - - *ale-asyncomplete-integration* - -ALE additionally integrates with asyncomplete.vim for offering automatic -completion data. ALE's asyncomplete source requires registration and should -use the defaults provided by the|asyncomplete#sources#ale#get_source_options| function > - - " Use ALE's function for asyncomplete defaults - au User asyncomplete_setup call asyncomplete#register_source(asyncomplete#sources#ale#get_source_options({ - \ 'priority': 10, " Provide your own overrides here - \ })) -> -ALE also offers its own completion implementation, which does not require any -other plugins. Suggestions will be made while you type after completion is -enabled. ALE's own completion implementation can be enabled by setting -|g:ale_completion_enabled| to `1`. This setting must be set to `1` before ALE -is loaded. The delay for completion can be configured with -|g:ale_completion_delay|. This setting should not be enabled if you wish to -use ALE as a completion source for other plugins. - -ALE provides an 'omnifunc' function |ale#completion#OmniFunc| for triggering -completion manually with CTRL-X CTRL-O. |i_CTRL-X_CTRL-O| > - - " Use ALE's function for omnicompletion. - set omnifunc=ale#completion#OmniFunc -< -ALE will only suggest so many possible matches for completion. The maximum -number of items can be controlled with |g:ale_completion_max_suggestions|. - -If you don't like some of the suggestions you see, you can filter them out -with |g:ale_completion_excluded_words| or |b:ale_completion_excluded_words|. - -The |ALEComplete| command can be used to show completion suggestions manually, -even when |g:ale_completion_enabled| is set to `0`. For manually requesting -completion information with Deoplete, consult Deoplete's documentation. - -When working with TypeScript files, ALE by can support automatic imports -from external modules. This behavior can be enabled by setting the -|g:ale_completion_tsserver_autoimport| variable to `1`. - - *ale-completion-completeopt-bug* - -ALE Automatic completion implementation replaces |completeopt| before opening -the omnicomplete menu with . In some versions of Vim, the value set -for the option will not be respected. If you experience issues with Vim -automatically inserting text while you type, set the following option in -vimrc, and your issues should go away. > - - set completeopt=menu,menuone,preview,noselect,noinsert -< - -Or alternatively, if you want to show documentation in popups: > - - set completeopt=menu,menuone,popup,noselect,noinsert -< - *ale-symbols* - -ALE provides a set of basic completion symbols. If you want to replace those -symbols with others, you can set the variable |g:ale_completion_symbols| with -a mapping of the type of completion to the symbol or other string that you -would like to use. An example here shows the available options for symbols > - - let g:ale_completion_symbols = { - \ 'text': '', - \ 'method': '', - \ 'function': '', - \ 'constructor': '', - \ 'field': '', - \ 'variable': '', - \ 'class': '', - \ 'interface': '', - \ 'module': '', - \ 'property': '', - \ 'unit': 'unit', - \ 'value': 'val', - \ 'enum': '', - \ 'keyword': 'keyword', - \ 'snippet': '', - \ 'color': 'color', - \ 'file': '', - \ 'reference': 'ref', - \ 'folder': '', - \ 'enum member': '', - \ 'constant': '', - \ 'struct': '', - \ 'event': 'event', - \ 'operator': '', - \ 'type_parameter': 'type param', - \ '': 'v' - \ } -< -------------------------------------------------------------------------------- -5.2 Go To Definition *ale-go-to-definition* - -ALE supports jumping to the files and locations where symbols are defined -through any enabled LSP linters. The locations ALE will jump to depend on the -information returned by LSP servers. The |ALEGoToDefinition| command will jump -to the definition of symbols under the cursor. See the documentation for the -command for configuring how the location will be displayed. - -ALE will update Vim's |tagstack| automatically unless |g:ale_update_tagstack| is -set to `0`. - -------------------------------------------------------------------------------- -5.3 Go To Type Definition *ale-go-to-type-definition* - -ALE supports jumping to the files and locations where symbols' types are -defined through any enabled LSP linters. The locations ALE will jump to depend -on the information returned by LSP servers. The |ALEGoToTypeDefinition| -command will jump to the definition of symbols under the cursor. See the -documentation for the command for configuring how the location will be -displayed. - -------------------------------------------------------------------------------- -5.4 Find References *ale-find-references* - -ALE supports finding references for symbols though any enabled LSP linters. -ALE will display a preview window showing the places where a symbol is -referenced in a codebase when a command is run. The following commands are -supported: - -|ALEFindReferences| - Find references for the word under the cursor. - -Options: - `-relative` Show file paths in the results relative to the working dir - -------------------------------------------------------------------------------- -5.5 Hovering *ale-hover* - -ALE supports "hover" information for printing brief information about symbols -at the cursor taken from LSP linters. The following commands are supported: - -|ALEHover| - Print information about the symbol at the cursor. - -If |g:ale_set_balloons| is set to `1` and your version of Vim supports the -|balloon_show()| function, then "hover" information also show up when you move -the mouse over a symbol in a buffer. Diagnostic information will take priority -over hover information for balloons. If a line contains a problem, that -problem will be displayed in a balloon instead of hover information. - -Hover information can be displayed in the preview window instead by setting -|g:ale_hover_to_preview| to `1`. - -For Vim 8.1+ terminals, mouse hovering is disabled by default. Enabling -|balloonexpr| commands in terminals can cause scrolling issues in terminals, -so ALE will not attempt to show balloons unless |g:ale_set_balloons| is set to -`1` before ALE is loaded. - -For enabling mouse support in terminals, you may have to change your mouse -settings. For example: > - - " Example mouse settings. - " You will need to try different settings, depending on your terminal. - set mouse=a - set ttymouse=xterm -< - -Documentation for symbols at the cursor can be retrieved using the -|ALEDocumentation| command. This command is only available for `tsserver`. - -------------------------------------------------------------------------------- -5.6 Symbol Search *ale-symbol-search* - -ALE supports searching for workspace symbols via LSP linters. The following -commands are supported: - -|ALESymbolSearch| - Search for symbols in the workspace. - -Options: - `-relative` Show file paths in the results relative to the working dir - -=============================================================================== -6. Global Options *ale-options* - -g:airline#extensions#ale#enabled *g:airline#extensions#ale#enabled* - - Type: |Number| - Default: `1` - - Enables or disables the |airline|'s native extension for ale, which displays - warnings and errors in the status line, prefixed by - |airline#extensions#ale#error_symbol| and - |airline#extensions#ale#warning_symbol|. - - -g:ale_cache_executable_check_failures *g:ale_cache_executable_check_failures* - - Type: |Number| - Default: undefined - - When set to `1`, ALE will cache failing executable checks for linters. By - default, only executable checks which succeed will be cached. - - When this option is set to `1`, Vim will have to be restarted after new - executables are installed for ALE to be able to run linters for those - executables. - - -g:ale_change_sign_column_color *g:ale_change_sign_column_color* - - Type: |Number| - Default: `0` - - When set to `1`, this option will set different highlights for the sign - column itself when ALE reports problems with a file. This option can be - combined with |g:ale_sign_column_always|. - - ALE uses the following highlight groups for highlighting the sign column: - - `ALESignColumnWithErrors` - Links to `error` by default. - `ALESignColumnWithoutErrors` - Uses the value for `SignColumn` by default. - - The sign column color can only be changed globally in Vim. The sign column - might produce unexpected results if editing different files in split - windows. - - -g:ale_close_preview_on_insert *g:ale_close_preview_on_insert* - - Type: |Number| - Default: `0` - - When this option is set to `1`, ALE's |preview-window| will be automatically - closed upon entering Insert Mode. This option can be used in combination - with |g:ale_cursor_detail| for automatically displaying the preview window - on problem lines, and automatically closing it again when editing text. - - This setting must be set to `1` before ALE is loaded for this behavior - to be enabled. See |ale-lint-settings-on-startup|. - - -g:ale_command_wrapper *g:ale_command_wrapper* - *b:ale_command_wrapper* - Type: |String| - Default: `''` - - An option for wrapping all commands that ALE runs, for linters, fixers, - and LSP commands. This option can be set globally, or for specific buffers. - - This option can be used to apply nice to all commands. For example: > - - " Prefix all commands with nice. - let g:ale_command_wrapper = 'nice -n5' -< - Use the |ALEInfo| command to view the commands that are run. All of the - arguments for commands will be put on the end of the wrapped command by - default. A `%*` marker can be used to spread the arguments in the wrapped - command. > - - " Has the same effect as the above. - let g:ale_command_wrapper = 'nice -n5 %*' -< - - For passing all of the arguments for a command as one argument to a wrapper, - `%@` can be used instead. > - - " Will result in say: /bin/bash -c 'other-wrapper -c "some command" -x' - let g:ale_command_wrapper = 'other-wrapper -c %@ -x' -< - For commands including `&&` or `;`, only the last command in the list will - be passed to the wrapper. `&&` is most commonly used in ALE to change the - working directory before running a command. - - -g:ale_completion_delay *g:ale_completion_delay* - - Type: |Number| - Default: `100` - - The number of milliseconds before ALE will send a request to a language - server for completions after you have finished typing. - - See |ale-completion| - - -g:ale_completion_enabled *g:ale_completion_enabled* - *b:ale_completion_enabled* - - Type: |Number| - Default: `0` - - When this option is set to `1`, completion support will be enabled. - - This setting must be set to `1` before ALE is loaded for this behavior - to be enabled. - - This setting should not be enabled if you wish to use ALE as a completion - source for other completion plugins. - - A buffer-local version of this setting `b:ale_completion_enabled` can be set - to `0` to disable ALE's automatic completion support for a single buffer. - ALE's completion support must be enabled globally to be enabled locally. - - See |ale-completion| - - -g:ale_completion_tsserver_autoimport *g:ale_completion_tsserver_autoimport* - - Type: Number - Default: `0` - - When this option is set to `0`, ALE will not try to automatically import - completion results from external modules. It can be enabled by setting it - to `1`. - - -g:ale_completion_excluded_words *g:ale_completion_excluded_words* - *b:ale_completion_excluded_words* - Type: |List| - Default: `[]` - - This option can be set to a list of |String| values for "words" to exclude - from completion results, as in the words for |complete-items|. The strings - will be matched exactly in a case-sensitive manner. (|==#|) - - This setting can be configured in ftplugin files with buffer variables, so - that different lists can be used for different filetypes. For example: > - - " In ~/.vim/ftplugin/typescript.vim - - " Don't suggest `it` or `describe` so we can use snippets for those words. - let b:ale_completion_excluded_words = ['it', 'describe'] -< - -g:ale_completion_symbols *g:ale_completion_symbols* - - Type: |Dictionary| - - - A mapping from completion types to symbols for completions. See - |ale-symbols| for more information. - - By default, this mapping only uses built in Vim completion kinds, but it can - be updated to use any unicode character for the completion kind. For - example: > - let g:ale_completion_symbols = { - \ 'text': '', - \ 'method': '', - \ 'function': '', - \ 'constructor': '', - \ 'field': '', - \ 'variable': '', - \ 'class': '', - \ 'interface': '', - \ 'module': '', - \ 'property': '', - \ 'unit': 'v', - \ 'value': 'v', - \ 'enum': 't', - \ 'keyword': 'v', - \ 'snippet': 'v', - \ 'color': 'v', - \ 'file': 'v', - \ 'reference': 'v', - \ 'folder': 'v', - \ 'enum_member': 'm', - \ 'constant': 'm', - \ 'struct': 't', - \ 'event': 'v', - \ 'operator': 'f', - \ 'type_parameter': 'p', - \ '': 'v' - \ }) -< - -g:ale_completion_max_suggestions *g:ale_completion_max_suggestions* - - Type: |Number| - Default: `50` - - The maximum number of items ALE will suggest in completion menus for - automatic completion. - - Setting this number higher will require more processing time, and may - suggest too much noise. Setting this number lower will require less - processing time, but some suggestions will not be included, so you might not - be able to see the suggestions you want. - - Adjust this option as needed, depending on the complexity of your codebase - and your available processing power. - -g:ale_cursor_detail *g:ale_cursor_detail* - - Type: |Number| - Default: `0` - - When this option is set to `1`, ALE's |preview-window| will be automatically - opened when the cursor moves onto lines with problems. ALE will search for - problems using the same logic that |g:ale_echo_cursor| uses. The preview - window will be closed automatically when you move away from the line. - - Messages are only displayed after a short delay. See |g:ale_echo_delay|. - - The preview window is opened without stealing focus, which means your cursor - will stay in the same buffer as it currently is. - - The preview window can be closed automatically upon entering Insert mode - by setting |g:ale_close_preview_on_insert| to `1`. - - Either this setting or |g:ale_echo_cursor| must be set to `1` before ALE is - loaded for messages to be displayed. See |ale-lint-settings-on-startup|. - - -g:ale_default_navigation *g:ale_default_navigation* - *b:ale_default_navigation* - - Type: |String| - Default: `'buffer'` - - The default method for navigating away from the current buffer to another - buffer, such as for |ALEFindReferences:|, or |ALEGoToDefinition|. - - -g:ale_disable_lsp *g:ale_disable_lsp* - *b:ale_disable_lsp* - - Type: |Number| - Default: `0` - - When this option is set to `1`, ALE ignores all linters powered by LSP, - and also `tsserver`. - - Please see also |ale-lsp|. - - -g:ale_echo_cursor *g:ale_echo_cursor* - - Type: |Number| - Default: `1` - - When this option is set to `1`, a truncated message will be echoed when a - cursor is near a warning or error. ALE will attempt to find the warning or - error at a column nearest to the cursor when the cursor is resting on a line - which contains a warning or error. This option can be set to `0` to disable - this behavior. - - Messages are only displayed after a short delay. See |g:ale_echo_delay|. - - The format of the message can be customized with |g:ale_echo_msg_format|. - - Either this setting or |g:ale_cursor_detail| must be set to `1` before ALE - is loaded for messages to be displayed. See |ale-lint-settings-on-startup|. - - -g:ale_echo_delay *g:ale_echo_delay* - *b:ale_echo_delay* - Type: |Number| - Default: `10` - - Given any integer, this option controls the number of milliseconds before - ALE will echo or preview a message for a problem near the cursor. - - The value can be increased to decrease the amount of processing ALE will do - for files displaying a large number of problems. - - -g:ale_echo_msg_error_str *g:ale_echo_msg_error_str* - - Type: |String| - Default: `'Error'` - - The string used for `%severity%` for errors. See |g:ale_echo_msg_format| - - -g:ale_echo_msg_format *g:ale_echo_msg_format* - *b:ale_echo_msg_format* - - Type: |String| - Default: `'%code: %%s'` - - This variable defines a message format for echoed messages. The following - sequences of characters will be replaced. - - `%s` - replaced with the text for the problem - `%...code...% `- replaced with the error code - `%linter%` - replaced with the name of the linter - `%severity%` - replaced with the severity of the problem - - The strings for `%severity%` can be configured with the following options. - - |g:ale_echo_msg_error_str| - Defaults to `'Error'` - |g:ale_echo_msg_info_str| - Defaults to `'Info'` - |g:ale_echo_msg_warning_str| - Defaults to `'Warning'` - - `%code%` is replaced with the error code, and replaced with an empty string - when there is no error code. Any extra characters between the percent signs - will be printed when an error code is present. For example, a message like - `(error code): message` will be printed for `'%(code): %%s'` and simply the - message will be printed when there is no code. - - |g:ale_echo_cursor| needs to be set to 1 for messages to be displayed. - - The echo message format can also be configured separately for each buffer, - so different formats can be used for different languages. (Say in ftplugin - files.) - - -g:ale_echo_msg_info_str *g:ale_echo_msg_info_str* - - Type: |String| - Default: `'Info'` - - The string used for `%severity%` for info. See |g:ale_echo_msg_format| - - -g:ale_echo_msg_log_str *g:ale_echo_msg_log_str* - - Type: |String| - Default: `'Log'` - - The string used for `%severity%` for log, used only for handling LSP show - message requests. See |g:ale_lsp_show_message_format| - - -g:ale_echo_msg_warning_str *g:ale_echo_msg_warning_str* - - Type: |String| - Default: `'Warning'` - - The string used for `%severity%` for warnings. See |g:ale_echo_msg_format| - - -g:ale_enabled *g:ale_enabled* - *b:ale_enabled* - - Type: |Number| - Default: `1` - - When set to `0`, this option will completely disable ALE, such that no - error checking will be performed, etc. ALE can be toggled on and off with - the |ALEToggle| command, which changes this option. - - ALE can be disabled in each buffer by setting `let b:ale_enabled = 0` - Disabling ALE based on filename patterns can be accomplished by setting - a regular expression for |g:ale_pattern_options|. For example: > - - " Disable linting for all minified JS files. - let g:ale_pattern_options = {'\.min.js$': {'ale_enabled': 0}} -< - - See |g:ale_pattern_options| for more information on that option. - - -g:ale_exclude_highlights *g:ale_exclude_highlights* - *b:ale_exclude_highlights* - - Type: |List| - Default: `[]` - - A list of regular expressions for matching against highlight messages to - remove. For example: > - - " Do not highlight messages matching strings like these. - let b:ale_exclude_highlights = ['line too long', 'foo.*bar'] -< - See also: |g:ale_set_highlights| - - -g:ale_fixers *g:ale_fixers* - *b:ale_fixers* - - Type: |Dictionary| - Default: `{}` - - A mapping from filetypes to |List| values for functions for fixing errors. - See |ale-fix| for more information. - - This variable can be overridden with variables in each buffer. - `b:ale_fixers` can be set to a |List| of callbacks instead, which can be - more convenient. - - A special `'*'` key be used as a wildcard filetype for configuring fixers - for every other type of file. For example: > - - " Fix Python files with 'bar'. - " Don't fix 'html' files. - " Fix everything else with 'foo'. - let g:ale_fixers = {'python': ['bar'], 'html': [], '*': ['foo']} -< - -g:ale_fix_on_save *g:ale_fix_on_save* - *b:ale_fix_on_save* - - Type: |Number| - Default: `0` - - When set to 1, ALE will fix files when they are saved. - - If |g:ale_lint_on_save| is set to 1, files will be checked with linters - after files are fixed, only when the buffer is open, or re-opened. Changes - to the file will be saved to the file on disk. - - Files will not be fixed on `:wq`, so you should check your code before - closing a buffer. - - Fixing files can be disabled or enabled for individual buffers by setting - `b:ale_fix_on_save` to `0` or `1`. - - Some fixers can be excluded from being run automatically when you save files - with the |g:ale_fix_on_save_ignore| setting. - - -g:ale_fix_on_save_ignore *g:ale_fix_on_save_ignore* - *b:ale_fix_on_save_ignore* - - Type: |Dictionary| or |List| - Default: `{}` - - Given a |Dictionary| mapping filetypes to |Lists| of fixers to ignore, or - just a |List| of fixers to ignore, exclude those fixers from being run - automatically when files are saved. - - You can disable some fixers in your ftplugin file: > - - " Disable fixers 'b' and 'c' when fixing on safe for this buffer. - let b:ale_fix_on_save_ignore = ['b', 'c'] - " Alternatively, define ignore lists for different filetypes. - let b:ale_fix_on_save_ignore = {'foo': ['b'], 'bar': ['c']} -< - You can disable some fixers globally per filetype like so: > - - let g:ale_fixers = {'foo': ['a', 'b'], 'bar': ['c', 'd']} - let g:ale_fix_on_save = 1 - " For filetype `foo.bar`, only fixers 'b' and 'd' will be run on save. - let g:ale_fix_on_save_ignore = {'foo': ['a'], 'bar': ['c']} - " Alternatively, disable these fixers on save for all filetypes. - let g:ale_fix_on_save_ignore = ['a', 'c'] -< - You can ignore fixers based on matching |Funcref| values too: > - - let g:AddBar = {buffer, lines -> lines + ['bar']} - let g:ale_fixers = {'foo': g:AddBar} - " The lambda fixer will be ignored, as it will be found in the ignore list. - let g:ale_fix_on_save_ignore = [g:AddBar] -< - -g:ale_history_enabled *g:ale_history_enabled* - - Type: |Number| - Default: `1` - - When set to `1`, ALE will remember the last few commands which were run - for every buffer which is open. This information can be viewed with the - |ALEInfo| command. The size of the buffer can be controlled with the - |g:ale_max_buffer_history_size| option. - - This option can be disabled if storing a command history is not desired. - - -g:ale_history_log_output *g:ale_history_log_output* - - Type: |Number| - Default: `1` - - When set to `1`, ALE will store the output of commands which have completed - successfully in the command history, and the output will be displayed when - using |ALEInfo|. - - |g:ale_history_enabled| must be set to `1` for this output to be stored or - printed. - - Some memory will be consumed by this option. It is very useful for figuring - out what went wrong with linters, and for bug reports. Turn this option off - if you want to save on some memory usage. - - -g:ale_hover_to_preview *g:ale_hover_to_preview* - *b:ale_hover_to_preview* - - Type: |Number| - Default: `0` - - If set to `1`, hover messages will be displayed in the preview window, - instead of in balloons or the message line. - - -g:ale_keep_list_window_open *g:ale_keep_list_window_open* - *b:ale_keep_list_window_open* - Type: |Number| - Default: `0` - - When set to `1`, this option will keep the loclist or quickfix windows event - after all warnings/errors have been removed for files. By default the - loclist or quickfix windows will be closed automatically when there are no - warnings or errors. - - See |g:ale_open_list| - - -g:ale_list_window_size *g:ale_list_window_size* - *b:ale_list_window_size* - Type: |Number| - Default: `10` - - This number configures the number of lines to set for the height of windows - opened automatically for ALE problems. The default of `10` matches the Vim - default height. - - See |g:ale_open_list| for information on automatically opening windows - for quickfix or the loclist. - - -g:ale_lint_delay *g:ale_lint_delay* - - Type: |Number| - Default: `200` - - This variable controls the milliseconds delay after which the linters will - be run after text is changed. This option is only meaningful with the - |g:ale_lint_on_text_changed| variable set to `always`, `insert`, or `normal`. - - -g:ale_lint_on_enter *g:ale_lint_on_enter* - - Type: |Number| - Default: `1` - - When this option is set to `1`, the |BufWinEnter| event will be used to - apply linters when buffers are first opened. If this is not desired, this - variable can be set to `0` in your vimrc file to disable this behavior. - - The |FileChangedShellPost| and |BufEnter| events will be used to check if - files have been changed outside of Vim. If a file is changed outside of - Vim, it will be checked when it is next opened. - - You should set this setting once before ALE is loaded, and restart Vim if - you want to change your preferences. See |ale-lint-settings-on-startup|. - - -g:ale_lint_on_filetype_changed *g:ale_lint_on_filetype_changed* - - Type: |Number| - Default: `1` - - This option will cause ALE to run when the filetype for a file is changed - after a buffer has first been loaded. A short delay will be used before - linting will be done, so the filetype can be changed quickly several times - in a row, but resulting in only one lint cycle. - - You should set this setting once before ALE is loaded, and restart Vim if - you want to change your preferences. See |ale-lint-settings-on-startup|. - - -g:ale_lint_on_save *g:ale_lint_on_save* - - Type: |Number| - Default: `1` - - This option will make ALE run the linters whenever a file is saved when it - it set to `1` in your vimrc file. This option can be used in combination - with the |g:ale_lint_on_enter| and |g:ale_lint_on_text_changed| options to - make ALE only check files after that have been saved, if that is what is - desired. - - -g:ale_lint_on_text_changed *g:ale_lint_on_text_changed* - - Type: |String| - Default: `'normal'` - - This option controls how ALE will check your files as you make changes. - The following values can be used. - - `'always'`, `'1'`, or `1` - Check buffers on |TextChanged| or |TextChangedI|. - `'normal'` - Check buffers only on |TextChanged|. - `'insert'` - Check buffers only on |TextChangedI|. - `'never'`, `'0'`, or `0` - Never check buffers on changes. - - ALE will check buffers after a short delay, with a timer which resets on - each change. The delay can be configured by adjusting the |g:ale_lint_delay| - variable. - *ale-linting-interrupts-mapping* - - Due to a bug in Vim, ALE can interrupt mappings with pending key presses, - per |timeoutlen|. If this happens, follow the advice for enabling - |g:ale_lint_on_insert_leave| below, and set this option to `'normal'`, or - disable it entirely. - - You should set this setting once before ALE is loaded, and restart Vim if - you want to change your preferences. See |ale-lint-settings-on-startup|. - - -g:ale_lint_on_insert_leave *g:ale_lint_on_insert_leave* - *b:ale_lint_on_insert_leave* - - Type: |Number| - Default: `1` - - When set to `1` in your vimrc file, this option will cause ALE to run - linters when you leave insert mode. - - ALE will not lint files when you escape insert mode with |CTRL-C| by - default. You can make ALE lint files with this option when you use |CTRL-C| - with the following mapping. > - - " Make using Ctrl+C do the same as Escape, to trigger autocmd commands - inoremap -< - A buffer-local version of this setting `b:ale_lint_on_insert_leave` can be - set to `0` to disable linting when leaving insert mode. The setting must - be enabled globally to be enabled locally. - - You should set this setting once before ALE is loaded, and restart Vim if - you want to change your preferences. See |ale-lint-settings-on-startup|. - - -g:ale_linter_aliases *g:ale_linter_aliases* - *b:ale_linter_aliases* - Type: |Dictionary| - Default: `{}` - - The |g:ale_linter_aliases| option can be used to set aliases from one - filetype to another. A given filetype can be mapped to use the linters - run for another given filetype. - - This |Dictionary| will be merged with a default dictionary containing the - following values: > - - { - \ 'Dockerfile': 'dockerfile', - \ 'csh': 'sh', - \ 'javascriptreact': ['javascript', 'jsx'], - \ 'plaintex': 'tex', - \ 'rmarkdown': 'r', - \ 'rmd': 'r', - \ 'systemverilog': 'verilog', - \ 'typescriptreact': ['typescript', 'tsx'], - \ 'verilog_systemverilog': ['verilog_systemverilog', 'verilog'], - \ 'vimwiki': 'markdown', - \ 'vue': ['vue', 'javascript'], - \ 'xsd': ['xsd', 'xml'], - \ 'xslt': ['xslt', 'xml'], - \ 'zsh': 'sh', - \} -< - For example, if you wish to map a new filetype `'foobar'` to run the `'php'` - linters, you could set the following: > - - let g:ale_linter_aliases = {'foobar': 'php'} -< - When combined with the |g:ale_linters| option, the original filetype - (`'foobar'`) will be used for determining which linters to run, - not the aliased type (`'php'`). This allows an aliased type to run a - different set of linters from the type it is being mapped to. - - Passing a list of filetypes is also supported. Say you want to lint - javascript and css embedded in HTML (using linters that support that). - You could alias `html` like so: - - `let g:ale_linter_aliases = {'html': ['html', 'javascript', 'css']}` - - Note that `html` itself was included as an alias. That is because aliases - will override the original linters for the aliased filetype. - - Linter aliases can be configured in each buffer with buffer-local variables. - ALE will first look for aliases for filetypes in the `b:ale_linter_aliases` - variable, then `g:ale_linter_aliases`, and then a default Dictionary. - - `b:ale_linter_aliases` can be set to a |List| or a |String|, to tell ALE to - load the linters for specific filetypes for a given buffer. > - - let b:ale_linter_aliases = ['html', 'javascript', 'css'] - " OR, Alias a filetype to only a single filetype with a String. - let b:ale_linter_aliases = 'javascript' -< - No linters will be loaded when the buffer's filetype is empty. - -g:ale_linters *g:ale_linters* - *b:ale_linters* - Type: |Dictionary| - Default: `{}` - - The |g:ale_linters| option sets a |Dictionary| mapping a filetype to a - |List| of linter programs to be run when checking particular filetypes. - - This |Dictionary| will be merged with a default dictionary containing the - following values: > - - { - \ 'csh': ['shell'], - \ 'elixir': ['credo', 'dialyxir', 'dogma'], - \ 'go': ['gofmt', 'golint', 'go vet'], - \ 'hack': ['hack'], - \ 'help': [], - \ 'perl': ['perlcritic'], - \ 'perl6': [], - \ 'python': ['flake8', 'mypy', 'pylint'], - \ 'rust': ['cargo'], - \ 'spec': [], - \ 'text': [], - \ 'vue': ['eslint', 'vls'], - \ 'zsh': ['shell'], - \} -< - This option can be used to enable only a particular set of linters for a - file. For example, you can enable only `eslint` for JavaScript files: > - - let g:ale_linters = {'javascript': ['eslint']} -< - If you want to disable all linters for a particular filetype, you can pass - an empty list of linters as the value: > - - let g:ale_linters = {'javascript': []} -< - All linters will be run for unspecified filetypes. All available linters can - be enabled explicitly for a given filetype by passing the string `'all'`, - instead of a List. > - - let g:ale_linters = {'c': 'all'} -< - Linters can be configured in each buffer with buffer-local variables. ALE - will first look for linters for filetypes in the `b:ale_linters` variable, - then `g:ale_linters`, and then the default Dictionary mentioned above. - - `b:ale_linters` can be set to a List, or the string `'all'`. When linters - for two different filetypes share the same name, the first linter loaded - will be used. Any ambiguity can be resolved by using a Dictionary specifying - which linter to run for which filetype instead. > - - " Use ESLint for the buffer if the filetype includes 'javascript'. - let b:ale_linters = {'javascript': ['eslint'], 'html': ['tidy']} - " Use a List for the same setting. This will work in most cases. - let b:ale_linters = ['eslint', 'tidy'] - " Disable all linters for the buffer. - let b:ale_linters = [] - " Explicitly enable all available linters for the filetype. - let b:ale_linters = 'all' -< - ALE can be configured to disable all linters unless otherwise specified with - `g:ale_enabled` or `b:ale_enabled` with the option |g:ale_linters_explicit|. - - -g:ale_linters_explicit *g:ale_linters_explicit* - - Type: |Number| - Default: `0` - - When set to `1`, only the linters from |g:ale_linters| and |b:ale_linters| - will be enabled. The default behavior for ALE is to enable as many linters - as possible, unless otherwise specified. - - -g:ale_linters_ignore *g:ale_linters_ignore* - *b:ale_linters_ignore* - - Type: |Dictionary| or |List| - Default: `{}` - - Linters to ignore. Commands for ignored linters will not be run, and - diagnostics for LSP linters will be ignored. (See |ale-lsp|) - - This setting can be set to a |Dictionary| mapping filetypes to linter names, - just like |g:ale_linters|, to list linters to ignore. Ignore lists will be - applied after everything else. > - - " Select flake8 and pylint, and ignore pylint, so only flake8 is run. - let g:ale_linters = {'python': ['flake8', 'pylint']} - let g:ale_linters_ignore = {'python': ['pylint']} -< - This setting can be set to simply a |List| of linter names, which is - especially more convenient when using the setting in ftplugin files for - particular buffers. > - - " The same as above, in a ftplugin/python.vim. - let b:ale_linters = ['flake8', 'pylint'] - let b:ale_linters_ignore = ['pylint'] -< - -g:ale_list_vertical *g:ale_list_vertical* - *b:ale_list_vertical* - Type: |Number| - Default: `0` - - When set to `1`, this will cause ALE to open any windows (loclist or - quickfix) vertically instead of horizontally (|vert| |lopen|) or (|vert| - |copen|) - - -g:ale_loclist_msg_format *g:ale_loclist_msg_format* - *b:ale_loclist_msg_format* - - Type: |String| - Default: `g:ale_echo_msg_format` - - This option is the same as |g:ale_echo_msg_format|, but for formatting the - message used for the loclist and the quickfix list. - - The strings for configuring `%severity%` are also used for this option. - - -g:ale_lsp_show_message_format *g:ale_lsp_show_message_format* - - Type: |String| - Default: `'%severity%:%linter%: %s'` - - This variable defines the format that messages received from an LSP will - have when echoed. The following sequences of characters will be replaced. - - `%s` - replaced with the message text - `%linter%` - replaced with the name of the linter - `%severity%` - replaced with the severity of the message - - The strings for `%severity%` levels "error", "info" and "warning" are shared - with |g:ale_echo_msg_format|. Severity "log" is unique to - |g:ale_lsp_show_message_format| and it can be configured via - - |g:ale_echo_msg_log_str| - Defaults to `'Log'` - - Please note that |g:ale_lsp_show_message_format| *can not* be configured - separately for each buffer like |g:ale_echo_msg_format| can. - - -g:ale_lsp_show_message_severity *g:ale_lsp_show_message_severity* - - Type: |String| - Default: `'error'` - - This variable defines the minimum severity level an LSP message needs to be - displayed. Messages below this level are discarded; please note that - messages with `Log` severity level are always discarded. - - Possible values follow the LSP spec `MessageType` definition: - - `'error'` - Displays only errors. - `'warning'` - Displays errors and warnings. - `'information'` - Displays errors, warnings and infos - `'log'` - Same as `'information'` - `'disabled'` - Doesn't display any information at all. - - -g:ale_lsp_root *g:ale_lsp_root* - *b:ale_lsp_root* - - Type: |Dictionary| or |String| - Default: {} - - This option is used to determine the project root for the LSP linter. If the - value is a |Dictionary|, it maps a linter to either a string containing the - project root or a |Funcref| to call to look up the root. The funcref is - provided the buffer number as its argument. - - The buffer-specific variable may additionally be a string containing the - project root itself. - - If neither variable yields a result, a linter-specific function is invoked to - detect a project root. If this, too, yields no result, the linter is disabled. - -g:ale_max_buffer_history_size *g:ale_max_buffer_history_size* - - Type: |Number| - Default: `20` - - This setting controls the maximum number of commands which will be stored in - the command history used for |ALEInfo|. Command history will be rotated in - a FIFO manner. If set to a number <= 0, then the history will be - continuously set to an empty |List|. - - History can be disabled completely with |g:ale_history_enabled|. - - -g:ale_max_signs *g:ale_max_signs* - *b:ale_max_signs* - Type: |Number| - Default: `-1` - - When set to any positive integer, ALE will not render any more than the - given number of signs for any one buffer. - - When set to `0`, no signs will be set, but sign processing will still be - done, so existing signs can be removed. - - When set to any other value, no limit will be imposed on the number of signs - set. - - For disabling sign processing, see |g:ale_set_signs|. - - -g:ale_maximum_file_size *g:ale_maximum_file_size* - *b:ale_maximum_file_size* - Type: |Number| - Default: undefined - - A maximum file size in bytes for ALE to check. If set to any positive - number, ALE will skip checking files larger than the given size. - - -g:ale_open_list *g:ale_open_list* - *b:ale_open_list* - Type: |Number| or |String| - Default: `0` - - When set to `1`, this will cause ALE to automatically open a window for the - loclist (|lopen|) or for the quickfix list instead if |g:ale_set_quickfix| - is `1`. (|copen|) - - When set to `'on_save'`, ALE will only open the loclist after buffers have - been saved. The list will be opened some time after buffers are saved and - any linter for a buffer returns results. - - The window will be kept open until all warnings or errors are cleared, - including those not set by ALE, unless |g:ale_keep_list_window_open| is set - to `1`, in which case the window will be kept open when no problems are - found. - - The window size can be configured with |g:ale_list_window_size|. - - Windows can be opened vertically with |g:ale_list_vertical|. - - If you want to close the loclist window automatically when the buffer is - closed, you can set up the following |autocmd| command: > - - augroup CloseLoclistWindowGroup - autocmd! - autocmd QuitPre * if empty(&buftype) | lclose | endif - augroup END -< - -g:ale_pattern_options *g:ale_pattern_options* - - Type: |Dictionary| - Default: undefined - - This option maps regular expression patterns to |Dictionary| values for - buffer variables. This option can be set to automatically configure - different settings for different files. For example: > - - " Use just ESLint for linting and fixing files which end in '.foo.js' - let g:ale_pattern_options = { - \ '\.foo\.js$': { - \ 'ale_linters': ['eslint'], - \ 'ale_fixers': ['eslint'], - \ }, - \} -< - See |b:ale_linters| and |b:ale_fixers| for information for those options. - - Filenames are matched with |match()|, and patterns depend on the |magic| - setting, unless prefixed with the special escape sequences like `'\v'`, etc. - The patterns can match any part of a filename. The absolute path of the - filename will be used for matching, taken from `expand('%:p')`. - - The options for every match for the filename will be applied, with the - pattern keys sorted in alphabetical order. Options for `'zebra'` will - override the options for `'alpha'` for a filename `alpha-zebra`. - - -g:ale_pattern_options_enabled *g:ale_pattern_options_enabled* - - Type: |Number| - Default: undefined - - This option can be used for disabling pattern options. If set to `0`, ALE - will not set buffer variables per |g:ale_pattern_options|. - - -g:ale_rename_tsserver_find_in_comments *g:ale_rename_tsserver_find_in_comments* - - Type: |Number| - Default: `0` - - If enabled, this option will tell tsserver to find and replace text in - comments when calling |ALERename|. It can be enabled by settings the value - to `1`. - - -g:ale_rename_tsserver_find_in_strings *g:ale_rename_tsserver_find_in_strings* - - - Type: |Number| - Default: `0` - - If enabled, this option will tell tsserver to find and replace text in - strings when calling |ALERename|. It can be enabled by settings the value to - `1`. - - -g:ale_set_balloons *g:ale_set_balloons* - *b:ale_set_balloons* - - Type: |Number| - Default: `has('balloon_eval') && has('gui_running')` - - When this option is set to `1`, balloon messages will be displayed for - problems or hover information if available. - - Problems nearest to the line the mouse cursor is over will be displayed. If - there are no problems to show, and one of the linters is an LSP linter - supporting "Hover" information, per |ale-hover|, then brief information - about the symbol under the cursor will be displayed in a balloon. - - Balloons can be enabled for terminal versions of Vim that support balloons, - but some versions of Vim will produce strange mouse behavior when balloons - are enabled. To configure balloons for your terminal, you should first - configure your |ttymouse| setting, and then consider setting - `g:ale_set_balloons` to `1` before ALE is loaded. - - `b:ale_set_balloons` can be set to `0` to disable balloons for a buffer. - Balloons cannot be enabled for a specific buffer when not initially enabled - globally. - - Balloons will not be shown when |g:ale_enabled| or |b:ale_enabled| is `0`. - - -g:ale_set_balloons_legacy_echo *g:ale_set_balloons_legacy_echo* - *b:ale_set_balloons_legacy_echo* - Type: |Number| - Default: undefined - - If set to `1`, moving your mouse over documents in Vim will make ALE ask - `tsserver` or `LSP` servers for information about the symbol where the mouse - cursor is, and print that information into Vim's echo line. This is an - option for supporting older versions of Vim which do not properly support - balloons in an asynchronous manner. - - If your version of Vim supports the |balloon_show| function, then this - option does nothing meaningful. - - -g:ale_set_highlights *g:ale_set_highlights* - - Type: |Number| - Default: `has('syntax')` - - When this option is set to `1`, highlights will be set for problems. - - ALE will use the following highlight groups for problems: - - |ALEError| - Items with `'type': 'E'` - |ALEWarning| - Items with `'type': 'W'` - |ALEInfo.| - Items with `'type': 'I'` - |ALEStyleError| - Items with `'type': 'E'` and `'sub_type': 'style'` - |ALEStyleWarning| - Items with `'type': 'W'` and `'sub_type': 'style'` - - When |g:ale_set_signs| is set to `0`, the following highlights for entire - lines will be set. - - |ALEErrorLine| - All items with `'type': 'E'` - |ALEWarningLine| - All items with `'type': 'W'` - |ALEInfoLine| - All items with `'type': 'I'` - - Vim can only highlight the characters up to the last column in a buffer for - match highlights, whereas the line highlights when signs are enabled will - run to the edge of the screen. - - Highlights can be excluded with the |g:ale_exclude_highlights| option. - - -g:ale_set_loclist *g:ale_set_loclist* - - Type: |Number| - Default: `1` - - When this option is set to `1`, the |loclist| will be populated with any - warnings and errors which are found by ALE. This feature can be used to - implement jumping between errors through typical use of |lnext| and |lprev|. - - -g:ale_set_quickfix *g:ale_set_quickfix* - - Type: |Number| - Default: `0` - - When this option is set to `1`, the |quickfix| list will be populated with - any problems which are found by ALE, instead of the |loclist|. The loclist - will never be populated when this option is on. - - Problems from every buffer ALE has checked will be included in the quickfix - list, which can be checked with |:copen|. Problems will be de-duplicated. - - This feature should not be used in combination with tools for searching for - matches and commands like |:cfdo|, as ALE will replace the quickfix list - pretty frequently. If you wish to use such tools, you should populate the - loclist instead. - - -g:ale_set_signs *g:ale_set_signs* - - Type: |Number| - Default: `has('signs')` - - When this option is set to `1`, the |sign| column will be populated with - signs marking where problems appear in the file. - - ALE will use the following highlight groups for problems: - - |ALEErrorSign| - Items with `'type': 'E'` - |ALEWarningSign| - Items with `'type': 'W'` - |ALEInfoSign| - Items with `'type': 'I'` - |ALEStyleErrorSign| - Items with `'type': 'E'` and `'sub_type': 'style'` - |ALEStyleWarningSign| - Items with `'type': 'W'` and `'sub_type': 'style'` - - In addition to the style of the signs, the style of lines where signs appear - can be configured with the following highlights: - - |ALEErrorLine| - All items with `'type': 'E'` - |ALEWarningLine| - All items with `'type': 'W'` - |ALEInfoLine| - All items with `'type': 'I'` - - With Neovim 0.3.2 or higher, ALE can use the `numhl` option to highlight the - 'number' column. It uses the following highlight groups. - - |ALEErrorSignLineNr| - Items with `'type': 'E'` - |ALEWarningSignLineNr| - Items with `'type': 'W'` - |ALEInfoSignLineNr| - Items with `'type': 'I'` - |ALEStyleErrorSignLineNr| - Items with `'type': 'E'` and `'sub_type': 'style'` - |ALEStyleWarningSignLineNr| - Items with `'type': 'W'` and `'sub_type': 'style'` - - To enable line number highlighting |g:ale_sign_highlight_linenrs| must be - set to `1` before ALE is loaded. - - The markers for the highlights can be customized with the following options: - - |g:ale_sign_error| - |g:ale_sign_warning| - |g:ale_sign_info| - |g:ale_sign_style_error| - |g:ale_sign_style_warning| - - When multiple problems exist on the same line, the signs will take - precedence in the order above, from highest to lowest. - - To limit the number of signs ALE will set, see |g:ale_max_signs|. - - -g:ale_sign_priority *g:ale_sign_priority* - - Type: |Number| - Default: `30` - - From Neovim 0.4.0 and Vim 8.1, ALE can set sign priority to all signs. The - larger this value is, the higher priority ALE signs have over other plugin - signs. See |sign-priority| for further details on how priority works. - - -g:ale_shell *g:ale_shell* - - Type: |String| - Default: not set - - Override the shell used by ALE for executing commands. ALE uses 'shell' by - default, but falls back in `/bin/sh` if the default shell looks like `fish` - or `pwsh`, which are not compatible with all of the commands run by ALE. The - shell specified with this option will be used even if it might not work in - all cases. - - For Windows, ALE uses `cmd` when this option isn't set. Setting this option - will apply shell escaping to the command string, even on Windows. - - NOTE: Consider setting |g:ale_shell_arguments| if this option is defined. - - -g:ale_shell_arguments *g:ale_shell_arguments* - - Type: |String| - Default: not set - - This option specifies the arguments to use for executing a command with a - custom shell, per |g:ale_shell|. If this option is not set, 'shellcmdflag' - will be used instead. - - -g:ale_sign_column_always *g:ale_sign_column_always* - - Type: |Number| - Default: `0` - - By default, the sign gutter will disappear when all warnings and errors have - been fixed for a file. When this option is set to `1`, the sign column will - remain open. This can be preferable if you don't want the text in your file - to move around as you edit a file. - - -g:ale_sign_error *g:ale_sign_error* - - Type: |String| - Default: `'>>'` - - The sign for errors in the sign gutter. - - -g:ale_sign_info *g:ale_sign_info* - - Type: |String| - Default: `g:ale_sign_warning` - - The sign for "info" markers in the sign gutter. - - -g:ale_sign_style_error *g:ale_sign_style_error* - - Type: |String| - Default: `g:ale_sign_error` - - The sign for style errors in the sign gutter. - - -g:ale_sign_style_warning *g:ale_sign_style_warning* - - Type: |String| - Default: `g:ale_sign_warning` - - The sign for style warnings in the sign gutter. - - -g:ale_sign_offset *g:ale_sign_offset* - - Type: |Number| - Default: `1000000` - - This variable controls offset from which numeric IDs will be generated for - new signs. Signs cannot share the same ID values, so when two Vim plugins - set signs at the same time, the IDs have to be configured such that they do - not conflict with one another. If the IDs used by ALE are found to conflict - with some other plugin, this offset value can be changed, and hopefully both - plugins will work together. See |sign-place| for more information on how - signs are set. - - -g:ale_sign_warning *g:ale_sign_warning* - - Type: |String| - Default: `'--'` - - The sign for warnings in the sign gutter. - - -g:ale_sign_highlight_linenrs *g:ale_sign_highlight_linenrs* - - Type: |Number| - Default: `0` - - When set to `1`, this option enables highlighting problems on the 'number' - column in Vim versions that support `numhl` highlights. This option must be - configured before ALE is loaded. - - -g:ale_update_tagstack *g:ale_update_tagstack* - *b:ale_update_tagstack* - Type: |Number| - Default: `1` - - This option can be set to disable updating Vim's |tagstack| automatically. - - -g:ale_type_map *g:ale_type_map* - *b:ale_type_map* - Type: |Dictionary| - Default: `{}` - - This option can be set re-map problem types for linters. Each key in the - |Dictionary| should be the name of a linter, and each value must be a - |Dictionary| mapping problem types from one type to another. The following - types are supported: - - `'E'` - `{'type': 'E'}` - `'ES'` - `{'type': 'E', 'sub_type': 'style'}` - `'W'` - `{'type': 'W'}` - `'WS'` - `{'type': 'W', 'sub_type': 'style'}` - `'I'` - `{'type': 'I'}` - - For example, if you want to turn flake8 errors into warnings, you can write - the following: > - - let g:ale_type_map = {'flake8': {'ES': 'WS', 'E': 'W'}} -< - If you wanted to turn style errors and warnings into regular errors and - warnings, you can write the following: > - - let g:ale_type_map = {'flake8': {'ES': 'E', 'WS': 'W'}} -< - Type maps can be set per-buffer with `b:ale_type_map`. - - -g:ale_use_global_executables *g:ale_use_global_executables* - - Type: |Number| - Default: not set - - This option can be set to change the default for all `_use_global` options. - This option must be set before ALE is loaded, preferably in a vimrc file. - - See |ale-integrations-local-executables| for more information on those - options. - - -g:ale_virtualtext_cursor *g:ale_virtualtext_cursor* - - Type: |Number| - Default: `0` - - This option only has any effect in NeoVim. - - When this option is set to `1`, a message will be shown when a cursor is - near a warning or error. ALE will attempt to find the warning or error at a - column nearest to the cursor when the cursor is resting on a line which - contains a warning or error. This option can be set to `0` to disable this - behavior. - - Messages are only displayed after a short delay. See |g:ale_virtualtext_delay|. - - Messages can be prefixed prefixed with a string. See |g:ale_virtualtext_prefix|. - - ALE will use the following highlight groups for problems: - - |ALEVirtualTextError| - Items with `'type': 'E'` - |ALEVirtualTextWarning| - Items with `'type': 'W'` - |ALEVirtualTextInfo| - Items with `'type': 'I'` - |ALEVirtualTextStyleError| - Items with `'type': 'E'` and `'sub_type': 'style'` - |ALEVirtualTextStyleWarning| - Items with `'type': 'W'` and `'sub_type': 'style'` - - -g:ale_virtualtext_delay *g:ale_virtualtext_delay* - *b:ale_virtualtext_delay* - - Type: |Number| - Default: `10` - - Given any integer, this option controls the number of milliseconds before - ALE will show a message for a problem near the cursor. - - The value can be increased to decrease the amount of processing ALE will do - for files displaying a large number of problems. - - -g:ale_virtualtext_prefix *g:ale_virtualtext_prefix* - - Type: |String| - Default: `'> '` - - Prefix to be used with |g:ale_virtualtext_cursor|. - -g:ale_virtualenv_dir_names *g:ale_virtualenv_dir_names* - *b:ale_virtualenv_dir_names* - - Type: |List| - Default: `['.env', '.venv', 'env', 've-py3', 've', 'virtualenv', 'venv']` - - A list of directory names to be used when searching upwards from Python - files to discover virtulenv directories with. - - For directory named `'foo'`, ALE will search for `'foo/bin/activate'` - (`foo\Scripts\activate\` on Windows) in all directories on and above the - directory containing the Python file to find virtualenv paths. - - -g:ale_warn_about_trailing_blank_lines *g:ale_warn_about_trailing_blank_lines* - *b:ale_warn_about_trailing_blank_lines* - - Type: |Number| - Default: `1` - - When this option is set to `1`, warnings about trailing blank lines will be - shown. - - This option behaves similarly to |g:ale_warn_about_trailing_whitespace|. - - -g:ale_warn_about_trailing_whitespace *g:ale_warn_about_trailing_whitespace* - *b:ale_warn_about_trailing_whitespace* - - Type: |Number| - Default: `1` - - When this option is set to `1`, warnings relating to trailing whitespace on - lines will be shown. If warnings are too irritating while editing buffers, - and you have configured Vim to automatically remove trailing whitespace, - you can disable these warnings by setting this option to `0`. - - Not all linters may respect this option. If a linter does not, please file a - bug report, and it may be possible to add such support. - - This option may be configured on a per buffer basis. - - -g:ale_windows_node_executable_path *g:ale_windows_node_executable_path* - *b:ale_windows_node_executable_path* - - Type: |String| - Default: `'node.exe'` - - This variable is used as the path to the executable to use for executing - scripts with Node.js on Windows. - - For Windows, any file with a `.js` file extension needs to be executed with - the node executable explicitly. Otherwise, Windows could try and open the - scripts with other applications, like a text editor. Therefore, these - scripts are executed with whatever executable is configured with this - setting. - - -------------------------------------------------------------------------------- -6.1. Highlights *ale-highlights* - -ALEError *ALEError* - - Default: `highlight link ALEError SpellBad` - - The highlight for highlighted errors. See |g:ale_set_highlights|. - - -ALEErrorLine *ALEErrorLine* - - Default: Undefined - - The highlight for an entire line where errors appear. Only the first - line for a problem will be highlighted. - - See |g:ale_set_signs| and |g:ale_set_highlights|. - - -ALEErrorSign *ALEErrorSign* - - Default: `highlight link ALEErrorSign error` - - The highlight for error signs. See |g:ale_set_signs|. - - -ALEErrorSignLineNr *ALEErrorSignLineNr* - - Default: `highlight link ALEErrorSignLineNr CursorLineNr` - - The highlight for error signs. See |g:ale_set_signs|. - - NOTE: This highlight is only available on Neovim 0.3.2 or higher. - - -ALEInfo *ALEInfo.* - *ALEInfo-highlight* - Default: `highlight link ALEInfo ALEWarning` - - The highlight for highlighted info messages. See |g:ale_set_highlights|. - - -ALEInfoSign *ALEInfoSign* - - Default: `highlight link ALEInfoSign ALEWarningSign` - - The highlight for info message signs. See |g:ale_set_signs|. - - -ALEInfoLine *ALEInfoLine* - - Default: Undefined - - The highlight for entire lines where info messages appear. Only the first - line for a problem will be highlighted. - - See |g:ale_set_signs| and |g:ale_set_highlights|. - - -ALEInfoSignLineNr *ALEInfoSignLineNr* - - Default: `highlight link ALEInfoSignLineNr CursorLineNr` - - The highlight for error signs. See |g:ale_set_signs|. - - NOTE: This highlight is only available on Neovim 0.3.2 or higher. - - -ALEStyleError *ALEStyleError* - - Default: `highlight link ALEStyleError ALEError` - - The highlight for highlighted style errors. See |g:ale_set_highlights|. - - -ALEStyleErrorSign *ALEStyleErrorSign* - - Default: `highlight link ALEStyleErrorSign ALEErrorSign` - - The highlight for style error signs. See |g:ale_set_signs|. - - -ALEStyleErrorSignLineNr *ALEStyleErrorSignLineNr* - - Default: `highlight link ALEStyleErrorSignLineNr CursorLineNr` - - The highlight for error signs. See |g:ale_set_signs|. - - NOTE: This highlight is only available on Neovim 0.3.2 or higher. - - -ALEStyleWarning *ALEStyleWarning* - - Default: `highlight link ALEStyleWarning ALEError` - - The highlight for highlighted style warnings. See |g:ale_set_highlights|. - - -ALEStyleWarningSign *ALEStyleWarningSign* - - Default: `highlight link ALEStyleWarningSign ALEWarningSign` - - The highlight for style warning signs. See |g:ale_set_signs|. - - -ALEStyleWarningSignLineNr *ALEStyleWarningSignLineNr* - - Default: `highlight link ALEStyleWarningSignLineNr CursorLineNr` - - The highlight for error signs. See |g:ale_set_signs|. - - NOTE: This highlight is only available on Neovim 0.3.2 or higher. - - -ALEVirtualTextError *ALEVirtualTextError* - - Default: `highlight link ALEVirtualTextError ALEError` - - The highlight for virtualtext errors. See |g:ale_virtualtext_cursor|. - - -ALEVirtualTextInfo *ALEVirtualTextInfo* - - Default: `highlight link ALEVirtualTextInfo ALEVirtualTextWarning` - - The highlight for virtualtext info. See |g:ale_virtualtext_cursor|. - - -ALEVirtualTextStyleError *ALEVirtualTextStyleError* - - Default: `highlight link ALEVirtualTextStyleError ALEVirtualTextError` - - The highlight for virtualtext style errors. See |g:ale_virtualtext_cursor|. - - -ALEVirtualTextStyleWarning *ALEVirtualTextStyleWarning* - - Default: `highlight link ALEVirtualTextStyleWarning ALEVirtualTextWarning` - - The highlight for virtualtext style warnings. See |g:ale_virtualtext_cursor|. - - -ALEVirtualTextWarning *ALEVirtualTextWarning* - - Default: `highlight link ALEVirtualTextWarning ALEWarning` - - The highlight for virtualtext errors. See |g:ale_virtualtext_cursor|. - - -ALEWarning *ALEWarning* - - Default: `highlight link ALEWarning SpellCap` - - The highlight for highlighted warnings. See |g:ale_set_highlights|. - - -ALEWarningLine *ALEWarningLine* - - Default: Undefined - - The highlight for entire lines where warnings appear. Only the first line - for a problem will be highlighted. - - See |g:ale_set_signs| and |g:ale_set_highlights|. - - -ALEWarningSign *ALEWarningSign* - - Default: `highlight link ALEWarningSign todo` - - The highlight for warning signs. See |g:ale_set_signs|. - - -ALEWarningSignLineNr *ALEWarningSignLineNr* - - Default: `highlight link ALEWarningSignLineNr CursorLineNr` - - The highlight for error signs. See |g:ale_set_signs|. - - NOTE: This highlight is only available on Neovim 0.3.2 or higher. - - -=============================================================================== -7. Linter/Fixer Options *ale-integration-options* - -Linter and fixer options are documented below and in individual help files. - -Every option for programs can be set globally, or individually for each -buffer. For example, `b:ale_python_flake8_executable` will override any -values set for `g:ale_python_flake8_executable`. - - *ale-integrations-local-executables* - -Some tools will prefer to search for locally-installed executables, unless -configured otherwise. For example, the `eslint` linter will search for -various executable paths in `node_modules`. The `flake8` linter will search -for virtualenv directories. - -If you prefer to use global executables for those tools, set the relevant -`_use_global` and `_executable` options for those linters. > - - " Use the global executable with a special name for eslint. - let g:ale_javascript_eslint_executable = 'special-eslint' - let g:ale_javascript_eslint_use_global = 1 - - " Use the global executable with a special name for flake8. - let g:ale_python_flake8_executable = '/foo/bar/flake8' - let g:ale_python_flake8_use_global = 1 -< -|g:ale_use_global_executables| can be set to `1` in your vimrc file to make -ALE use global executables for all linters by default. - -The option |g:ale_virtualenv_dir_names| controls the local virtualenv paths -ALE will use to search for Python executables. - - -------------------------------------------------------------------------------- -7.1. Options for alex *ale-alex-options* - -The options for `alex` are shared between all filetypes, so options can be -configured once. - -g:ale_alex_executable *g:ale_alex_executable* - *b:ale_alex_executable* - Type: |String| - Default: `'alex'` - - See |ale-integrations-local-executables| - - -g:ale_alex_use_global *g:ale_alex_use_global* - *b:ale_alex_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -------------------------------------------------------------------------------- -7.2. Options for languagetool *ale-languagetool-options* - -g:ale_languagetool_executable *g:ale_languagetool_executable* - *b:ale_languagetool_executable* - - Type: |String| - Default: `'languagetool'` - - The executable to run for languagetool. - - -g:ale_languagetool_options *g:ale_languagetool_options* - *b:ale_languagetool_options* - Type: |String| - Default: `'--autoDetect'` - - This variable can be set to pass additional options to languagetool. - - -------------------------------------------------------------------------------- -7.3. Options for write-good *ale-write-good-options* - -The options for `write-good` are shared between all filetypes, so options can -be configured once. - -g:ale_writegood_executable *g:ale_writegood_executable* - *b:ale_writegood_executable* - Type: |String| - Default: `'writegood'` - - See |ale-integrations-local-executables| - - -g:ale_writegood_options *g:ale_writegood_options* - *b:ale_writegood_options* - Type: |String| - Default: `''` - - This variable can be set to pass additional options to writegood. - - -g:ale_writegood_use_global *g:ale_writegood_use_global* - *b:ale_writegood_use_global* - Type: |Number| - Default: `get(g:, 'ale_use_global_executables', 0)` - - See |ale-integrations-local-executables| - - -------------------------------------------------------------------------------- -7.4. Other Linter/Fixer Options *ale-other-integration-options* - -ALE supports a very wide variety of tools. Other linter or fixer options are -documented in additional help files. - - ada.....................................|ale-ada-options| - gcc...................................|ale-ada-gcc| - gnatpp................................|ale-ada-gnatpp| - ansible.................................|ale-ansible-options| - ansible-lint..........................|ale-ansible-ansible-lint| - asciidoc................................|ale-asciidoc-options| - write-good............................|ale-asciidoc-write-good| - textlint..............................|ale-asciidoc-textlint| - asm.....................................|ale-asm-options| - gcc...................................|ale-asm-gcc| - awk.....................................|ale-awk-options| - gawk..................................|ale-awk-gawk| - bats....................................|ale-bats-options| - shellcheck............................|ale-bats-shellcheck| - bib.....................................|ale-bib-options| - bibclean..............................|ale-bib-bibclean| - c.......................................|ale-c-options| - clang.................................|ale-c-clang| - clangd................................|ale-c-clangd| - clang-format..........................|ale-c-clangformat| - clangtidy.............................|ale-c-clangtidy| - cppcheck..............................|ale-c-cppcheck| - cquery................................|ale-c-cquery| - flawfinder............................|ale-c-flawfinder| - gcc...................................|ale-c-gcc| - uncrustify............................|ale-c-uncrustify| - ccls..................................|ale-c-ccls| - chef....................................|ale-chef-options| - cookstyle.............................|ale-chef-cookstyle| - foodcritic............................|ale-chef-foodcritic| - clojure.................................|ale-clojure-options| - clj-kondo.............................|ale-clojure-clj-kondo| - joker.................................|ale-clojure-joker| - cloudformation..........................|ale-cloudformation-options| - cfn-python-lint.......................|ale-cloudformation-cfn-python-lint| - cmake...................................|ale-cmake-options| - cmakelint.............................|ale-cmake-cmakelint| - cmake-format..........................|ale-cmake-cmakeformat| - cpp.....................................|ale-cpp-options| - clang.................................|ale-cpp-clang| - clangd................................|ale-cpp-clangd| - clangcheck............................|ale-cpp-clangcheck| - clang-format..........................|ale-cpp-clangformat| - clangtidy.............................|ale-cpp-clangtidy| - clazy.................................|ale-cpp-clazy| - cppcheck..............................|ale-cpp-cppcheck| - cpplint...............................|ale-cpp-cpplint| - cquery................................|ale-cpp-cquery| - flawfinder............................|ale-cpp-flawfinder| - gcc...................................|ale-cpp-gcc| - uncrustify............................|ale-cpp-uncrustify| - ccls..................................|ale-cpp-ccls| - c#......................................|ale-cs-options| - csc...................................|ale-cs-csc| - mcs...................................|ale-cs-mcs| - mcsc..................................|ale-cs-mcsc| - uncrustify............................|ale-cs-uncrustify| - css.....................................|ale-css-options| - fecs..................................|ale-css-fecs| - prettier..............................|ale-css-prettier| - stylelint.............................|ale-css-stylelint| - cuda....................................|ale-cuda-options| - nvcc..................................|ale-cuda-nvcc| - clang-format..........................|ale-cuda-clangformat| - d.......................................|ale-d-options| - dfmt..................................|ale-d-dfmt| - dls...................................|ale-d-dls| - uncrustify............................|ale-d-uncrustify| - dart....................................|ale-dart-options| - dartanalyzer..........................|ale-dart-dartanalyzer| - dartfmt...............................|ale-dart-dartfmt| - dockerfile..............................|ale-dockerfile-options| - dockerfile_lint.......................|ale-dockerfile-dockerfile_lint| - hadolint..............................|ale-dockerfile-hadolint| - elixir..................................|ale-elixir-options| - mix...................................|ale-elixir-mix| - mix_format............................|ale-elixir-mix-format| - dialyxir..............................|ale-elixir-dialyxir| - elixir-ls.............................|ale-elixir-elixir-ls| - credo.................................|ale-elixir-credo| - elm.....................................|ale-elm-options| - elm-format............................|ale-elm-elm-format| - elm-ls................................|ale-elm-elm-ls| - elm-make..............................|ale-elm-elm-make| - erlang..................................|ale-erlang-options| - dialyzer..............................|ale-erlang-dialyzer| - erlc..................................|ale-erlang-erlc| - syntaxerl.............................|ale-erlang-syntaxerl| - eruby...................................|ale-eruby-options| - ruumba................................|ale-eruby-ruumba| - fish....................................|ale-fish-options| - fortran.................................|ale-fortran-options| - gcc...................................|ale-fortran-gcc| - language_server.......................|ale-fortran-language-server| - fountain................................|ale-fountain-options| - fusionscript............................|ale-fuse-options| - fusion-lint...........................|ale-fuse-fusionlint| - git commit..............................|ale-gitcommit-options| - gitlint...............................|ale-gitcommit-gitlint| - glsl....................................|ale-glsl-options| - glslang...............................|ale-glsl-glslang| - glslls................................|ale-glsl-glslls| - go......................................|ale-go-options| - bingo.................................|ale-go-bingo| - gobuild...............................|ale-go-gobuild| - gofmt.................................|ale-go-gofmt| - golangci-lint.........................|ale-go-golangci-lint| - golangserver..........................|ale-go-golangserver| - golint................................|ale-go-golint| - gometalinter..........................|ale-go-gometalinter| - gopls.................................|ale-go-gopls| - govet.................................|ale-go-govet| - revive................................|ale-go-revive| - staticcheck...........................|ale-go-staticcheck| - graphql.................................|ale-graphql-options| - eslint................................|ale-graphql-eslint| - gqlint................................|ale-graphql-gqlint| - prettier..............................|ale-graphql-prettier| - hack....................................|ale-hack-options| - hack..................................|ale-hack-hack| - hackfmt...............................|ale-hack-hackfmt| - hhast.................................|ale-hack-hhast| - handlebars..............................|ale-handlebars-options| - prettier..............................|ale-handlebars-prettier| - ember-template-lint...................|ale-handlebars-embertemplatelint| - haskell.................................|ale-haskell-options| - brittany..............................|ale-haskell-brittany| - floskell..............................|ale-haskell-floskell| - ghc...................................|ale-haskell-ghc| - ghc-mod...............................|ale-haskell-ghc-mod| - cabal-ghc.............................|ale-haskell-cabal-ghc| - hdevtools.............................|ale-haskell-hdevtools| - hfmt..................................|ale-haskell-hfmt| - hindent...............................|ale-haskell-hindent| - hlint.................................|ale-haskell-hlint| - stack-build...........................|ale-haskell-stack-build| - stack-ghc.............................|ale-haskell-stack-ghc| - stylish-haskell.......................|ale-haskell-stylish-haskell| - hie...................................|ale-haskell-hie| - hcl.....................................|ale-hcl-options| - terraform-fmt.........................|ale-hcl-terraform-fmt| - html....................................|ale-html-options| - fecs..................................|ale-html-fecs| - html-beautify.........................|ale-html-beautify| - htmlhint..............................|ale-html-htmlhint| - tidy..................................|ale-html-tidy| - prettier..............................|ale-html-prettier| - stylelint.............................|ale-html-stylelint| - write-good............................|ale-html-write-good| - idris...................................|ale-idris-options| - idris.................................|ale-idris-idris| - ink.....................................|ale-ink-options| - ink-language-server...................|ale-ink-language-server| - ispc....................................|ale-ispc-options| - ispc..................................|ale-ispc-ispc| - java....................................|ale-java-options| - checkstyle............................|ale-java-checkstyle| - javac.................................|ale-java-javac| - google-java-format....................|ale-java-google-java-format| - pmd...................................|ale-java-pmd| - javalsp...............................|ale-java-javalsp| - eclipselsp............................|ale-java-eclipselsp| - uncrustify............................|ale-java-uncrustify| - javascript..............................|ale-javascript-options| - eslint................................|ale-javascript-eslint| - fecs..................................|ale-javascript-fecs| - flow..................................|ale-javascript-flow| - importjs..............................|ale-javascript-importjs| - jscs..................................|ale-javascript-jscs| - jshint................................|ale-javascript-jshint| - prettier..............................|ale-javascript-prettier| - prettier-eslint.......................|ale-javascript-prettier-eslint| - prettier-standard.....................|ale-javascript-prettier-standard| - standard..............................|ale-javascript-standard| - xo....................................|ale-javascript-xo| - json....................................|ale-json-options| - fixjson...............................|ale-json-fixjson| - jsonlint..............................|ale-json-jsonlint| - jq....................................|ale-json-jq| - prettier..............................|ale-json-prettier| - julia...................................|ale-julia-options| - languageserver........................|ale-julia-languageserver| - kotlin..................................|ale-kotlin-options| - kotlinc...............................|ale-kotlin-kotlinc| - ktlint................................|ale-kotlin-ktlint| - languageserver........................|ale-kotlin-languageserver| - latex...................................|ale-latex-options| - write-good............................|ale-latex-write-good| - textlint..............................|ale-latex-textlint| - less....................................|ale-less-options| - lessc.................................|ale-less-lessc| - prettier..............................|ale-less-prettier| - stylelint.............................|ale-less-stylelint| - llvm....................................|ale-llvm-options| - llc...................................|ale-llvm-llc| - lua.....................................|ale-lua-options| - luac..................................|ale-lua-luac| - luacheck..............................|ale-lua-luacheck| - markdown................................|ale-markdown-options| - mdl...................................|ale-markdown-mdl| - prettier..............................|ale-markdown-prettier| - remark-lint...........................|ale-markdown-remark-lint| - textlint..............................|ale-markdown-textlint| - write-good............................|ale-markdown-write-good| - mercury.................................|ale-mercury-options| - mmc...................................|ale-mercury-mmc| - nasm....................................|ale-nasm-options| - nasm..................................|ale-nasm-nasm| - nim.....................................|ale-nim-options| - nimcheck..............................|ale-nim-nimcheck| - nimlsp................................|ale-nim-nimlsp| - nimpretty.............................|ale-nim-nimpretty| - nix.....................................|ale-nix-options| - nixpkgs-fmt...........................|ale-nix-nixpkgs-fmt| - nroff...................................|ale-nroff-options| - write-good............................|ale-nroff-write-good| - objc....................................|ale-objc-options| - clang.................................|ale-objc-clang| - clangd................................|ale-objc-clangd| - uncrustify............................|ale-objc-uncrustify| - ccls..................................|ale-objc-ccls| - objcpp..................................|ale-objcpp-options| - clang.................................|ale-objcpp-clang| - clangd................................|ale-objcpp-clangd| - uncrustify............................|ale-objcpp-uncrustify| - ocaml...................................|ale-ocaml-options| - merlin................................|ale-ocaml-merlin| - ols...................................|ale-ocaml-ols| - ocamlformat...........................|ale-ocaml-ocamlformat| - ocp-indent............................|ale-ocaml-ocp-indent| - pawn....................................|ale-pawn-options| - uncrustify............................|ale-pawn-uncrustify| - perl....................................|ale-perl-options| - perl..................................|ale-perl-perl| - perlcritic............................|ale-perl-perlcritic| - perltidy..............................|ale-perl-perltidy| - perl6...................................|ale-perl6-options| - perl6.................................|ale-perl6-perl6| - php.....................................|ale-php-options| - langserver............................|ale-php-langserver| - phan..................................|ale-php-phan| - phpcbf................................|ale-php-phpcbf| - phpcs.................................|ale-php-phpcs| - phpmd.................................|ale-php-phpmd| - phpstan...............................|ale-php-phpstan| - psalm.................................|ale-php-psalm| - php-cs-fixer..........................|ale-php-php-cs-fixer| - php...................................|ale-php-php| - po......................................|ale-po-options| - write-good............................|ale-po-write-good| - pod.....................................|ale-pod-options| - write-good............................|ale-pod-write-good| - pony....................................|ale-pony-options| - ponyc.................................|ale-pony-ponyc| - powershell............................|ale-powershell-options| - powershell..........................|ale-powershell-powershell| - psscriptanalyzer....................|ale-powershell-psscriptanalyzer| - prolog..................................|ale-prolog-options| - swipl.................................|ale-prolog-swipl| - proto...................................|ale-proto-options| - protoc-gen-lint.......................|ale-proto-protoc-gen-lint| - pug.....................................|ale-pug-options| - puglint...............................|ale-pug-puglint| - puppet..................................|ale-puppet-options| - puppet................................|ale-puppet-puppet| - puppetlint............................|ale-puppet-puppetlint| - puppet-languageserver.................|ale-puppet-languageserver| - purescript..............................|ale-purescript-options| - purescript-language-server............|ale-purescript-language-server| - purty.................................|ale-purescript-purty| - pyrex (cython)..........................|ale-pyrex-options| - cython................................|ale-pyrex-cython| - python..................................|ale-python-options| - autopep8..............................|ale-python-autopep8| - bandit................................|ale-python-bandit| - black.................................|ale-python-black| - flake8................................|ale-python-flake8| - isort.................................|ale-python-isort| - mypy..................................|ale-python-mypy| - prospector............................|ale-python-prospector| - pycodestyle...........................|ale-python-pycodestyle| - pydocstyle............................|ale-python-pydocstyle| - pyflakes..............................|ale-python-pyflakes| - pylama................................|ale-python-pylama| - pylint................................|ale-python-pylint| - pyls..................................|ale-python-pyls| - pyre..................................|ale-python-pyre| - reorder-python-imports................|ale-python-reorder_python_imports| - vulture...............................|ale-python-vulture| - yapf..................................|ale-python-yapf| - qml.....................................|ale-qml-options| - qmlfmt................................|ale-qml-qmlfmt| - r.......................................|ale-r-options| - lintr.................................|ale-r-lintr| - styler................................|ale-r-styler| - reasonml................................|ale-reasonml-options| - merlin................................|ale-reasonml-merlin| - ols...................................|ale-reasonml-ols| - reason-language-server................|ale-reasonml-language-server| - refmt.................................|ale-reasonml-refmt| - restructuredtext........................|ale-restructuredtext-options| - textlint..............................|ale-restructuredtext-textlint| - write-good............................|ale-restructuredtext-write-good| - ruby....................................|ale-ruby-options| - brakeman..............................|ale-ruby-brakeman| - debride...............................|ale-ruby-debride| - rails_best_practices..................|ale-ruby-rails_best_practices| - reek..................................|ale-ruby-reek| - rubocop...............................|ale-ruby-rubocop| - ruby..................................|ale-ruby-ruby| - rufo..................................|ale-ruby-rufo| - solargraph............................|ale-ruby-solargraph| - sorbet................................|ale-ruby-sorbet| - standardrb............................|ale-ruby-standardrb| - rust....................................|ale-rust-options| - analyzer..............................|ale-rust-analyzer| - cargo.................................|ale-rust-cargo| - rls...................................|ale-rust-rls| - rustc.................................|ale-rust-rustc| - rustfmt...............................|ale-rust-rustfmt| - sass....................................|ale-sass-options| - sasslint..............................|ale-sass-sasslint| - stylelint.............................|ale-sass-stylelint| - scala...................................|ale-scala-options| - metals................................|ale-scala-metals| - sbtserver.............................|ale-scala-sbtserver| - scalafmt..............................|ale-scala-scalafmt| - scalastyle............................|ale-scala-scalastyle| - scss....................................|ale-scss-options| - prettier..............................|ale-scss-prettier| - sasslint..............................|ale-scss-sasslint| - stylelint.............................|ale-scss-stylelint| - sh......................................|ale-sh-options| - sh-language-server....................|ale-sh-language-server| - shell.................................|ale-sh-shell| - shellcheck............................|ale-sh-shellcheck| - shfmt.................................|ale-sh-shfmt| - sml.....................................|ale-sml-options| - smlnj.................................|ale-sml-smlnj| - solidity................................|ale-solidity-options| - solc..................................|ale-solidity-solc| - solhint...............................|ale-solidity-solhint| - solium................................|ale-solidity-solium| - spec....................................|ale-spec-options| - rpmlint...............................|ale-spec-rpmlint| - sql.....................................|ale-sql-options| - pgformatter...........................|ale-sql-pgformatter| - sqlfmt................................|ale-sql-sqlfmt| - sqlformat.............................|ale-sql-sqlformat| - stylus..................................|ale-stylus-options| - stylelint.............................|ale-stylus-stylelint| - sugarss.................................|ale-sugarss-options| - stylelint.............................|ale-sugarss-stylelint| - swift...................................|ale-swift-options| - sourcekitlsp..........................|ale-swift-sourcekitlsp| - tcl.....................................|ale-tcl-options| - nagelfar..............................|ale-tcl-nagelfar| - terraform...............................|ale-terraform-options| - terraform-fmt-fixer...................|ale-terraform-fmt-fixer| - terraform.............................|ale-terraform-terraform| - terraform-lsp.........................|ale-terraform-terraform-lsp| - tflint................................|ale-terraform-tflint| - tex.....................................|ale-tex-options| - chktex................................|ale-tex-chktex| - lacheck...............................|ale-tex-lacheck| - latexindent...........................|ale-tex-latexindent| - texlab................................|ale-tex-texlab| - texinfo.................................|ale-texinfo-options| - write-good............................|ale-texinfo-write-good| - text....................................|ale-text-options| - textlint..............................|ale-text-textlint| - write-good............................|ale-text-write-good| - thrift..................................|ale-thrift-options| - thrift................................|ale-thrift-thrift| - typescript..............................|ale-typescript-options| - eslint................................|ale-typescript-eslint| - prettier..............................|ale-typescript-prettier| - standard..............................|ale-typescript-standard| - tslint................................|ale-typescript-tslint| - tsserver..............................|ale-typescript-tsserver| - vala....................................|ale-vala-options| - uncrustify............................|ale-vala-uncrustify| - verilog/systemverilog...................|ale-verilog-options| - iverilog..............................|ale-verilog-iverilog| - verilator.............................|ale-verilog-verilator| - vlog..................................|ale-verilog-vlog| - xvlog.................................|ale-verilog-xvlog| - vhdl....................................|ale-vhdl-options| - ghdl..................................|ale-vhdl-ghdl| - vcom..................................|ale-vhdl-vcom| - xvhdl.................................|ale-vhdl-xvhdl| - vim.....................................|ale-vim-options| - vimls.................................|ale-vim-vimls| - vint..................................|ale-vim-vint| - vim help................................|ale-vim-help-options| - write-good............................|ale-vim-help-write-good| - vue.....................................|ale-vue-options| - prettier..............................|ale-vue-prettier| - vls...................................|ale-vue-vls| - xhtml...................................|ale-xhtml-options| - write-good............................|ale-xhtml-write-good| - xml.....................................|ale-xml-options| - xmllint...............................|ale-xml-xmllint| - yaml....................................|ale-yaml-options| - prettier..............................|ale-yaml-prettier| - swaglint..............................|ale-yaml-swaglint| - yamllint..............................|ale-yaml-yamllint| - yang....................................|ale-yang-options| - yang-lsp..............................|ale-yang-lsp| - - -=============================================================================== -8. Commands/Keybinds *ale-commands* - -ALEComplete *ALEComplete* - - Manually trigger LSP autocomplete and show the menu. Works only when called - from insert mode. > - - inoremap :AleComplete -< - A plug mapping `(ale_complete)` is defined for this command. > - - imap (ale_complete) -< -ALEDocumentation *ALEDocumentation* - - Similar to the |ALEHover| command, retrieve documentation information for - the symbol at the cursor. Documentation data will always be shown in a - preview window, no matter how small the documentation content is. - - NOTE: This command is only available for `tsserver`. - - A plug mapping `(ale_documentation)` is defined for this command. - - -ALEFindReferences *ALEFindReferences* - - Find references in the codebase for the symbol under the cursor using the - enabled LSP linters for the buffer. ALE will display a preview window - containing the results if some references are found. - - The window can be navigated using the usual Vim navigation commands. The - Enter key (``) can be used to jump to a referencing location, or the `t` - key can be used to jump to the location in a new tab. - - The locations opened in different ways using the following variations. - - `:ALEFindReferences -tab` - Open the location in a new tab. - `:ALEFindReferences -split` - Open the location in a horizontal split. - `:ALEFindReferences -vsplit` - Open the location in a vertical split. - - The default method used for navigating to a new location can be changed - by modifying |g:ale_default_navigation|. - - The selection can be opened again with the |ALERepeatSelection| command. - - You can jump back to the position you were at before going to a reference of - something with jump motions like CTRL-O. See |jump-motions|. - - A plug mapping `(ale_find_references)` is defined for this command. - - -ALEFix *ALEFix* - - Fix problems with the current buffer. See |ale-fix| for more information. - - A plug mapping `(ale_fix)` is defined for this command. - - -ALEFixSuggest *ALEFixSuggest* - - Suggest tools that can be used to fix problems in the current buffer. - - See |ale-fix| for more information. - - -ALEGoToDefinition `` *ALEGoToDefinition* - - Jump to the definition of a symbol under the cursor using the enabled LSP - linters for the buffer. ALE will jump to a definition if an LSP server - provides a location to jump to. Otherwise, ALE will do nothing. - - The locations opened in different ways using the following variations. - - `:ALEGoToDefinition -tab` - Open the location in a new tab. - `:ALEGoToDefinition -split` - Open the location in a horizontal split. - `:ALEGoToDefinition -vsplit` - Open the location in a vertical split. - - The default method used for navigating to a new location can be changed - by modifying |g:ale_default_navigation|. - - You can jump back to the position you were at before going to the definition - of something with jump motions like CTRL-O. See |jump-motions|. - - You should consider using the 'hidden' option in combination with this - command. Otherwise, Vim will refuse to leave the buffer you're jumping from - unless you have saved your edits. - - A plug mapping `(ale_go_to_definition)` is defined for this command. - - -ALEGoToTypeDefinition *ALEGoToTypeDefinition* - - This works similar to |ALEGoToDefinition| but instead jumps to the - definition of a type of a symbol under the cursor. ALE will jump to a - definition if an LSP server provides a location to jump to. Otherwise, ALE - will do nothing. - - The locations opened in different ways using the following variations. - - `:ALEGoToTypeDefinition -tab` - Open the location in a new tab. - `:ALEGoToTypeDefinition -split` - Open the location in a horizontal split. - `:ALEGoToTypeDefinition -vsplit` - Open the location in a vertical split. - - The default method used for navigating to a new location can be changed - by modifying |g:ale_default_navigation|. - - You can jump back to the position you were at before going to the definition - of something with jump motions like CTRL-O. See |jump-motions|. - - A plug mapping `(ale_go_to_type_definition)` is defined for this - command. - - -ALEHover *ALEHover* - - Print brief information about the symbol under the cursor, taken from any - available LSP linters. There may be a small non-blocking delay before - information is printed. - - NOTE: In Vim 8, long messages will be shown in a preview window, as Vim 8 - does not support showing a prompt to press enter to continue for long - messages from asynchronous callbacks. - - A plug mapping `(ale_hover)` is defined for this command. - - -ALEOrganizeImports *ALEOrganizeImports* - - Organize imports using tsserver. Currently not implemented for LSPs. - - -ALERename *ALERename* - - Rename a symbol using TypeScript server or Language Server. - - The user will be prompted for a new name. - - -ALERepeatSelection *ALERepeatSelection* - - Repeat the last selection displayed in the preview window. - - -ALESymbolSearch `` *ALESymbolSearch* - - Search for symbols in the workspace, taken from any available LSP linters. - - The arguments provided to this command will be used as a search query for - finding symbols in the workspace, such as functions, types, etc. - - *:ALELint* -ALELint *ALELint* - - Run ALE once for the current buffer. This command can be used to run ALE - manually, instead of automatically, if desired. - - This command will also run linters where `lint_file` is set to `1`, or in - other words linters which check the file instead of the Vim buffer. - - A plug mapping `(ale_lint)` is defined for this command. - - -ALEPrevious *ALEPrevious* -ALEPreviousWrap *ALEPreviousWrap* -ALENext *ALENext* -ALENextWrap *ALENextWrap* -ALEFirst *ALEFirst* -ALELast *ALELast* - *ale-navigation-commands* - - Move between warnings or errors in a buffer. ALE will only navigate between - the errors or warnings it generated, even if both |g:ale_set_quickfix| - and |g:ale_set_loclist| are set to `0`. - - `ALEPrevious` and `ALENext` will stop at the top and bottom of a file, while - `ALEPreviousWrap` and `ALENextWrap` will wrap around the file to find - the last or first warning or error in the file, respectively. - - `ALEPrevious` and `ALENext` take optional flags arguments to custom their - behaviour : - `-wrap` enable wrapping around the file - `-error`, `-warning` and `-info` enable jumping to errors, warnings or infos - respectively, ignoring anything else. They are mutually exclusive and if - several are provided the priority is the following: error > warning > info. - `-style` and `-nostyle` allow you to jump respectively to style error or - warning and to not style error or warning. They also are mutually - exclusive and nostyle has priority over style. - - Flags can be combined to create create custom jumping. Thus you can use - ":ALENext -wrap -error -nosyle" to jump to the next error which is not a - style error while going back to the beginning of the file if needed. - - `ALEFirst` goes to the first error or warning in the buffer, while `ALELast` - goes to the last one. - - The following || mappings are defined for the commands: > - (ale_previous) - ALEPrevious - (ale_previous_wrap) - ALEPreviousWrap - (ale_previous_error) - ALEPrevious -error - (ale_previous_wrap_error) - ALEPrevious -wrap -error - (ale_previous_warning) - ALEPrevious -warning - (ale_previous_wrap_warning) - ALEPrevious -wrap -warning - (ale_next) - ALENext - (ale_next_wrap) - ALENextWrap - (ale_next_error) - ALENext -error - (ale_next_wrap_error) - ALENext -wrap -error - (ale_next_warning) - ALENext -warning - (ale_next_wrap_warning) - ALENext -wrap -warning - (ale_first) - ALEFirst - (ale_last) - ALELast -< - For example, these commands could be bound to the keys Ctrl + j - and Ctrl + k: > - - " Map movement through errors without wrapping. - nmap (ale_previous) - nmap (ale_next) - " OR map keys to use wrapping. - nmap (ale_previous_wrap) - nmap (ale_next_wrap) -< - -ALEToggle *ALEToggle* -ALEEnable *ALEEnable* -ALEDisable *ALEDisable* -ALEToggleBuffer *ALEToggleBuffer* -ALEEnableBuffer *ALEEnableBuffer* -ALEDisableBuffer *ALEDisableBuffer* - - `ALEToggle`, `ALEEnable`, and `ALEDisable` enable or disable ALE linting, - including all of its autocmd events, loclist items, quickfix items, signs, - current jobs, etc., globally. Executing any of these commands will change - the |g:ale_enabled| variable. - - ALE can be disabled or enabled for only a single buffer with - `ALEToggleBuffer`, `ALEEnableBuffer`, and `ALEDisableBuffer`. Disabling ALE - for a buffer will not remove autocmd events, but will prevent ALE from - checking for problems and reporting problems for whatever buffer the - `ALEDisableBuffer` or `ALEToggleBuffer` command is executed from. These - commands can be used for temporarily disabling ALE for a buffer. These - commands will modify the |b:ale_enabled| variable. - - ALE linting cannot be enabled for a single buffer when it is disabled - globally, as disabling ALE globally removes the autocmd events needed to - perform linting with. - - The following plug mappings are defined, for conveniently defining keybinds: - - |ALEToggle| - `(ale_toggle)` - |ALEEnable| - `(ale_enable)` - |ALEDisable| - `(ale_disable)` - |ALEToggleBuffer| - `(ale_toggle_buffer)` - |ALEEnableBuffer| - `(ale_enable_buffer)` - |ALEDisableBuffer| - `(ale_disable_buffer)` - - For removing problems reported by ALE, but leaving ALE enabled, see - |ALEReset| and |ALEResetBuffer|. - - *:ALEDetail* -ALEDetail *ALEDetail* - - Show the full linter message for the problem nearest to the cursor on the - given line in the preview window. The preview window can be easily closed - with the `q` key. If there is no message to show, the window will not be - opened. - - If a loclist item has a `detail` key set, the message for that key will be - preferred over `text`. See |ale-loclist-format|. - - A plug mapping `(ale_detail)` is defined for this command. - - - *:ALEInfo* -ALEInfo *ALEInfo* -ALEInfoToClipboard *ALEInfoToClipboard* - - Print runtime information about ALE, including the values of global and - buffer-local settings for ALE, the linters that are enabled, the commands - that have been run, and the output of commands. - - ALE will log the commands that are run by default. If you wish to disable - this, set |g:ale_history_enabled| to `0`. Because it could be expensive, ALE - does not remember the output of recent commands by default. Set - |g:ale_history_log_output| to `1` to enable logging of output for commands. - ALE will only log the output captured for parsing problems, etc. - - The command `:ALEInfoToClipboard` can be used to output ALEInfo directly to - your clipboard. This might not work on every machine. - - `:ALEInfoToFile` will write the ALE runtime information to a given filename. - The filename works just like |:w|. - - -ALEReset *ALEReset* -ALEResetBuffer *ALEResetBuffer* - - `ALEReset` will remove all problems reported by ALE for all buffers. - `ALEResetBuffer` will remove all problems reported for a single buffer. - - Either command will leave ALE linting enabled, so ALE will report problems - when linting is performed again. See |ale-lint| for more information. - - The following plug mappings are defined, for conveniently defining keybinds: - - |ALEReset| - `(ale_reset)` - |ALEResetBuffer| - `(ale_reset_buffer)` - - ALE can be disabled globally or for a buffer with |ALEDisable| or - |ALEDisableBuffer|. - - -ALEStopAllLSPs *ALEStopAllLSPs* - - `ALEStopAllLSPs` will close and stop all channels and jobs for all LSP-like - clients, including tsserver, remove all of the data stored for them, and - delete all of the problems found for them, updating every linted buffer. - - This command can be used when LSP clients mess up and need to be restarted. - - -=============================================================================== -9. API *ale-api* - -ALE offers a number of functions for running linters or fixers, or defining -them. The following functions are part of the publicly documented part of that -API, and should be expected to continue to work. - - -ale#Env(variable_name, value) *ale#Env()* - - Given a variable name and a string value, produce a string for including in - a command for setting environment variables. This function can be used for - building a command like so. > - - :echo string(ale#Env('VAR', 'some value') . 'command') - 'VAR=''some value'' command' # On Linux or Mac OSX - 'set VAR="some value" && command' # On Windows - - -ale#Has(feature) *ale#Has()* - - Return `1` if ALE supports a given feature, like |has()| for Vim features. - - ALE versions can be checked with version strings in the format - `ale#Has('ale-x.y.z')`, such as `ale#Has('ale-2.4.0')`. - - -ale#Pad(string) *ale#Pad()* - - Given a string or any |empty()| value, return either the string prefixed - with a single space, or an empty string. This function can be used to build - parts of a command from variables. - - -ale#Queue(delay, [linting_flag, buffer_number]) *ale#Queue()* - - Run linters for the current buffer, based on the filetype of the buffer, - with a given `delay`. A `delay` of `0` will run the linters immediately. - The linters will always be run in the background. Calling this function - again from the same buffer - - An optional `linting_flag` argument can be given. If `linting_flag` - is `'lint_file'`, then linters where the `lint_file` option is set to `1` will be - run. Linters with `lint_file` set to `1` are not run by default. - - An optional `buffer_number` argument can be given for specifying the buffer - to check. The active buffer (`bufnr('')`) will be checked by default. - - *ale-cool-down* - If an exception is thrown when queuing/running ALE linters, ALE will enter - a cool down period where it will stop checking anything for a short period - of time. This is to prevent ALE from seriously annoying users if a linter - is broken, or when developing ALE itself. - - -ale#command#CreateDirectory(buffer) *ale#command#CreateDirectory()* - - Create a new temporary directory with a unique name, and manage that - directory with |ale#command#ManageDirectory()|, so it will be removed as soon - as possible. - - It is advised to only call this function from a callback function for - returning a linter command to run. - - -ale#command#CreateFile(buffer) *ale#command#CreateFile()* - - Create a new temporary file with a unique name, and manage that file with - |ale#command#ManageFile()|, so it will be removed as soon as possible. - - It is advised to only call this function from a callback function for - returning a linter command to run. - - -ale#command#Run(buffer, command, callback, [options]) *ale#command#Run()* - - Start running a job in the background, and pass the results to the given - callback later. - - This function can be used for computing the results of ALE linter or fixer - functions asynchronously with jobs. `buffer` must match the buffer being - linted or fixed, `command` must be a |String| for a shell command to - execute, `callback` must be defined as a |Funcref| to call later with the - results, and an optional |Dictionary| of `options` can be provided. - - The `callback` will receive the arguments `(buffer, output, metadata)`, - where the `buffer` will match the buffer given to the function, the `output` - will be a `List` of lines of output from the job that was run, and the - `metadata` will be a |Dictionary| with additional information about the job - that was run, including: - - `exit_code` - A |Number| with the exit code for the program that was run. - - The result of this function is either a special |Dictionary| ALE will use - for waiting for the command to finish, or `0` if the job is not started. The - The return value of the `callback` will be used as the eventual result for - whatever value is being given to ALE. For example: > - - function! s:GetCommand(buffer, output, meta) abort - " Do something with a:output here, from the foo command. - - " This is used as the command to run for linting. - return 'final command' - endfunction - - " ... - - 'command': {b -> ale#command#Run(b, 'foo', function('s:GetCommand'))} -< - The result of a callback can also be the result of another call to this - function, so that several commands can be arbitrarily chained together. For - example: > - - function! s:GetAnotherCommand(buffer, output, meta) abort - " We can finally return this command. - return 'last command' - endfunction - - function! s:GetCommand(buffer, output, meta) abort - " We can return another deferred result. - return ale#command#Run( - \ a:buffer, - \ 'second command', - \ function('s:GetAnotherCommand') - \) - endfunction - - " ... - - 'command': {b -> ale#command#Run(b, 'foo', function('s:GetCommand'))} -< - The following `options` can be provided. - - `output_stream` - Either `'stdout'`, `'stderr'`, `'both'`, or `'none`' for - selecting which output streams to read lines from. - - The default is `'stdout'` - - `executable` - An executable for formatting into `%e` in the command. - If this option is not provided, formatting commands with - `%e` will not work. - - `read_buffer` - If set to `1`, the buffer will be piped into the - command. - - The default is `0`. - - `input` - When creating temporary files with `%t` or piping text - into a command `input` can be set to a |List| of text to - use instead of the buffer's text. - - -ale#command#EscapeCommandPart(command_part) *ale#command#EscapeCommandPart()* - - Given a |String|, return a |String| with all `%` characters replaced with - `%%` instead. This function can be used to escape strings which are - dynamically generated for commands before handing them over to ALE, - so that ALE doesn't treat any strings with `%` formatting sequences - specially. - - -ale#command#ManageDirectory(buffer, directory) *ale#command#ManageDirectory()* - - Like |ale#command#ManageFile()|, but directories and all of their contents - will be deleted, akin to `rm -rf directory`, which could lead to loss of - data if mistakes are made. This command will also delete any temporary - filenames given to it. - - It is advised to use |ale#command#ManageFile()| instead for deleting single - files. - - -ale#command#ManageFile(buffer, filename) *ale#command#ManageFile()* - - Given a buffer number for a buffer currently running some linting or fixing - tasks and a filename, register a filename with ALE for automatic deletion - after linting or fixing is complete, or when Vim exits. - - If Vim exits suddenly, ALE will try its best to remove temporary files, but - ALE cannot guarantee with absolute certainty that the files will be removed. - It is advised to create temporary files in the operating system's managed - temporary file directory, such as with |tempname()|. - - Directory names should not be given to this function. ALE will only delete - files and symlinks given to this function. This is to prevent entire - directories from being accidentally deleted, say in cases of writing - `dir . '/' . filename` where `filename` is actually `''`, etc. ALE instead - manages directories separately with the |ale#command#ManageDirectory| function. - - -ale#completion#OmniFunc(findstart, base) *ale#completion#OmniFunc()* - - A completion function to use with 'omnifunc'. - - See |ale-completion|. - - -ale#engine#GetLoclist(buffer) *ale#engine#GetLoclist()* - - Given a buffer number, this function will return the list of problems - reported by ALE for a given buffer in the format accepted by |setqflist()|. - - A reference to the buffer's list of problems will be returned. The list must - be copied before applying |map()| or |filter()|. - - -ale#engine#IsCheckingBuffer(buffer) *ale#engine#IsCheckingBuffer()* - - Given a buffer number, returns `1` when ALE is busy checking that buffer. - - This function can be used for status lines, tab names, etc. - - -ale#fix#registry#Add(name, func, filetypes, desc, [aliases]) - *ale#fix#registry#Add()* - - Given a |String| `name` for a name to add to the registry, a |String| `func` - for a function name, a |List| `filetypes` for a list of filetypes to - set for suggestions, and a |String| `desc` for a short description of - the fixer, register a fixer in the registry. - - The `name` can then be used for |g:ale_fixers| in place of the function - name, and suggested for fixing files. - - An optional |List| of |String|s for aliases can be passed as the `aliases` - argument. These aliases can also be used for looking up a fixer function. - ALE will search for fixers in the registry first by `name`, then by their - `aliases`. - - -ale#linter#Define(filetype, linter) *ale#linter#Define()* - - Given a |String| for a filetype and a |Dictionary| Describing a linter - configuration, add a linter for the given filetype. The dictionaries each - offer the following options: - - `name` The name of the linter. These names will be used by - |g:ale_linters| option for enabling/disabling - particular linters. - - This argument is required. - - `callback` A |String| or |Funcref| for a callback function - accepting two arguments (buffer, lines), for a - buffer number the output is for, and the lines of - output from a linter. - - This callback function should return a |List| of - |Dictionary| objects in the format accepted by - |setqflist()|. The |List| will be sorted by line and - then column order so it can be searched with a binary - search by in future before being passed on to the - |loclist|, etc. - - This argument is required, unless the linter is an - LSP linter. In which case, this argument must not be - defined, as LSP linters handle diagnostics - automatically. See |ale-lsp-linters|. - - If the function named does not exist, including if - the function is later deleted, ALE will behave as if - the callback returned an empty list. - - The keys for each item in the List will be handled in - the following manner: - *ale-loclist-format* - `text` - This error message is required. - `detail` - An optional, more descriptive message. - This message can be displayed with the |ALEDetail| - command instead of the message for `text`, if set. - `lnum` - The line number is required. Any strings - will be automatically converted to numbers by - using `str2nr()`. - - Line 0 will be moved to line 1, and lines beyond - the end of the file will be moved to the end. - `col` - The column number is optional and will - default to `0`. Any strings will be automatically - converted to number using `str2nr()`. - `end_col` - An optional end column number. - This key can be set to specify the column problems - end on, for improved highlighting. - `end_lnum` - An optional end line number. - This key can set along with `end_col` for - highlighting multi-line problems. - `bufnr` - This key represents the buffer number the - problems are for. This value will default to - the buffer number being checked. - - The `filename` key can be set instead of this key, - and then the eventual `bufnr` value in the final - list will either represent the number for an open - buffer or `-1` for a file not open in any buffer. - `filename` - An optional filename for the file the - problems are for. This should be an absolute path to - a file. - - Problems for files which have not yet been opened - will be set in those files after they are opened - and have been checked at least once. - - Temporary files in directories used for Vim - temporary files with `tempname()` will be assumed - to be the buffer being checked, unless the `bufnr` - key is also set with a valid number for some other - buffer. - `vcol` - Defaults to `0`. - - If set to `1`, ALE will convert virtual column - positions for `col` and `end_col` to byte column - positions. If the buffer is changed in-between - checking it and displaying the results, the - calculated byte column positions will probably be - wrong. - `type` - Defaults to `'E'`. - `nr` - Defaults to `-1`. - - Numeric error code. If `nr` is not `-1`, `code` - likely should contain the string representation of - the same value. - `code` - No default; may be unset. - - Human-readable |String| error code. - - `executable` A |String| naming the executable itself which - will be run, or a |Funcref| for a function to call - for computing the executable, accepting a buffer - number. - - The result can be computed with |ale#command#Run()|. - - This value will be used to check if the program - requested is installed or not. - - If an `executable` is not defined, the command will - be run without checking if a program is executable - first. Defining an executable path is recommended to - avoid starting too many processes. - - `command` A |String| for a command to run asynchronously, or a - |Funcref| for a function to call for computing the - command, accepting a buffer number. - - The result can be computed with |ale#command#Run()|. - - This command will be fed the lines from the buffer to - check, and will produce the lines of output given to - the `callback`. - - `output_stream` A |String| for the output stream the lines of output - should be read from for the command which is run. The - accepted values are `'stdout'`, `'stderr'`, and - `'both'`. This argument defaults to `'stdout'`. This - argument can be set for linter programs which output - their errors and warnings to the stderr stream - instead of stdout. The option `'both'` will read - from both stder and stdout at the same time. - - `read_buffer` A |Number| (`0` or `1`) indicating whether a command - should read the Vim buffer as input via stdin. This - option is set to `1` by default, and can be disabled - if a command manually reads from a temporary file - instead, etc. - - *ale-lint-file* - `lint_file` A |Number| (`0` or `1`) indicating whether a command - should read the file instead of the Vim buffer. This - option can be used for linters which must check the - file on disk, and which cannot check a Vim buffer - instead. - - Linters set with this option will not be run as a - user types, per |g:ale_lint_on_text_changed|. Linters - will instead be run only when events occur against - the file on disk, including |g:ale_lint_on_enter| - and |g:ale_lint_on_save|. Linters with this option - set to `1` will also be run when linters are run - manually, per |ALELintPost-autocmd|. - - When this option is set to `1`, `read_buffer` will - be set automatically to `0`. The two options cannot - be used together. - - *ale-lsp-linters* - `lsp` A |String| for defining LSP (Language Server Protocol) - linters. - - This argument may be omitted or `''` when a linter - does not represent an LSP linter. - - When this argument is set to `'stdio'`, then the - linter will be defined as an LSP linter which keeps a - process for a language server running, and - communicates with it directly via a |channel|. - `executable` and `command` must be set. - - When this argument is set to `'socket'`, then the - linter will be defined as an LSP linter via a TCP - socket connection. `address` must be set. - - ALE will not start a server automatically. - - When this argument is not empty `project_root` must - be defined. - - `language` can be defined to describe the language - for a file. The filetype will be used as the language - by default. - - LSP linters handle diagnostics automatically, so - the `callback` argument must not be defined. - - An optional `completion_filter` callback may be - defined for filtering completion results. - - `initialization_options` may be defined to pass - initialization options to the LSP. - - `lsp_config` may be defined to pass configuration - settings to the LSP. - - `address` A |String| representing an address to connect to, - or a |Funcref| accepting a buffer number and - returning the |String|. - - The result can be computed with |ale#command#Run()|. - - This argument must only be set if the `lsp` argument - is set to `'socket'`. - - `project_root` A |String| representing a path to the project for - the file being checked with the language server, or - a |Funcref| accepting a buffer number and returning - the |String|. - - If an empty string is returned, the file will not be - checked at all. - - This argument must only be set if the `lsp` argument - is also set to a non-empty string. - - `language` A |String| representing the name of the language - being checked, or a |Funcref| accepting a buffer - number and returning the |String|. This string will - be sent to the LSP to tell it what type of language - is being checked. - - If a language isn't provided, the language will - default to the value of the filetype given to - |ale#linter#Define|. - - `completion_filter` A |String| or |Funcref| for a callback function - accepting a buffer number and a completion item. - - The completion item will be a |Dictionary| following - the Language Server Protocol `CompletionItem` - interface as described in the specification, - available online here: - https://microsoft.github.io/language-server-protocol - - `aliases` A |List| of aliases for the linter name. - - This argument can be set with alternative names for - selecting the linter with |g:ale_linters|. This - setting can make it easier to guess the linter name - by offering a few alternatives. - - `initialization_options` A |Dictionary| of initialization options for LSPs, - or a |Funcref| for a callback function accepting - a buffer number and returning the |Dictionary|. - - This will be fed (as JSON) to the LSP in the - initialize command. - - `lsp_config` A |Dictionary| for configuring a language server, - or a |Funcref| for a callback function accepting - a buffer number and returning the |Dictionary|. - - This will be fed (as JSON) to the LSP in the - workspace/didChangeConfiguration command. - - If temporary files or directories are created for commands run with - `command`, then these temporary files or directories can be managed by ALE, - for automatic deletion. See |ale#command#ManageFile()| and - |ale#command#ManageDirectory| for more information. - - *ale-command-format-strings* - - All command strings will be formatted for special character sequences. - Any substring `%s` will be replaced with the full path to the current file - being edited. This format option can be used to pass the exact filename - being edited to a program. - - For example: > - 'command': 'eslint -f unix --stdin --stdin-filename %s' -< - Any substring `%t` will be replaced with a path to a temporary file. Merely - adding `%t` will cause ALE to create a temporary file containing the - contents of the buffer being checked. All occurrences of `%t` in command - strings will reference the one temporary file. The temporary file will be - created inside a temporary directory, and the entire temporary directory - will be automatically deleted, following the behaviour of - |ale#command#ManageDirectory|. This option can be used for some linters which - do not support reading from stdin. - - For example: > - 'command': 'ghc -fno-code -v0 %t', -< - Any substring `%e` will be replaced with the escaped executable supplied - with `executable`. This provides a convenient way to define a command string - which needs to include a dynamic executable name, but which is otherwise - static. - - For example: > - 'command': '%e --some-argument', -< - The character sequence `%%` can be used to emit a literal `%` into a - command, so literal character sequences `%s` and `%t` can be escaped by - using `%%s` and `%%t` instead, etc. - - If a callback for a command generates part of a command string which might - possibly contain `%%`, `%s`, `%t`, or `%e`, where the special formatting - behavior is not desired, the |ale#command#EscapeCommandPart()| function can - be used to replace those characters to avoid formatting issues. - - *ale-linter-loading-behavior* - *ale-linter-loading-behaviour* - - Linters for ALE will be loaded by searching |runtimepath| in the following - format: > - - ale_linters//.vim -< - Any linters which exist anywhere in |runtimepath| with that directory - structure will be automatically loaded for the matching |filetype|. Filetypes - containing `.` characters will be split into individual parts, and files - will be loaded for each filetype between the `.` characters. - - Linters can be defined from vimrc and other files as long as this function - is loaded first. For example, the following code will define a Hello World - linter in vimrc in Vim 8: > - - " Plugins have to be loaded first. - " If you are using a plugin manager, run that first. - packloadall - - call ale#linter#Define('vim', { - \ 'name': 'echo-test', - \ 'executable': 'echo', - \ 'command': 'echo hello world', - \ 'callback': {buffer, lines -> map(lines, '{"text": v:val, "lnum": 1}')}, - \}) -< - -ale#linter#Get(filetype) *ale#linter#Get()* - - Return all of linters configured for a given filetype as a |List| of - |Dictionary| values in the format specified by |ale#linter#Define()|. - - Filetypes may be dot-separated to invoke linters for multiple filetypes: - for instance, the filetype `javascript.jsx` will return linters for both the - `javascript` and `jsx` filetype. - - Aliases may be defined in as described in |g:ale_linter_aliases|. Aliases - are applied after dot-separated filetypes are broken up into their - components. - - -ale#linter#PreventLoading(filetype) *ale#linter#PreventLoading()* - - Given a `filetype`, prevent any more linters from being loaded from - |runtimepath| for that filetype. This function can be called from vimrc or - similar to prevent ALE from loading linters. - - -ale#lsp_linter#SendRequest(buffer, linter_name, message, [Handler]) - *ale#lsp_linter#SendRequest()* - - Send a custom request to an LSP linter. The arguments are defined as - follows: - - `buffer` A valid buffer number. - - `linter_name` A |String| identifying an LSP linter that is available and - enabled for the |filetype| of `buffer`. - - `message` A |List| in the form `[is_notification, method, parameters]`, - containing three elements: - `is_notification` - an |Integer| that has value 1 if the - request is a notification, 0 otherwise; - `method` - a |String|, identifying an LSP method supported - by `linter`; - `parameters` - a |dictionary| of LSP parameters that are - applicable to `method`. - - `Handler` Optional argument, meaningful only when `message[0]` is 0. - A |Funcref| that is called when a response to the request is - received, and takes as unique argument a dictionary - representing the response obtained from the server. - - -ale#other_source#ShowResults(buffer, linter_name, loclist) - *ale#other_source#ShowResults()* - - Show results from another source of information. - - `buffer` must be a valid buffer number, and `linter_name` must be a unique - name for identifying another source of information. The `loclist` given - where the problems in a buffer are, and should be provided in the format ALE - uses for regular linter results. See |ale-loclist-format|. - - -ale#other_source#StartChecking(buffer, linter_name) - *ale#other_source#StartChecking()* - - Tell ALE that another source of information has started checking a buffer. - - `buffer` must be a valid buffer number, and `linter_name` must be a unique - name for identifying another source of information. - - -ale#statusline#Count(buffer) *ale#statusline#Count()* - - Given the number of a buffer which may have problems, return a |Dictionary| - containing information about the number of problems detected by ALE. The - following keys are supported: - - `error` -> The number of problems with type `E` and `sub_type != 'style'` - `warning` -> The number of problems with type `W` and `sub_type != 'style'` - `info` -> The number of problems with type `I` - `style_error` -> The number of problems with type `E` and `sub_type == 'style'` - `style_warning` -> The number of problems with type `W` and `sub_type == 'style'` - `total` -> The total number of problems. - - -ale#statusline#FirstProblem(buffer, type) *ale#statusline#FirstProblem()* - - Returns a copy of the first entry in the `loclist` that matches the supplied - buffer number and problem type. If there is no such entry, an empty dictionary - is returned. - Problem type should be one of the strings listed below: - - `error` -> Returns the first `loclist` item with type `E` and - `sub_type != 'style'` - `warning` -> First item with type `W` and `sub_type != 'style'` - `info` -> First item with type `I` - `style_error` -> First item with type `E` and `sub_type == 'style'` - `style_warning` -> First item with type `W` and `sub_type == 'style'` - - -b:ale_linted *b:ale_linted* - - `b:ale_linted` is set to the number of times a buffer has been checked by - ALE after all linters for one lint cycle have finished checking a buffer. - This variable may not be defined until ALE first checks a buffer, so it - should be accessed with |get()| or |getbufvar()|. For example: > - - " Print a message indicating how many times ALE has checked this buffer. - echo 'ALE has checked this buffer ' . get(b:, 'ale_linted') . ' time(s).' - " Print 'checked' using getbufvar() if a buffer has been checked. - echo getbufvar(bufnr(''), 'ale_linted', 0) > 0 ? 'checked' : 'not checked' -< - -g:ale_want_results_buffer *g:ale_want_results_buffer* - - `g:ale_want_results_buffer` is set to the number of the buffer being checked - when the |ALEWantResults| event is signaled. This variable should be read to - figure out which buffer other sources should lint. - - -ALELintPre *ALELintPre-autocmd* - *ALELintPre* -ALELintPost *ALELintPost-autocmd* - *ALELintPost* -ALEFixPre *ALEFixPre-autocmd* - *ALEFixPre* -ALEFixPost *ALEFixPost-autocmd* - *ALEFixPost* - - These |User| autocommands are triggered before and after every lint or fix - cycle. They can be used to update statuslines, send notifications, etc. - The autocmd commands are run with |:silent|, so |:unsilent| is required for - echoing messges. - - For example to change the color of the statusline while the linter is - running: -> - augroup ALEProgress - autocmd! - autocmd User ALELintPre hi Statusline ctermfg=darkgrey - autocmd User ALELintPost hi Statusline ctermfg=NONE - augroup END -< - Or to display the progress in the statusline: -> - let s:ale_running = 0 - let l:stl .= '%{s:ale_running ? "[linting]" : ""}' - augroup ALEProgress - autocmd! - autocmd User ALELintPre let s:ale_running = 1 | redrawstatus - autocmd User ALELintPost let s:ale_running = 0 | redrawstatus - augroup END - -< -ALEJobStarted *ALEJobStarted-autocmd* - *ALEJobStarted* - - This |User| autocommand is triggered immediately after a job is successfully - run. This provides better accuracy for checking linter status with - |ale#engine#IsCheckingBuffer()| over |ALELintPre-autocmd|, which is actually - triggered before any linters are executed. - - -ALEWantResults *ALEWantResults-autocmd* - *ALEWantResults* - - This |User| autocommand is triggered before ALE begins a lint cycle. Another - source can respond by calling |ale#other_source#StartChecking()|, and - |ALELintPre| will be signaled thereafter, to allow other plugins to know - that another source is checking the buffer. - - |g:ale_want_results_buffer| will be set to the number for a buffer being - checked when the event is signaled, and deleted after the event is done. - This variable should be read to know which buffer to check. - - Other plugins can use this event to start checking buffers when ALE events - for checking buffers are triggered. - - -=============================================================================== -10. Special Thanks *ale-special-thanks* - -Special thanks to Mark Grealish (https://www.bhalash.com/) for providing ALE's -snazzy looking ale glass logo. Cheers, Mark! - -=============================================================================== -11. Contact *ale-contact* - -If you like this plugin, and wish to get in touch, check out the GitHub -page for issues and more at https://github.com/dense-analysis/ale - -If you wish to contact the author of this plugin directly, please feel -free to send an email to devw0rp@gmail.com. - -Please drink responsibly, or not at all, which is ironically the preference -of w0rp, who is teetotal. - -=============================================================================== - vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/ale/doc/tags b/.vim_runtime/sources_non_forked/ale/doc/tags deleted file mode 100644 index a17e05f..0000000 --- a/.vim_runtime/sources_non_forked/ale/doc/tags +++ /dev/null @@ -1,1818 +0,0 @@ -:ALEDetail ale.txt /*:ALEDetail* -:ALEInfo ale.txt /*:ALEInfo* -:ALELint ale.txt /*:ALELint* -ALEComplete ale.txt /*ALEComplete* -ALEDetail ale.txt /*ALEDetail* -ALEDisable ale.txt /*ALEDisable* -ALEDisableBuffer ale.txt /*ALEDisableBuffer* -ALEDocumentation ale.txt /*ALEDocumentation* -ALEEnable ale.txt /*ALEEnable* -ALEEnableBuffer ale.txt /*ALEEnableBuffer* -ALEError ale.txt /*ALEError* -ALEErrorLine ale.txt /*ALEErrorLine* -ALEErrorSign ale.txt /*ALEErrorSign* -ALEErrorSignLineNr ale.txt /*ALEErrorSignLineNr* -ALEFindReferences ale.txt /*ALEFindReferences* -ALEFirst ale.txt /*ALEFirst* -ALEFix ale.txt /*ALEFix* -ALEFixPost ale.txt /*ALEFixPost* -ALEFixPost-autocmd ale.txt /*ALEFixPost-autocmd* -ALEFixPre ale.txt /*ALEFixPre* -ALEFixPre-autocmd ale.txt /*ALEFixPre-autocmd* -ALEFixSuggest ale.txt /*ALEFixSuggest* -ALEGoToDefinition ale.txt /*ALEGoToDefinition* -ALEGoToTypeDefinition ale.txt /*ALEGoToTypeDefinition* -ALEHover ale.txt /*ALEHover* -ALEInfo ale.txt /*ALEInfo* -ALEInfo-highlight ale.txt /*ALEInfo-highlight* -ALEInfo. ale.txt /*ALEInfo.* -ALEInfoLine ale.txt /*ALEInfoLine* -ALEInfoSign ale.txt /*ALEInfoSign* -ALEInfoSignLineNr ale.txt /*ALEInfoSignLineNr* -ALEInfoToClipboard ale.txt /*ALEInfoToClipboard* -ALEJobStarted ale.txt /*ALEJobStarted* -ALEJobStarted-autocmd ale.txt /*ALEJobStarted-autocmd* -ALELast ale.txt /*ALELast* -ALELint ale.txt /*ALELint* -ALELintPost ale.txt /*ALELintPost* -ALELintPost-autocmd ale.txt /*ALELintPost-autocmd* -ALELintPre ale.txt /*ALELintPre* -ALELintPre-autocmd ale.txt /*ALELintPre-autocmd* -ALENext ale.txt /*ALENext* -ALENextWrap ale.txt /*ALENextWrap* -ALEOrganizeImports ale.txt /*ALEOrganizeImports* -ALEPrevious ale.txt /*ALEPrevious* -ALEPreviousWrap ale.txt /*ALEPreviousWrap* -ALERename ale.txt /*ALERename* -ALERepeatSelection ale.txt /*ALERepeatSelection* -ALEReset ale.txt /*ALEReset* -ALEResetBuffer ale.txt /*ALEResetBuffer* -ALEStopAllLSPs ale.txt /*ALEStopAllLSPs* -ALEStyleError ale.txt /*ALEStyleError* -ALEStyleErrorSign ale.txt /*ALEStyleErrorSign* -ALEStyleErrorSignLineNr ale.txt /*ALEStyleErrorSignLineNr* -ALEStyleWarning ale.txt /*ALEStyleWarning* -ALEStyleWarningSign ale.txt /*ALEStyleWarningSign* -ALEStyleWarningSignLineNr ale.txt /*ALEStyleWarningSignLineNr* -ALESymbolSearch ale.txt /*ALESymbolSearch* -ALEToggle ale.txt /*ALEToggle* -ALEToggleBuffer ale.txt /*ALEToggleBuffer* -ALEVirtualTextError ale.txt /*ALEVirtualTextError* -ALEVirtualTextInfo ale.txt /*ALEVirtualTextInfo* -ALEVirtualTextStyleError ale.txt /*ALEVirtualTextStyleError* -ALEVirtualTextStyleWarning ale.txt /*ALEVirtualTextStyleWarning* -ALEVirtualTextWarning ale.txt /*ALEVirtualTextWarning* -ALEWantResults ale.txt /*ALEWantResults* -ALEWantResults-autocmd ale.txt /*ALEWantResults-autocmd* -ALEWarning ale.txt /*ALEWarning* -ALEWarningLine ale.txt /*ALEWarningLine* -ALEWarningSign ale.txt /*ALEWarningSign* -ALEWarningSignLineNr ale.txt /*ALEWarningSignLineNr* -ale ale.txt /*ale* -ale#Env() ale.txt /*ale#Env()* -ale#Has() ale.txt /*ale#Has()* -ale#Pad() ale.txt /*ale#Pad()* -ale#Queue() ale.txt /*ale#Queue()* -ale#command#CreateDirectory() ale.txt /*ale#command#CreateDirectory()* -ale#command#CreateFile() ale.txt /*ale#command#CreateFile()* -ale#command#EscapeCommandPart() ale.txt /*ale#command#EscapeCommandPart()* -ale#command#ManageDirectory() ale.txt /*ale#command#ManageDirectory()* -ale#command#ManageFile() ale.txt /*ale#command#ManageFile()* -ale#command#Run() ale.txt /*ale#command#Run()* -ale#completion#OmniFunc() ale.txt /*ale#completion#OmniFunc()* -ale#engine#GetLoclist() ale.txt /*ale#engine#GetLoclist()* -ale#engine#IsCheckingBuffer() ale.txt /*ale#engine#IsCheckingBuffer()* -ale#fix#registry#Add() ale.txt /*ale#fix#registry#Add()* -ale#linter#Define() ale.txt /*ale#linter#Define()* -ale#linter#Get() ale.txt /*ale#linter#Get()* -ale#linter#PreventLoading() ale.txt /*ale#linter#PreventLoading()* -ale#lsp_linter#SendRequest() ale.txt /*ale#lsp_linter#SendRequest()* -ale#other_source#ShowResults() ale.txt /*ale#other_source#ShowResults()* -ale#other_source#StartChecking() ale.txt /*ale#other_source#StartChecking()* -ale#statusline#Count() ale.txt /*ale#statusline#Count()* -ale#statusline#FirstProblem() ale.txt /*ale#statusline#FirstProblem()* -ale-ada-gcc ale-ada.txt /*ale-ada-gcc* -ale-ada-gnatpp ale-ada.txt /*ale-ada-gnatpp* -ale-ada-options ale-ada.txt /*ale-ada-options* -ale-alex-options ale.txt /*ale-alex-options* -ale-ansible-ansible-lint ale-ansible.txt /*ale-ansible-ansible-lint* -ale-ansible-options ale-ansible.txt /*ale-ansible-options* -ale-api ale.txt /*ale-api* -ale-asciidoc-options ale-asciidoc.txt /*ale-asciidoc-options* -ale-asciidoc-textlint ale-asciidoc.txt /*ale-asciidoc-textlint* -ale-asciidoc-write-good ale-asciidoc.txt /*ale-asciidoc-write-good* -ale-asm-gcc ale-asm.txt /*ale-asm-gcc* -ale-asm-options ale-asm.txt /*ale-asm-options* -ale-asyncomplete-integration ale.txt /*ale-asyncomplete-integration* -ale-awk-gawk ale-awk.txt /*ale-awk-gawk* -ale-awk-options ale-awk.txt /*ale-awk-options* -ale-bats-options ale-bats.txt /*ale-bats-options* -ale-bats-shellcheck ale-bats.txt /*ale-bats-shellcheck* -ale-bib-bibclean ale-bib.txt /*ale-bib-bibclean* -ale-bib-options ale-bib.txt /*ale-bib-options* -ale-c-ccls ale-c.txt /*ale-c-ccls* -ale-c-clang ale-c.txt /*ale-c-clang* -ale-c-clangd ale-c.txt /*ale-c-clangd* -ale-c-clangformat ale-c.txt /*ale-c-clangformat* -ale-c-clangtidy ale-c.txt /*ale-c-clangtidy* -ale-c-cppcheck ale-c.txt /*ale-c-cppcheck* -ale-c-cquery ale-c.txt /*ale-c-cquery* -ale-c-flawfinder ale-c.txt /*ale-c-flawfinder* -ale-c-gcc ale-c.txt /*ale-c-gcc* -ale-c-options ale-c.txt /*ale-c-options* -ale-c-uncrustify ale-c.txt /*ale-c-uncrustify* -ale-chef-cookstyle ale-chef.txt /*ale-chef-cookstyle* -ale-chef-foodcritic ale-chef.txt /*ale-chef-foodcritic* -ale-chef-options ale-chef.txt /*ale-chef-options* -ale-clojure-clj-kondo ale-clojure.txt /*ale-clojure-clj-kondo* -ale-clojure-joker ale-clojure.txt /*ale-clojure-joker* -ale-clojure-options ale-clojure.txt /*ale-clojure-options* -ale-cloudformation-cfn-python-lint ale-cloudformation.txt /*ale-cloudformation-cfn-python-lint* -ale-cloudformation-options ale-cloudformation.txt /*ale-cloudformation-options* -ale-cmake-cmakeformat ale-cmake.txt /*ale-cmake-cmakeformat* -ale-cmake-cmakelint ale-cmake.txt /*ale-cmake-cmakelint* -ale-cmake-options ale-cmake.txt /*ale-cmake-options* -ale-coding-standards ale-development.txt /*ale-coding-standards* -ale-command-format-strings ale.txt /*ale-command-format-strings* -ale-commands ale.txt /*ale-commands* -ale-completion ale.txt /*ale-completion* -ale-completion-completeopt-bug ale.txt /*ale-completion-completeopt-bug* -ale-contact ale.txt /*ale-contact* -ale-contents ale.txt /*ale-contents* -ale-cool-down ale.txt /*ale-cool-down* -ale-cpp-ccls ale-cpp.txt /*ale-cpp-ccls* -ale-cpp-clang ale-cpp.txt /*ale-cpp-clang* -ale-cpp-clangcheck ale-cpp.txt /*ale-cpp-clangcheck* -ale-cpp-clangd ale-cpp.txt /*ale-cpp-clangd* -ale-cpp-clangformat ale-cpp.txt /*ale-cpp-clangformat* -ale-cpp-clangtidy ale-cpp.txt /*ale-cpp-clangtidy* -ale-cpp-clazy ale-cpp.txt /*ale-cpp-clazy* -ale-cpp-cppcheck ale-cpp.txt /*ale-cpp-cppcheck* -ale-cpp-cpplint ale-cpp.txt /*ale-cpp-cpplint* -ale-cpp-cquery ale-cpp.txt /*ale-cpp-cquery* -ale-cpp-flawfinder ale-cpp.txt /*ale-cpp-flawfinder* -ale-cpp-gcc ale-cpp.txt /*ale-cpp-gcc* -ale-cpp-options ale-cpp.txt /*ale-cpp-options* -ale-cpp-uncrustify ale-cpp.txt /*ale-cpp-uncrustify* -ale-cs-csc ale-cs.txt /*ale-cs-csc* -ale-cs-mcs ale-cs.txt /*ale-cs-mcs* -ale-cs-mcsc ale-cs.txt /*ale-cs-mcsc* -ale-cs-options ale-cs.txt /*ale-cs-options* -ale-cs-uncrustify ale-cs.txt /*ale-cs-uncrustify* -ale-css-fecs ale-css.txt /*ale-css-fecs* -ale-css-options ale-css.txt /*ale-css-options* -ale-css-prettier ale-css.txt /*ale-css-prettier* -ale-css-stylelint ale-css.txt /*ale-css-stylelint* -ale-cuda-clangformat ale-cuda.txt /*ale-cuda-clangformat* -ale-cuda-nvcc ale-cuda.txt /*ale-cuda-nvcc* -ale-cuda-options ale-cuda.txt /*ale-cuda-options* -ale-d-dfmt ale-d.txt /*ale-d-dfmt* -ale-d-dls ale-d.txt /*ale-d-dls* -ale-d-options ale-d.txt /*ale-d-options* -ale-d-uncrustify ale-d.txt /*ale-d-uncrustify* -ale-dart-dartanalyzer ale-dart.txt /*ale-dart-dartanalyzer* -ale-dart-dartfmt ale-dart.txt /*ale-dart-dartfmt* -ale-dart-options ale-dart.txt /*ale-dart-options* -ale-deoplete-integration ale.txt /*ale-deoplete-integration* -ale-design-goals ale-development.txt /*ale-design-goals* -ale-dev ale-development.txt /*ale-dev* -ale-dev-tests ale-development.txt /*ale-dev-tests* -ale-development ale-development.txt /*ale-development* -ale-development-contents ale-development.txt /*ale-development-contents* -ale-development-fixer-tests ale-development.txt /*ale-development-fixer-tests* -ale-development-introduction ale-development.txt /*ale-development-introduction* -ale-development-linter-tests ale-development.txt /*ale-development-linter-tests* -ale-development-tests ale-development.txt /*ale-development-tests* -ale-development.txt ale-development.txt /*ale-development.txt* -ale-dockerfile-dockerfile_lint ale-dockerfile.txt /*ale-dockerfile-dockerfile_lint* -ale-dockerfile-hadolint ale-dockerfile.txt /*ale-dockerfile-hadolint* -ale-dockerfile-options ale-dockerfile.txt /*ale-dockerfile-options* -ale-elixir-credo ale-elixir.txt /*ale-elixir-credo* -ale-elixir-dialyxir ale-elixir.txt /*ale-elixir-dialyxir* -ale-elixir-elixir-ls ale-elixir.txt /*ale-elixir-elixir-ls* -ale-elixir-mix ale-elixir.txt /*ale-elixir-mix* -ale-elixir-mix-format ale-elixir.txt /*ale-elixir-mix-format* -ale-elixir-options ale-elixir.txt /*ale-elixir-options* -ale-elm-elm-format ale-elm.txt /*ale-elm-elm-format* -ale-elm-elm-ls ale-elm.txt /*ale-elm-elm-ls* -ale-elm-elm-make ale-elm.txt /*ale-elm-elm-make* -ale-elm-options ale-elm.txt /*ale-elm-options* -ale-erlang-dialyzer ale-erlang.txt /*ale-erlang-dialyzer* -ale-erlang-erlc ale-erlang.txt /*ale-erlang-erlc* -ale-erlang-options ale-erlang.txt /*ale-erlang-options* -ale-erlang-syntaxerl ale-erlang.txt /*ale-erlang-syntaxerl* -ale-eruby-options ale-eruby.txt /*ale-eruby-options* -ale-eruby-ruumba ale-eruby.txt /*ale-eruby-ruumba* -ale-eslint-nested-configuration-files ale-javascript.txt /*ale-eslint-nested-configuration-files* -ale-find-references ale.txt /*ale-find-references* -ale-fish-options ale-fish.txt /*ale-fish-options* -ale-fix ale.txt /*ale-fix* -ale-fix-configuration ale.txt /*ale-fix-configuration* -ale-fortran-gcc ale-fortran.txt /*ale-fortran-gcc* -ale-fortran-language-server ale-fortran.txt /*ale-fortran-language-server* -ale-fortran-options ale-fortran.txt /*ale-fortran-options* -ale-fountain-options ale-fountain.txt /*ale-fountain-options* -ale-fuse-fusionlint ale-fuse.txt /*ale-fuse-fusionlint* -ale-fuse-options ale-fuse.txt /*ale-fuse-options* -ale-gitcommit-gitlint ale-gitcommit.txt /*ale-gitcommit-gitlint* -ale-gitcommit-options ale-gitcommit.txt /*ale-gitcommit-options* -ale-glsl-glslang ale-glsl.txt /*ale-glsl-glslang* -ale-glsl-glslls ale-glsl.txt /*ale-glsl-glslls* -ale-glsl-options ale-glsl.txt /*ale-glsl-options* -ale-go-bingo ale-go.txt /*ale-go-bingo* -ale-go-gobuild ale-go.txt /*ale-go-gobuild* -ale-go-gofmt ale-go.txt /*ale-go-gofmt* -ale-go-golangci-lint ale-go.txt /*ale-go-golangci-lint* -ale-go-golangserver ale-go.txt /*ale-go-golangserver* -ale-go-golint ale-go.txt /*ale-go-golint* -ale-go-gometalinter ale-go.txt /*ale-go-gometalinter* -ale-go-gopls ale-go.txt /*ale-go-gopls* -ale-go-govet ale-go.txt /*ale-go-govet* -ale-go-options ale-go.txt /*ale-go-options* -ale-go-revive ale-go.txt /*ale-go-revive* -ale-go-staticcheck ale-go.txt /*ale-go-staticcheck* -ale-go-to-definition ale.txt /*ale-go-to-definition* -ale-go-to-type-definition ale.txt /*ale-go-to-type-definition* -ale-graphql-eslint ale-graphql.txt /*ale-graphql-eslint* -ale-graphql-gqlint ale-graphql.txt /*ale-graphql-gqlint* -ale-graphql-options ale-graphql.txt /*ale-graphql-options* -ale-graphql-prettier ale-graphql.txt /*ale-graphql-prettier* -ale-hack-hack ale-hack.txt /*ale-hack-hack* -ale-hack-hackfmt ale-hack.txt /*ale-hack-hackfmt* -ale-hack-hhast ale-hack.txt /*ale-hack-hhast* -ale-hack-options ale-hack.txt /*ale-hack-options* -ale-handlebars-embertemplatelint ale-handlebars.txt /*ale-handlebars-embertemplatelint* -ale-handlebars-options ale-handlebars.txt /*ale-handlebars-options* -ale-handlebars-prettier ale-handlebars.txt /*ale-handlebars-prettier* -ale-haskell-brittany ale-haskell.txt /*ale-haskell-brittany* -ale-haskell-cabal-ghc ale-haskell.txt /*ale-haskell-cabal-ghc* -ale-haskell-floskell ale-haskell.txt /*ale-haskell-floskell* -ale-haskell-ghc ale-haskell.txt /*ale-haskell-ghc* -ale-haskell-ghc-mod ale-haskell.txt /*ale-haskell-ghc-mod* -ale-haskell-hdevtools ale-haskell.txt /*ale-haskell-hdevtools* -ale-haskell-hfmt ale-haskell.txt /*ale-haskell-hfmt* -ale-haskell-hie ale-haskell.txt /*ale-haskell-hie* -ale-haskell-hindent ale-haskell.txt /*ale-haskell-hindent* -ale-haskell-hlint ale-haskell.txt /*ale-haskell-hlint* -ale-haskell-options ale-haskell.txt /*ale-haskell-options* -ale-haskell-stack-build ale-haskell.txt /*ale-haskell-stack-build* -ale-haskell-stack-ghc ale-haskell.txt /*ale-haskell-stack-ghc* -ale-haskell-stylish-haskell ale-haskell.txt /*ale-haskell-stylish-haskell* -ale-hcl-options ale-hcl.txt /*ale-hcl-options* -ale-hcl-terraform-fmt ale-hcl.txt /*ale-hcl-terraform-fmt* -ale-highlights ale.txt /*ale-highlights* -ale-hover ale.txt /*ale-hover* -ale-html-beautify ale-html.txt /*ale-html-beautify* -ale-html-fecs ale-html.txt /*ale-html-fecs* -ale-html-htmlhint ale-html.txt /*ale-html-htmlhint* -ale-html-options ale-html.txt /*ale-html-options* -ale-html-prettier ale-html.txt /*ale-html-prettier* -ale-html-stylelint ale-html.txt /*ale-html-stylelint* -ale-html-tidy ale-html.txt /*ale-html-tidy* -ale-html-write-good ale-html.txt /*ale-html-write-good* -ale-idris-idris ale-idris.txt /*ale-idris-idris* -ale-idris-options ale-idris.txt /*ale-idris-options* -ale-ink-language-server ale-ink.txt /*ale-ink-language-server* -ale-ink-options ale-ink.txt /*ale-ink-options* -ale-integration-glsl ale-glsl.txt /*ale-integration-glsl* -ale-integration-hack ale-hack.txt /*ale-integration-hack* -ale-integration-kotlin ale-kotlin.txt /*ale-integration-kotlin* -ale-integration-options ale.txt /*ale-integration-options* -ale-integration-rust ale-rust.txt /*ale-integration-rust* -ale-integration-spec ale-spec.txt /*ale-integration-spec* -ale-integrations-local-executables ale.txt /*ale-integrations-local-executables* -ale-introduction ale.txt /*ale-introduction* -ale-ispc-ispc ale-ispc.txt /*ale-ispc-ispc* -ale-ispc-options ale-ispc.txt /*ale-ispc-options* -ale-java-checkstyle ale-java.txt /*ale-java-checkstyle* -ale-java-eclipselsp ale-java.txt /*ale-java-eclipselsp* -ale-java-google-java-format ale-java.txt /*ale-java-google-java-format* -ale-java-javac ale-java.txt /*ale-java-javac* -ale-java-javalsp ale-java.txt /*ale-java-javalsp* -ale-java-options ale-java.txt /*ale-java-options* -ale-java-pmd ale-java.txt /*ale-java-pmd* -ale-java-uncrustify ale-java.txt /*ale-java-uncrustify* -ale-javascript-eslint ale-javascript.txt /*ale-javascript-eslint* -ale-javascript-fecs ale-javascript.txt /*ale-javascript-fecs* -ale-javascript-flow ale-javascript.txt /*ale-javascript-flow* -ale-javascript-importjs ale-javascript.txt /*ale-javascript-importjs* -ale-javascript-jscs ale-javascript.txt /*ale-javascript-jscs* -ale-javascript-jshint ale-javascript.txt /*ale-javascript-jshint* -ale-javascript-options ale-javascript.txt /*ale-javascript-options* -ale-javascript-prettier ale-javascript.txt /*ale-javascript-prettier* -ale-javascript-prettier-eslint ale-javascript.txt /*ale-javascript-prettier-eslint* -ale-javascript-prettier-standard ale-javascript.txt /*ale-javascript-prettier-standard* -ale-javascript-standard ale-javascript.txt /*ale-javascript-standard* -ale-javascript-xo ale-javascript.txt /*ale-javascript-xo* -ale-json-fixjson ale-json.txt /*ale-json-fixjson* -ale-json-jq ale-json.txt /*ale-json-jq* -ale-json-jsonlint ale-json.txt /*ale-json-jsonlint* -ale-json-options ale-json.txt /*ale-json-options* -ale-json-prettier ale-json.txt /*ale-json-prettier* -ale-julia-languageserver ale-julia.txt /*ale-julia-languageserver* -ale-julia-options ale-julia.txt /*ale-julia-options* -ale-kotlin-kotlinc ale-kotlin.txt /*ale-kotlin-kotlinc* -ale-kotlin-ktlint ale-kotlin.txt /*ale-kotlin-ktlint* -ale-kotlin-languageserver ale-kotlin.txt /*ale-kotlin-languageserver* -ale-kotlin-options ale-kotlin.txt /*ale-kotlin-options* -ale-languagetool-options ale.txt /*ale-languagetool-options* -ale-latex-options ale-latex.txt /*ale-latex-options* -ale-latex-textlint ale-latex.txt /*ale-latex-textlint* -ale-latex-write-good ale-latex.txt /*ale-latex-write-good* -ale-less-lessc ale-less.txt /*ale-less-lessc* -ale-less-options ale-less.txt /*ale-less-options* -ale-less-prettier ale-less.txt /*ale-less-prettier* -ale-less-stylelint ale-less.txt /*ale-less-stylelint* -ale-lint ale.txt /*ale-lint* -ale-lint-file ale.txt /*ale-lint-file* -ale-lint-file-linters ale.txt /*ale-lint-file-linters* -ale-lint-language-servers ale.txt /*ale-lint-language-servers* -ale-lint-other-sources ale.txt /*ale-lint-other-sources* -ale-lint-settings-on-startup ale.txt /*ale-lint-settings-on-startup* -ale-linter-loading-behavior ale.txt /*ale-linter-loading-behavior* -ale-linter-loading-behaviour ale.txt /*ale-linter-loading-behaviour* -ale-linting-interrupts-mapping ale.txt /*ale-linting-interrupts-mapping* -ale-llvm-llc ale-llvm.txt /*ale-llvm-llc* -ale-llvm-options ale-llvm.txt /*ale-llvm-options* -ale-loclist-format ale.txt /*ale-loclist-format* -ale-lsp ale.txt /*ale-lsp* -ale-lsp-linters ale.txt /*ale-lsp-linters* -ale-lua-luac ale-lua.txt /*ale-lua-luac* -ale-lua-luacheck ale-lua.txt /*ale-lua-luacheck* -ale-lua-options ale-lua.txt /*ale-lua-options* -ale-markdown-mdl ale-markdown.txt /*ale-markdown-mdl* -ale-markdown-options ale-markdown.txt /*ale-markdown-options* -ale-markdown-prettier ale-markdown.txt /*ale-markdown-prettier* -ale-markdown-remark-lint ale-markdown.txt /*ale-markdown-remark-lint* -ale-markdown-textlint ale-markdown.txt /*ale-markdown-textlint* -ale-markdown-write-good ale-markdown.txt /*ale-markdown-write-good* -ale-mercury-mmc ale-mercury.txt /*ale-mercury-mmc* -ale-mercury-options ale-mercury.txt /*ale-mercury-options* -ale-nasm-nasm ale-nasm.txt /*ale-nasm-nasm* -ale-nasm-options ale-nasm.txt /*ale-nasm-options* -ale-navigation-commands ale.txt /*ale-navigation-commands* -ale-nim-nimcheck ale-nim.txt /*ale-nim-nimcheck* -ale-nim-nimlsp ale-nim.txt /*ale-nim-nimlsp* -ale-nim-nimpretty ale-nim.txt /*ale-nim-nimpretty* -ale-nim-options ale-nim.txt /*ale-nim-options* -ale-nix-nixpkgs-fmt ale-nix.txt /*ale-nix-nixpkgs-fmt* -ale-nix-options ale-nix.txt /*ale-nix-options* -ale-nroff-options ale-nroff.txt /*ale-nroff-options* -ale-nroff-write-good ale-nroff.txt /*ale-nroff-write-good* -ale-objc-ccls ale-objc.txt /*ale-objc-ccls* -ale-objc-clang ale-objc.txt /*ale-objc-clang* -ale-objc-clangd ale-objc.txt /*ale-objc-clangd* -ale-objc-options ale-objc.txt /*ale-objc-options* -ale-objc-uncrustify ale-objc.txt /*ale-objc-uncrustify* -ale-objcpp-clang ale-objcpp.txt /*ale-objcpp-clang* -ale-objcpp-clangd ale-objcpp.txt /*ale-objcpp-clangd* -ale-objcpp-options ale-objcpp.txt /*ale-objcpp-options* -ale-objcpp-uncrustify ale-objcpp.txt /*ale-objcpp-uncrustify* -ale-ocaml-merlin ale-ocaml.txt /*ale-ocaml-merlin* -ale-ocaml-ocamlformat ale-ocaml.txt /*ale-ocaml-ocamlformat* -ale-ocaml-ocp-indent ale-ocaml.txt /*ale-ocaml-ocp-indent* -ale-ocaml-ols ale-ocaml.txt /*ale-ocaml-ols* -ale-ocaml-options ale-ocaml.txt /*ale-ocaml-options* -ale-options ale.txt /*ale-options* -ale-other-integration-options ale.txt /*ale-other-integration-options* -ale-pawn-options ale-pawn.txt /*ale-pawn-options* -ale-pawn-uncrustify ale-pawn.txt /*ale-pawn-uncrustify* -ale-perl-options ale-perl.txt /*ale-perl-options* -ale-perl-perl ale-perl.txt /*ale-perl-perl* -ale-perl-perlcritic ale-perl.txt /*ale-perl-perlcritic* -ale-perl-perltidy ale-perl.txt /*ale-perl-perltidy* -ale-perl6-options ale-perl6.txt /*ale-perl6-options* -ale-perl6-perl6 ale-perl6.txt /*ale-perl6-perl6* -ale-php-langserver ale-php.txt /*ale-php-langserver* -ale-php-options ale-php.txt /*ale-php-options* -ale-php-phan ale-php.txt /*ale-php-phan* -ale-php-php ale-php.txt /*ale-php-php* -ale-php-php-cs-fixer ale-php.txt /*ale-php-php-cs-fixer* -ale-php-phpcbf ale-php.txt /*ale-php-phpcbf* -ale-php-phpcs ale-php.txt /*ale-php-phpcs* -ale-php-phpmd ale-php.txt /*ale-php-phpmd* -ale-php-phpstan ale-php.txt /*ale-php-phpstan* -ale-php-psalm ale-php.txt /*ale-php-psalm* -ale-po-options ale-po.txt /*ale-po-options* -ale-po-write-good ale-po.txt /*ale-po-write-good* -ale-pod-options ale-pod.txt /*ale-pod-options* -ale-pod-write-good ale-pod.txt /*ale-pod-write-good* -ale-pony-options ale-pony.txt /*ale-pony-options* -ale-pony-ponyc ale-pony.txt /*ale-pony-ponyc* -ale-powershell-options ale-powershell.txt /*ale-powershell-options* -ale-powershell-powershell ale-powershell.txt /*ale-powershell-powershell* -ale-powershell-psscriptanalyzer ale-powershell.txt /*ale-powershell-psscriptanalyzer* -ale-prolog-options ale-prolog.txt /*ale-prolog-options* -ale-prolog-swipl ale-prolog.txt /*ale-prolog-swipl* -ale-proto-options ale-proto.txt /*ale-proto-options* -ale-proto-protoc-gen-lint ale-proto.txt /*ale-proto-protoc-gen-lint* -ale-pug-options ale-pug.txt /*ale-pug-options* -ale-pug-puglint ale-pug.txt /*ale-pug-puglint* -ale-puppet-languageserver ale-puppet.txt /*ale-puppet-languageserver* -ale-puppet-options ale-puppet.txt /*ale-puppet-options* -ale-puppet-puppet ale-puppet.txt /*ale-puppet-puppet* -ale-puppet-puppetlint ale-puppet.txt /*ale-puppet-puppetlint* -ale-purescript-language-server ale-purescript.txt /*ale-purescript-language-server* -ale-purescript-options ale-purescript.txt /*ale-purescript-options* -ale-purescript-purty ale-purescript.txt /*ale-purescript-purty* -ale-pyrex-cython ale-pyrex.txt /*ale-pyrex-cython* -ale-pyrex-options ale-pyrex.txt /*ale-pyrex-options* -ale-python-autopep8 ale-python.txt /*ale-python-autopep8* -ale-python-bandit ale-python.txt /*ale-python-bandit* -ale-python-black ale-python.txt /*ale-python-black* -ale-python-flake8 ale-python.txt /*ale-python-flake8* -ale-python-isort ale-python.txt /*ale-python-isort* -ale-python-mypy ale-python.txt /*ale-python-mypy* -ale-python-options ale-python.txt /*ale-python-options* -ale-python-prospector ale-python.txt /*ale-python-prospector* -ale-python-pycodestyle ale-python.txt /*ale-python-pycodestyle* -ale-python-pydocstyle ale-python.txt /*ale-python-pydocstyle* -ale-python-pyflakes ale-python.txt /*ale-python-pyflakes* -ale-python-pylama ale-python.txt /*ale-python-pylama* -ale-python-pylint ale-python.txt /*ale-python-pylint* -ale-python-pyls ale-python.txt /*ale-python-pyls* -ale-python-pyre ale-python.txt /*ale-python-pyre* -ale-python-reorder_python_imports ale-python.txt /*ale-python-reorder_python_imports* -ale-python-root ale-python.txt /*ale-python-root* -ale-python-vulture ale-python.txt /*ale-python-vulture* -ale-python-yapf ale-python.txt /*ale-python-yapf* -ale-qml-options ale-qml.txt /*ale-qml-options* -ale-qml-qmlfmt ale-qml.txt /*ale-qml-qmlfmt* -ale-r-lintr ale-r.txt /*ale-r-lintr* -ale-r-options ale-r.txt /*ale-r-options* -ale-r-styler ale-r.txt /*ale-r-styler* -ale-reasonml-language-server ale-reasonml.txt /*ale-reasonml-language-server* -ale-reasonml-merlin ale-reasonml.txt /*ale-reasonml-merlin* -ale-reasonml-ols ale-reasonml.txt /*ale-reasonml-ols* -ale-reasonml-options ale-reasonml.txt /*ale-reasonml-options* -ale-reasonml-refmt ale-reasonml.txt /*ale-reasonml-refmt* -ale-restructuredtext-options ale-restructuredtext.txt /*ale-restructuredtext-options* -ale-restructuredtext-textlint ale-restructuredtext.txt /*ale-restructuredtext-textlint* -ale-restructuredtext-write-good ale-restructuredtext.txt /*ale-restructuredtext-write-good* -ale-ruby-brakeman ale-ruby.txt /*ale-ruby-brakeman* -ale-ruby-debride ale-ruby.txt /*ale-ruby-debride* -ale-ruby-options ale-ruby.txt /*ale-ruby-options* -ale-ruby-rails_best_practices ale-ruby.txt /*ale-ruby-rails_best_practices* -ale-ruby-reek ale-ruby.txt /*ale-ruby-reek* -ale-ruby-rubocop ale-ruby.txt /*ale-ruby-rubocop* -ale-ruby-ruby ale-ruby.txt /*ale-ruby-ruby* -ale-ruby-rufo ale-ruby.txt /*ale-ruby-rufo* -ale-ruby-solargraph ale-ruby.txt /*ale-ruby-solargraph* -ale-ruby-sorbet ale-ruby.txt /*ale-ruby-sorbet* -ale-ruby-standardrb ale-ruby.txt /*ale-ruby-standardrb* -ale-rust-analyzer ale-rust.txt /*ale-rust-analyzer* -ale-rust-cargo ale-rust.txt /*ale-rust-cargo* -ale-rust-options ale-rust.txt /*ale-rust-options* -ale-rust-rls ale-rust.txt /*ale-rust-rls* -ale-rust-rustc ale-rust.txt /*ale-rust-rustc* -ale-rust-rustfmt ale-rust.txt /*ale-rust-rustfmt* -ale-sass-options ale-sass.txt /*ale-sass-options* -ale-sass-sasslint ale-sass.txt /*ale-sass-sasslint* -ale-sass-stylelint ale-sass.txt /*ale-sass-stylelint* -ale-scala-metals ale-scala.txt /*ale-scala-metals* -ale-scala-options ale-scala.txt /*ale-scala-options* -ale-scala-sbtserver ale-scala.txt /*ale-scala-sbtserver* -ale-scala-scalafmt ale-scala.txt /*ale-scala-scalafmt* -ale-scala-scalastyle ale-scala.txt /*ale-scala-scalastyle* -ale-scss-options ale-scss.txt /*ale-scss-options* -ale-scss-prettier ale-scss.txt /*ale-scss-prettier* -ale-scss-sasslint ale-scss.txt /*ale-scss-sasslint* -ale-scss-stylelint ale-scss.txt /*ale-scss-stylelint* -ale-sh-language-server ale-sh.txt /*ale-sh-language-server* -ale-sh-options ale-sh.txt /*ale-sh-options* -ale-sh-shell ale-sh.txt /*ale-sh-shell* -ale-sh-shellcheck ale-sh.txt /*ale-sh-shellcheck* -ale-sh-shfmt ale-sh.txt /*ale-sh-shfmt* -ale-sml-options ale-sml.txt /*ale-sml-options* -ale-sml-smlnj ale-sml.txt /*ale-sml-smlnj* -ale-sml-smlnj-cm ale-sml.txt /*ale-sml-smlnj-cm* -ale-solidity-options ale-solidity.txt /*ale-solidity-options* -ale-solidity-solc ale-solidity.txt /*ale-solidity-solc* -ale-solidity-solhint ale-solidity.txt /*ale-solidity-solhint* -ale-solidity-solium ale-solidity.txt /*ale-solidity-solium* -ale-spec-options ale-spec.txt /*ale-spec-options* -ale-spec-rpmlint ale-spec.txt /*ale-spec-rpmlint* -ale-special-thanks ale.txt /*ale-special-thanks* -ale-sql-options ale-sql.txt /*ale-sql-options* -ale-sql-pgformatter ale-sql.txt /*ale-sql-pgformatter* -ale-sql-sqlfmt ale-sql.txt /*ale-sql-sqlfmt* -ale-sql-sqlformat ale-sql.txt /*ale-sql-sqlformat* -ale-stylus-options ale-stylus.txt /*ale-stylus-options* -ale-stylus-stylelint ale-stylus.txt /*ale-stylus-stylelint* -ale-sugarss-options ale-sugarss.txt /*ale-sugarss-options* -ale-sugarss-stylelint ale-sugarss.txt /*ale-sugarss-stylelint* -ale-support ale.txt /*ale-support* -ale-supported-languages-and-tools.txt ale-supported-languages-and-tools.txt /*ale-supported-languages-and-tools.txt* -ale-supported-list ale-supported-languages-and-tools.txt /*ale-supported-list* -ale-swift-options ale-swift.txt /*ale-swift-options* -ale-swift-sourcekitlsp ale-swift.txt /*ale-swift-sourcekitlsp* -ale-symbol-search ale.txt /*ale-symbol-search* -ale-symbols ale.txt /*ale-symbols* -ale-tcl-nagelfar ale-tcl.txt /*ale-tcl-nagelfar* -ale-tcl-options ale-tcl.txt /*ale-tcl-options* -ale-terraform-fmt-fixer ale-terraform.txt /*ale-terraform-fmt-fixer* -ale-terraform-options ale-terraform.txt /*ale-terraform-options* -ale-terraform-terraform ale-terraform.txt /*ale-terraform-terraform* -ale-terraform-terraform-lsp ale-terraform.txt /*ale-terraform-terraform-lsp* -ale-terraform-tflint ale-terraform.txt /*ale-terraform-tflint* -ale-tests ale-development.txt /*ale-tests* -ale-tex-chktex ale-tex.txt /*ale-tex-chktex* -ale-tex-lacheck ale-tex.txt /*ale-tex-lacheck* -ale-tex-latexindent ale-tex.txt /*ale-tex-latexindent* -ale-tex-options ale-tex.txt /*ale-tex-options* -ale-tex-texlab ale-tex.txt /*ale-tex-texlab* -ale-texinfo-options ale-texinfo.txt /*ale-texinfo-options* -ale-texinfo-write-good ale-texinfo.txt /*ale-texinfo-write-good* -ale-text-options ale-text.txt /*ale-text-options* -ale-text-textlint ale-text.txt /*ale-text-textlint* -ale-text-write-good ale-text.txt /*ale-text-write-good* -ale-thrift-options ale-thrift.txt /*ale-thrift-options* -ale-thrift-thrift ale-thrift.txt /*ale-thrift-thrift* -ale-typescript-eslint ale-typescript.txt /*ale-typescript-eslint* -ale-typescript-options ale-typescript.txt /*ale-typescript-options* -ale-typescript-prettier ale-typescript.txt /*ale-typescript-prettier* -ale-typescript-standard ale-typescript.txt /*ale-typescript-standard* -ale-typescript-tslint ale-typescript.txt /*ale-typescript-tslint* -ale-typescript-tsserver ale-typescript.txt /*ale-typescript-tsserver* -ale-vala-options ale-vala.txt /*ale-vala-options* -ale-vala-uncrustify ale-vala.txt /*ale-vala-uncrustify* -ale-verilog-iverilog ale-verilog.txt /*ale-verilog-iverilog* -ale-verilog-options ale-verilog.txt /*ale-verilog-options* -ale-verilog-verilator ale-verilog.txt /*ale-verilog-verilator* -ale-verilog-vlog ale-verilog.txt /*ale-verilog-vlog* -ale-verilog-xvlog ale-verilog.txt /*ale-verilog-xvlog* -ale-vhdl-ghdl ale-vhdl.txt /*ale-vhdl-ghdl* -ale-vhdl-options ale-vhdl.txt /*ale-vhdl-options* -ale-vhdl-vcom ale-vhdl.txt /*ale-vhdl-vcom* -ale-vhdl-xvhdl ale-vhdl.txt /*ale-vhdl-xvhdl* -ale-vim-help-options ale-vim-help.txt /*ale-vim-help-options* -ale-vim-help-write-good ale-vim-help.txt /*ale-vim-help-write-good* -ale-vim-options ale-vim.txt /*ale-vim-options* -ale-vim-vimls ale-vim.txt /*ale-vim-vimls* -ale-vim-vint ale-vim.txt /*ale-vim-vint* -ale-vue-options ale-vue.txt /*ale-vue-options* -ale-vue-prettier ale-vue.txt /*ale-vue-prettier* -ale-vue-vls ale-vue.txt /*ale-vue-vls* -ale-write-good-options ale.txt /*ale-write-good-options* -ale-xhtml-options ale-xhtml.txt /*ale-xhtml-options* -ale-xhtml-write-good ale-xhtml.txt /*ale-xhtml-write-good* -ale-xml-options ale-xml.txt /*ale-xml-options* -ale-xml-xmllint ale-xml.txt /*ale-xml-xmllint* -ale-yaml-options ale-yaml.txt /*ale-yaml-options* -ale-yaml-prettier ale-yaml.txt /*ale-yaml-prettier* -ale-yaml-swaglint ale-yaml.txt /*ale-yaml-swaglint* -ale-yaml-yamllint ale-yaml.txt /*ale-yaml-yamllint* -ale-yang-lsp ale-yang.txt /*ale-yang-lsp* -ale-yang-options ale-yang.txt /*ale-yang-options* -ale.txt ale.txt /*ale.txt* -b:ale-c-flawfinder ale-c.txt /*b:ale-c-flawfinder* -b:ale-cpp-flawfinder ale-cpp.txt /*b:ale-cpp-flawfinder* -b:ale_ada_gcc_executable ale-ada.txt /*b:ale_ada_gcc_executable* -b:ale_ada_gcc_options ale-ada.txt /*b:ale_ada_gcc_options* -b:ale_ada_gnatpp_options ale-ada.txt /*b:ale_ada_gnatpp_options* -b:ale_alex_executable ale.txt /*b:ale_alex_executable* -b:ale_alex_use_global ale.txt /*b:ale_alex_use_global* -b:ale_ansible_ansible_lint_executable ale-ansible.txt /*b:ale_ansible_ansible_lint_executable* -b:ale_asm_gcc_executable ale-asm.txt /*b:ale_asm_gcc_executable* -b:ale_asm_gcc_options ale-asm.txt /*b:ale_asm_gcc_options* -b:ale_awk_gawk_executable ale-awk.txt /*b:ale_awk_gawk_executable* -b:ale_awk_gawk_options ale-awk.txt /*b:ale_awk_gawk_options* -b:ale_c_build_dir ale-c.txt /*b:ale_c_build_dir* -b:ale_c_build_dir_names ale-c.txt /*b:ale_c_build_dir_names* -b:ale_c_ccls_executable ale-c.txt /*b:ale_c_ccls_executable* -b:ale_c_ccls_init_options ale-c.txt /*b:ale_c_ccls_init_options* -b:ale_c_clang_executable ale-c.txt /*b:ale_c_clang_executable* -b:ale_c_clang_options ale-c.txt /*b:ale_c_clang_options* -b:ale_c_clangd_executable ale-c.txt /*b:ale_c_clangd_executable* -b:ale_c_clangd_options ale-c.txt /*b:ale_c_clangd_options* -b:ale_c_clangformat_executable ale-c.txt /*b:ale_c_clangformat_executable* -b:ale_c_clangformat_options ale-c.txt /*b:ale_c_clangformat_options* -b:ale_c_clangtidy_checks ale-c.txt /*b:ale_c_clangtidy_checks* -b:ale_c_clangtidy_executable ale-c.txt /*b:ale_c_clangtidy_executable* -b:ale_c_clangtidy_extra_options ale-c.txt /*b:ale_c_clangtidy_extra_options* -b:ale_c_clangtidy_fix_errors ale-c.txt /*b:ale_c_clangtidy_fix_errors* -b:ale_c_clangtidy_options ale-c.txt /*b:ale_c_clangtidy_options* -b:ale_c_cppcheck_executable ale-c.txt /*b:ale_c_cppcheck_executable* -b:ale_c_cppcheck_options ale-c.txt /*b:ale_c_cppcheck_options* -b:ale_c_cquery_cache_directory ale-c.txt /*b:ale_c_cquery_cache_directory* -b:ale_c_cquery_executable ale-c.txt /*b:ale_c_cquery_executable* -b:ale_c_flawfinder_error_severity ale-c.txt /*b:ale_c_flawfinder_error_severity* -b:ale_c_flawfinder_executable ale-c.txt /*b:ale_c_flawfinder_executable* -b:ale_c_flawfinder_minlevel ale-c.txt /*b:ale_c_flawfinder_minlevel* -b:ale_c_gcc_executable ale-c.txt /*b:ale_c_gcc_executable* -b:ale_c_gcc_options ale-c.txt /*b:ale_c_gcc_options* -b:ale_c_parse_compile_commands ale-c.txt /*b:ale_c_parse_compile_commands* -b:ale_c_parse_makefile ale-c.txt /*b:ale_c_parse_makefile* -b:ale_c_uncrustify_executable ale-c.txt /*b:ale_c_uncrustify_executable* -b:ale_c_uncrustify_options ale-c.txt /*b:ale_c_uncrustify_options* -b:ale_chef_cookstyle_executable ale-chef.txt /*b:ale_chef_cookstyle_executable* -b:ale_chef_cookstyle_options ale-chef.txt /*b:ale_chef_cookstyle_options* -b:ale_chef_foodcritic_executable ale-chef.txt /*b:ale_chef_foodcritic_executable* -b:ale_chef_foodcritic_options ale-chef.txt /*b:ale_chef_foodcritic_options* -b:ale_cmake_cmakeformat_executable ale-cmake.txt /*b:ale_cmake_cmakeformat_executable* -b:ale_cmake_cmakeformat_options ale-cmake.txt /*b:ale_cmake_cmakeformat_options* -b:ale_cmake_cmakelint_executable ale-cmake.txt /*b:ale_cmake_cmakelint_executable* -b:ale_cmake_cmakelint_options ale-cmake.txt /*b:ale_cmake_cmakelint_options* -b:ale_command_wrapper ale.txt /*b:ale_command_wrapper* -b:ale_completion_enabled ale.txt /*b:ale_completion_enabled* -b:ale_completion_excluded_words ale.txt /*b:ale_completion_excluded_words* -b:ale_cpp_ccls_executable ale-cpp.txt /*b:ale_cpp_ccls_executable* -b:ale_cpp_ccls_init_options ale-cpp.txt /*b:ale_cpp_ccls_init_options* -b:ale_cpp_clang_executable ale-cpp.txt /*b:ale_cpp_clang_executable* -b:ale_cpp_clang_options ale-cpp.txt /*b:ale_cpp_clang_options* -b:ale_cpp_clangcheck_executable ale-cpp.txt /*b:ale_cpp_clangcheck_executable* -b:ale_cpp_clangcheck_options ale-cpp.txt /*b:ale_cpp_clangcheck_options* -b:ale_cpp_clangd_executable ale-cpp.txt /*b:ale_cpp_clangd_executable* -b:ale_cpp_clangd_options ale-cpp.txt /*b:ale_cpp_clangd_options* -b:ale_cpp_clangtidy_checks ale-cpp.txt /*b:ale_cpp_clangtidy_checks* -b:ale_cpp_clangtidy_executable ale-cpp.txt /*b:ale_cpp_clangtidy_executable* -b:ale_cpp_clangtidy_extra_options ale-cpp.txt /*b:ale_cpp_clangtidy_extra_options* -b:ale_cpp_clangtidy_fix_errors ale-cpp.txt /*b:ale_cpp_clangtidy_fix_errors* -b:ale_cpp_clangtidy_options ale-cpp.txt /*b:ale_cpp_clangtidy_options* -b:ale_cpp_clazy_checks ale-cpp.txt /*b:ale_cpp_clazy_checks* -b:ale_cpp_clazy_executable ale-cpp.txt /*b:ale_cpp_clazy_executable* -b:ale_cpp_clazy_options ale-cpp.txt /*b:ale_cpp_clazy_options* -b:ale_cpp_cppcheck_executable ale-cpp.txt /*b:ale_cpp_cppcheck_executable* -b:ale_cpp_cppcheck_options ale-cpp.txt /*b:ale_cpp_cppcheck_options* -b:ale_cpp_cpplint_executable ale-cpp.txt /*b:ale_cpp_cpplint_executable* -b:ale_cpp_cpplint_options ale-cpp.txt /*b:ale_cpp_cpplint_options* -b:ale_cpp_cquery_cache_directory ale-cpp.txt /*b:ale_cpp_cquery_cache_directory* -b:ale_cpp_cquery_executable ale-cpp.txt /*b:ale_cpp_cquery_executable* -b:ale_cpp_flawfinder_executable ale-cpp.txt /*b:ale_cpp_flawfinder_executable* -b:ale_cpp_flawfinder_minlevel ale-cpp.txt /*b:ale_cpp_flawfinder_minlevel* -b:ale_cpp_gcc_executable ale-cpp.txt /*b:ale_cpp_gcc_executable* -b:ale_cpp_gcc_options ale-cpp.txt /*b:ale_cpp_gcc_options* -b:ale_cs_csc_assemblies ale-cs.txt /*b:ale_cs_csc_assemblies* -b:ale_cs_csc_assembly_path ale-cs.txt /*b:ale_cs_csc_assembly_path* -b:ale_cs_csc_options ale-cs.txt /*b:ale_cs_csc_options* -b:ale_cs_csc_source ale-cs.txt /*b:ale_cs_csc_source* -b:ale_cs_mcs_options ale-cs.txt /*b:ale_cs_mcs_options* -b:ale_cs_mcsc_assemblies ale-cs.txt /*b:ale_cs_mcsc_assemblies* -b:ale_cs_mcsc_assembly_path ale-cs.txt /*b:ale_cs_mcsc_assembly_path* -b:ale_cs_mcsc_options ale-cs.txt /*b:ale_cs_mcsc_options* -b:ale_cs_mcsc_source ale-cs.txt /*b:ale_cs_mcsc_source* -b:ale_css_stylelint_executable ale-css.txt /*b:ale_css_stylelint_executable* -b:ale_css_stylelint_options ale-css.txt /*b:ale_css_stylelint_options* -b:ale_css_stylelint_use_global ale-css.txt /*b:ale_css_stylelint_use_global* -b:ale_cuda_nvcc_executable ale-cuda.txt /*b:ale_cuda_nvcc_executable* -b:ale_cuda_nvcc_options ale-cuda.txt /*b:ale_cuda_nvcc_options* -b:ale_d_dfmt_options ale-d.txt /*b:ale_d_dfmt_options* -b:ale_d_dls_executable ale-d.txt /*b:ale_d_dls_executable* -b:ale_dart_dartanalyzer_executable ale-dart.txt /*b:ale_dart_dartanalyzer_executable* -b:ale_dart_dartfmt_executable ale-dart.txt /*b:ale_dart_dartfmt_executable* -b:ale_dart_dartfmt_options ale-dart.txt /*b:ale_dart_dartfmt_options* -b:ale_default_navigation ale.txt /*b:ale_default_navigation* -b:ale_disable_lsp ale.txt /*b:ale_disable_lsp* -b:ale_dockerfile_dockerfile_lint_executable ale-dockerfile.txt /*b:ale_dockerfile_dockerfile_lint_executable* -b:ale_dockerfile_dockerfile_lint_options ale-dockerfile.txt /*b:ale_dockerfile_dockerfile_lint_options* -b:ale_dockerfile_hadolint_image ale-dockerfile.txt /*b:ale_dockerfile_hadolint_image* -b:ale_dockerfile_hadolint_use_docker ale-dockerfile.txt /*b:ale_dockerfile_hadolint_use_docker* -b:ale_echo_delay ale.txt /*b:ale_echo_delay* -b:ale_echo_msg_format ale.txt /*b:ale_echo_msg_format* -b:ale_elixir_elixir_ls_config ale-elixir.txt /*b:ale_elixir_elixir_ls_config* -b:ale_elixir_elixir_ls_release ale-elixir.txt /*b:ale_elixir_elixir_ls_release* -b:ale_elixir_mix_format_options ale-elixir.txt /*b:ale_elixir_mix_format_options* -b:ale_elixir_mix_options ale-elixir.txt /*b:ale_elixir_mix_options* -b:ale_elm_format_executable ale-elm.txt /*b:ale_elm_format_executable* -b:ale_elm_format_options ale-elm.txt /*b:ale_elm_format_options* -b:ale_elm_format_use_global ale-elm.txt /*b:ale_elm_format_use_global* -b:ale_elm_ls_elm_analyse_trigger ale-elm.txt /*b:ale_elm_ls_elm_analyse_trigger* -b:ale_elm_ls_elm_format_path ale-elm.txt /*b:ale_elm_ls_elm_format_path* -b:ale_elm_ls_elm_path ale-elm.txt /*b:ale_elm_ls_elm_path* -b:ale_elm_ls_elm_test_path ale-elm.txt /*b:ale_elm_ls_elm_test_path* -b:ale_elm_ls_executable ale-elm.txt /*b:ale_elm_ls_executable* -b:ale_elm_ls_use_global ale-elm.txt /*b:ale_elm_ls_use_global* -b:ale_elm_make_executable ale-elm.txt /*b:ale_elm_make_executable* -b:ale_elm_make_use_global ale-elm.txt /*b:ale_elm_make_use_global* -b:ale_enabled ale.txt /*b:ale_enabled* -b:ale_erlang_dialyzer_executable ale-erlang.txt /*b:ale_erlang_dialyzer_executable* -b:ale_erlang_dialyzer_plt_file ale-erlang.txt /*b:ale_erlang_dialyzer_plt_file* -b:ale_erlang_dialyzer_rebar3_profile ale-erlang.txt /*b:ale_erlang_dialyzer_rebar3_profile* -b:ale_erlang_erlc_options ale-erlang.txt /*b:ale_erlang_erlc_options* -b:ale_erlang_syntaxerl_executable ale-erlang.txt /*b:ale_erlang_syntaxerl_executable* -b:ale_eruby_ruumba_executable ale-eruby.txt /*b:ale_eruby_ruumba_executable* -b:ale_exclude_highlights ale.txt /*b:ale_exclude_highlights* -b:ale_fix_on_save ale.txt /*b:ale_fix_on_save* -b:ale_fix_on_save_ignore ale.txt /*b:ale_fix_on_save_ignore* -b:ale_fixers ale.txt /*b:ale_fixers* -b:ale_fortran_gcc_executable ale-fortran.txt /*b:ale_fortran_gcc_executable* -b:ale_fortran_gcc_options ale-fortran.txt /*b:ale_fortran_gcc_options* -b:ale_fortran_gcc_use_free_form ale-fortran.txt /*b:ale_fortran_gcc_use_free_form* -b:ale_fortran_language_server_executable ale-fortran.txt /*b:ale_fortran_language_server_executable* -b:ale_fortran_language_server_use_global ale-fortran.txt /*b:ale_fortran_language_server_use_global* -b:ale_fuse_fusionlint_executable ale-fuse.txt /*b:ale_fuse_fusionlint_executable* -b:ale_fuse_fusionlint_options ale-fuse.txt /*b:ale_fuse_fusionlint_options* -b:ale_gitcommit_gitlint_executable ale-gitcommit.txt /*b:ale_gitcommit_gitlint_executable* -b:ale_gitcommit_gitlint_options ale-gitcommit.txt /*b:ale_gitcommit_gitlint_options* -b:ale_gitcommit_gitlint_use_global ale-gitcommit.txt /*b:ale_gitcommit_gitlint_use_global* -b:ale_glsl_glslang_executable ale-glsl.txt /*b:ale_glsl_glslang_executable* -b:ale_glsl_glslang_options ale-glsl.txt /*b:ale_glsl_glslang_options* -b:ale_glsl_glslls_executable ale-glsl.txt /*b:ale_glsl_glslls_executable* -b:ale_glsl_glslls_logfile ale-glsl.txt /*b:ale_glsl_glslls_logfile* -b:ale_go_bingo_executable ale-go.txt /*b:ale_go_bingo_executable* -b:ale_go_bingo_options ale-go.txt /*b:ale_go_bingo_options* -b:ale_go_go111module ale-go.txt /*b:ale_go_go111module* -b:ale_go_go_options ale-go.txt /*b:ale_go_go_options* -b:ale_go_gobuild_options ale-go.txt /*b:ale_go_gobuild_options* -b:ale_go_gofmt_options ale-go.txt /*b:ale_go_gofmt_options* -b:ale_go_golangci_lint_executable ale-go.txt /*b:ale_go_golangci_lint_executable* -b:ale_go_golangci_lint_options ale-go.txt /*b:ale_go_golangci_lint_options* -b:ale_go_golangci_lint_package ale-go.txt /*b:ale_go_golangci_lint_package* -b:ale_go_golint_executable ale-go.txt /*b:ale_go_golint_executable* -b:ale_go_golint_options ale-go.txt /*b:ale_go_golint_options* -b:ale_go_gometalinter_executable ale-go.txt /*b:ale_go_gometalinter_executable* -b:ale_go_gometalinter_lint_package ale-go.txt /*b:ale_go_gometalinter_lint_package* -b:ale_go_gometalinter_options ale-go.txt /*b:ale_go_gometalinter_options* -b:ale_go_gopls_executable ale-go.txt /*b:ale_go_gopls_executable* -b:ale_go_gopls_options ale-go.txt /*b:ale_go_gopls_options* -b:ale_go_govet_options ale-go.txt /*b:ale_go_govet_options* -b:ale_go_langserver_executable ale-go.txt /*b:ale_go_langserver_executable* -b:ale_go_langserver_options ale-go.txt /*b:ale_go_langserver_options* -b:ale_go_revive_executable ale-go.txt /*b:ale_go_revive_executable* -b:ale_go_revive_options ale-go.txt /*b:ale_go_revive_options* -b:ale_go_staticcheck_lint_package ale-go.txt /*b:ale_go_staticcheck_lint_package* -b:ale_go_staticcheck_options ale-go.txt /*b:ale_go_staticcheck_options* -b:ale_hack_hack_executable ale-hack.txt /*b:ale_hack_hack_executable* -b:ale_hack_hackfmt_options ale-hack.txt /*b:ale_hack_hackfmt_options* -b:ale_hack_hhast_executable ale-hack.txt /*b:ale_hack_hhast_executable* -b:ale_handlebars_embertemplatelint_executable ale-handlebars.txt /*b:ale_handlebars_embertemplatelint_executable* -b:ale_handlebars_embertemplatelint_use_global ale-handlebars.txt /*b:ale_handlebars_embertemplatelint_use_global* -b:ale_haskell_brittany_executable ale-haskell.txt /*b:ale_haskell_brittany_executable* -b:ale_haskell_cabal_ghc_options ale-haskell.txt /*b:ale_haskell_cabal_ghc_options* -b:ale_haskell_floskell_executable ale-haskell.txt /*b:ale_haskell_floskell_executable* -b:ale_haskell_ghc_mod_executable ale-haskell.txt /*b:ale_haskell_ghc_mod_executable* -b:ale_haskell_ghc_options ale-haskell.txt /*b:ale_haskell_ghc_options* -b:ale_haskell_hdevtools_executable ale-haskell.txt /*b:ale_haskell_hdevtools_executable* -b:ale_haskell_hdevtools_options ale-haskell.txt /*b:ale_haskell_hdevtools_options* -b:ale_haskell_hfmt_executable ale-haskell.txt /*b:ale_haskell_hfmt_executable* -b:ale_haskell_hie_executable ale-haskell.txt /*b:ale_haskell_hie_executable* -b:ale_haskell_hindent_executable ale-haskell.txt /*b:ale_haskell_hindent_executable* -b:ale_haskell_hlint_executable ale-haskell.txt /*b:ale_haskell_hlint_executable* -b:ale_haskell_stack_build_options ale-haskell.txt /*b:ale_haskell_stack_build_options* -b:ale_haskell_stack_ghc_options ale-haskell.txt /*b:ale_haskell_stack_ghc_options* -b:ale_haskell_stylish_haskell_executable ale-haskell.txt /*b:ale_haskell_stylish_haskell_executable* -b:ale_hover_to_preview ale.txt /*b:ale_hover_to_preview* -b:ale_html_beautify_options ale-html.txt /*b:ale_html_beautify_options* -b:ale_html_htmlhint_executable ale-html.txt /*b:ale_html_htmlhint_executable* -b:ale_html_htmlhint_options ale-html.txt /*b:ale_html_htmlhint_options* -b:ale_html_htmlhint_use_global ale-html.txt /*b:ale_html_htmlhint_use_global* -b:ale_html_stylelint_executable ale-html.txt /*b:ale_html_stylelint_executable* -b:ale_html_stylelint_options ale-html.txt /*b:ale_html_stylelint_options* -b:ale_html_stylelint_use_global ale-html.txt /*b:ale_html_stylelint_use_global* -b:ale_html_tidy_executable ale-html.txt /*b:ale_html_tidy_executable* -b:ale_html_tidy_options ale-html.txt /*b:ale_html_tidy_options* -b:ale_idris_idris_executable ale-idris.txt /*b:ale_idris_idris_executable* -b:ale_idris_idris_options ale-idris.txt /*b:ale_idris_idris_options* -b:ale_ispc_ispc_executable ale-ispc.txt /*b:ale_ispc_ispc_executable* -b:ale_ispc_ispc_options ale-ispc.txt /*b:ale_ispc_ispc_options* -b:ale_java_checkstyle_config ale-java.txt /*b:ale_java_checkstyle_config* -b:ale_java_checkstyle_executable ale-java.txt /*b:ale_java_checkstyle_executable* -b:ale_java_checkstyle_options ale-java.txt /*b:ale_java_checkstyle_options* -b:ale_java_eclipse_config_path ale-java.txt /*b:ale_java_eclipse_config_path* -b:ale_java_eclipse_executable ale-java.txt /*b:ale_java_eclipse_executable* -b:ale_java_eclipselsp_javaagent ale-java.txt /*b:ale_java_eclipselsp_javaagent* -b:ale_java_eclipselsp_path ale-java.txt /*b:ale_java_eclipselsp_path* -b:ale_java_eclipselsp_workspace_path ale-java.txt /*b:ale_java_eclipselsp_workspace_path* -b:ale_java_google_java_format_executable ale-java.txt /*b:ale_java_google_java_format_executable* -b:ale_java_google_java_format_options ale-java.txt /*b:ale_java_google_java_format_options* -b:ale_java_javac_classpath ale-java.txt /*b:ale_java_javac_classpath* -b:ale_java_javac_executable ale-java.txt /*b:ale_java_javac_executable* -b:ale_java_javac_options ale-java.txt /*b:ale_java_javac_options* -b:ale_java_javac_sourcepath ale-java.txt /*b:ale_java_javac_sourcepath* -b:ale_java_javalsp_config ale-java.txt /*b:ale_java_javalsp_config* -b:ale_java_javalsp_executable ale-java.txt /*b:ale_java_javalsp_executable* -b:ale_java_pmd_options ale-java.txt /*b:ale_java_pmd_options* -b:ale_javascript_eslint_executable ale-javascript.txt /*b:ale_javascript_eslint_executable* -b:ale_javascript_eslint_options ale-javascript.txt /*b:ale_javascript_eslint_options* -b:ale_javascript_eslint_suppress_eslintignore ale-javascript.txt /*b:ale_javascript_eslint_suppress_eslintignore* -b:ale_javascript_eslint_suppress_missing_config ale-javascript.txt /*b:ale_javascript_eslint_suppress_missing_config* -b:ale_javascript_eslint_use_global ale-javascript.txt /*b:ale_javascript_eslint_use_global* -b:ale_javascript_fecs_executable ale-javascript.txt /*b:ale_javascript_fecs_executable* -b:ale_javascript_fecs_use_global ale-javascript.txt /*b:ale_javascript_fecs_use_global* -b:ale_javascript_flow_executable ale-javascript.txt /*b:ale_javascript_flow_executable* -b:ale_javascript_flow_use_global ale-javascript.txt /*b:ale_javascript_flow_use_global* -b:ale_javascript_flow_use_home_config ale-javascript.txt /*b:ale_javascript_flow_use_home_config* -b:ale_javascript_flow_use_respect_pragma ale-javascript.txt /*b:ale_javascript_flow_use_respect_pragma* -b:ale_javascript_importjs_executable ale-javascript.txt /*b:ale_javascript_importjs_executable* -b:ale_javascript_jscs_executable ale-javascript.txt /*b:ale_javascript_jscs_executable* -b:ale_javascript_jscs_use_global ale-javascript.txt /*b:ale_javascript_jscs_use_global* -b:ale_javascript_jshint_executable ale-javascript.txt /*b:ale_javascript_jshint_executable* -b:ale_javascript_jshint_use_global ale-javascript.txt /*b:ale_javascript_jshint_use_global* -b:ale_javascript_prettier_eslint_executable ale-javascript.txt /*b:ale_javascript_prettier_eslint_executable* -b:ale_javascript_prettier_eslint_options ale-javascript.txt /*b:ale_javascript_prettier_eslint_options* -b:ale_javascript_prettier_eslint_use_global ale-javascript.txt /*b:ale_javascript_prettier_eslint_use_global* -b:ale_javascript_prettier_executable ale-javascript.txt /*b:ale_javascript_prettier_executable* -b:ale_javascript_prettier_options ale-javascript.txt /*b:ale_javascript_prettier_options* -b:ale_javascript_prettier_standard_executable ale-javascript.txt /*b:ale_javascript_prettier_standard_executable* -b:ale_javascript_prettier_standard_options ale-javascript.txt /*b:ale_javascript_prettier_standard_options* -b:ale_javascript_prettier_standard_use_global ale-javascript.txt /*b:ale_javascript_prettier_standard_use_global* -b:ale_javascript_prettier_use_global ale-javascript.txt /*b:ale_javascript_prettier_use_global* -b:ale_javascript_standard_executable ale-javascript.txt /*b:ale_javascript_standard_executable* -b:ale_javascript_standard_options ale-javascript.txt /*b:ale_javascript_standard_options* -b:ale_javascript_standard_use_global ale-javascript.txt /*b:ale_javascript_standard_use_global* -b:ale_javascript_xo_executable ale-javascript.txt /*b:ale_javascript_xo_executable* -b:ale_javascript_xo_options ale-javascript.txt /*b:ale_javascript_xo_options* -b:ale_javascript_xo_use_global ale-javascript.txt /*b:ale_javascript_xo_use_global* -b:ale_json_fixjson_executable ale-json.txt /*b:ale_json_fixjson_executable* -b:ale_json_fixjson_options ale-json.txt /*b:ale_json_fixjson_options* -b:ale_json_fixjson_use_global ale-json.txt /*b:ale_json_fixjson_use_global* -b:ale_json_jq_executable ale-json.txt /*b:ale_json_jq_executable* -b:ale_json_jq_filters ale-json.txt /*b:ale_json_jq_filters* -b:ale_json_jq_options ale-json.txt /*b:ale_json_jq_options* -b:ale_json_jsonlint_executable ale-json.txt /*b:ale_json_jsonlint_executable* -b:ale_json_jsonlint_use_global ale-json.txt /*b:ale_json_jsonlint_use_global* -b:ale_julia_executable ale-julia.txt /*b:ale_julia_executable* -b:ale_keep_list_window_open ale.txt /*b:ale_keep_list_window_open* -b:ale_lacheck_executable ale-tex.txt /*b:ale_lacheck_executable* -b:ale_languagetool_executable ale.txt /*b:ale_languagetool_executable* -b:ale_languagetool_options ale.txt /*b:ale_languagetool_options* -b:ale_less_lessc_executable ale-less.txt /*b:ale_less_lessc_executable* -b:ale_less_lessc_options ale-less.txt /*b:ale_less_lessc_options* -b:ale_less_lessc_use_global ale-less.txt /*b:ale_less_lessc_use_global* -b:ale_less_stylelint_executable ale-less.txt /*b:ale_less_stylelint_executable* -b:ale_less_stylelint_options ale-less.txt /*b:ale_less_stylelint_options* -b:ale_less_stylelint_use_global ale-less.txt /*b:ale_less_stylelint_use_global* -b:ale_lint_on_insert_leave ale.txt /*b:ale_lint_on_insert_leave* -b:ale_linted ale.txt /*b:ale_linted* -b:ale_linter_aliases ale.txt /*b:ale_linter_aliases* -b:ale_linters ale.txt /*b:ale_linters* -b:ale_linters_ignore ale.txt /*b:ale_linters_ignore* -b:ale_list_vertical ale.txt /*b:ale_list_vertical* -b:ale_list_window_size ale.txt /*b:ale_list_window_size* -b:ale_llvm_llc_executable ale-llvm.txt /*b:ale_llvm_llc_executable* -b:ale_loclist_msg_format ale.txt /*b:ale_loclist_msg_format* -b:ale_lsp_root ale.txt /*b:ale_lsp_root* -b:ale_lua_luac_executable ale-lua.txt /*b:ale_lua_luac_executable* -b:ale_lua_luacheck_executable ale-lua.txt /*b:ale_lua_luacheck_executable* -b:ale_lua_luacheck_options ale-lua.txt /*b:ale_lua_luacheck_options* -b:ale_markdown_mdl_executable ale-markdown.txt /*b:ale_markdown_mdl_executable* -b:ale_markdown_mdl_options ale-markdown.txt /*b:ale_markdown_mdl_options* -b:ale_markdown_remark_lint_executable ale-markdown.txt /*b:ale_markdown_remark_lint_executable* -b:ale_markdown_remark_lint_options ale-markdown.txt /*b:ale_markdown_remark_lint_options* -b:ale_markdown_remark_lint_use_global ale-markdown.txt /*b:ale_markdown_remark_lint_use_global* -b:ale_max_signs ale.txt /*b:ale_max_signs* -b:ale_maximum_file_size ale.txt /*b:ale_maximum_file_size* -b:ale_mercury_mmc_executable ale-mercury.txt /*b:ale_mercury_mmc_executable* -b:ale_mercury_mmc_options ale-mercury.txt /*b:ale_mercury_mmc_options* -b:ale_nasm_nasm_executable ale-nasm.txt /*b:ale_nasm_nasm_executable* -b:ale_nasm_nasm_options ale-nasm.txt /*b:ale_nasm_nasm_options* -b:ale_nim_nimpretty_executable ale-nim.txt /*b:ale_nim_nimpretty_executable* -b:ale_nim_nimpretty_options ale-nim.txt /*b:ale_nim_nimpretty_options* -b:ale_nix_nixpkgsfmt_executable ale-nix.txt /*b:ale_nix_nixpkgsfmt_executable* -b:ale_nix_nixpkgsfmt_options ale-nix.txt /*b:ale_nix_nixpkgsfmt_options* -b:ale_objc_ccls_executable ale-objc.txt /*b:ale_objc_ccls_executable* -b:ale_objc_ccls_init_options ale-objc.txt /*b:ale_objc_ccls_init_options* -b:ale_objc_clang_options ale-objc.txt /*b:ale_objc_clang_options* -b:ale_objc_clangd_executable ale-objc.txt /*b:ale_objc_clangd_executable* -b:ale_objc_clangd_options ale-objc.txt /*b:ale_objc_clangd_options* -b:ale_objcpp_clang_options ale-objcpp.txt /*b:ale_objcpp_clang_options* -b:ale_objcpp_clangd_executable ale-objcpp.txt /*b:ale_objcpp_clangd_executable* -b:ale_objcpp_clangd_options ale-objcpp.txt /*b:ale_objcpp_clangd_options* -b:ale_ocaml_ocamlformat_executable ale-ocaml.txt /*b:ale_ocaml_ocamlformat_executable* -b:ale_ocaml_ocamlformat_options ale-ocaml.txt /*b:ale_ocaml_ocamlformat_options* -b:ale_ocaml_ocp_indent_config ale-ocaml.txt /*b:ale_ocaml_ocp_indent_config* -b:ale_ocaml_ocp_indent_executable ale-ocaml.txt /*b:ale_ocaml_ocp_indent_executable* -b:ale_ocaml_ocp_indent_options ale-ocaml.txt /*b:ale_ocaml_ocp_indent_options* -b:ale_ocaml_ols_executable ale-ocaml.txt /*b:ale_ocaml_ols_executable* -b:ale_ocaml_ols_use_global ale-ocaml.txt /*b:ale_ocaml_ols_use_global* -b:ale_open_list ale.txt /*b:ale_open_list* -b:ale_perl6_perl6_executable ale-perl6.txt /*b:ale_perl6_perl6_executable* -b:ale_perl6_perl6_options ale-perl6.txt /*b:ale_perl6_perl6_options* -b:ale_perl_perl_executable ale-perl.txt /*b:ale_perl_perl_executable* -b:ale_perl_perl_options ale-perl.txt /*b:ale_perl_perl_options* -b:ale_perl_perlcritic_executable ale-perl.txt /*b:ale_perl_perlcritic_executable* -b:ale_perl_perlcritic_options ale-perl.txt /*b:ale_perl_perlcritic_options* -b:ale_perl_perlcritic_profile ale-perl.txt /*b:ale_perl_perlcritic_profile* -b:ale_perl_perltidy_options ale-perl.txt /*b:ale_perl_perltidy_options* -b:ale_php_cs_fixer_executable ale-php.txt /*b:ale_php_cs_fixer_executable* -b:ale_php_cs_fixer_options ale-php.txt /*b:ale_php_cs_fixer_options* -b:ale_php_cs_fixer_use_global ale-php.txt /*b:ale_php_cs_fixer_use_global* -b:ale_php_langserver_executable ale-php.txt /*b:ale_php_langserver_executable* -b:ale_php_langserver_use_global ale-php.txt /*b:ale_php_langserver_use_global* -b:ale_php_phan_executable ale-php.txt /*b:ale_php_phan_executable* -b:ale_php_phan_minimum_severity ale-php.txt /*b:ale_php_phan_minimum_severity* -b:ale_php_phan_use_client ale-php.txt /*b:ale_php_phan_use_client* -b:ale_php_php_executable ale-php.txt /*b:ale_php_php_executable* -b:ale_php_phpcbf_executable ale-php.txt /*b:ale_php_phpcbf_executable* -b:ale_php_phpcbf_standard ale-php.txt /*b:ale_php_phpcbf_standard* -b:ale_php_phpcbf_use_global ale-php.txt /*b:ale_php_phpcbf_use_global* -b:ale_php_phpcs_executable ale-php.txt /*b:ale_php_phpcs_executable* -b:ale_php_phpcs_options ale-php.txt /*b:ale_php_phpcs_options* -b:ale_php_phpcs_standard ale-php.txt /*b:ale_php_phpcs_standard* -b:ale_php_phpcs_use_global ale-php.txt /*b:ale_php_phpcs_use_global* -b:ale_php_phpmd_executable ale-php.txt /*b:ale_php_phpmd_executable* -b:ale_php_phpmd_ruleset ale-php.txt /*b:ale_php_phpmd_ruleset* -b:ale_php_phpstan_autoload ale-php.txt /*b:ale_php_phpstan_autoload* -b:ale_php_phpstan_configuration ale-php.txt /*b:ale_php_phpstan_configuration* -b:ale_php_phpstan_executable ale-php.txt /*b:ale_php_phpstan_executable* -b:ale_php_phpstan_level ale-php.txt /*b:ale_php_phpstan_level* -b:ale_php_psalm_executable ale-php.txt /*b:ale_php_psalm_executable* -b:ale_pony_ponyc_executable ale-pony.txt /*b:ale_pony_ponyc_executable* -b:ale_pony_ponyc_options ale-pony.txt /*b:ale_pony_ponyc_options* -b:ale_powershell_powershell_executable ale-powershell.txt /*b:ale_powershell_powershell_executable* -b:ale_powershell_psscriptanalyzer_exclusions ale-powershell.txt /*b:ale_powershell_psscriptanalyzer_exclusions* -b:ale_powershell_psscriptanalyzer_executable ale-powershell.txt /*b:ale_powershell_psscriptanalyzer_executable* -b:ale_powershell_psscriptanalyzer_module ale-powershell.txt /*b:ale_powershell_psscriptanalyzer_module* -b:ale_prolog_swipl_alarm ale-prolog.txt /*b:ale_prolog_swipl_alarm* -b:ale_prolog_swipl_alarm_handler ale-prolog.txt /*b:ale_prolog_swipl_alarm_handler* -b:ale_prolog_swipl_executable ale-prolog.txt /*b:ale_prolog_swipl_executable* -b:ale_prolog_swipl_load ale-prolog.txt /*b:ale_prolog_swipl_load* -b:ale_prolog_swipl_timeout ale-prolog.txt /*b:ale_prolog_swipl_timeout* -b:ale_psalm_langserver_options ale-php.txt /*b:ale_psalm_langserver_options* -b:ale_pug_puglint_executable ale-pug.txt /*b:ale_pug_puglint_executable* -b:ale_pug_puglint_options ale-pug.txt /*b:ale_pug_puglint_options* -b:ale_pug_puglint_use_global ale-pug.txt /*b:ale_pug_puglint_use_global* -b:ale_puppet_languageserver_executable ale-puppet.txt /*b:ale_puppet_languageserver_executable* -b:ale_puppet_puppet_executable ale-puppet.txt /*b:ale_puppet_puppet_executable* -b:ale_puppet_puppet_options ale-puppet.txt /*b:ale_puppet_puppet_options* -b:ale_puppet_puppetlint_executable ale-puppet.txt /*b:ale_puppet_puppetlint_executable* -b:ale_puppet_puppetlint_options ale-puppet.txt /*b:ale_puppet_puppetlint_options* -b:ale_purescript_purty_executable ale-purescript.txt /*b:ale_purescript_purty_executable* -b:ale_pyrex_cython_executable ale-pyrex.txt /*b:ale_pyrex_cython_executable* -b:ale_pyrex_cython_options ale-pyrex.txt /*b:ale_pyrex_cython_options* -b:ale_python_auto_pipenv ale-python.txt /*b:ale_python_auto_pipenv* -b:ale_python_autopep8_executable ale-python.txt /*b:ale_python_autopep8_executable* -b:ale_python_autopep8_options ale-python.txt /*b:ale_python_autopep8_options* -b:ale_python_autopep8_use_global ale-python.txt /*b:ale_python_autopep8_use_global* -b:ale_python_bandit_auto_pipenv ale-python.txt /*b:ale_python_bandit_auto_pipenv* -b:ale_python_bandit_executable ale-python.txt /*b:ale_python_bandit_executable* -b:ale_python_bandit_options ale-python.txt /*b:ale_python_bandit_options* -b:ale_python_bandit_use_config ale-python.txt /*b:ale_python_bandit_use_config* -b:ale_python_bandit_use_global ale-python.txt /*b:ale_python_bandit_use_global* -b:ale_python_black_auto_pipenv ale-python.txt /*b:ale_python_black_auto_pipenv* -b:ale_python_black_change_directory ale-python.txt /*b:ale_python_black_change_directory* -b:ale_python_black_executable ale-python.txt /*b:ale_python_black_executable* -b:ale_python_black_options ale-python.txt /*b:ale_python_black_options* -b:ale_python_black_use_global ale-python.txt /*b:ale_python_black_use_global* -b:ale_python_flake8_auto_pipenv ale-python.txt /*b:ale_python_flake8_auto_pipenv* -b:ale_python_flake8_change_directory ale-python.txt /*b:ale_python_flake8_change_directory* -b:ale_python_flake8_executable ale-python.txt /*b:ale_python_flake8_executable* -b:ale_python_flake8_options ale-python.txt /*b:ale_python_flake8_options* -b:ale_python_flake8_use_global ale-python.txt /*b:ale_python_flake8_use_global* -b:ale_python_isort_executable ale-python.txt /*b:ale_python_isort_executable* -b:ale_python_isort_options ale-python.txt /*b:ale_python_isort_options* -b:ale_python_isort_use_global ale-python.txt /*b:ale_python_isort_use_global* -b:ale_python_mypy_auto_pipenv ale-python.txt /*b:ale_python_mypy_auto_pipenv* -b:ale_python_mypy_executable ale-python.txt /*b:ale_python_mypy_executable* -b:ale_python_mypy_ignore_invalid_syntax ale-python.txt /*b:ale_python_mypy_ignore_invalid_syntax* -b:ale_python_mypy_options ale-python.txt /*b:ale_python_mypy_options* -b:ale_python_mypy_show_notes ale-python.txt /*b:ale_python_mypy_show_notes* -b:ale_python_mypy_use_global ale-python.txt /*b:ale_python_mypy_use_global* -b:ale_python_prospector_auto_pipenv ale-python.txt /*b:ale_python_prospector_auto_pipenv* -b:ale_python_prospector_executable ale-python.txt /*b:ale_python_prospector_executable* -b:ale_python_prospector_options ale-python.txt /*b:ale_python_prospector_options* -b:ale_python_prospector_use_global ale-python.txt /*b:ale_python_prospector_use_global* -b:ale_python_pycodestyle_auto_pipenv ale-python.txt /*b:ale_python_pycodestyle_auto_pipenv* -b:ale_python_pycodestyle_executable ale-python.txt /*b:ale_python_pycodestyle_executable* -b:ale_python_pycodestyle_options ale-python.txt /*b:ale_python_pycodestyle_options* -b:ale_python_pycodestyle_use_global ale-python.txt /*b:ale_python_pycodestyle_use_global* -b:ale_python_pydocstyle_auto_pipenv ale-python.txt /*b:ale_python_pydocstyle_auto_pipenv* -b:ale_python_pydocstyle_executable ale-python.txt /*b:ale_python_pydocstyle_executable* -b:ale_python_pydocstyle_options ale-python.txt /*b:ale_python_pydocstyle_options* -b:ale_python_pydocstyle_use_global ale-python.txt /*b:ale_python_pydocstyle_use_global* -b:ale_python_pyflakes_auto_pipenv ale-python.txt /*b:ale_python_pyflakes_auto_pipenv* -b:ale_python_pyflakes_executable ale-python.txt /*b:ale_python_pyflakes_executable* -b:ale_python_pylama_auto_pipenv ale-python.txt /*b:ale_python_pylama_auto_pipenv* -b:ale_python_pylama_change_directory ale-python.txt /*b:ale_python_pylama_change_directory* -b:ale_python_pylama_executable ale-python.txt /*b:ale_python_pylama_executable* -b:ale_python_pylama_options ale-python.txt /*b:ale_python_pylama_options* -b:ale_python_pylama_use_global ale-python.txt /*b:ale_python_pylama_use_global* -b:ale_python_pylint_auto_pipenv ale-python.txt /*b:ale_python_pylint_auto_pipenv* -b:ale_python_pylint_change_directory ale-python.txt /*b:ale_python_pylint_change_directory* -b:ale_python_pylint_executable ale-python.txt /*b:ale_python_pylint_executable* -b:ale_python_pylint_options ale-python.txt /*b:ale_python_pylint_options* -b:ale_python_pylint_use_global ale-python.txt /*b:ale_python_pylint_use_global* -b:ale_python_pylint_use_msg_id ale-python.txt /*b:ale_python_pylint_use_msg_id* -b:ale_python_pyls_auto_pipenv ale-python.txt /*b:ale_python_pyls_auto_pipenv* -b:ale_python_pyls_config ale-python.txt /*b:ale_python_pyls_config* -b:ale_python_pyls_executable ale-python.txt /*b:ale_python_pyls_executable* -b:ale_python_pyls_use_global ale-python.txt /*b:ale_python_pyls_use_global* -b:ale_python_pyre_auto_pipenv ale-python.txt /*b:ale_python_pyre_auto_pipenv* -b:ale_python_pyre_executable ale-python.txt /*b:ale_python_pyre_executable* -b:ale_python_pyre_use_global ale-python.txt /*b:ale_python_pyre_use_global* -b:ale_python_reorder_python_imports_executable ale-python.txt /*b:ale_python_reorder_python_imports_executable* -b:ale_python_reorder_python_imports_options ale-python.txt /*b:ale_python_reorder_python_imports_options* -b:ale_python_reorder_python_imports_use_global ale-python.txt /*b:ale_python_reorder_python_imports_use_global* -b:ale_python_vulture_change_directory ale-python.txt /*b:ale_python_vulture_change_directory* -b:ale_python_vulture_executable ale-python.txt /*b:ale_python_vulture_executable* -b:ale_python_vulture_options ale-python.txt /*b:ale_python_vulture_options* -b:ale_python_vulture_use_global ale-python.txt /*b:ale_python_vulture_use_global* -b:ale_python_yapf_executable ale-python.txt /*b:ale_python_yapf_executable* -b:ale_python_yapf_use_global ale-python.txt /*b:ale_python_yapf_use_global* -b:ale_qml_qmlfmt_executable ale-qml.txt /*b:ale_qml_qmlfmt_executable* -b:ale_r_lintr_lint_package ale-r.txt /*b:ale_r_lintr_lint_package* -b:ale_r_lintr_options ale-r.txt /*b:ale_r_lintr_options* -b:ale_r_styler_options ale-r.txt /*b:ale_r_styler_options* -b:ale_reason_ls_executable ale-reasonml.txt /*b:ale_reason_ls_executable* -b:ale_reason_ols_executable ale-reasonml.txt /*b:ale_reason_ols_executable* -b:ale_reason_ols_use_global ale-reasonml.txt /*b:ale_reason_ols_use_global* -b:ale_reasonml_refmt_executable ale-reasonml.txt /*b:ale_reasonml_refmt_executable* -b:ale_reasonml_refmt_options ale-reasonml.txt /*b:ale_reasonml_refmt_options* -b:ale_ruby_brakeman_executable ale-ruby.txt /*b:ale_ruby_brakeman_executable* -b:ale_ruby_brakeman_options ale-ruby.txt /*b:ale_ruby_brakeman_options* -b:ale_ruby_debride_executable ale-ruby.txt /*b:ale_ruby_debride_executable* -b:ale_ruby_debride_options ale-ruby.txt /*b:ale_ruby_debride_options* -b:ale_ruby_rails_best_practices_executable ale-ruby.txt /*b:ale_ruby_rails_best_practices_executable* -b:ale_ruby_rails_best_practices_options ale-ruby.txt /*b:ale_ruby_rails_best_practices_options* -b:ale_ruby_reek_executable ale-ruby.txt /*b:ale_ruby_reek_executable* -b:ale_ruby_reek_show_context ale-ruby.txt /*b:ale_ruby_reek_show_context* -b:ale_ruby_reek_show_wiki_link ale-ruby.txt /*b:ale_ruby_reek_show_wiki_link* -b:ale_ruby_rubocop_executable ale-ruby.txt /*b:ale_ruby_rubocop_executable* -b:ale_ruby_rubocop_options ale-ruby.txt /*b:ale_ruby_rubocop_options* -b:ale_ruby_ruby_executable ale-ruby.txt /*b:ale_ruby_ruby_executable* -b:ale_ruby_rufo_executable ale-ruby.txt /*b:ale_ruby_rufo_executable* -b:ale_ruby_ruumba_options ale-eruby.txt /*b:ale_ruby_ruumba_options* -b:ale_ruby_solargraph_executable ale-ruby.txt /*b:ale_ruby_solargraph_executable* -b:ale_ruby_sorbet_executable ale-ruby.txt /*b:ale_ruby_sorbet_executable* -b:ale_ruby_sorbet_options ale-ruby.txt /*b:ale_ruby_sorbet_options* -b:ale_ruby_standardrb_executable ale-ruby.txt /*b:ale_ruby_standardrb_executable* -b:ale_ruby_standardrb_options ale-ruby.txt /*b:ale_ruby_standardrb_options* -b:ale_rust_analyzer_config ale-rust.txt /*b:ale_rust_analyzer_config* -b:ale_rust_analyzer_executable ale-rust.txt /*b:ale_rust_analyzer_executable* -b:ale_rust_cargo_avoid_whole_workspace ale-rust.txt /*b:ale_rust_cargo_avoid_whole_workspace* -b:ale_rust_cargo_check_all_targets ale-rust.txt /*b:ale_rust_cargo_check_all_targets* -b:ale_rust_cargo_check_examples ale-rust.txt /*b:ale_rust_cargo_check_examples* -b:ale_rust_cargo_check_tests ale-rust.txt /*b:ale_rust_cargo_check_tests* -b:ale_rust_cargo_clippy_options ale-rust.txt /*b:ale_rust_cargo_clippy_options* -b:ale_rust_cargo_default_feature_behavior ale-rust.txt /*b:ale_rust_cargo_default_feature_behavior* -b:ale_rust_cargo_include_features ale-rust.txt /*b:ale_rust_cargo_include_features* -b:ale_rust_cargo_use_check ale-rust.txt /*b:ale_rust_cargo_use_check* -b:ale_rust_cargo_use_clippy ale-rust.txt /*b:ale_rust_cargo_use_clippy* -b:ale_rust_ignore_error_codes ale-rust.txt /*b:ale_rust_ignore_error_codes* -b:ale_rust_ignore_secondary_spans ale-rust.txt /*b:ale_rust_ignore_secondary_spans* -b:ale_rust_rls_config ale-rust.txt /*b:ale_rust_rls_config* -b:ale_rust_rls_executable ale-rust.txt /*b:ale_rust_rls_executable* -b:ale_rust_rls_toolchain ale-rust.txt /*b:ale_rust_rls_toolchain* -b:ale_rust_rustc_options ale-rust.txt /*b:ale_rust_rustc_options* -b:ale_rust_rustfmt_options ale-rust.txt /*b:ale_rust_rustfmt_options* -b:ale_sass_stylelint_executable ale-sass.txt /*b:ale_sass_stylelint_executable* -b:ale_sass_stylelint_use_global ale-sass.txt /*b:ale_sass_stylelint_use_global* -b:ale_scala_metals_executable ale-scala.txt /*b:ale_scala_metals_executable* -b:ale_scala_metals_project_root ale-scala.txt /*b:ale_scala_metals_project_root* -b:ale_scala_sbtserver_address ale-scala.txt /*b:ale_scala_sbtserver_address* -b:ale_scala_sbtserver_project_root ale-scala.txt /*b:ale_scala_sbtserver_project_root* -b:ale_scala_scalafmt_executable ale-scala.txt /*b:ale_scala_scalafmt_executable* -b:ale_scala_scalafmt_options ale-scala.txt /*b:ale_scala_scalafmt_options* -b:ale_scala_scalastyle_config ale-scala.txt /*b:ale_scala_scalastyle_config* -b:ale_scala_scalastyle_options ale-scala.txt /*b:ale_scala_scalastyle_options* -b:ale_scss_sasslint_executable ale-scss.txt /*b:ale_scss_sasslint_executable* -b:ale_scss_sasslint_options ale-scss.txt /*b:ale_scss_sasslint_options* -b:ale_scss_sasslint_use_global ale-scss.txt /*b:ale_scss_sasslint_use_global* -b:ale_scss_stylelint_executable ale-scss.txt /*b:ale_scss_stylelint_executable* -b:ale_scss_stylelint_options ale-scss.txt /*b:ale_scss_stylelint_options* -b:ale_scss_stylelint_use_global ale-scss.txt /*b:ale_scss_stylelint_use_global* -b:ale_set_balloons ale.txt /*b:ale_set_balloons* -b:ale_set_balloons_legacy_echo ale.txt /*b:ale_set_balloons_legacy_echo* -b:ale_sh_language_server_executable ale-sh.txt /*b:ale_sh_language_server_executable* -b:ale_sh_language_server_use_global ale-sh.txt /*b:ale_sh_language_server_use_global* -b:ale_sh_shell_default_shell ale-sh.txt /*b:ale_sh_shell_default_shell* -b:ale_sh_shellcheck_change_directory ale-sh.txt /*b:ale_sh_shellcheck_change_directory* -b:ale_sh_shellcheck_dialect ale-sh.txt /*b:ale_sh_shellcheck_dialect* -b:ale_sh_shellcheck_exclusions ale-sh.txt /*b:ale_sh_shellcheck_exclusions* -b:ale_sh_shellcheck_executable ale-sh.txt /*b:ale_sh_shellcheck_executable* -b:ale_sh_shellcheck_options ale-sh.txt /*b:ale_sh_shellcheck_options* -b:ale_sh_shfmt_options ale-sh.txt /*b:ale_sh_shfmt_options* -b:ale_sml_smlnj_cm_file ale-sml.txt /*b:ale_sml_smlnj_cm_file* -b:ale_solidity_solc_options ale-solidity.txt /*b:ale_solidity_solc_options* -b:ale_sourcekit_lsp_executable ale-swift.txt /*b:ale_sourcekit_lsp_executable* -b:ale_spec_rpmlint_executable ale-spec.txt /*b:ale_spec_rpmlint_executable* -b:ale_spec_rpmlint_options ale-spec.txt /*b:ale_spec_rpmlint_options* -b:ale_sql_pgformatter_executable ale-sql.txt /*b:ale_sql_pgformatter_executable* -b:ale_sql_pgformatter_options ale-sql.txt /*b:ale_sql_pgformatter_options* -b:ale_sql_sqlfmt_executable ale-sql.txt /*b:ale_sql_sqlfmt_executable* -b:ale_sql_sqlfmt_options ale-sql.txt /*b:ale_sql_sqlfmt_options* -b:ale_sql_sqlformat_executable ale-sql.txt /*b:ale_sql_sqlformat_executable* -b:ale_sql_sqlformat_options ale-sql.txt /*b:ale_sql_sqlformat_options* -b:ale_stylus_stylelint_executable ale-stylus.txt /*b:ale_stylus_stylelint_executable* -b:ale_stylus_stylelint_options ale-stylus.txt /*b:ale_stylus_stylelint_options* -b:ale_stylus_stylelint_use_global ale-stylus.txt /*b:ale_stylus_stylelint_use_global* -b:ale_sugarss_stylelint_executable ale-sugarss.txt /*b:ale_sugarss_stylelint_executable* -b:ale_sugarss_stylelint_options ale-sugarss.txt /*b:ale_sugarss_stylelint_options* -b:ale_sugarss_stylelint_use_global ale-sugarss.txt /*b:ale_sugarss_stylelint_use_global* -b:ale_tcl_nagelfar_executable ale-tcl.txt /*b:ale_tcl_nagelfar_executable* -b:ale_tcl_nagelfar_options ale-tcl.txt /*b:ale_tcl_nagelfar_options* -b:ale_terraform_fmt_executable ale-terraform.txt /*b:ale_terraform_fmt_executable* -b:ale_terraform_fmt_options ale-terraform.txt /*b:ale_terraform_fmt_options* -b:ale_terraform_langserver_executable ale-terraform.txt /*b:ale_terraform_langserver_executable* -b:ale_terraform_langserver_options ale-terraform.txt /*b:ale_terraform_langserver_options* -b:ale_terraform_terraform_executable ale-terraform.txt /*b:ale_terraform_terraform_executable* -b:ale_terraform_tflint_executable ale-terraform.txt /*b:ale_terraform_tflint_executable* -b:ale_terraform_tflint_options ale-terraform.txt /*b:ale_terraform_tflint_options* -b:ale_tex_chktex_executable ale-tex.txt /*b:ale_tex_chktex_executable* -b:ale_tex_chktex_options ale-tex.txt /*b:ale_tex_chktex_options* -b:ale_tex_latexindent_executable ale-tex.txt /*b:ale_tex_latexindent_executable* -b:ale_tex_latexindent_options ale-tex.txt /*b:ale_tex_latexindent_options* -b:ale_tex_texlab_executable ale-tex.txt /*b:ale_tex_texlab_executable* -b:ale_tex_texlab_options ale-tex.txt /*b:ale_tex_texlab_options* -b:ale_textlint_executable ale-text.txt /*b:ale_textlint_executable* -b:ale_textlint_options ale-text.txt /*b:ale_textlint_options* -b:ale_textlint_use_global ale-text.txt /*b:ale_textlint_use_global* -b:ale_thrift_thrift_executable ale-thrift.txt /*b:ale_thrift_thrift_executable* -b:ale_thrift_thrift_generators ale-thrift.txt /*b:ale_thrift_thrift_generators* -b:ale_thrift_thrift_includes ale-thrift.txt /*b:ale_thrift_thrift_includes* -b:ale_thrift_thrift_options ale-thrift.txt /*b:ale_thrift_thrift_options* -b:ale_type_map ale.txt /*b:ale_type_map* -b:ale_typescript_standard_executable ale-typescript.txt /*b:ale_typescript_standard_executable* -b:ale_typescript_standard_options ale-typescript.txt /*b:ale_typescript_standard_options* -b:ale_typescript_standard_use_global ale-typescript.txt /*b:ale_typescript_standard_use_global* -b:ale_typescript_tslint_config_path ale-typescript.txt /*b:ale_typescript_tslint_config_path* -b:ale_typescript_tslint_executable ale-typescript.txt /*b:ale_typescript_tslint_executable* -b:ale_typescript_tslint_ignore_empty_files ale-typescript.txt /*b:ale_typescript_tslint_ignore_empty_files* -b:ale_typescript_tslint_rules_dir ale-typescript.txt /*b:ale_typescript_tslint_rules_dir* -b:ale_typescript_tslint_use_global ale-typescript.txt /*b:ale_typescript_tslint_use_global* -b:ale_typescript_tsserver_config_path ale-typescript.txt /*b:ale_typescript_tsserver_config_path* -b:ale_typescript_tsserver_executable ale-typescript.txt /*b:ale_typescript_tsserver_executable* -b:ale_typescript_tsserver_use_global ale-typescript.txt /*b:ale_typescript_tsserver_use_global* -b:ale_update_tagstack ale.txt /*b:ale_update_tagstack* -b:ale_verilog_verilator_options ale-verilog.txt /*b:ale_verilog_verilator_options* -b:ale_verilog_vlog_executable ale-verilog.txt /*b:ale_verilog_vlog_executable* -b:ale_verilog_vlog_options ale-verilog.txt /*b:ale_verilog_vlog_options* -b:ale_verilog_xvlog_executable ale-verilog.txt /*b:ale_verilog_xvlog_executable* -b:ale_verilog_xvlog_options ale-verilog.txt /*b:ale_verilog_xvlog_options* -b:ale_vhdl_ghdl_executable ale-vhdl.txt /*b:ale_vhdl_ghdl_executable* -b:ale_vhdl_ghdl_options ale-vhdl.txt /*b:ale_vhdl_ghdl_options* -b:ale_vhdl_vcom_executable ale-vhdl.txt /*b:ale_vhdl_vcom_executable* -b:ale_vhdl_vcom_options ale-vhdl.txt /*b:ale_vhdl_vcom_options* -b:ale_vhdl_xvhdl_executable ale-vhdl.txt /*b:ale_vhdl_xvhdl_executable* -b:ale_vhdl_xvhdl_options ale-vhdl.txt /*b:ale_vhdl_xvhdl_options* -b:ale_vim_vimls_config ale-vim.txt /*b:ale_vim_vimls_config* -b:ale_vim_vimls_executable ale-vim.txt /*b:ale_vim_vimls_executable* -b:ale_vim_vimls_use_global ale-vim.txt /*b:ale_vim_vimls_use_global* -b:ale_vim_vint_executable ale-vim.txt /*b:ale_vim_vint_executable* -b:ale_vim_vint_show_style_issues ale-vim.txt /*b:ale_vim_vint_show_style_issues* -b:ale_virtualenv_dir_names ale.txt /*b:ale_virtualenv_dir_names* -b:ale_virtualtext_delay ale.txt /*b:ale_virtualtext_delay* -b:ale_vue_vls_executable ale-vue.txt /*b:ale_vue_vls_executable* -b:ale_vue_vls_use_global ale-vue.txt /*b:ale_vue_vls_use_global* -b:ale_warn_about_trailing_blank_lines ale.txt /*b:ale_warn_about_trailing_blank_lines* -b:ale_warn_about_trailing_whitespace ale.txt /*b:ale_warn_about_trailing_whitespace* -b:ale_windows_node_executable_path ale.txt /*b:ale_windows_node_executable_path* -b:ale_writegood_executable ale.txt /*b:ale_writegood_executable* -b:ale_writegood_options ale.txt /*b:ale_writegood_options* -b:ale_writegood_use_global ale.txt /*b:ale_writegood_use_global* -b:ale_xml_xmllint_executable ale-xml.txt /*b:ale_xml_xmllint_executable* -b:ale_xml_xmllint_indentsize ale-xml.txt /*b:ale_xml_xmllint_indentsize* -b:ale_xml_xmllint_options ale-xml.txt /*b:ale_xml_xmllint_options* -b:ale_yaml_swaglint_executable ale-yaml.txt /*b:ale_yaml_swaglint_executable* -b:ale_yaml_swaglint_use_global ale-yaml.txt /*b:ale_yaml_swaglint_use_global* -b:ale_yaml_yamllint_executable ale-yaml.txt /*b:ale_yaml_yamllint_executable* -b:ale_yaml_yamllint_options ale-yaml.txt /*b:ale_yaml_yamllint_options* -b:ale_yang_lsp_executable ale-yang.txt /*b:ale_yang_lsp_executable* -g:airline#extensions#ale#enabled ale.txt /*g:airline#extensions#ale#enabled* -g:ale-c-flawfinder ale-c.txt /*g:ale-c-flawfinder* -g:ale-cpp-flawfinder ale-cpp.txt /*g:ale-cpp-flawfinder* -g:ale_ada_gcc_executable ale-ada.txt /*g:ale_ada_gcc_executable* -g:ale_ada_gcc_options ale-ada.txt /*g:ale_ada_gcc_options* -g:ale_ada_gnatpp_options ale-ada.txt /*g:ale_ada_gnatpp_options* -g:ale_alex_executable ale.txt /*g:ale_alex_executable* -g:ale_alex_use_global ale.txt /*g:ale_alex_use_global* -g:ale_ansible_ansible_lint_executable ale-ansible.txt /*g:ale_ansible_ansible_lint_executable* -g:ale_asm_gcc_executable ale-asm.txt /*g:ale_asm_gcc_executable* -g:ale_asm_gcc_options ale-asm.txt /*g:ale_asm_gcc_options* -g:ale_awk_gawk_executable ale-awk.txt /*g:ale_awk_gawk_executable* -g:ale_awk_gawk_options ale-awk.txt /*g:ale_awk_gawk_options* -g:ale_bib_bibclean_executable ale-bib.txt /*g:ale_bib_bibclean_executable* -g:ale_bib_bibclean_options ale-bib.txt /*g:ale_bib_bibclean_options* -g:ale_c_build_dir ale-c.txt /*g:ale_c_build_dir* -g:ale_c_build_dir_names ale-c.txt /*g:ale_c_build_dir_names* -g:ale_c_ccls_executable ale-c.txt /*g:ale_c_ccls_executable* -g:ale_c_ccls_init_options ale-c.txt /*g:ale_c_ccls_init_options* -g:ale_c_clang_executable ale-c.txt /*g:ale_c_clang_executable* -g:ale_c_clang_options ale-c.txt /*g:ale_c_clang_options* -g:ale_c_clangd_executable ale-c.txt /*g:ale_c_clangd_executable* -g:ale_c_clangd_options ale-c.txt /*g:ale_c_clangd_options* -g:ale_c_clangformat_executable ale-c.txt /*g:ale_c_clangformat_executable* -g:ale_c_clangformat_options ale-c.txt /*g:ale_c_clangformat_options* -g:ale_c_clangtidy_checks ale-c.txt /*g:ale_c_clangtidy_checks* -g:ale_c_clangtidy_executable ale-c.txt /*g:ale_c_clangtidy_executable* -g:ale_c_clangtidy_extra_options ale-c.txt /*g:ale_c_clangtidy_extra_options* -g:ale_c_clangtidy_fix_errors ale-c.txt /*g:ale_c_clangtidy_fix_errors* -g:ale_c_clangtidy_options ale-c.txt /*g:ale_c_clangtidy_options* -g:ale_c_cppcheck_executable ale-c.txt /*g:ale_c_cppcheck_executable* -g:ale_c_cppcheck_options ale-c.txt /*g:ale_c_cppcheck_options* -g:ale_c_cquery_cache_directory ale-c.txt /*g:ale_c_cquery_cache_directory* -g:ale_c_cquery_executable ale-c.txt /*g:ale_c_cquery_executable* -g:ale_c_flawfinder_error_severity ale-c.txt /*g:ale_c_flawfinder_error_severity* -g:ale_c_flawfinder_executable ale-c.txt /*g:ale_c_flawfinder_executable* -g:ale_c_flawfinder_minlevel ale-c.txt /*g:ale_c_flawfinder_minlevel* -g:ale_c_gcc_executable ale-c.txt /*g:ale_c_gcc_executable* -g:ale_c_gcc_options ale-c.txt /*g:ale_c_gcc_options* -g:ale_c_parse_compile_commands ale-c.txt /*g:ale_c_parse_compile_commands* -g:ale_c_parse_makefile ale-c.txt /*g:ale_c_parse_makefile* -g:ale_c_uncrustify_executable ale-c.txt /*g:ale_c_uncrustify_executable* -g:ale_c_uncrustify_options ale-c.txt /*g:ale_c_uncrustify_options* -g:ale_cache_executable_check_failures ale.txt /*g:ale_cache_executable_check_failures* -g:ale_change_sign_column_color ale.txt /*g:ale_change_sign_column_color* -g:ale_chef_cookstyle_executable ale-chef.txt /*g:ale_chef_cookstyle_executable* -g:ale_chef_cookstyle_options ale-chef.txt /*g:ale_chef_cookstyle_options* -g:ale_chef_foodcritic_executable ale-chef.txt /*g:ale_chef_foodcritic_executable* -g:ale_chef_foodcritic_options ale-chef.txt /*g:ale_chef_foodcritic_options* -g:ale_close_preview_on_insert ale.txt /*g:ale_close_preview_on_insert* -g:ale_cmake_cmakeformat_executable ale-cmake.txt /*g:ale_cmake_cmakeformat_executable* -g:ale_cmake_cmakeformat_options ale-cmake.txt /*g:ale_cmake_cmakeformat_options* -g:ale_cmake_cmakelint_executable ale-cmake.txt /*g:ale_cmake_cmakelint_executable* -g:ale_cmake_cmakelint_options ale-cmake.txt /*g:ale_cmake_cmakelint_options* -g:ale_command_wrapper ale.txt /*g:ale_command_wrapper* -g:ale_completion_delay ale.txt /*g:ale_completion_delay* -g:ale_completion_enabled ale.txt /*g:ale_completion_enabled* -g:ale_completion_excluded_words ale.txt /*g:ale_completion_excluded_words* -g:ale_completion_max_suggestions ale.txt /*g:ale_completion_max_suggestions* -g:ale_completion_symbols ale.txt /*g:ale_completion_symbols* -g:ale_completion_tsserver_autoimport ale.txt /*g:ale_completion_tsserver_autoimport* -g:ale_cpp_ccls_executable ale-cpp.txt /*g:ale_cpp_ccls_executable* -g:ale_cpp_ccls_init_options ale-cpp.txt /*g:ale_cpp_ccls_init_options* -g:ale_cpp_clang_executable ale-cpp.txt /*g:ale_cpp_clang_executable* -g:ale_cpp_clang_options ale-cpp.txt /*g:ale_cpp_clang_options* -g:ale_cpp_clangcheck_executable ale-cpp.txt /*g:ale_cpp_clangcheck_executable* -g:ale_cpp_clangcheck_options ale-cpp.txt /*g:ale_cpp_clangcheck_options* -g:ale_cpp_clangd_executable ale-cpp.txt /*g:ale_cpp_clangd_executable* -g:ale_cpp_clangd_options ale-cpp.txt /*g:ale_cpp_clangd_options* -g:ale_cpp_clangtidy_checks ale-cpp.txt /*g:ale_cpp_clangtidy_checks* -g:ale_cpp_clangtidy_executable ale-cpp.txt /*g:ale_cpp_clangtidy_executable* -g:ale_cpp_clangtidy_extra_options ale-cpp.txt /*g:ale_cpp_clangtidy_extra_options* -g:ale_cpp_clangtidy_fix_errors ale-cpp.txt /*g:ale_cpp_clangtidy_fix_errors* -g:ale_cpp_clangtidy_options ale-cpp.txt /*g:ale_cpp_clangtidy_options* -g:ale_cpp_clazy_checks ale-cpp.txt /*g:ale_cpp_clazy_checks* -g:ale_cpp_clazy_executable ale-cpp.txt /*g:ale_cpp_clazy_executable* -g:ale_cpp_clazy_options ale-cpp.txt /*g:ale_cpp_clazy_options* -g:ale_cpp_cppcheck_executable ale-cpp.txt /*g:ale_cpp_cppcheck_executable* -g:ale_cpp_cppcheck_options ale-cpp.txt /*g:ale_cpp_cppcheck_options* -g:ale_cpp_cpplint_executable ale-cpp.txt /*g:ale_cpp_cpplint_executable* -g:ale_cpp_cpplint_options ale-cpp.txt /*g:ale_cpp_cpplint_options* -g:ale_cpp_cquery_cache_directory ale-cpp.txt /*g:ale_cpp_cquery_cache_directory* -g:ale_cpp_cquery_executable ale-cpp.txt /*g:ale_cpp_cquery_executable* -g:ale_cpp_flawfinder_executable ale-cpp.txt /*g:ale_cpp_flawfinder_executable* -g:ale_cpp_flawfinder_minlevel ale-cpp.txt /*g:ale_cpp_flawfinder_minlevel* -g:ale_cpp_gcc_executable ale-cpp.txt /*g:ale_cpp_gcc_executable* -g:ale_cpp_gcc_options ale-cpp.txt /*g:ale_cpp_gcc_options* -g:ale_cs_csc_assemblies ale-cs.txt /*g:ale_cs_csc_assemblies* -g:ale_cs_csc_assembly_path ale-cs.txt /*g:ale_cs_csc_assembly_path* -g:ale_cs_csc_options ale-cs.txt /*g:ale_cs_csc_options* -g:ale_cs_csc_source ale-cs.txt /*g:ale_cs_csc_source* -g:ale_cs_mcs_options ale-cs.txt /*g:ale_cs_mcs_options* -g:ale_cs_mcsc_assemblies ale-cs.txt /*g:ale_cs_mcsc_assemblies* -g:ale_cs_mcsc_assembly_path ale-cs.txt /*g:ale_cs_mcsc_assembly_path* -g:ale_cs_mcsc_options ale-cs.txt /*g:ale_cs_mcsc_options* -g:ale_cs_mcsc_source ale-cs.txt /*g:ale_cs_mcsc_source* -g:ale_css_stylelint_executable ale-css.txt /*g:ale_css_stylelint_executable* -g:ale_css_stylelint_options ale-css.txt /*g:ale_css_stylelint_options* -g:ale_css_stylelint_use_global ale-css.txt /*g:ale_css_stylelint_use_global* -g:ale_cuda_nvcc_executable ale-cuda.txt /*g:ale_cuda_nvcc_executable* -g:ale_cuda_nvcc_options ale-cuda.txt /*g:ale_cuda_nvcc_options* -g:ale_cursor_detail ale.txt /*g:ale_cursor_detail* -g:ale_d_dfmt_options ale-d.txt /*g:ale_d_dfmt_options* -g:ale_d_dls_executable ale-d.txt /*g:ale_d_dls_executable* -g:ale_dart_dartanalyzer_executable ale-dart.txt /*g:ale_dart_dartanalyzer_executable* -g:ale_dart_dartfmt_executable ale-dart.txt /*g:ale_dart_dartfmt_executable* -g:ale_dart_dartfmt_options ale-dart.txt /*g:ale_dart_dartfmt_options* -g:ale_default_navigation ale.txt /*g:ale_default_navigation* -g:ale_disable_lsp ale.txt /*g:ale_disable_lsp* -g:ale_dockerfile_dockerfile_lint_executable ale-dockerfile.txt /*g:ale_dockerfile_dockerfile_lint_executable* -g:ale_dockerfile_dockerfile_lint_options ale-dockerfile.txt /*g:ale_dockerfile_dockerfile_lint_options* -g:ale_dockerfile_hadolint_image ale-dockerfile.txt /*g:ale_dockerfile_hadolint_image* -g:ale_dockerfile_hadolint_use_docker ale-dockerfile.txt /*g:ale_dockerfile_hadolint_use_docker* -g:ale_echo_cursor ale.txt /*g:ale_echo_cursor* -g:ale_echo_delay ale.txt /*g:ale_echo_delay* -g:ale_echo_msg_error_str ale.txt /*g:ale_echo_msg_error_str* -g:ale_echo_msg_format ale.txt /*g:ale_echo_msg_format* -g:ale_echo_msg_info_str ale.txt /*g:ale_echo_msg_info_str* -g:ale_echo_msg_log_str ale.txt /*g:ale_echo_msg_log_str* -g:ale_echo_msg_warning_str ale.txt /*g:ale_echo_msg_warning_str* -g:ale_elixir_credo_strict ale-elixir.txt /*g:ale_elixir_credo_strict* -g:ale_elixir_elixir_ls_config ale-elixir.txt /*g:ale_elixir_elixir_ls_config* -g:ale_elixir_elixir_ls_release ale-elixir.txt /*g:ale_elixir_elixir_ls_release* -g:ale_elixir_mix_format_options ale-elixir.txt /*g:ale_elixir_mix_format_options* -g:ale_elixir_mix_options ale-elixir.txt /*g:ale_elixir_mix_options* -g:ale_elm_format_executable ale-elm.txt /*g:ale_elm_format_executable* -g:ale_elm_format_options ale-elm.txt /*g:ale_elm_format_options* -g:ale_elm_format_use_global ale-elm.txt /*g:ale_elm_format_use_global* -g:ale_elm_ls_elm_analyse_trigger ale-elm.txt /*g:ale_elm_ls_elm_analyse_trigger* -g:ale_elm_ls_elm_format_path ale-elm.txt /*g:ale_elm_ls_elm_format_path* -g:ale_elm_ls_elm_path ale-elm.txt /*g:ale_elm_ls_elm_path* -g:ale_elm_ls_elm_test_path ale-elm.txt /*g:ale_elm_ls_elm_test_path* -g:ale_elm_ls_executable ale-elm.txt /*g:ale_elm_ls_executable* -g:ale_elm_ls_use_global ale-elm.txt /*g:ale_elm_ls_use_global* -g:ale_elm_make_executable ale-elm.txt /*g:ale_elm_make_executable* -g:ale_elm_make_use_global ale-elm.txt /*g:ale_elm_make_use_global* -g:ale_enabled ale.txt /*g:ale_enabled* -g:ale_erlang_dialyzer_executable ale-erlang.txt /*g:ale_erlang_dialyzer_executable* -g:ale_erlang_dialyzer_plt_file ale-erlang.txt /*g:ale_erlang_dialyzer_plt_file* -g:ale_erlang_dialyzer_rebar3_profile ale-erlang.txt /*g:ale_erlang_dialyzer_rebar3_profile* -g:ale_erlang_erlc_options ale-erlang.txt /*g:ale_erlang_erlc_options* -g:ale_erlang_syntaxerl_executable ale-erlang.txt /*g:ale_erlang_syntaxerl_executable* -g:ale_eruby_ruumba_executable ale-eruby.txt /*g:ale_eruby_ruumba_executable* -g:ale_exclude_highlights ale.txt /*g:ale_exclude_highlights* -g:ale_fix_on_save ale.txt /*g:ale_fix_on_save* -g:ale_fix_on_save_ignore ale.txt /*g:ale_fix_on_save_ignore* -g:ale_fixers ale.txt /*g:ale_fixers* -g:ale_fortran_gcc_executable ale-fortran.txt /*g:ale_fortran_gcc_executable* -g:ale_fortran_gcc_options ale-fortran.txt /*g:ale_fortran_gcc_options* -g:ale_fortran_gcc_use_free_form ale-fortran.txt /*g:ale_fortran_gcc_use_free_form* -g:ale_fortran_language_server_executable ale-fortran.txt /*g:ale_fortran_language_server_executable* -g:ale_fortran_language_server_use_global ale-fortran.txt /*g:ale_fortran_language_server_use_global* -g:ale_fuse_fusionlint_executable ale-fuse.txt /*g:ale_fuse_fusionlint_executable* -g:ale_fuse_fusionlint_options ale-fuse.txt /*g:ale_fuse_fusionlint_options* -g:ale_gitcommit_gitlint_executable ale-gitcommit.txt /*g:ale_gitcommit_gitlint_executable* -g:ale_gitcommit_gitlint_options ale-gitcommit.txt /*g:ale_gitcommit_gitlint_options* -g:ale_gitcommit_gitlint_use_global ale-gitcommit.txt /*g:ale_gitcommit_gitlint_use_global* -g:ale_glsl_glslang_executable ale-glsl.txt /*g:ale_glsl_glslang_executable* -g:ale_glsl_glslang_options ale-glsl.txt /*g:ale_glsl_glslang_options* -g:ale_glsl_glslls_executable ale-glsl.txt /*g:ale_glsl_glslls_executable* -g:ale_glsl_glslls_logfile ale-glsl.txt /*g:ale_glsl_glslls_logfile* -g:ale_go_bingo_executable ale-go.txt /*g:ale_go_bingo_executable* -g:ale_go_bingo_options ale-go.txt /*g:ale_go_bingo_options* -g:ale_go_go111module ale-go.txt /*g:ale_go_go111module* -g:ale_go_go_options ale-go.txt /*g:ale_go_go_options* -g:ale_go_gobuild_options ale-go.txt /*g:ale_go_gobuild_options* -g:ale_go_gofmt_options ale-go.txt /*g:ale_go_gofmt_options* -g:ale_go_golangci_lint_executable ale-go.txt /*g:ale_go_golangci_lint_executable* -g:ale_go_golangci_lint_options ale-go.txt /*g:ale_go_golangci_lint_options* -g:ale_go_golangci_lint_package ale-go.txt /*g:ale_go_golangci_lint_package* -g:ale_go_golint_executable ale-go.txt /*g:ale_go_golint_executable* -g:ale_go_golint_options ale-go.txt /*g:ale_go_golint_options* -g:ale_go_gometalinter_executable ale-go.txt /*g:ale_go_gometalinter_executable* -g:ale_go_gometalinter_lint_package ale-go.txt /*g:ale_go_gometalinter_lint_package* -g:ale_go_gometalinter_options ale-go.txt /*g:ale_go_gometalinter_options* -g:ale_go_gopls_executable ale-go.txt /*g:ale_go_gopls_executable* -g:ale_go_gopls_options ale-go.txt /*g:ale_go_gopls_options* -g:ale_go_govet_options ale-go.txt /*g:ale_go_govet_options* -g:ale_go_langserver_executable ale-go.txt /*g:ale_go_langserver_executable* -g:ale_go_langserver_options ale-go.txt /*g:ale_go_langserver_options* -g:ale_go_revive_executable ale-go.txt /*g:ale_go_revive_executable* -g:ale_go_revive_options ale-go.txt /*g:ale_go_revive_options* -g:ale_go_staticcheck_lint_package ale-go.txt /*g:ale_go_staticcheck_lint_package* -g:ale_go_staticcheck_options ale-go.txt /*g:ale_go_staticcheck_options* -g:ale_hack_hack_executable ale-hack.txt /*g:ale_hack_hack_executable* -g:ale_hack_hackfmt_options ale-hack.txt /*g:ale_hack_hackfmt_options* -g:ale_hack_hhast_executable ale-hack.txt /*g:ale_hack_hhast_executable* -g:ale_handlebars_embertemplatelint_executable ale-handlebars.txt /*g:ale_handlebars_embertemplatelint_executable* -g:ale_handlebars_embertemplatelint_use_global ale-handlebars.txt /*g:ale_handlebars_embertemplatelint_use_global* -g:ale_haskell_brittany_executable ale-haskell.txt /*g:ale_haskell_brittany_executable* -g:ale_haskell_cabal_ghc_options ale-haskell.txt /*g:ale_haskell_cabal_ghc_options* -g:ale_haskell_floskell_executable ale-haskell.txt /*g:ale_haskell_floskell_executable* -g:ale_haskell_ghc_mod_executable ale-haskell.txt /*g:ale_haskell_ghc_mod_executable* -g:ale_haskell_ghc_options ale-haskell.txt /*g:ale_haskell_ghc_options* -g:ale_haskell_hdevtools_executable ale-haskell.txt /*g:ale_haskell_hdevtools_executable* -g:ale_haskell_hdevtools_options ale-haskell.txt /*g:ale_haskell_hdevtools_options* -g:ale_haskell_hfmt_executable ale-haskell.txt /*g:ale_haskell_hfmt_executable* -g:ale_haskell_hie_executable ale-haskell.txt /*g:ale_haskell_hie_executable* -g:ale_haskell_hindent_executable ale-haskell.txt /*g:ale_haskell_hindent_executable* -g:ale_haskell_hlint_executable ale-haskell.txt /*g:ale_haskell_hlint_executable* -g:ale_haskell_stack_build_options ale-haskell.txt /*g:ale_haskell_stack_build_options* -g:ale_haskell_stack_ghc_options ale-haskell.txt /*g:ale_haskell_stack_ghc_options* -g:ale_haskell_stylish_haskell_executable ale-haskell.txt /*g:ale_haskell_stylish_haskell_executable* -g:ale_history_enabled ale.txt /*g:ale_history_enabled* -g:ale_history_log_output ale.txt /*g:ale_history_log_output* -g:ale_hover_to_preview ale.txt /*g:ale_hover_to_preview* -g:ale_html_beautify_options ale-html.txt /*g:ale_html_beautify_options* -g:ale_html_htmlhint_executable ale-html.txt /*g:ale_html_htmlhint_executable* -g:ale_html_htmlhint_options ale-html.txt /*g:ale_html_htmlhint_options* -g:ale_html_htmlhint_use_global ale-html.txt /*g:ale_html_htmlhint_use_global* -g:ale_html_stylelint_executable ale-html.txt /*g:ale_html_stylelint_executable* -g:ale_html_stylelint_options ale-html.txt /*g:ale_html_stylelint_options* -g:ale_html_stylelint_use_global ale-html.txt /*g:ale_html_stylelint_use_global* -g:ale_html_tidy_executable ale-html.txt /*g:ale_html_tidy_executable* -g:ale_html_tidy_options ale-html.txt /*g:ale_html_tidy_options* -g:ale_idris_idris_executable ale-idris.txt /*g:ale_idris_idris_executable* -g:ale_idris_idris_options ale-idris.txt /*g:ale_idris_idris_options* -g:ale_ispc_ispc_executable ale-ispc.txt /*g:ale_ispc_ispc_executable* -g:ale_ispc_ispc_options ale-ispc.txt /*g:ale_ispc_ispc_options* -g:ale_java_checkstyle_config ale-java.txt /*g:ale_java_checkstyle_config* -g:ale_java_checkstyle_executable ale-java.txt /*g:ale_java_checkstyle_executable* -g:ale_java_checkstyle_options ale-java.txt /*g:ale_java_checkstyle_options* -g:ale_java_eclipse_config_path ale-java.txt /*g:ale_java_eclipse_config_path* -g:ale_java_eclipse_executable ale-java.txt /*g:ale_java_eclipse_executable* -g:ale_java_eclipselsp_javaagent ale-java.txt /*g:ale_java_eclipselsp_javaagent* -g:ale_java_eclipselsp_path ale-java.txt /*g:ale_java_eclipselsp_path* -g:ale_java_eclipselsp_workspace_path ale-java.txt /*g:ale_java_eclipselsp_workspace_path* -g:ale_java_google_java_format_executable ale-java.txt /*g:ale_java_google_java_format_executable* -g:ale_java_google_java_format_options ale-java.txt /*g:ale_java_google_java_format_options* -g:ale_java_javac_classpath ale-java.txt /*g:ale_java_javac_classpath* -g:ale_java_javac_executable ale-java.txt /*g:ale_java_javac_executable* -g:ale_java_javac_options ale-java.txt /*g:ale_java_javac_options* -g:ale_java_javac_sourcepath ale-java.txt /*g:ale_java_javac_sourcepath* -g:ale_java_javalsp_config ale-java.txt /*g:ale_java_javalsp_config* -g:ale_java_javalsp_executable ale-java.txt /*g:ale_java_javalsp_executable* -g:ale_java_pmd_options ale-java.txt /*g:ale_java_pmd_options* -g:ale_javascript_eslint_executable ale-javascript.txt /*g:ale_javascript_eslint_executable* -g:ale_javascript_eslint_options ale-javascript.txt /*g:ale_javascript_eslint_options* -g:ale_javascript_eslint_suppress_eslintignore ale-javascript.txt /*g:ale_javascript_eslint_suppress_eslintignore* -g:ale_javascript_eslint_suppress_missing_config ale-javascript.txt /*g:ale_javascript_eslint_suppress_missing_config* -g:ale_javascript_eslint_use_global ale-javascript.txt /*g:ale_javascript_eslint_use_global* -g:ale_javascript_fecs_executable ale-javascript.txt /*g:ale_javascript_fecs_executable* -g:ale_javascript_fecs_use_global ale-javascript.txt /*g:ale_javascript_fecs_use_global* -g:ale_javascript_flow_executable ale-javascript.txt /*g:ale_javascript_flow_executable* -g:ale_javascript_flow_use_global ale-javascript.txt /*g:ale_javascript_flow_use_global* -g:ale_javascript_flow_use_home_config ale-javascript.txt /*g:ale_javascript_flow_use_home_config* -g:ale_javascript_flow_use_respect_pragma ale-javascript.txt /*g:ale_javascript_flow_use_respect_pragma* -g:ale_javascript_importjs_executable ale-javascript.txt /*g:ale_javascript_importjs_executable* -g:ale_javascript_jscs_executable ale-javascript.txt /*g:ale_javascript_jscs_executable* -g:ale_javascript_jscs_use_global ale-javascript.txt /*g:ale_javascript_jscs_use_global* -g:ale_javascript_jshint_executable ale-javascript.txt /*g:ale_javascript_jshint_executable* -g:ale_javascript_jshint_use_global ale-javascript.txt /*g:ale_javascript_jshint_use_global* -g:ale_javascript_prettier_eslint_executable ale-javascript.txt /*g:ale_javascript_prettier_eslint_executable* -g:ale_javascript_prettier_eslint_options ale-javascript.txt /*g:ale_javascript_prettier_eslint_options* -g:ale_javascript_prettier_eslint_use_global ale-javascript.txt /*g:ale_javascript_prettier_eslint_use_global* -g:ale_javascript_prettier_executable ale-javascript.txt /*g:ale_javascript_prettier_executable* -g:ale_javascript_prettier_options ale-javascript.txt /*g:ale_javascript_prettier_options* -g:ale_javascript_prettier_standard_executable ale-javascript.txt /*g:ale_javascript_prettier_standard_executable* -g:ale_javascript_prettier_standard_options ale-javascript.txt /*g:ale_javascript_prettier_standard_options* -g:ale_javascript_prettier_standard_use_global ale-javascript.txt /*g:ale_javascript_prettier_standard_use_global* -g:ale_javascript_prettier_use_global ale-javascript.txt /*g:ale_javascript_prettier_use_global* -g:ale_javascript_standard_executable ale-javascript.txt /*g:ale_javascript_standard_executable* -g:ale_javascript_standard_options ale-javascript.txt /*g:ale_javascript_standard_options* -g:ale_javascript_standard_use_global ale-javascript.txt /*g:ale_javascript_standard_use_global* -g:ale_javascript_xo_executable ale-javascript.txt /*g:ale_javascript_xo_executable* -g:ale_javascript_xo_options ale-javascript.txt /*g:ale_javascript_xo_options* -g:ale_javascript_xo_use_global ale-javascript.txt /*g:ale_javascript_xo_use_global* -g:ale_json_fixjson_executable ale-json.txt /*g:ale_json_fixjson_executable* -g:ale_json_fixjson_options ale-json.txt /*g:ale_json_fixjson_options* -g:ale_json_fixjson_use_global ale-json.txt /*g:ale_json_fixjson_use_global* -g:ale_json_jq_executable ale-json.txt /*g:ale_json_jq_executable* -g:ale_json_jq_filters ale-json.txt /*g:ale_json_jq_filters* -g:ale_json_jq_options ale-json.txt /*g:ale_json_jq_options* -g:ale_json_jsonlint_executable ale-json.txt /*g:ale_json_jsonlint_executable* -g:ale_json_jsonlint_use_global ale-json.txt /*g:ale_json_jsonlint_use_global* -g:ale_julia_executable ale-julia.txt /*g:ale_julia_executable* -g:ale_keep_list_window_open ale.txt /*g:ale_keep_list_window_open* -g:ale_kotlin_kotlinc_classpath ale-kotlin.txt /*g:ale_kotlin_kotlinc_classpath* -g:ale_kotlin_kotlinc_config_file ale-kotlin.txt /*g:ale_kotlin_kotlinc_config_file* -g:ale_kotlin_kotlinc_enable_config ale-kotlin.txt /*g:ale_kotlin_kotlinc_enable_config* -g:ale_kotlin_kotlinc_module_filename ale-kotlin.txt /*g:ale_kotlin_kotlinc_module_filename* -g:ale_kotlin_kotlinc_options ale-kotlin.txt /*g:ale_kotlin_kotlinc_options* -g:ale_kotlin_kotlinc_sourcepath ale-kotlin.txt /*g:ale_kotlin_kotlinc_sourcepath* -g:ale_kotlin_kotlinc_use_module_file ale-kotlin.txt /*g:ale_kotlin_kotlinc_use_module_file* -g:ale_kotlin_ktlint_executable ale-kotlin.txt /*g:ale_kotlin_ktlint_executable* -g:ale_kotlin_ktlint_options ale-kotlin.txt /*g:ale_kotlin_ktlint_options* -g:ale_kotlin_ktlint_rulesets ale-kotlin.txt /*g:ale_kotlin_ktlint_rulesets* -g:ale_kotlin_languageserver_executable ale-kotlin.txt /*g:ale_kotlin_languageserver_executable* -g:ale_lacheck_executable ale-tex.txt /*g:ale_lacheck_executable* -g:ale_languagetool_executable ale.txt /*g:ale_languagetool_executable* -g:ale_languagetool_options ale.txt /*g:ale_languagetool_options* -g:ale_less_lessc_executable ale-less.txt /*g:ale_less_lessc_executable* -g:ale_less_lessc_options ale-less.txt /*g:ale_less_lessc_options* -g:ale_less_lessc_use_global ale-less.txt /*g:ale_less_lessc_use_global* -g:ale_less_stylelint_executable ale-less.txt /*g:ale_less_stylelint_executable* -g:ale_less_stylelint_options ale-less.txt /*g:ale_less_stylelint_options* -g:ale_less_stylelint_use_global ale-less.txt /*g:ale_less_stylelint_use_global* -g:ale_lint_delay ale.txt /*g:ale_lint_delay* -g:ale_lint_on_enter ale.txt /*g:ale_lint_on_enter* -g:ale_lint_on_filetype_changed ale.txt /*g:ale_lint_on_filetype_changed* -g:ale_lint_on_insert_leave ale.txt /*g:ale_lint_on_insert_leave* -g:ale_lint_on_save ale.txt /*g:ale_lint_on_save* -g:ale_lint_on_text_changed ale.txt /*g:ale_lint_on_text_changed* -g:ale_linter_aliases ale.txt /*g:ale_linter_aliases* -g:ale_linters ale.txt /*g:ale_linters* -g:ale_linters_explicit ale.txt /*g:ale_linters_explicit* -g:ale_linters_ignore ale.txt /*g:ale_linters_ignore* -g:ale_list_vertical ale.txt /*g:ale_list_vertical* -g:ale_list_window_size ale.txt /*g:ale_list_window_size* -g:ale_llvm_llc_executable ale-llvm.txt /*g:ale_llvm_llc_executable* -g:ale_loclist_msg_format ale.txt /*g:ale_loclist_msg_format* -g:ale_lsp_root ale.txt /*g:ale_lsp_root* -g:ale_lsp_show_message_format ale.txt /*g:ale_lsp_show_message_format* -g:ale_lsp_show_message_severity ale.txt /*g:ale_lsp_show_message_severity* -g:ale_lua_luac_executable ale-lua.txt /*g:ale_lua_luac_executable* -g:ale_lua_luacheck_executable ale-lua.txt /*g:ale_lua_luacheck_executable* -g:ale_lua_luacheck_options ale-lua.txt /*g:ale_lua_luacheck_options* -g:ale_markdown_mdl_executable ale-markdown.txt /*g:ale_markdown_mdl_executable* -g:ale_markdown_mdl_options ale-markdown.txt /*g:ale_markdown_mdl_options* -g:ale_markdown_remark_lint_executable ale-markdown.txt /*g:ale_markdown_remark_lint_executable* -g:ale_markdown_remark_lint_options ale-markdown.txt /*g:ale_markdown_remark_lint_options* -g:ale_markdown_remark_lint_use_global ale-markdown.txt /*g:ale_markdown_remark_lint_use_global* -g:ale_max_buffer_history_size ale.txt /*g:ale_max_buffer_history_size* -g:ale_max_signs ale.txt /*g:ale_max_signs* -g:ale_maximum_file_size ale.txt /*g:ale_maximum_file_size* -g:ale_mercury_mmc_executable ale-mercury.txt /*g:ale_mercury_mmc_executable* -g:ale_mercury_mmc_options ale-mercury.txt /*g:ale_mercury_mmc_options* -g:ale_nasm_nasm_executable ale-nasm.txt /*g:ale_nasm_nasm_executable* -g:ale_nasm_nasm_options ale-nasm.txt /*g:ale_nasm_nasm_options* -g:ale_nim_nimpretty_executable ale-nim.txt /*g:ale_nim_nimpretty_executable* -g:ale_nim_nimpretty_options ale-nim.txt /*g:ale_nim_nimpretty_options* -g:ale_nix_nixpkgsfmt_executable ale-nix.txt /*g:ale_nix_nixpkgsfmt_executable* -g:ale_nix_nixpkgsfmt_options ale-nix.txt /*g:ale_nix_nixpkgsfmt_options* -g:ale_objc_ccls_executable ale-objc.txt /*g:ale_objc_ccls_executable* -g:ale_objc_ccls_init_options ale-objc.txt /*g:ale_objc_ccls_init_options* -g:ale_objc_clang_options ale-objc.txt /*g:ale_objc_clang_options* -g:ale_objc_clangd_executable ale-objc.txt /*g:ale_objc_clangd_executable* -g:ale_objc_clangd_options ale-objc.txt /*g:ale_objc_clangd_options* -g:ale_objcpp_clang_options ale-objcpp.txt /*g:ale_objcpp_clang_options* -g:ale_objcpp_clangd_executable ale-objcpp.txt /*g:ale_objcpp_clangd_executable* -g:ale_objcpp_clangd_options ale-objcpp.txt /*g:ale_objcpp_clangd_options* -g:ale_ocaml_ocamlformat_executable ale-ocaml.txt /*g:ale_ocaml_ocamlformat_executable* -g:ale_ocaml_ocamlformat_options ale-ocaml.txt /*g:ale_ocaml_ocamlformat_options* -g:ale_ocaml_ocp_indent_config ale-ocaml.txt /*g:ale_ocaml_ocp_indent_config* -g:ale_ocaml_ocp_indent_executable ale-ocaml.txt /*g:ale_ocaml_ocp_indent_executable* -g:ale_ocaml_ocp_indent_options ale-ocaml.txt /*g:ale_ocaml_ocp_indent_options* -g:ale_ocaml_ols_executable ale-ocaml.txt /*g:ale_ocaml_ols_executable* -g:ale_ocaml_ols_use_global ale-ocaml.txt /*g:ale_ocaml_ols_use_global* -g:ale_open_list ale.txt /*g:ale_open_list* -g:ale_pattern_options ale.txt /*g:ale_pattern_options* -g:ale_pattern_options_enabled ale.txt /*g:ale_pattern_options_enabled* -g:ale_perl6_perl6_executable ale-perl6.txt /*g:ale_perl6_perl6_executable* -g:ale_perl6_perl6_options ale-perl6.txt /*g:ale_perl6_perl6_options* -g:ale_perl_perl_executable ale-perl.txt /*g:ale_perl_perl_executable* -g:ale_perl_perl_options ale-perl.txt /*g:ale_perl_perl_options* -g:ale_perl_perlcritic_executable ale-perl.txt /*g:ale_perl_perlcritic_executable* -g:ale_perl_perlcritic_options ale-perl.txt /*g:ale_perl_perlcritic_options* -g:ale_perl_perlcritic_profile ale-perl.txt /*g:ale_perl_perlcritic_profile* -g:ale_perl_perlcritic_showrules ale-perl.txt /*g:ale_perl_perlcritic_showrules* -g:ale_perl_perltidy_options ale-perl.txt /*g:ale_perl_perltidy_options* -g:ale_php_cs_fixer_executable ale-php.txt /*g:ale_php_cs_fixer_executable* -g:ale_php_cs_fixer_options ale-php.txt /*g:ale_php_cs_fixer_options* -g:ale_php_cs_fixer_use_global ale-php.txt /*g:ale_php_cs_fixer_use_global* -g:ale_php_langserver_executable ale-php.txt /*g:ale_php_langserver_executable* -g:ale_php_langserver_use_global ale-php.txt /*g:ale_php_langserver_use_global* -g:ale_php_phan_executable ale-php.txt /*g:ale_php_phan_executable* -g:ale_php_phan_minimum_severity ale-php.txt /*g:ale_php_phan_minimum_severity* -g:ale_php_phan_use_client ale-php.txt /*g:ale_php_phan_use_client* -g:ale_php_php_executable ale-php.txt /*g:ale_php_php_executable* -g:ale_php_phpcbf_executable ale-php.txt /*g:ale_php_phpcbf_executable* -g:ale_php_phpcbf_standard ale-php.txt /*g:ale_php_phpcbf_standard* -g:ale_php_phpcbf_use_global ale-php.txt /*g:ale_php_phpcbf_use_global* -g:ale_php_phpcs_executable ale-php.txt /*g:ale_php_phpcs_executable* -g:ale_php_phpcs_options ale-php.txt /*g:ale_php_phpcs_options* -g:ale_php_phpcs_standard ale-php.txt /*g:ale_php_phpcs_standard* -g:ale_php_phpcs_use_global ale-php.txt /*g:ale_php_phpcs_use_global* -g:ale_php_phpmd_executable ale-php.txt /*g:ale_php_phpmd_executable* -g:ale_php_phpmd_ruleset ale-php.txt /*g:ale_php_phpmd_ruleset* -g:ale_php_phpstan_autoload ale-php.txt /*g:ale_php_phpstan_autoload* -g:ale_php_phpstan_configuration ale-php.txt /*g:ale_php_phpstan_configuration* -g:ale_php_phpstan_executable ale-php.txt /*g:ale_php_phpstan_executable* -g:ale_php_phpstan_level ale-php.txt /*g:ale_php_phpstan_level* -g:ale_php_psalm_executable ale-php.txt /*g:ale_php_psalm_executable* -g:ale_pony_ponyc_executable ale-pony.txt /*g:ale_pony_ponyc_executable* -g:ale_pony_ponyc_options ale-pony.txt /*g:ale_pony_ponyc_options* -g:ale_powershell_powershell_executable ale-powershell.txt /*g:ale_powershell_powershell_executable* -g:ale_powershell_psscriptanalyzer_exclusions ale-powershell.txt /*g:ale_powershell_psscriptanalyzer_exclusions* -g:ale_powershell_psscriptanalyzer_executable ale-powershell.txt /*g:ale_powershell_psscriptanalyzer_executable* -g:ale_powershell_psscriptanalyzer_module ale-powershell.txt /*g:ale_powershell_psscriptanalyzer_module* -g:ale_prolog_swipl_alarm ale-prolog.txt /*g:ale_prolog_swipl_alarm* -g:ale_prolog_swipl_alarm_handler ale-prolog.txt /*g:ale_prolog_swipl_alarm_handler* -g:ale_prolog_swipl_executable ale-prolog.txt /*g:ale_prolog_swipl_executable* -g:ale_prolog_swipl_load ale-prolog.txt /*g:ale_prolog_swipl_load* -g:ale_prolog_swipl_timeout ale-prolog.txt /*g:ale_prolog_swipl_timeout* -g:ale_proto_protoc_gen_lint_options ale-proto.txt /*g:ale_proto_protoc_gen_lint_options* -g:ale_psalm_langserver_options ale-php.txt /*g:ale_psalm_langserver_options* -g:ale_pug_puglint_executable ale-pug.txt /*g:ale_pug_puglint_executable* -g:ale_pug_puglint_options ale-pug.txt /*g:ale_pug_puglint_options* -g:ale_pug_puglint_use_global ale-pug.txt /*g:ale_pug_puglint_use_global* -g:ale_puppet_languageserver_executable ale-puppet.txt /*g:ale_puppet_languageserver_executable* -g:ale_puppet_puppet_executable ale-puppet.txt /*g:ale_puppet_puppet_executable* -g:ale_puppet_puppet_options ale-puppet.txt /*g:ale_puppet_puppet_options* -g:ale_puppet_puppetlint_executable ale-puppet.txt /*g:ale_puppet_puppetlint_executable* -g:ale_puppet_puppetlint_options ale-puppet.txt /*g:ale_puppet_puppetlint_options* -g:ale_purescript_purty_executable ale-purescript.txt /*g:ale_purescript_purty_executable* -g:ale_pyrex_cython_executable ale-pyrex.txt /*g:ale_pyrex_cython_executable* -g:ale_pyrex_cython_options ale-pyrex.txt /*g:ale_pyrex_cython_options* -g:ale_python_auto_pipenv ale-python.txt /*g:ale_python_auto_pipenv* -g:ale_python_autopep8_executable ale-python.txt /*g:ale_python_autopep8_executable* -g:ale_python_autopep8_options ale-python.txt /*g:ale_python_autopep8_options* -g:ale_python_autopep8_use_global ale-python.txt /*g:ale_python_autopep8_use_global* -g:ale_python_bandit_auto_pipenv ale-python.txt /*g:ale_python_bandit_auto_pipenv* -g:ale_python_bandit_executable ale-python.txt /*g:ale_python_bandit_executable* -g:ale_python_bandit_options ale-python.txt /*g:ale_python_bandit_options* -g:ale_python_bandit_use_config ale-python.txt /*g:ale_python_bandit_use_config* -g:ale_python_bandit_use_global ale-python.txt /*g:ale_python_bandit_use_global* -g:ale_python_black_auto_pipenv ale-python.txt /*g:ale_python_black_auto_pipenv* -g:ale_python_black_change_directory ale-python.txt /*g:ale_python_black_change_directory* -g:ale_python_black_executable ale-python.txt /*g:ale_python_black_executable* -g:ale_python_black_options ale-python.txt /*g:ale_python_black_options* -g:ale_python_black_use_global ale-python.txt /*g:ale_python_black_use_global* -g:ale_python_flake8_auto_pipenv ale-python.txt /*g:ale_python_flake8_auto_pipenv* -g:ale_python_flake8_change_directory ale-python.txt /*g:ale_python_flake8_change_directory* -g:ale_python_flake8_executable ale-python.txt /*g:ale_python_flake8_executable* -g:ale_python_flake8_options ale-python.txt /*g:ale_python_flake8_options* -g:ale_python_flake8_use_global ale-python.txt /*g:ale_python_flake8_use_global* -g:ale_python_isort_executable ale-python.txt /*g:ale_python_isort_executable* -g:ale_python_isort_options ale-python.txt /*g:ale_python_isort_options* -g:ale_python_isort_use_global ale-python.txt /*g:ale_python_isort_use_global* -g:ale_python_mypy_auto_pipenv ale-python.txt /*g:ale_python_mypy_auto_pipenv* -g:ale_python_mypy_executable ale-python.txt /*g:ale_python_mypy_executable* -g:ale_python_mypy_ignore_invalid_syntax ale-python.txt /*g:ale_python_mypy_ignore_invalid_syntax* -g:ale_python_mypy_options ale-python.txt /*g:ale_python_mypy_options* -g:ale_python_mypy_show_notes ale-python.txt /*g:ale_python_mypy_show_notes* -g:ale_python_mypy_use_global ale-python.txt /*g:ale_python_mypy_use_global* -g:ale_python_prospector_auto_pipenv ale-python.txt /*g:ale_python_prospector_auto_pipenv* -g:ale_python_prospector_executable ale-python.txt /*g:ale_python_prospector_executable* -g:ale_python_prospector_options ale-python.txt /*g:ale_python_prospector_options* -g:ale_python_prospector_use_global ale-python.txt /*g:ale_python_prospector_use_global* -g:ale_python_pycodestyle_auto_pipenv ale-python.txt /*g:ale_python_pycodestyle_auto_pipenv* -g:ale_python_pycodestyle_executable ale-python.txt /*g:ale_python_pycodestyle_executable* -g:ale_python_pycodestyle_options ale-python.txt /*g:ale_python_pycodestyle_options* -g:ale_python_pycodestyle_use_global ale-python.txt /*g:ale_python_pycodestyle_use_global* -g:ale_python_pydocstyle_auto_pipenv ale-python.txt /*g:ale_python_pydocstyle_auto_pipenv* -g:ale_python_pydocstyle_executable ale-python.txt /*g:ale_python_pydocstyle_executable* -g:ale_python_pydocstyle_options ale-python.txt /*g:ale_python_pydocstyle_options* -g:ale_python_pydocstyle_use_global ale-python.txt /*g:ale_python_pydocstyle_use_global* -g:ale_python_pyflakes_auto_pipenv ale-python.txt /*g:ale_python_pyflakes_auto_pipenv* -g:ale_python_pyflakes_executable ale-python.txt /*g:ale_python_pyflakes_executable* -g:ale_python_pylama_auto_pipenv ale-python.txt /*g:ale_python_pylama_auto_pipenv* -g:ale_python_pylama_change_directory ale-python.txt /*g:ale_python_pylama_change_directory* -g:ale_python_pylama_executable ale-python.txt /*g:ale_python_pylama_executable* -g:ale_python_pylama_options ale-python.txt /*g:ale_python_pylama_options* -g:ale_python_pylama_use_global ale-python.txt /*g:ale_python_pylama_use_global* -g:ale_python_pylint_auto_pipenv ale-python.txt /*g:ale_python_pylint_auto_pipenv* -g:ale_python_pylint_change_directory ale-python.txt /*g:ale_python_pylint_change_directory* -g:ale_python_pylint_executable ale-python.txt /*g:ale_python_pylint_executable* -g:ale_python_pylint_options ale-python.txt /*g:ale_python_pylint_options* -g:ale_python_pylint_use_global ale-python.txt /*g:ale_python_pylint_use_global* -g:ale_python_pylint_use_msg_id ale-python.txt /*g:ale_python_pylint_use_msg_id* -g:ale_python_pyls_auto_pipenv ale-python.txt /*g:ale_python_pyls_auto_pipenv* -g:ale_python_pyls_config ale-python.txt /*g:ale_python_pyls_config* -g:ale_python_pyls_executable ale-python.txt /*g:ale_python_pyls_executable* -g:ale_python_pyls_use_global ale-python.txt /*g:ale_python_pyls_use_global* -g:ale_python_pyre_auto_pipenv ale-python.txt /*g:ale_python_pyre_auto_pipenv* -g:ale_python_pyre_executable ale-python.txt /*g:ale_python_pyre_executable* -g:ale_python_pyre_use_global ale-python.txt /*g:ale_python_pyre_use_global* -g:ale_python_reorder_python_imports_executable ale-python.txt /*g:ale_python_reorder_python_imports_executable* -g:ale_python_reorder_python_imports_options ale-python.txt /*g:ale_python_reorder_python_imports_options* -g:ale_python_reorder_python_imports_use_global ale-python.txt /*g:ale_python_reorder_python_imports_use_global* -g:ale_python_vulture_change_directory ale-python.txt /*g:ale_python_vulture_change_directory* -g:ale_python_vulture_executable ale-python.txt /*g:ale_python_vulture_executable* -g:ale_python_vulture_options ale-python.txt /*g:ale_python_vulture_options* -g:ale_python_vulture_use_global ale-python.txt /*g:ale_python_vulture_use_global* -g:ale_python_yapf_executable ale-python.txt /*g:ale_python_yapf_executable* -g:ale_python_yapf_use_global ale-python.txt /*g:ale_python_yapf_use_global* -g:ale_qml_qmlfmt_executable ale-qml.txt /*g:ale_qml_qmlfmt_executable* -g:ale_r_lintr_lint_package ale-r.txt /*g:ale_r_lintr_lint_package* -g:ale_r_lintr_options ale-r.txt /*g:ale_r_lintr_options* -g:ale_r_styler_options ale-r.txt /*g:ale_r_styler_options* -g:ale_reason_ls_executable ale-reasonml.txt /*g:ale_reason_ls_executable* -g:ale_reason_ols_executable ale-reasonml.txt /*g:ale_reason_ols_executable* -g:ale_reason_ols_use_global ale-reasonml.txt /*g:ale_reason_ols_use_global* -g:ale_reasonml_refmt_executable ale-reasonml.txt /*g:ale_reasonml_refmt_executable* -g:ale_reasonml_refmt_options ale-reasonml.txt /*g:ale_reasonml_refmt_options* -g:ale_rename_tsserver_find_in_comments ale.txt /*g:ale_rename_tsserver_find_in_comments* -g:ale_rename_tsserver_find_in_strings ale.txt /*g:ale_rename_tsserver_find_in_strings* -g:ale_ruby_brakeman_executable ale-ruby.txt /*g:ale_ruby_brakeman_executable* -g:ale_ruby_brakeman_options ale-ruby.txt /*g:ale_ruby_brakeman_options* -g:ale_ruby_debride_executable ale-ruby.txt /*g:ale_ruby_debride_executable* -g:ale_ruby_debride_options ale-ruby.txt /*g:ale_ruby_debride_options* -g:ale_ruby_rails_best_practices_executable ale-ruby.txt /*g:ale_ruby_rails_best_practices_executable* -g:ale_ruby_rails_best_practices_options ale-ruby.txt /*g:ale_ruby_rails_best_practices_options* -g:ale_ruby_reek_executable ale-ruby.txt /*g:ale_ruby_reek_executable* -g:ale_ruby_reek_show_context ale-ruby.txt /*g:ale_ruby_reek_show_context* -g:ale_ruby_reek_show_wiki_link ale-ruby.txt /*g:ale_ruby_reek_show_wiki_link* -g:ale_ruby_rubocop_executable ale-ruby.txt /*g:ale_ruby_rubocop_executable* -g:ale_ruby_rubocop_options ale-ruby.txt /*g:ale_ruby_rubocop_options* -g:ale_ruby_ruby_executable ale-ruby.txt /*g:ale_ruby_ruby_executable* -g:ale_ruby_rufo_executable ale-ruby.txt /*g:ale_ruby_rufo_executable* -g:ale_ruby_ruumba_options ale-eruby.txt /*g:ale_ruby_ruumba_options* -g:ale_ruby_solargraph_executable ale-ruby.txt /*g:ale_ruby_solargraph_executable* -g:ale_ruby_sorbet_executable ale-ruby.txt /*g:ale_ruby_sorbet_executable* -g:ale_ruby_sorbet_options ale-ruby.txt /*g:ale_ruby_sorbet_options* -g:ale_ruby_standardrb_executable ale-ruby.txt /*g:ale_ruby_standardrb_executable* -g:ale_ruby_standardrb_options ale-ruby.txt /*g:ale_ruby_standardrb_options* -g:ale_rust_analyzer_config ale-rust.txt /*g:ale_rust_analyzer_config* -g:ale_rust_analyzer_executable ale-rust.txt /*g:ale_rust_analyzer_executable* -g:ale_rust_cargo_avoid_whole_workspace ale-rust.txt /*g:ale_rust_cargo_avoid_whole_workspace* -g:ale_rust_cargo_check_all_targets ale-rust.txt /*g:ale_rust_cargo_check_all_targets* -g:ale_rust_cargo_check_examples ale-rust.txt /*g:ale_rust_cargo_check_examples* -g:ale_rust_cargo_check_tests ale-rust.txt /*g:ale_rust_cargo_check_tests* -g:ale_rust_cargo_clippy_options ale-rust.txt /*g:ale_rust_cargo_clippy_options* -g:ale_rust_cargo_default_feature_behavior ale-rust.txt /*g:ale_rust_cargo_default_feature_behavior* -g:ale_rust_cargo_include_features ale-rust.txt /*g:ale_rust_cargo_include_features* -g:ale_rust_cargo_use_check ale-rust.txt /*g:ale_rust_cargo_use_check* -g:ale_rust_cargo_use_clippy ale-rust.txt /*g:ale_rust_cargo_use_clippy* -g:ale_rust_ignore_error_codes ale-rust.txt /*g:ale_rust_ignore_error_codes* -g:ale_rust_ignore_secondary_spans ale-rust.txt /*g:ale_rust_ignore_secondary_spans* -g:ale_rust_rls_config ale-rust.txt /*g:ale_rust_rls_config* -g:ale_rust_rls_executable ale-rust.txt /*g:ale_rust_rls_executable* -g:ale_rust_rls_toolchain ale-rust.txt /*g:ale_rust_rls_toolchain* -g:ale_rust_rustc_options ale-rust.txt /*g:ale_rust_rustc_options* -g:ale_rust_rustfmt_options ale-rust.txt /*g:ale_rust_rustfmt_options* -g:ale_sass_stylelint_executable ale-sass.txt /*g:ale_sass_stylelint_executable* -g:ale_sass_stylelint_use_global ale-sass.txt /*g:ale_sass_stylelint_use_global* -g:ale_scala_metals_executable ale-scala.txt /*g:ale_scala_metals_executable* -g:ale_scala_metals_project_root ale-scala.txt /*g:ale_scala_metals_project_root* -g:ale_scala_sbtserver_address ale-scala.txt /*g:ale_scala_sbtserver_address* -g:ale_scala_sbtserver_project_root ale-scala.txt /*g:ale_scala_sbtserver_project_root* -g:ale_scala_scalafmt_executable ale-scala.txt /*g:ale_scala_scalafmt_executable* -g:ale_scala_scalafmt_options ale-scala.txt /*g:ale_scala_scalafmt_options* -g:ale_scala_scalastyle_config ale-scala.txt /*g:ale_scala_scalastyle_config* -g:ale_scala_scalastyle_options ale-scala.txt /*g:ale_scala_scalastyle_options* -g:ale_scss_sasslint_executable ale-scss.txt /*g:ale_scss_sasslint_executable* -g:ale_scss_sasslint_options ale-scss.txt /*g:ale_scss_sasslint_options* -g:ale_scss_sasslint_use_global ale-scss.txt /*g:ale_scss_sasslint_use_global* -g:ale_scss_stylelint_executable ale-scss.txt /*g:ale_scss_stylelint_executable* -g:ale_scss_stylelint_options ale-scss.txt /*g:ale_scss_stylelint_options* -g:ale_scss_stylelint_use_global ale-scss.txt /*g:ale_scss_stylelint_use_global* -g:ale_set_balloons ale.txt /*g:ale_set_balloons* -g:ale_set_balloons_legacy_echo ale.txt /*g:ale_set_balloons_legacy_echo* -g:ale_set_highlights ale.txt /*g:ale_set_highlights* -g:ale_set_loclist ale.txt /*g:ale_set_loclist* -g:ale_set_quickfix ale.txt /*g:ale_set_quickfix* -g:ale_set_signs ale.txt /*g:ale_set_signs* -g:ale_sh_language_server_executable ale-sh.txt /*g:ale_sh_language_server_executable* -g:ale_sh_language_server_use_global ale-sh.txt /*g:ale_sh_language_server_use_global* -g:ale_sh_shell_default_shell ale-sh.txt /*g:ale_sh_shell_default_shell* -g:ale_sh_shellcheck_change_directory ale-sh.txt /*g:ale_sh_shellcheck_change_directory* -g:ale_sh_shellcheck_dialect ale-sh.txt /*g:ale_sh_shellcheck_dialect* -g:ale_sh_shellcheck_exclusions ale-sh.txt /*g:ale_sh_shellcheck_exclusions* -g:ale_sh_shellcheck_executable ale-sh.txt /*g:ale_sh_shellcheck_executable* -g:ale_sh_shellcheck_options ale-sh.txt /*g:ale_sh_shellcheck_options* -g:ale_sh_shfmt_options ale-sh.txt /*g:ale_sh_shfmt_options* -g:ale_shell ale.txt /*g:ale_shell* -g:ale_shell_arguments ale.txt /*g:ale_shell_arguments* -g:ale_sign_column_always ale.txt /*g:ale_sign_column_always* -g:ale_sign_error ale.txt /*g:ale_sign_error* -g:ale_sign_highlight_linenrs ale.txt /*g:ale_sign_highlight_linenrs* -g:ale_sign_info ale.txt /*g:ale_sign_info* -g:ale_sign_offset ale.txt /*g:ale_sign_offset* -g:ale_sign_priority ale.txt /*g:ale_sign_priority* -g:ale_sign_style_error ale.txt /*g:ale_sign_style_error* -g:ale_sign_style_warning ale.txt /*g:ale_sign_style_warning* -g:ale_sign_warning ale.txt /*g:ale_sign_warning* -g:ale_sml_smlnj_cm_file ale-sml.txt /*g:ale_sml_smlnj_cm_file* -g:ale_solidity_solc_options ale-solidity.txt /*g:ale_solidity_solc_options* -g:ale_sourcekit_lsp_executable ale-swift.txt /*g:ale_sourcekit_lsp_executable* -g:ale_spec_rpmlint_executable ale-spec.txt /*g:ale_spec_rpmlint_executable* -g:ale_spec_rpmlint_options ale-spec.txt /*g:ale_spec_rpmlint_options* -g:ale_sql_pgformatter_executable ale-sql.txt /*g:ale_sql_pgformatter_executable* -g:ale_sql_pgformatter_options ale-sql.txt /*g:ale_sql_pgformatter_options* -g:ale_sql_sqlfmt_executable ale-sql.txt /*g:ale_sql_sqlfmt_executable* -g:ale_sql_sqlfmt_options ale-sql.txt /*g:ale_sql_sqlfmt_options* -g:ale_sql_sqlformat_executable ale-sql.txt /*g:ale_sql_sqlformat_executable* -g:ale_sql_sqlformat_options ale-sql.txt /*g:ale_sql_sqlformat_options* -g:ale_stylus_stylelint_executable ale-stylus.txt /*g:ale_stylus_stylelint_executable* -g:ale_stylus_stylelint_options ale-stylus.txt /*g:ale_stylus_stylelint_options* -g:ale_stylus_stylelint_use_global ale-stylus.txt /*g:ale_stylus_stylelint_use_global* -g:ale_sugarss_stylelint_executable ale-sugarss.txt /*g:ale_sugarss_stylelint_executable* -g:ale_sugarss_stylelint_options ale-sugarss.txt /*g:ale_sugarss_stylelint_options* -g:ale_sugarss_stylelint_use_global ale-sugarss.txt /*g:ale_sugarss_stylelint_use_global* -g:ale_tcl_nagelfar_executable ale-tcl.txt /*g:ale_tcl_nagelfar_executable* -g:ale_tcl_nagelfar_options ale-tcl.txt /*g:ale_tcl_nagelfar_options* -g:ale_terraform_fmt_executable ale-terraform.txt /*g:ale_terraform_fmt_executable* -g:ale_terraform_fmt_options ale-terraform.txt /*g:ale_terraform_fmt_options* -g:ale_terraform_langserver_executable ale-terraform.txt /*g:ale_terraform_langserver_executable* -g:ale_terraform_langserver_options ale-terraform.txt /*g:ale_terraform_langserver_options* -g:ale_terraform_terraform_executable ale-terraform.txt /*g:ale_terraform_terraform_executable* -g:ale_terraform_tflint_executable ale-terraform.txt /*g:ale_terraform_tflint_executable* -g:ale_terraform_tflint_options ale-terraform.txt /*g:ale_terraform_tflint_options* -g:ale_tex_chktex_executable ale-tex.txt /*g:ale_tex_chktex_executable* -g:ale_tex_chktex_options ale-tex.txt /*g:ale_tex_chktex_options* -g:ale_tex_latexindent_executable ale-tex.txt /*g:ale_tex_latexindent_executable* -g:ale_tex_latexindent_options ale-tex.txt /*g:ale_tex_latexindent_options* -g:ale_tex_texlab_executable ale-tex.txt /*g:ale_tex_texlab_executable* -g:ale_tex_texlab_options ale-tex.txt /*g:ale_tex_texlab_options* -g:ale_textlint_executable ale-text.txt /*g:ale_textlint_executable* -g:ale_textlint_options ale-text.txt /*g:ale_textlint_options* -g:ale_textlint_use_global ale-text.txt /*g:ale_textlint_use_global* -g:ale_thrift_thrift_executable ale-thrift.txt /*g:ale_thrift_thrift_executable* -g:ale_thrift_thrift_generators ale-thrift.txt /*g:ale_thrift_thrift_generators* -g:ale_thrift_thrift_includes ale-thrift.txt /*g:ale_thrift_thrift_includes* -g:ale_thrift_thrift_options ale-thrift.txt /*g:ale_thrift_thrift_options* -g:ale_type_map ale.txt /*g:ale_type_map* -g:ale_typescript_standard_executable ale-typescript.txt /*g:ale_typescript_standard_executable* -g:ale_typescript_standard_options ale-typescript.txt /*g:ale_typescript_standard_options* -g:ale_typescript_standard_use_global ale-typescript.txt /*g:ale_typescript_standard_use_global* -g:ale_typescript_tslint_config_path ale-typescript.txt /*g:ale_typescript_tslint_config_path* -g:ale_typescript_tslint_executable ale-typescript.txt /*g:ale_typescript_tslint_executable* -g:ale_typescript_tslint_ignore_empty_files ale-typescript.txt /*g:ale_typescript_tslint_ignore_empty_files* -g:ale_typescript_tslint_rules_dir ale-typescript.txt /*g:ale_typescript_tslint_rules_dir* -g:ale_typescript_tslint_use_global ale-typescript.txt /*g:ale_typescript_tslint_use_global* -g:ale_typescript_tsserver_config_path ale-typescript.txt /*g:ale_typescript_tsserver_config_path* -g:ale_typescript_tsserver_executable ale-typescript.txt /*g:ale_typescript_tsserver_executable* -g:ale_typescript_tsserver_use_global ale-typescript.txt /*g:ale_typescript_tsserver_use_global* -g:ale_update_tagstack ale.txt /*g:ale_update_tagstack* -g:ale_use_global_executables ale.txt /*g:ale_use_global_executables* -g:ale_verilog_verilator_options ale-verilog.txt /*g:ale_verilog_verilator_options* -g:ale_verilog_vlog_executable ale-verilog.txt /*g:ale_verilog_vlog_executable* -g:ale_verilog_vlog_options ale-verilog.txt /*g:ale_verilog_vlog_options* -g:ale_verilog_xvlog_executable ale-verilog.txt /*g:ale_verilog_xvlog_executable* -g:ale_verilog_xvlog_options ale-verilog.txt /*g:ale_verilog_xvlog_options* -g:ale_vhdl_ghdl_executable ale-vhdl.txt /*g:ale_vhdl_ghdl_executable* -g:ale_vhdl_ghdl_options ale-vhdl.txt /*g:ale_vhdl_ghdl_options* -g:ale_vhdl_vcom_executable ale-vhdl.txt /*g:ale_vhdl_vcom_executable* -g:ale_vhdl_vcom_options ale-vhdl.txt /*g:ale_vhdl_vcom_options* -g:ale_vhdl_xvhdl_executable ale-vhdl.txt /*g:ale_vhdl_xvhdl_executable* -g:ale_vhdl_xvhdl_options ale-vhdl.txt /*g:ale_vhdl_xvhdl_options* -g:ale_vim_vimls_config ale-vim.txt /*g:ale_vim_vimls_config* -g:ale_vim_vimls_executable ale-vim.txt /*g:ale_vim_vimls_executable* -g:ale_vim_vimls_use_global ale-vim.txt /*g:ale_vim_vimls_use_global* -g:ale_vim_vint_executable ale-vim.txt /*g:ale_vim_vint_executable* -g:ale_vim_vint_show_style_issues ale-vim.txt /*g:ale_vim_vint_show_style_issues* -g:ale_virtualenv_dir_names ale.txt /*g:ale_virtualenv_dir_names* -g:ale_virtualtext_cursor ale.txt /*g:ale_virtualtext_cursor* -g:ale_virtualtext_delay ale.txt /*g:ale_virtualtext_delay* -g:ale_virtualtext_prefix ale.txt /*g:ale_virtualtext_prefix* -g:ale_vue_vls_executable ale-vue.txt /*g:ale_vue_vls_executable* -g:ale_vue_vls_use_global ale-vue.txt /*g:ale_vue_vls_use_global* -g:ale_want_results_buffer ale.txt /*g:ale_want_results_buffer* -g:ale_warn_about_trailing_blank_lines ale.txt /*g:ale_warn_about_trailing_blank_lines* -g:ale_warn_about_trailing_whitespace ale.txt /*g:ale_warn_about_trailing_whitespace* -g:ale_windows_node_executable_path ale.txt /*g:ale_windows_node_executable_path* -g:ale_writegood_executable ale.txt /*g:ale_writegood_executable* -g:ale_writegood_options ale.txt /*g:ale_writegood_options* -g:ale_writegood_use_global ale.txt /*g:ale_writegood_use_global* -g:ale_xml_xmllint_executable ale-xml.txt /*g:ale_xml_xmllint_executable* -g:ale_xml_xmllint_indentsize ale-xml.txt /*g:ale_xml_xmllint_indentsize* -g:ale_xml_xmllint_options ale-xml.txt /*g:ale_xml_xmllint_options* -g:ale_yaml_swaglint_executable ale-yaml.txt /*g:ale_yaml_swaglint_executable* -g:ale_yaml_swaglint_use_global ale-yaml.txt /*g:ale_yaml_swaglint_use_global* -g:ale_yaml_yamllint_executable ale-yaml.txt /*g:ale_yaml_yamllint_executable* -g:ale_yaml_yamllint_options ale-yaml.txt /*g:ale_yaml_yamllint_options* -g:ale_yang_lsp_executable ale-yang.txt /*g:ale_yang_lsp_executable* -g:html_tidy_use_global ale-html.txt /*g:html_tidy_use_global* -g:nim_nimlsp_nim_sources ale-nim.txt /*g:nim_nimlsp_nim_sources* diff --git a/.vim_runtime/sources_non_forked/ale/ftplugin/ale-fix-suggest.vim b/.vim_runtime/sources_non_forked/ale/ftplugin/ale-fix-suggest.vim deleted file mode 100644 index 189a4dc..0000000 --- a/.vim_runtime/sources_non_forked/ale/ftplugin/ale-fix-suggest.vim +++ /dev/null @@ -1,2 +0,0 @@ -" Close the ALEFixSuggest window with the q key. -noremap q :q! diff --git a/.vim_runtime/sources_non_forked/ale/ftplugin/ale-preview-selection.vim b/.vim_runtime/sources_non_forked/ale/ftplugin/ale-preview-selection.vim deleted file mode 100644 index 7ec8406..0000000 --- a/.vim_runtime/sources_non_forked/ale/ftplugin/ale-preview-selection.vim +++ /dev/null @@ -1,16 +0,0 @@ -" Close the ALEPreviewWindow window with the q key. -noremap q :q! -" Disable some keybinds for the selection window. -noremap v -noremap i -noremap I -noremap -noremap -noremap -noremap a -noremap A -noremap o -noremap O -" Keybinds for opening selection items. -noremap :call ale#preview#OpenSelection() -noremap t :call ale#preview#OpenSelectionInTab() diff --git a/.vim_runtime/sources_non_forked/ale/ftplugin/ale-preview.vim b/.vim_runtime/sources_non_forked/ale/ftplugin/ale-preview.vim deleted file mode 100644 index ffbffbd..0000000 --- a/.vim_runtime/sources_non_forked/ale/ftplugin/ale-preview.vim +++ /dev/null @@ -1,2 +0,0 @@ -" Close the ALEPreviewWindow window with the q key. -noremap q :q! diff --git a/.vim_runtime/sources_non_forked/ale/plugin/ale.vim b/.vim_runtime/sources_non_forked/ale/plugin/ale.vim deleted file mode 100644 index e1ddf7b..0000000 --- a/.vim_runtime/sources_non_forked/ale/plugin/ale.vim +++ /dev/null @@ -1,300 +0,0 @@ -" Author: w0rp -" Description: Main entry point for the plugin: sets up prefs and autocommands -" Preferences can be set in vimrc files and so on to configure ale - -" Sanity Checks - -if exists('g:loaded_ale_dont_use_this_in_other_plugins_please') - finish -endif - -" Set a special flag used only by this plugin for preventing doubly -" loading the script. -let g:loaded_ale_dont_use_this_in_other_plugins_please = 1 - -" A flag for detecting if the required features are set. -if has('nvim') - let s:has_features = has('timers') && has('nvim-0.2.0') -else - " Check if Job and Channel functions are available, instead of the - " features. This works better on old MacVim versions. - let s:has_features = has('timers') && exists('*job_start') && exists('*ch_close_in') -endif - -if !s:has_features - " Only output a warning if editing some special files. - if index(['', 'gitcommit'], &filetype) == -1 - execute 'echoerr ''ALE requires NeoVim >= 0.2.0 or Vim 8 with +timers +job +channel''' - execute 'echoerr ''Please update your editor appropriately.''' - endif - - " Stop here, as it won't work. - finish -endif - -" Set this flag so that other plugins can use it, like airline. -let g:loaded_ale = 1 - -" This global variable is used internally by ALE for tracking information for -" each buffer which linters are being run against. -let g:ale_buffer_info = {} -" This global Dictionary tracks data for fixing code. Don't mess with it. -let g:ale_fix_buffer_data = {} - -" User Configuration - -" This option prevents ALE autocmd commands from being run for particular -" filetypes which can cause issues. -let g:ale_filetype_blacklist = [ -\ 'dirvish', -\ 'nerdtree', -\ 'qf', -\ 'tags', -\ 'unite', -\] - -" This Dictionary configures which linters are enabled for which languages. -let g:ale_linters = get(g:, 'ale_linters', {}) -" This option can be changed to only enable explicitly selected linters. -let g:ale_linters_explicit = get(g:, 'ale_linters_explicit', 0) - -" This Dictionary configures which functions will be used for fixing problems. -let g:ale_fixers = get(g:, 'ale_fixers', {}) - -" This Dictionary allows users to set up filetype aliases for new filetypes. -let g:ale_linter_aliases = get(g:, 'ale_linter_aliases', {}) - -" This flag can be set with a number of milliseconds for delaying the -" execution of a linter when text is changed. The timeout will be set and -" cleared each time text is changed, so repeated edits won't trigger the -" jobs for linting until enough time has passed after editing is done. -let g:ale_lint_delay = get(g:, 'ale_lint_delay', 200) - -" This flag can be set to 'never' to disable linting when text is changed. -" This flag can also be set to 'always' or 'insert' to lint when text is -" changed in both normal and insert mode, or only in insert mode respectively. -let g:ale_lint_on_text_changed = get(g:, 'ale_lint_on_text_changed', 'normal') - -" This flag can be set to 1 to enable linting when leaving insert mode. -let g:ale_lint_on_insert_leave = get(g:, 'ale_lint_on_insert_leave', 1) - -" This flag can be set to 0 to disable linting when the buffer is entered. -let g:ale_lint_on_enter = get(g:, 'ale_lint_on_enter', 1) - -" This flag can be set to 1 to enable linting when a buffer is written. -let g:ale_lint_on_save = get(g:, 'ale_lint_on_save', 1) - -" This flag can be set to 1 to enable linting when the filetype is changed. -let g:ale_lint_on_filetype_changed = get(g:, 'ale_lint_on_filetype_changed', 1) - -" This Dictionary configures the default LSP roots for various linters. -let g:ale_lsp_root = get(g:, 'ale_lsp_root', {}) - -" This flag can be set to 1 to enable automatically fixing files on save. -let g:ale_fix_on_save = get(g:, 'ale_fix_on_save', 0) - -" This flag may be set to 0 to disable ale. After ale is loaded, :ALEToggle -" should be used instead. -let g:ale_enabled = get(g:, 'ale_enabled', 1) - -" These flags dictates if ale uses the quickfix or the loclist (loclist is the -" default, quickfix overrides loclist). -let g:ale_set_loclist = get(g:, 'ale_set_loclist', 1) -let g:ale_set_quickfix = get(g:, 'ale_set_quickfix', 0) - -" This flag can be set to 0 to disable setting signs. -" This is enabled by default only if the 'signs' feature exists. -let g:ale_set_signs = get(g:, 'ale_set_signs', has('signs')) - -" This flag can be set to 0 to disable setting error highlights. -let g:ale_set_highlights = get(g:, 'ale_set_highlights', has('syntax')) - -" This List can be configured to exclude particular highlights. -let g:ale_exclude_highlights = get(g:, 'ale_exclude_highlights', []) - -" This flag can be set to 0 to disable echoing when the cursor moves. -let g:ale_echo_cursor = get(g:, 'ale_echo_cursor', 1) - -" This flag can be set to 1 to automatically show errors in the preview window. -let g:ale_cursor_detail = get(g:, 'ale_cursor_detail', 0) - -" This flag can be set to 1 to enable virtual text when the cursor moves. -let g:ale_virtualtext_cursor = get(g:, 'ale_virtualtext_cursor', 0) - -" This flag can be set to 1 to automatically close the preview window upon -" entering Insert Mode. -let g:ale_close_preview_on_insert = get(g:, 'ale_close_preview_on_insert', 0) - -" This flag can be set to 0 to disable balloon support. -let g:ale_set_balloons = get(g:, 'ale_set_balloons', has('balloon_eval') && has('gui_running')) - -" Use preview window for hover messages. -let g:ale_hover_to_preview = get(g:, 'ale_hover_to_preview', 0) - -" This flag can be set to 0 to disable warnings for trailing whitespace -let g:ale_warn_about_trailing_whitespace = get(g:, 'ale_warn_about_trailing_whitespace', 1) -" This flag can be set to 0 to disable warnings for trailing blank lines -let g:ale_warn_about_trailing_blank_lines = get(g:, 'ale_warn_about_trailing_blank_lines', 1) - -" A flag for enabling or disabling the command history. -let g:ale_history_enabled = get(g:, 'ale_history_enabled', 1) - -" A flag for storing the full output of commands in the history. -let g:ale_history_log_output = get(g:, 'ale_history_log_output', 1) - -" Enable automatic completion with LSP servers and tsserver -let g:ale_completion_enabled = get(g:, 'ale_completion_enabled', 0) - -" Enable automatic detection of pipenv for Python linters. -let g:ale_python_auto_pipenv = get(g:, 'ale_python_auto_pipenv', 0) - -" This variable can be overridden to set the GO111MODULE environment variable. -let g:ale_go_go111module = get(g:, 'ale_go_go111module', '') - -if g:ale_set_balloons - call ale#balloon#Enable() -endif - -if g:ale_completion_enabled - call ale#completion#Enable() -endif - -" Define commands for moving through warnings and errors. -command! -bar -nargs=* ALEPrevious -\ :call ale#loclist_jumping#WrapJump('before', ) -command! -bar -nargs=* ALENext -\ :call ale#loclist_jumping#WrapJump('after', ) - -command! -bar ALEPreviousWrap :call ale#loclist_jumping#Jump('before', 1) -command! -bar ALENextWrap :call ale#loclist_jumping#Jump('after', 1) -command! -bar ALEFirst :call ale#loclist_jumping#JumpToIndex(0) -command! -bar ALELast :call ale#loclist_jumping#JumpToIndex(-1) - -" A command for showing error details. -command! -bar ALEDetail :call ale#cursor#ShowCursorDetail() - -" Define commands for turning ALE on or off. -command! -bar ALEToggle :call ale#toggle#Toggle() -command! -bar ALEEnable :call ale#toggle#Enable() -command! -bar ALEDisable :call ale#toggle#Disable() -command! -bar ALEReset :call ale#toggle#Reset() -" Commands for turning ALE on or off for a buffer. -command! -bar ALEToggleBuffer :call ale#toggle#ToggleBuffer(bufnr('')) -command! -bar ALEEnableBuffer :call ale#toggle#EnableBuffer(bufnr('')) -command! -bar ALEDisableBuffer :call ale#toggle#DisableBuffer(bufnr('')) -command! -bar ALEResetBuffer :call ale#toggle#ResetBuffer(bufnr('')) -" A command to stop all LSP-like clients, including tsserver. -command! -bar ALEStopAllLSPs :call ale#lsp#reset#StopAllLSPs() - -" A command for linting manually. -command! -bar ALELint :call ale#Queue(0, 'lint_file') - -" Define a command to get information about current filetype. -command! -bar ALEInfo :call ale#debugging#Info() -" The same, but copy output to your clipboard. -command! -bar ALEInfoToClipboard :call ale#debugging#InfoToClipboard() -" Copy ALE information to a file. -command! -bar -nargs=1 ALEInfoToFile :call ale#debugging#InfoToFile() - -" Fix problems in files. -command! -bar -nargs=* -complete=customlist,ale#fix#registry#CompleteFixers ALEFix :call ale#fix#Fix(bufnr(''), '', ) -" Suggest registered functions to use for fixing problems. -command! -bar ALEFixSuggest :call ale#fix#registry#Suggest(&filetype) - -" Go to definition for tsserver and LSP -command! -bar -nargs=* ALEGoToDefinition :call ale#definition#GoToCommandHandler('', ) - -" Deprecated commands we have to keep for now. -command! -bar ALEGoToDefinitionInTab :call ale#definition#GoTo({'open_in': 'tab', 'deprecated_command': 'ALEGoToDefinitionInTab'}) -command! -bar ALEGoToDefinitionInSplit :call ale#definition#GoTo({'open_in': 'split', 'deprecated_command': 'ALEGoToDefinitionInSplit'}) -command! -bar ALEGoToDefinitionInVSplit :call ale#definition#GoTo({'open_in': 'vsplit', 'deprecated_command': 'ALEGoToDefinitionInVSplit'}) - -" Go to type definition for tsserver and LSP -command! -bar -nargs=* ALEGoToTypeDefinition :call ale#definition#GoToCommandHandler('type', ) - -" Deprecated commands we have to keep for now. -command! -bar ALEGoToTypeDefinitionInTab :call ale#definition#GoToType({'open_in': 'tab', 'deprecated_command': 'ALEGoToTypeDefinitionInTab'}) -command! -bar ALEGoToTypeDefinitionInSplit :call ale#definition#GoToType({'open_in': 'split', 'deprecated_command': 'ALEGoToTypeDefinitionInSplit'}) -command! -bar ALEGoToTypeDefinitionInVSplit :call ale#definition#GoToType({'open_in': 'vsplit', 'deprecated_command': 'ALEGoToTypeDefinitionInVSplit'}) - -" Repeat a previous selection in the preview window -command! -bar ALERepeatSelection :call ale#preview#RepeatSelection() - -" Find references for tsserver and LSP -command! -bar -nargs=* ALEFindReferences :call ale#references#Find() - -" Show summary information for the cursor. -command! -bar ALEHover :call ale#hover#ShowAtCursor() - -" Show documentation for the cursor. -command! -bar ALEDocumentation :call ale#hover#ShowDocumentationAtCursor() - -" Search for appearances of a symbol, such as a type name or function name. -command! -nargs=1 ALESymbolSearch :call ale#symbol#Search() - -command! -bar ALEComplete :call ale#completion#GetCompletions('ale-manual') - -" Rename symbols using tsserver and LSP -command! -bar ALERename :call ale#rename#Execute() - -" Organize import statements using tsserver -command! -bar ALEOrganizeImports :call ale#organize_imports#Execute() - -" mappings for commands -nnoremap (ale_previous) :ALEPrevious -nnoremap (ale_previous_wrap) :ALEPreviousWrap -nnoremap (ale_previous_error) :ALEPrevious -error -nnoremap (ale_previous_wrap_error) :ALEPrevious -wrap -error -nnoremap (ale_previous_warning) :ALEPrevious -warning -nnoremap (ale_previous_wrap_warning) :ALEPrevious -wrap -warning -nnoremap (ale_next) :ALENext -nnoremap (ale_next_wrap) :ALENextWrap -nnoremap (ale_next_error) :ALENext -error -nnoremap (ale_next_wrap_error) :ALENext -wrap -error -nnoremap (ale_next_warning) :ALENext -warning -nnoremap (ale_next_wrap_warning) :ALENext -wrap -warning -nnoremap (ale_first) :ALEFirst -nnoremap (ale_last) :ALELast -nnoremap (ale_toggle) :ALEToggle -nnoremap (ale_enable) :ALEEnable -nnoremap (ale_disable) :ALEDisable -nnoremap (ale_reset) :ALEReset -nnoremap (ale_toggle_buffer) :ALEToggleBuffer -nnoremap (ale_enable_buffer) :ALEEnableBuffer -nnoremap (ale_disable_buffer) :ALEDisableBuffer -nnoremap (ale_reset_buffer) :ALEResetBuffer -nnoremap (ale_lint) :ALELint -nnoremap (ale_detail) :ALEDetail -nnoremap (ale_fix) :ALEFix -nnoremap (ale_go_to_definition) :ALEGoToDefinition -nnoremap (ale_go_to_type_definition) :ALEGoToTypeDefinition -nnoremap (ale_find_references) :ALEFindReferences -nnoremap (ale_hover) :ALEHover -nnoremap (ale_documentation) :ALEDocumentation -inoremap (ale_complete) :ALEComplete -nnoremap (ale_rename) :ALERename -nnoremap (ale_repeat_selection) :ALERepeatSelection - -" Deprecated mappings -nnoremap (ale_go_to_definition_in_tab) :ALEGoToDefinitionInTab -nnoremap (ale_go_to_definition_in_split) :ALEGoToDefinitionInSplit -nnoremap (ale_go_to_definition_in_vsplit) :ALEGoToDefinitionInVSplit -nnoremap (ale_go_to_type_definition_in_tab) :ALEGoToTypeDefinitionInTab -nnoremap (ale_go_to_type_definition_in_split) :ALEGoToTypeDefinitionInSplit -nnoremap (ale_go_to_type_definition_in_vsplit) :ALEGoToTypeDefinitionInVSplit - -" Set up autocmd groups now. -call ale#events#Init() - -" Housekeeping - -augroup ALECleanupGroup - autocmd! - " Clean up buffers automatically when they are unloaded. - autocmd BufDelete * if exists('*ale#engine#Cleanup') | call ale#engine#Cleanup(str2nr(expand(''))) | endif - autocmd QuitPre * call ale#events#QuitEvent(str2nr(expand(''))) - - if exists('##VimSuspend') - autocmd VimSuspend * if exists('*ale#engine#CleanupEveryBuffer') | call ale#engine#CleanupEveryBuffer() | endif - endif -augroup END diff --git a/.vim_runtime/sources_non_forked/ale/supported-tools.md b/.vim_runtime/sources_non_forked/ale/supported-tools.md deleted file mode 100644 index e3a28a4..0000000 --- a/.vim_runtime/sources_non_forked/ale/supported-tools.md +++ /dev/null @@ -1,896 +0,0 @@ -supported-tools.md

ALE Supported Languages and Tools

- -

This plugin supports the following languages and tools. All available -tools will be run in combination, so they can be complementary.

- - - -

Legend

- - - - - - - - - - - - - - - - - - - - -
KeyDefinition
:floppy_disk:Only checked when saved to disk
:warning:Disabled by default
- -
- - diff --git a/.vim_runtime/sources_non_forked/ale/syntax/ale-fix-suggest.vim b/.vim_runtime/sources_non_forked/ale/syntax/ale-fix-suggest.vim deleted file mode 100644 index b112f5b..0000000 --- a/.vim_runtime/sources_non_forked/ale/syntax/ale-fix-suggest.vim +++ /dev/null @@ -1,13 +0,0 @@ -if exists('b:current_syntax') - finish -endif - -syn match aleFixerComment /^.*$/ -syn match aleFixerName /\(^\|, \)'[^']*'/ -syn match aleFixerHelp /^See :help ale-fix-configuration/ - -hi def link aleFixerComment Comment -hi def link aleFixerName String -hi def link aleFixerHelp Statement - -let b:current_syntax = 'ale-fix-suggest' diff --git a/.vim_runtime/sources_non_forked/ale/syntax/ale-preview-selection.vim b/.vim_runtime/sources_non_forked/ale/syntax/ale-preview-selection.vim deleted file mode 100644 index 879ba09..0000000 --- a/.vim_runtime/sources_non_forked/ale/syntax/ale-preview-selection.vim +++ /dev/null @@ -1,11 +0,0 @@ -if exists('b:current_syntax') - finish -endif - -syn match alePreviewSelectionFilename /\v^([a-zA-Z]?:?[^:]+)/ -syn match alPreviewNumber /\v:\d+:\d+$/ - -hi def link alePreviewSelectionFilename String -hi def link alePreviewNumber Number - -let b:current_syntax = 'ale-preview-selection' diff --git a/.vim_runtime/sources_non_forked/auto-pairs/.gitignore b/.vim_runtime/sources_non_forked/auto-pairs/.gitignore deleted file mode 100644 index 926ccaa..0000000 --- a/.vim_runtime/sources_non_forked/auto-pairs/.gitignore +++ /dev/null @@ -1 +0,0 @@ -doc/tags diff --git a/.vim_runtime/sources_non_forked/auto-pairs/README.md b/.vim_runtime/sources_non_forked/auto-pairs/README.md deleted file mode 100644 index edb883d..0000000 --- a/.vim_runtime/sources_non_forked/auto-pairs/README.md +++ /dev/null @@ -1,474 +0,0 @@ - -README.md

Auto Pairs

- -

Insert or delete brackets, parens, quotes in pair.

- -

Installation

- -
    -
  • Manual - -
      -
    • Copy plugin/auto-pairs.vim to ~/.vim/plugin
    • -
  • -
  • Pathogen - -
      -
    • git clone git://github.com/jiangmiao/auto-pairs.git ~/.vim/bundle/auto-pairs
    • -
  • -
  • Vundle - -
      -
    • Plugin 'jiangmiao/auto-pairs'
    • -
  • -
- -

Features

- -
    -
  • Insert in pair

    - -
    input: [
    -output: [|]
  • - -
  • Delete in pair

    - -
    input: foo[<BS>]
    -output: foo
  • - -
  • Insert new indented line after Return

    - -
    input: {|} (press <CR> at |)
    -output: {
    -    |
    -}          (press } to close the pair)
    -output: {
    -}|         (the inserted blank line will be deleted)
  • - -
  • Insert spaces before closing characters, only for [], (), {}

    - -
    input: {|} (press <SPACE> at |)
    -output: { | }
    -
    -
    -input: {|} (press <SPACE>foo} at |)
    -output: { foo }|
    -
    -
    -input: '|' (press <SPACE> at |)
    -output: ' |'
  • - -
  • Skip ‘ when inside a word

    - -
    input: foo| (press ' at |)
    -output: foo'
  • - -
  • Skip closed bracket.

    - -
    input: []
    -output: []
  • - -
  • Ignore auto pair when previous character is

    - -
    input: "\'
    -output: "\'"
  • - -
  • Fast Wrap

    - -
    input: |[foo, bar()] (press (<M-e> at |)
    -output: ([foo, bar()])
  • - -
  • Quick move char to closed pair

    - -
    input: (|){["foo"]} (press <M-}> at |)
    -output: ({["foo"]}|)
    -
    -
    -input: |[foo, bar()] (press (<M-]> at |)
    -output: ([foo, bar()]|)
  • - -
  • Quick jump to closed pair.

    - -
    input:
    -{
    -    something;|
    -}
    -
    -
    -(press } at |)
    -
    -
    -output:
    -{
    -
    -
    -}|
  • - -
  • Fly Mode

    - -
    input: if(a[3)
    -output: if(a[3])| (In Fly Mode)
    -output: if(a[3)]) (Without Fly Mode)
    -
    -
    -input:
    -{
    -    hello();|
    -    world();
    -}
    -
    -
    -(press } at |)
    -
    -
    -output:
    -{
    -    hello();
    -    world();
    -}|
    -
    -
    -(then press <M-b> at | to do backinsert)
    -output:
    -{
    -    hello();}|
    -    world();
    -}
    -
    -
    -See Fly Mode section for details
  • - -
  • Multibyte Pairs

    - -
    Support any multibyte pairs such as <!-- -->, <% %>, """ """
    -See multibyte pairs section for details
  • -
- -

Fly Mode

- -

Fly Mode will always force closed-pair jumping instead of inserting. only for “)”, “}”, “]”

- -

If jumps in mistake, could use AutoPairsBackInsert(Default Key: <M-b>) to jump back and insert closed pair.

- -

the most situation maybe want to insert single closed pair in the string, eg “)”

- -

Fly Mode is DISABLED by default.

- -

add let g:AutoPairsFlyMode = 1 .vimrc to turn it on

- -

Default Options:

- -
let g:AutoPairsFlyMode = 0
-let g:AutoPairsShortcutBackInsert = '<M-b>'
- -

Shortcuts

- -
System Shortcuts:
-    <CR>  : Insert new indented line after return if cursor in blank brackets or quotes.
-    <BS>  : Delete brackets in pair
-    <M-p> : Toggle Autopairs (g:AutoPairsShortcutToggle)
-    <M-e> : Fast Wrap (g:AutoPairsShortcutFastWrap)
-    <M-n> : Jump to next closed pair (g:AutoPairsShortcutJump)
-    <M-b> : BackInsert (g:AutoPairsShortcutBackInsert)
-
-If <M-p> <M-e> or <M-n> conflict with another keys or want to bind to another keys, add
-
-    let g:AutoPairsShortcutToggle = '<another key>'
-
-to .vimrc, if the key is empty string '', then the shortcut will be disabled.
- -

Options

- -
    -
  • g:AutoPairs

    - -
    Default: {'(':')', '[':']', '{':'}',"'":"'",'"':'"', "`":"`", '```':'```', '"""':'"""', "'''":"'''"}
  • - -
  • b:AutoPairs

    - -
    Default: g:AutoPairs
    -
    -
    -Buffer level pairs set.
  • - -
  • g:AutoPairsShortcutToggle

    - -
    Default: '<M-p>'
    -
    -
    -The shortcut to toggle autopairs.
  • - -
  • g:AutoPairsShortcutFastWrap

    - -
    Default: '<M-e>'
    -
    -
    -Fast wrap the word. all pairs will be consider as a block (include <>).
    -(|)'hello' after fast wrap at |, the word will be ('hello')
    -(|)<hello> after fast wrap at |, the word will be (<hello>)
  • - -
  • g:AutoPairsShortcutJump

    - -
    Default: '<M-n>'
    -
    -
    -Jump to the next closed pair
  • - -
  • g:AutoPairsMapBS

    - -
    Default : 1
    -
    -
    -Map <BS> to delete brackets, quotes in pair
    -execute 'inoremap <buffer> <silent> <BS> <C-R>=AutoPairsDelete()<CR>'
  • - -
  • g:AutoPairsMapCh

    - -
    Default : 1
    -
    -
    -Map <C-h> to delete brackets, quotes in pair
  • - -
  • g:AutoPairsMapCR

    - -
    Default : 1
    -
    -
    -Map <CR> to insert a new indented line if cursor in (|), {|} [|], '|', "|"
    -execute 'inoremap <buffer> <silent> <CR> <C-R>=AutoPairsReturn()<CR>'
  • - -
  • g:AutoPairsCenterLine

    - -
    Default : 1
    -
    -
    -When g:AutoPairsMapCR is on, center current line after return if the line is at the bottom 1/3 of the window.
  • - -
  • g:AutoPairsMapSpace

    - -
    Default : 1
    -
    -
    -Map <space> to insert a space after the opening character and before the closing one.
    -execute 'inoremap <buffer> <silent> <CR> <C-R>=AutoPairsSpace()<CR>'
  • - -
  • g:AutoPairsFlyMode

    - -
    Default : 0
    -
    -
    -set it to 1 to enable FlyMode.
    -see FlyMode section for details.
  • - -
  • g:AutoPairsMultilineClose

    - -
    Default : 1
    -
    -
    -When you press the key for the closing pair (e.g. `)`) it jumps past it.
    -If set to 1, then it'll jump to the next line, if there is only whitespace.
    -If set to 0, then it'll only jump to a closing pair on the same line.
  • - -
  • g:AutoPairsShortcutBackInsert

    - -
    Default : <M-b>
    -
    -
    -Work with FlyMode, insert the key at the Fly Mode jumped postion
  • - -
  • g:AutoPairsMoveCharacter

    - -
    Default: "()[]{}\"'"
    -
    -
    -Map <M-(> <M-)> <M-[> <M-]> <M-{> <M-}> <M-"> <M-'> to
    -move character under the cursor to the pair.
  • -
- -

Buffer Level Pairs Setting

- -

Set b:AutoPairs before BufEnter

- -

eg:

- -
" When the filetype is FILETYPE then make AutoPairs only match for parenthesis
-au Filetype FILETYPE let b:AutoPairs = {"(": ")"}
-au FileType php      let b:AutoPairs = AutoPairsDefine({'<?' : '?>', '<?php': '?>'})
- -

Multibyte Pairs

- -
The default pairs is {'(':')', '[':']', '{':'}',"'":"'",'"':'"', '`':'`'}
-You could also define multibyte pairs such as <!-- -->, <% %> and so on
- -
    -
  • Function AutoPairsDefine(addPairs:dict[, removeOpenPairList:list])

    - -
    add or delete pairs base on g:AutoPairs
    -
    -
    -eg:
    -    au FileType html let b:AutoPairs = AutoPairsDefine({'<!--' : '-->'}, ['{'])
    -    add <!-- --> pair and remove '{' for html file
    -
    -
    -the pair implict start with \V, so if want to match start of line ^ should be write in \^ vim comment {'\^"': ''}
  • - -
  • General usage

    - -
    au FileType php      let b:AutoPairs = AutoPairsDefine({'<?' : '?>', '<?php': '?>'})
    -
    -
    -the first key of closed pair ? will be mapped
    -
    -
    -pairs: '<?' : '?>', '<?php': '?>'
    -input: <?
    -output: <?|?>
    -
    -
    -input: <?php
    -output: <?php|?>
    -
    -
    -input: he<?php|?> (press <BS> at|)
    -output: he|
    -
    -
    -input: <?php|?> (press ? at|)
    -output: <?php?>|
    -
    -
    -pair: '[[':']]'
    -input: [[|]] (press <BS>)
    -output: | ([[ and ]] will be deleted the [['s priority is higher than [ for it's longer)
  • - -
  • Modifier

    - -
    The text after //  in close pair is modifiers
    -
    -
    -n - do not map the first charactor of closed pair to close key
    -m - close key jumps through multi line
    -s - close key jumps only in the same line
    -k[KEY] - map the close key to [KEY]
    -
    -
    -    by default if open key equals close key the multi line is turn off
    -
    -
    -    "<?": "?>"      ? jumps only in the same line
    -    "<?": "?>//m"   force ? jumping through multi line
    -    "<?php":"?>"    ? will jump through multi line
    -    "<?php":"?>//s" force ? only jumping in the same line
    -    "<?": "?>//n"   do not jump totally
    -    "<?": "?>//k]"  use key ] to jump through ?>
    -
    -
    -for 'begin' 'end' pair, e is a charactor, if map e to jump will be annoy, so use modifier 'n' to skip key map
    -
    -
    -au FileType ruby     let b:AutoPairs = AutoPairsDefine({'begin': 'end//n]'})
    -
    -
    -input: begin
    -output: begin|end
    -
    -
    -input: begin|end (press <BS> on |)
    -output: |
    -
    -
    -input: begin|end (press e on |)
    -output: begineend (will not jump for e is not mapped)
  • - -
  • Advanced usage

    - -
    au FileType rust     let b:AutoPairs = AutoPairsDefine({'\w\zs<': '>'})
    -
    -
    -if press < after a word will generate the pair
    -
    -
    -when use regexp MUST use \zs to prevent catching
    -if use '\w<' without \zs,  for text hello<|> press <BS> on | will output 'hell', the 'o' has been deleted
    -
    -
    -pair: '\w\zs<': '>'
    -input: h <
    -output: h <
    -
    -
    -input: h<
    -output: h<|>
    -
    -
    -input: h<|> press <BS>
    -output: h|
    -
    -
    -pair: '\w<': '>' (WRONG pair which missed \zs)
    -input: h<|> press <BS>
    -output: | (charactor 'h' is deleted)
    -
    -
    -the 'begin' 'end' pair write in
    -
    -
    -au FileType ruby     let b:AutoPairs = AutoPairsDefine({'\v(^|\W)\zsbegin': 'end//n'})
    -
    -
    -will be better, only auto pair when at start of line or follow non-word text
  • -
- -

TroubleShooting

- -
The script will remap keys ([{'"}]) <BS>,
-If auto pairs cannot work, use :imap ( to check if the map is corrected.
-The correct map should be <C-R>=AutoPairsInsert("\(")<CR>
-Or the plugin conflict with some other plugins.
-use command :call AutoPairsInit() to remap the keys.
- -
    -
  • How to insert parens purely

    - -

    There are 3 ways

    - -
      -
    1. use Ctrl-V ) to insert paren without trigger the plugin.

    2. - -
    3. use Alt-P to turn off the plugin.

    4. - -
    5. use DEL or x to delete the character insert by plugin.

    6. -
  • - -
  • Swedish Character Conflict

    - -

    Because AutoPairs uses Meta(Alt) key as shortcut, it is conflict with some Swedish character such as å. -To fix the issue, you need remap or disable the related shortcut.

  • -
- -

Known Issues

- -

Breaks ‘.’ - issue #3

- -
Description: After entering insert mode and inputing `[hello` then leave insert
-             mode by `<ESC>`. press '.' will insert 'hello' instead of '[hello]'.
-Reason: `[` actually equals `[]\<LEFT>` and \<LEFT> will break '.'.
-        After version 7.4.849, Vim implements new keyword <C-G>U to avoid the break
-Solution: Update Vim to 7.4.849+
- -

Contributors

- - - -

License

- -

Copyright © 2011-2013 Miao Jiang

- -

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/.vim_runtime/sources_non_forked/auto-pairs/doc/AutoPairs.txt b/.vim_runtime/sources_non_forked/auto-pairs/doc/AutoPairs.txt deleted file mode 100644 index afe589e..0000000 --- a/.vim_runtime/sources_non_forked/auto-pairs/doc/AutoPairs.txt +++ /dev/null @@ -1,356 +0,0 @@ -*AutoPairs.txt* Insert or delete brackets, parens, quotes in pair - -Author: jiangmiao -License: MIT -URL: https://github.com/jiangmiao/auto-pairs - -============================================================================== -CONTENTS *autopairs-contents* - - 1. Installation ............................. |autopairs-installation| - 2. Features ..................................... |autopairs-features| - 3. Fly Mode ..................................... |autopairs-fly-mode| - 4. Shortcuts ................................... |autopairs-shortcuts| - 5. Options ....................................... |autopairs-options| - 6. Troubleshooting ...................... |autopairs-troubleshooting| - -============================================================================== -1. Introduction *autopairs-installation* - -Copy `plugin/auto-pairs.vim` to `~/.vim/plugin`. - -Or if you are using `pathogen`: > - - git clone git://github.com/jiangmiao/auto-pairs.git ~/.vim/bundle/auto-pairs - -============================================================================== -2. Features *autopairs-features* - -Insert in pair: > - - input: [ - output: [|] - -Delete in pair: > - - input: foo[] - output: foo - -Insert new indented line after Return: > - - input: {|} (press at |) - output: { - | - } - -Insert spaces before closing characters, only for [], (), {}: > - - input: {|} (press at |) - output: { | } - - input: {|} (press foo} at |) - output: { foo }| - - input: '|' (press at |) - output: ' |' - -Skip ' when inside a word: > - - input: foo| (press ' at |) - output: foo' - -Skip closed bracket: > - - input: [] - output: [] - -Ignore auto pair when previous character is '\': > - - input: "\' - output: "\'" - -Fast Wrap: > - - input: |'hello' (press ( at |) - output: ('hello') - - Wrap string, only support c style string. - input: |'h\\el\'lo' (press ( at |) - output ('h\\ello\'') - - input: |[foo, bar()] (press ( at |) - output: ([foo, bar()]) - -Quick jump to closed pair: > - - input: - { - something;| - } - - (press } at |) - - output: - { - - }| - -Support ```, ''' and """: > - - input: - ''' - - output: - '''|''' - -Delete Repeated Pairs in one time: > - - input: """|""" (press at |) - output: | - - input: {{|}} (press at |) - output: | - - input: [[[[[[|]]]]]] (press at |) - output: | - -Fly Mode (|autopairs-flymode|): > - - input: if(a[3) - output: if(a[3])| (In Fly Mode) - output: if(a[3)]) (Without Fly Mode) - - input: - { - hello();| - world(); - } - - (press } at |) - - output: - { - hello(); - world(); - }| - - (then press at | to do backinsert) - output: - { - hello();}| - world(); - } - - See |Fly Mode| section for details - -============================================================================== -3. Fly Mode *autopairs-flymode* - -Fly Mode will always force closed-pair jumping instead of inserting. Only for -")", "}", "]". If jumps in mistake, you can use |g:AutoPairsBackInsert| (default -Key: ) to jump back and insert closed pair. - -The most situation maybe you want to insert single closed pair in the string, -eg: > - - ")" - -Fly Mode is DISABLED by default. To enable Fly Mode add following to your -'.vimrc': > - - let g:AutoPairsFlyMode = 1 - -Default Options: > - - let g:AutoPairsFlyMode = 0 - let g:AutoPairsShortcutBackInsert = '' - -============================================================================== -4. Shortcuts *autopairs-shortcuts* - -System Shortcuts: - : Insert new indented line after return if cursor in blank brackets - or quotes. - : Delete brackets in pair - : Toggle Autopairs (|g:AutoPairsShortcutToggle|) - : Fast Wrap (|g:AutoPairsShortcutFastWrap|) - : Jump to next closed pair (|g:AutoPairsShortcutJump|) - : BackInsert (|g:AutoPairsShortcutBackInsert|) - - - To rebind keys , or or in case of conflicts with - another keys: - - let g:AutoPairsShortcutToggle = '' - - If the key is empty string '', then the shortcut will be disabled. - -============================================================================== -5. Options *autopairs-options* - - *g:AutoPairs* -|g:AutoPairs| dict - -Default: > - {'(':')', '[':']', '{':'}',"'":"'",'"':'"', '`':'`'} - -Specifies which symbols should be automatically paired. - -To append new pairs without overwriting defaults, add values in your `.vimrc`.: - - let g:AutoPairs['<']='>' - -This example will enable matching of `<` with `>`. - - - *b:AutoPairs* -|b:AutoPairs| dict - -Default: |g:AutoPairs| - -Buffer level pairs set. - -You can set |b:AutoPairs| before |BufEnter|: > - - au Filetype FILETYPE let b:AutoPairs = {"(": ")"} - -This sets |AutoPairs| to only match for parenthesis for 'FILETYPE'. - - - - *g:AutoPairsShortcutToggle* -|g:AutoPairsShortcutToggle| string - -Default: - -The shortcut to toggle autopairs. - - - - *g:AutoPairsShortcutFastWrap* -|g:AutoPairsShortcutFastWrap| string - -Default: - -Fast wrap the word. All pairs will be considered as a block (including <>). - - (|)'hello' after fast wrap at |, the word will be ('hello') - (|) after fast wrap at |, the word will be () - - - - *g:AutoPairsShortcutJump* -|g:AutoPairsShortcutJump| string - -Default: - -Jump to the next closed pair. - - - *g:AutoPairsShortcutBackInsert* -|g:AutoPairsShortcutBackInsert| string - -Default: - -Work with |autopairs-flymode|, insert the key at the Fly Mode jumped position. - - - - *g:AutoPairsMapBS* -|g:AutoPairsMapBS| int - -Default: 1 - -Map to delete brackets and quotes in pair, executes: - - inoremap =AutoPairsDelete() - - - *g:AutoPairsMapCh* -|g:AutoPairsMapCh| int - -Default: 1 - -Map to delete brackets and quotes in pair. - - - *g:AutoPairsMapCR* -|g:AutoPairsMapCR| int - -Default: 1 - -Map to insert a new indented line if cursor in (|), {|} [|], '|', "|". -Executes: - - inoremap =AutoPairsReturn() - - - *g:AutoPairsCenterLine* -|g:AutoPairsCenterLine| int - -Default: 1 - -When |g:AutoPairsMapCR| is on, center current line after return if the line -is at the bottom 1/3 of the window. - - - *g:AutoPairsMapSpace* -|g:AutoPairsMapSpace| int - -Default: 1 - -Map to insert a space after the opening character and before the -closing one. - -Executes: - - inoremap =AutoPairsSpace() - - - *g:AutoPairsFlyMode* -|g:AutoPairsFlyMode| int - -Default: 0 - -Set it to 1 to enable |autopairs-flymode|. - - - *g:AutoPairsMultilineClose* -|g:AutoPairsMultilineClose| int - -Default: 1 - -When you press the key for the closing pair (e.g. `)`) it jumps past it. -If set to 1, then it'll jump to the next line, if there is only 'whitespace'. -If set to 0, then it'll only jump to a closing pair on the same line. - -============================================================================== -6. Troubleshooting *autopairs-troubleshooting* - -This plugin remaps keys `([{'"}]) ` - -If auto pairs cannot work, use |:imap| to check if the map is corrected. - -The correct map should be: > - - =AutoPairsInsert("\(") - -Or the plugin conflicts with some other plugins. Use command: > - - :call AutoPairsInit() to remap the keys. - ---- How to insert parens purely? --- - -There are 3 ways: - - 1. Use Ctrl-V ) to insert paren without trigger the plugin. - - 2. Use Alt-P to turn off the plugin. - - 3. Use DEL or x to delete the character insert by plugin. - ---- Swedish Character Conflict --- - -Because AutoPairs uses Meta(Alt) key as a shortcut, it conflicts with some -Swedish character such as å. To fix the issue, you need remap or disable the -related shortcut. diff --git a/.vim_runtime/sources_non_forked/auto-pairs/plugin/auto-pairs.vim b/.vim_runtime/sources_non_forked/auto-pairs/plugin/auto-pairs.vim deleted file mode 100644 index af5eb32..0000000 --- a/.vim_runtime/sources_non_forked/auto-pairs/plugin/auto-pairs.vim +++ /dev/null @@ -1,673 +0,0 @@ -" Insert or delete brackets, parens, quotes in pairs. -" Maintainer: JiangMiao -" Contributor: camthompson -" Last Change: 2019-02-02 -" Version: 2.0.0 -" Homepage: http://www.vim.org/scripts/script.php?script_id=3599 -" Repository: https://github.com/jiangmiao/auto-pairs -" License: MIT - -if exists('g:AutoPairsLoaded') || &cp - finish -end -let g:AutoPairsLoaded = 1 - -if !exists('g:AutoPairs') - let g:AutoPairs = {'(':')', '[':']', '{':'}',"'":"'",'"':'"', '```':'```', '"""':'"""', "'''":"'''", "`":"`"} -end - -" default pairs base on filetype -func! AutoPairsDefaultPairs() - if exists('b:autopairs_defaultpairs') - return b:autopairs_defaultpairs - end - let r = copy(g:AutoPairs) - let allPairs = { - \ 'vim': {'\v^\s*\zs"': ''}, - \ 'rust': {'\w\zs<': '>', '&\zs''': ''}, - \ 'php': {'//k]', '//k]'} - \ } - for [filetype, pairs] in items(allPairs) - if &filetype == filetype - for [open, close] in items(pairs) - let r[open] = close - endfor - end - endfor - let b:autopairs_defaultpairs = r - return r -endf - -if !exists('g:AutoPairsMapBS') - let g:AutoPairsMapBS = 1 -end - -" Map as the same BS -if !exists('g:AutoPairsMapCh') - let g:AutoPairsMapCh = 1 -end - -if !exists('g:AutoPairsMapCR') - let g:AutoPairsMapCR = 1 -end - -if !exists('g:AutoPairsWildClosedPair') - let g:AutoPairsWildClosedPair = '' -end - -if !exists('g:AutoPairsMapSpace') - let g:AutoPairsMapSpace = 1 -end - -if !exists('g:AutoPairsCenterLine') - let g:AutoPairsCenterLine = 1 -end - -if !exists('g:AutoPairsShortcutToggle') - let g:AutoPairsShortcutToggle = '' -end - -if !exists('g:AutoPairsShortcutFastWrap') - let g:AutoPairsShortcutFastWrap = '' -end - -if !exists('g:AutoPairsMoveCharacter') - let g:AutoPairsMoveCharacter = "()[]{}\"'" -end - -if !exists('g:AutoPairsShortcutJump') - let g:AutoPairsShortcutJump = '' -endif - -" Fly mode will for closed pair to jump to closed pair instead of insert. -" also support AutoPairsBackInsert to insert pairs where jumped. -if !exists('g:AutoPairsFlyMode') - let g:AutoPairsFlyMode = 0 -endif - -" When skipping the closed pair, look at the current and -" next line as well. -if !exists('g:AutoPairsMultilineClose') - let g:AutoPairsMultilineClose = 1 -endif - -" Work with Fly Mode, insert pair where jumped -if !exists('g:AutoPairsShortcutBackInsert') - let g:AutoPairsShortcutBackInsert = '' -endif - -if !exists('g:AutoPairsSmartQuotes') - let g:AutoPairsSmartQuotes = 1 -endif - -" 7.4.849 support U to avoid breaking '.' -" Issue talk: https://github.com/jiangmiao/auto-pairs/issues/3 -" Vim note: https://github.com/vim/vim/releases/tag/v7.4.849 -if v:version > 704 || v:version == 704 && has("patch849") - let s:Go = "\U" -else - let s:Go = "" -endif - -let s:Left = s:Go."\" -let s:Right = s:Go."\" - - - - -" unicode len -func! s:ulen(s) - return len(split(a:s, '\zs')) -endf - -func! s:left(s) - return repeat(s:Left, s:ulen(a:s)) -endf - -func! s:right(s) - return repeat(s:Right, s:ulen(a:s)) -endf - -func! s:delete(s) - return repeat("\", s:ulen(a:s)) -endf - -func! s:backspace(s) - return repeat("\", s:ulen(a:s)) -endf - -func! s:getline() - let line = getline('.') - let pos = col('.') - 1 - let before = strpart(line, 0, pos) - let after = strpart(line, pos) - let afterline = after - if g:AutoPairsMultilineClose - let n = line('$') - let i = line('.')+1 - while i <= n - let line = getline(i) - let after = after.' '.line - if !(line =~ '\v^\s*$') - break - end - let i = i+1 - endwhile - end - return [before, after, afterline] -endf - -" split text to two part -" returns [orig, text_before_open, open] -func! s:matchend(text, open) - let m = matchstr(a:text, '\V'.a:open.'\v$') - if m == "" - return [] - end - return [a:text, strpart(a:text, 0, len(a:text)-len(m)), m] -endf - -" returns [orig, close, text_after_close] -func! s:matchbegin(text, close) - let m = matchstr(a:text, '^\V'.a:close) - if m == "" - return [] - end - return [a:text, m, strpart(a:text, len(m), len(a:text)-len(m))] -endf - -" add or delete pairs base on g:AutoPairs -" AutoPairsDefine(addPairs:dict[, removeOpenPairList:list]) -" -" eg: -" au FileType html let b:AutoPairs = AutoPairsDefine({''}, ['{']) -" add pair and remove '{' for html file -func! AutoPairsDefine(pairs, ...) - let r = AutoPairsDefaultPairs() - if a:0 > 0 - for open in a:1 - unlet r[open] - endfor - end - for [open, close] in items(a:pairs) - let r[open] = close - endfor - return r -endf - -func! AutoPairsInsert(key) - if !b:autopairs_enabled - return a:key - end - - let b:autopairs_saved_pair = [a:key, getpos('.')] - - let [before, after, afterline] = s:getline() - - " Ignore auto close if prev character is \ - if before[-1:-1] == '\' - return a:key - end - - " check open pairs - for [open, close, opt] in b:AutoPairsList - let ms = s:matchend(before.a:key, open) - let m = matchstr(afterline, '^\v\s*\zs\V'.close) - if len(ms) > 0 - " process the open pair - - " remove inserted pair - " eg: if the pairs include < > and - " when

- -
- -

New Version Info

- -

Author’s Instructions

- -
    -
  • Derive a new MAJOR.MINOR.PATCH version number. Increment the:

    - -
      -
    • MAJOR version when you make incompatible API changes
    • -
    • MINOR version when you add functionality in a backwards-compatible manner
    • -
    • PATCH version when you make backwards-compatible bug fixes
    • -
  • - -
  • Update CHANGELOG.md, following the established pattern.

    - -

    Collaborator’s Instructions

  • - -
  • Review CHANGELOG.md, suggesting a different version number if necessary.

  • - -
  • After merge, tag the merge commit, e.g. git tag -a 3.1.4 -m "v3.1.4" && git push origin --tags

  • -
diff --git a/.vim_runtime/sources_non_forked/nerdtree/.gitignore b/.vim_runtime/sources_non_forked/nerdtree/.gitignore deleted file mode 100644 index 3698c0e..0000000 --- a/.vim_runtime/sources_non_forked/nerdtree/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -*~ -*.swp -tags diff --git a/.vim_runtime/sources_non_forked/nerdtree/.vintrc.yaml b/.vim_runtime/sources_non_forked/nerdtree/.vintrc.yaml deleted file mode 100644 index c44b6ab..0000000 --- a/.vim_runtime/sources_non_forked/nerdtree/.vintrc.yaml +++ /dev/null @@ -1,5 +0,0 @@ -cmdargs: - severity: style_problem - color: true - env: - neovim: false diff --git a/.vim_runtime/sources_non_forked/nerdtree/CHANGELOG.md b/.vim_runtime/sources_non_forked/nerdtree/CHANGELOG.md deleted file mode 100644 index fb12ed3..0000000 --- a/.vim_runtime/sources_non_forked/nerdtree/CHANGELOG.md +++ /dev/null @@ -1,389 +0,0 @@ -CHANGELOG.md

NERDTree Change Log

- - - -

6.8

- -
    -
  • .0: Allow concealed characters to show another character. (PhilRunninger) #1138

    - -

    6.7

  • - -
  • .15: Add curly braces to the list of characters to be escaped. (PhilRunninger) #1128

  • - -
  • .14: Use backward-compatible nerdtree#and() in one place that was missed. (PhilRunninger) #1134

  • - -
  • .13: cmd.exe /c start "" <filename> for windows default viewer support. (J. Altayó) #1130

  • - -
  • .12: Fixed a bug that caused the file-tree construction to slow down significantly. (Eugenij-W) #1126

  • - -
  • .11: Fix exception in NERDTreeFind (on windows OS and If the file is located in the root directory of the disk) (Eugenij-W) #1122

  • - -
  • .10: Do not consider the tree root to be “cascadable”. (lifecrisis) #1120

  • - -
  • .9: Force :NERDTreeFocus to allow events to be fired when switching windows. (PhilRunninger) #1118

  • - -
  • .8: Fix example code for the NERDTreeAddKeyMap() function. (PhilRunninger) #1116

  • - -
  • .7: Put '%' argument in bufname() for backwards compatibility. (PhilRunninger) #1105

  • - -
  • .6: If a file’s already open in the window, don’t edit it again. (PhilRunninger) #1103

  • - -
  • .5: Prevent unneeded tree creation in :NERDTreeToggle[VCS] <path> (PhilRunninger) #1101

  • - -
  • .4: Add missing calls to the shellescape() function (lifecrisis) #1099

  • - -
  • .3: Fix vsplit to not open empty buffers when opening previously closed file (AwkwardKore) #1098

  • - -
  • .2: Fix infinity loop (on winvim) in FindParentVCSRoot (Eugenij-W) #1095

  • - -
  • .1: File Move: Escape existing directory name when looking for open files. (PhilRunninger) #1094

  • - -
  • .0: Open the parent directory when revealing a non-existent file with :NERDTreeFind (bouk) #1090

    - -

    6.6

  • - -
  • .1: [add] How to install using dein.vim (kazukazuinaina) #1087

  • - -
  • .0: Add the ability to turn off directory arrows (PhilRunninger) #1085

    - -

    6.5

  • - -
  • .0: NERDTreeToggle <start-directory> always sets NERDTree root. (PhilRunninger) #1083

    - -

    6.4

  • - -
  • .6: NERDTreeFind shows expected message if file doesn’t exist e.g. with vim-startify (andys8). #1081

  • - -
  • .5: Ensure events are (or aren’t) being ignored correctly. (PhilRunninger) #1080

  • - -
  • .4: Prevent overwriting existing files/dirs on node move. (PhilRunninger) #1079

  • - -
  • .3: Fix regex that finds keyword for minimal menu. (PhilRunninger) #1075

  • - -
  • .2: Lint vimscript, fix errors and warnings, add CI job to review PRs (Caleb Maclennan) #1071

  • - -
  • .1: Ensure backward compatibility. v:t_func is not available before Vim 8.0 (Phil Runninger)

  • - -
  • .0: Allow use of function references as callbacks (HiPhish) #1067

    - -

    6.3

  • - -
  • .0: Add new command that behaves like NERDTreeToggle but defaults to the root of a VCS repository. (willfindlay) #1060

    - -

    6.2

  • - -
  • .1: Menu option, ‘copy path to clipboard’ is aware of VIM clipboard option (jhzn) #1056

  • - -
  • .0: Support tab-specific CWDs (PhilRunninger) #1032

    - -

    6.1

  • - -
  • .4: Add VIM built-in package management to read me file. (pesarkhobeee) #1049

  • - -
  • .3: Save/Set screen state also on WinLeave and WinEnter. (PhilRunninger) #1048

  • - -
  • .2: Wrap saveScreenState’s statements in a try-catch block. (PhilRunninger) #1047

  • - -
  • .1: Catch errors when trying to read CHANGELOG.md. (PhilRunninger) #1045

  • - -
  • .0: If file path doesn’t exist, :NERDTreeFind its parent directory instead. (PhilRunninger) #1043

    - -

    6.0

  • - -
  • .1: Reintroduce necessary variable mistakenly removed. (PhilRunninger) #1040

  • - -
  • .0: Make the behavior of window splits consistent (dragonxlwang, PhilRunninger) #1035

    - -

    5.3

  • - -
  • .3: Fix (p)ath not displaying in the minimal menu (tuzz) #1038

  • - -
  • .2: Enable events when closing NerdTree window. (PhilRunninger) #1037

  • - -
  • .1: Fix the e key mapping to use netrw if desired (PhilRunninger) #1031

  • - -
  • .0: Add file extension and size to sorting capabilities (PhilRunninger) #1029

    - -

    5.2

  • - -
  • .9: Suppress events for intermediate window/tab/buffer changes (PhilRunninger) #1026

  • - -
  • .8: Revert #1019 to fix nvim artifacts and flickering. (PhilRunninger) #1021

  • - -
  • .7: Use :mode only in neovim. MacVim still needs to use :redraw! (PhilRunninger) #1019

  • - -
  • .6: In CHANGELOG.md and PR template, make reference to PR a true HTML link. (PhilRunninger) #1017

  • - -
  • .5: Use :mode instead of :redraw! when updating menu. (PhilRunninger) #1016

  • - -
  • .4: When searching for root line num, stop at end of file. (PhilRunninger) #1015

  • - -
  • .3: Fix <CR> key map on the bookmark (lkebin) #1014

  • - -
  • .2: Make Enter work on the .. ( up a dir ) line (PhilRunninger) #1013

  • - -
  • .1: Fix nerdtree#version() on Windows. (PhilRunninger)

  • - -
  • .0: Expand functionality of <CR> mapping. (PhilRunninger) #1011

    - -

    5.1

  • - -
  • .3: Remove @mentions from PR template and change log. They weren’t working. (PhilRunninger) #1009

  • - -
  • .2: Fix NERDTree opening with the wrong size. (PhilRunninger) #1008

  • - -
  • .1: Update Changelog and create PR Template (PhilRunninger) #1007

  • - -
  • .0: Too many changes for one patch…

    - -
      -
    • Refresh a dir_node if the file wasn’t found in it, and look once more. (PhilRunninger) #1005
    • -
    • Add a “copy path to clipboard” menu option (PhilRunninger) #1002
    • -
    • Enable root refresh on “vim .” a different way than #999. (PhilRunninger) #1001
    • -
    • Fix refreshroot (PhilRunninger) #999
    • -
    • Change version check to look for 703 not 730 (vhalis) #994
    • -
    • Change minimum vim (PhilRunninger) #991
    • -
    • Allow multi-character DirArrows (PhilRunninger) #985
    • -
    • Remove redraw! while still clearing last message empty string. (PhilRunninger) #979
    • -
    • fix _initChildren function value set to numChildrenCached error (terryding77) #969
    • -
    • On Windows, do a case-insensitive comparison of paths. (PhilRunninger) #967
    • -
    • Remove the Please wait… DONE messages. (PhilRunninger) #966
    • -
    • Smarter delimiter default (PhilRunninger) #963
    • -
    • Update directory .vimdc readme example (spencerdcarlson) #961
    • -
    • Preview bookmarks (PhilRunninger) #956
    • -
    • Add new value to NERDTreeQuitOnOpen to close bookmark table (PhilRunninger) #955
    • -
    • Add an :EditBookmarks command to edit the bookmarks file (PhilRunninger) #954
    • -
    • Before copying, turn off &shellslash. Restore after copy is finished. (PhilRunninger) #952
    • -
    • Set a maximum window size when zooming. (PhilRunninger) #950
    • -
    • Confirm the wipeout of a unsaved buffer whose file has been renamed. (PhilRunninger) #949
    • -
    • Escape a backslash so it can be used in a key mapping. (PhilRunninger) #948
    • -
    • Add a NERDTreeMinimalMenu feature (tuzz) #938
    • -
    • fixed root path error for windows (zcodes) #935
    • -
    • Restore getDirChildren for use in nerdtree-project-plugin. (PhilRunninger) #929
    • -
    • Document NERDTreeNodeDelimiter #912 (PhilRunninger) #926
    • -
    • Allow modification of menu keybindings (Leandros) #923
    • -
    • Add two more disqualifications for isCascadable(). (PhilRunninger) #914
    • -
    • Allow highlighting more than one flag. (kristijanhusak) #908
    • -
    • Support sorting files and directories by modification time. (PhilRunninger) #901
    • -
    • Parse . and .. from path string with trailing slash. (PhilRunninger) #899
    • -
    • Force sort to recalculate the cached sortKey. (PhilRunninger) #898
    • -
    • Add NERDTreeRefreshRoot command (wgfm) #897
    • -
    • Call Resolve on the file’s path when calling :NERDTreeFind. (PhilRunninger) #896
    • -
    • Catch all errors, not just NERDTree errors. (PhilRunninger) #894
    • -
    • Fix typo in help file (lvoisin) #892
    • -
    • Make NERDTreeCreator set the 'nolist' option (lifecrisis) #889
    • -
    • Refresh buffers after m, m operation on a folder (PhilRunninger) #888
    • -
    • Use a better arg for FINDSTR when using the m,l command in Windows. (PhilRunninger) #887
    • -
    • Fix the / motions, which currently fail with cascades (lifecrisis) #886
    • -
    • Function “s:UI.getLineNum()” doesn’t always work on cascades. (lifecrisis) #882
    • -
    • NERDTreeCWD: reset CWD if changed by NERDTreeFocus (PhilRunninger) #878
    • -
    • Use tabnext instead of gt to allow users to remap gt. (PhilRunninger) #877
    • -
    • Do a case sensitive comparison of new/existing buffers. (PhilRunninger) #875
    • -
    • Fix opening sub-directories that have commas in their name. (PhilRunninger) #873
    • -
    • Add new command to open NERDTree in the root of a VCS repository. (PhilRunninger) #872
    • -
    • Make sure the path to the bookmarks file exists before writing it. (PhilRunninger) #871
    • -
    • Unzoom NERDTree when opening a file (PhilRunninger) #870
    • -
    • Support unusual characters in file and directory names (PhilRunninger) #868
    • -
    • Reword renamed-buffer prompt to be more clear (aflock) #867
    • -
    • Default to placing cursor on root when closing bookmark table (lifecrisis) #866
    • -
    • Fix issues with sorting of nodes (PhilRunninger) #856
    • -
    • Better OSX detection (bubba-h57) #853
    • -
    • Bugfix - ensure keymaps dictionary exists before using it (mnussbaum) #852
    • -
    • Decrease startup-time by avoiding linear-time iteration over key mappings (mnussbaum) #851
    • -
    • Add code to sort mappings in quickhelp (lifecrisis) #849
    • -
    • Use “:clearjumps” in new NERDTree windows (lifecrisis) #844
    • -
    • Like m-c did before, create parent directories if needed on m-m. (PhilRunninger) #840
    • -
    • BUGFIX: Repair a problem with the 'u' mapping. (lifecrisis) #838
    • -
    • Make the NERDTree buffer writable when rendering it. (PhilRunninger) #837
    • -
    • Code cleanup: Remove unsupported bookmark table mappings (lifecrisis) #835
    • -
    • Replace strcharpart() with substitute() for backward compatibility (bravestarr) #834
    • -
    • Fixed error unknown function strcharpart for older versions of Vim (hav4ik) #833
    • -
    • Clear output when NERDTree menu is aborted (lifecrisis) #832
    • -
    • Display a path with multi-byte characters correctly when it is truncated (bravestarr) #830
    • -
    • Support revealing file and executing file with xdg-open for Linux (ngnmhieu) #824
    • -
    • If node isn’t open, count children on disk before deleting. (PhilRunninger) #822
    • -
    • Add new variable g:NERDTreeRemoveFileCmd (kutsan) #816
    • -
    • Use a better check for existence of the NERDTree buffer. (PhilRunninger) #814
    • -
    • Fix focussing previous buffer when closing NERDTree (mrubli) #801
    • -
    • Update the docs for “NERDTreeStatusline” (lifecrisis) #796
    • -
    • BUGFIX: Unstable behavior in the “getPath()” method (lifecrisis) #795
    • -
    • Revert the bugfix from pull request #785 (lifecrisis) #794
    • -
    • BUGFIX: Allow “:NERDTreeFind” to discover hidden files (lifecrisis) #786
    • -
    • BUGFIX: Allow “:NERDTreeFind” to reveal new files (lifecrisis) #785
    • -
    • Add modelines (lifecrisis) #782
    • -
    • Change the type of completion used by NERDTreeFind (lifecrisis) #781
    • -
    • change NERDTreeFind with args (zhenyangze) #778
    • -
    • Style Choice: Using confirm() when deleting a bookmark (lifecrisis) #777
    • -
    • remove useless substitute when file =~# "/$" (skyblueee) #773
    • -
    • remove useless removeLeadingSpaces in _stripMarkup (skyblueee) #772
    • -
    • Make the “o” mapping consistent with “x” (lifecrisis) #769
    • -
    • Fix a problem with the “x” handler (lifecrisis) #768
    • -
    • Clean up the handler for the “x” mapping (lifecrisis) #767
    • -
    • Revert change to tab opening method (lifecrisis) #766
    • -
    • BUGFIX: Add back support for “b:NERDTreeRoot” (lifecrisis) #765
    • -
    • Fix broken “t” and “T” mappings, tabs now open at end (lifecrisis) #759
    • -
    • Update doc with already existing mapping variables (asnr) #699
    • -
    • Fix the broken g:NERDTreeBookmarksSort setting (lifecrisis) #696
    • -
    • Correct NERDTreeIgnore pattern in doc (cntoplolicon) #648
    • -
    • Remove empty segments when splitting path (sooth-sayer) #574
    • -
    • Suppress autocmds less agressively (wincent) #578 #691
    • -
    • Add an Issues template to ask for more info initially.
    • -
    • Fix markdown headers in readme (josephfrazier) #676
    • -
    • Don’t touch @o and @h registers when rendering
    • -
    • Fix bug with files and directories with dollar signs (alegen) #649
    • -
    • Reuse/reopen existing window trees where possible #244
    • -
    • Remove NERDTree.previousBuf()
    • -
    • Change color of arrow (Leeiio) #630
    • -
    • Improved a tip in README.markdown (ggicci) #628
    • -
    • Shorten delete confimration of empty directory to y (mikeperri) #530
    • -
    • Fix API call to open directory tree in window (devm33) #533
    • -
    • Change default arrows on non-Windows platforms (gwilk) #546
    • -
    • Update to README - combine cd and git clone (zwhitchcox) #584
    • -
    • Update to README - Tip: start NERDTree when vim starts (therealplato) #593
    • -
    • Escape filename when moving an open buffer (zacharyvoase) #595
    • -
    • Fixed incorrect :helptags command in README (curran) #619
    • -
    • Fixed incomplete escaping of folder arrows (adityanatraj) #548
    • -
    • Added NERDTreeCascadeSingleChildDir option (juanibiapina) #558
    • -
    • Replace strchars() with backward compatible workaround.
    • -
    • Add support for copy command in Windows (SkylerLipthay) #231
    • -
    • Fixed typo in README.markdown - :Helptags -> :helptags
    • -
    • Rename “primary” and “secondary” trees to “tab” and “window” trees.
    • -
    • Move a bunch of buffer level variables into the NERDTree and UI classes.
    • -
    • Display cascading dirs on one line to save vertical/horizontal space (matt-gardner: brainstorming/testing)
    • -
    • Remove the old style UI - Remove NERDTreeDirArrows option.
    • -
    • On windows default to + and ~ for expand/collapse directory symbols.
    • -
    • Lots more refactoring. Move a bunch of b: level vars into b:NERDTree and friends.
    • -
  • -
- -

5.0.0

- -
    -
  • Refactor the code significantly: - -
      -
    • Break the classes out into their own files.
    • -
    • Make the majority of the code OO - previously large parts were effectively a tangle of “global” methods.
    • -
  • -
  • Add an API to assign flags to nodes. This allows VCS plugins like https://github.com/Xuyuanp/nerdtree-git-plugin to exist. Thanks to Xuyuanp for helping design/test/build said API.
  • -
  • add scope argument to the key map API see :help NERDTreeAddKeyMap()
  • -
  • add magic [[dir]] and [[file]] flags to NERDTreeIgnore
  • -
  • add support for custom path filters. See :help NERDTreeAddPathFilter()
  • -
  • add path listener API. See :help NERDTreePathListenerAPI.
  • -
  • expand the fs menu functionality to list file properties (PhilRunninger, apbarrero, JESii)
  • -
  • make bookmarks work with ~ home shortcuts (hiberabyss)
  • -
  • show OSX specific fsmenu options in regular vim on mac (evindor)
  • -
  • make dir arrow icons configurable (PickRelated)
  • -
  • optimise node sorting performance when opening large dirs (vtsang)
  • -
  • make the root note render prettier by truncating it at a path slash (gcmt)
  • -
  • remove NERDChristmasTree option - its always christmas now
  • -
  • add “cascade” open and closing for dirs containing only another single dir. See :help NERDTreeCascadeOpenSingleChildDir (pendulm)
  • -
  • Many other fixes, doc updates and contributions from: actionshrimp, agrussellknives, alvan, AndrewRadev, cperl82 (many small fixes), devmanhinton, egalpin, franksort, gastropoda, handcraftedbits, kelaban, lucascaton, mixvin, pendulm, SchDen, shanesmith, staeff, stephenprater, toiffel, Twinside, WoLpH, xiaodili, zhangoose
  • -
- -

4.2.0

- -
    -
  • Add NERDTreeDirArrows option to make the UI use pretty arrow chars instead of the old +~| chars to define the tree structure (sickill)
  • -
  • shift the syntax highlighting out into its own syntax file (gnap)
  • -
  • add some mac specific options to the filesystem menu - for macvim only (andersonfreitas)
  • -
  • Add NERDTreeMinimalUI option to remove some non functional parts of the nerdtree ui (camthompson)
  • -
  • tweak the behaviour of :NERDTreeFind - see :help :NERDTreeFind for the new behaviour (benjamingeiger)
  • -
  • if no name is given to :Bookmark, make it default to the name of the target file/dir (minyoung)
  • -
  • use file completion when doing copying, create, and move operations (EvanDotPro)
  • -
  • lots of misc bug fixes from: AndrewRadev, Bogdanov, camthompson, kml, mathias, paddyoloughlin, scottstvnsn, sdewald, Vitaly, wycats, me RAWR!
  • -
- -

4.1.0

- -
    -
  • features:

    - -
      -
    • NERDTreeFind to reveal the node for the current buffer in the tree, see |NERDTreeFind|. This effectively merges the FindInNERDTree plugin (by Doug McInnes) into the script.
    • -
    • make NERDTreeQuitOnOpen apply to the t/T keymaps too. Thanks to Stefan Ritter and Rémi Prévost.
    • -
    • truncate the root node if wider than the tree window. Thanks to Victor Gonzalez.
    • -
  • - -
  • bugfixes:

    - -
      -
    • really fix window state restoring
    • -
    • fix some win32 path escaping issues. Thanks to Stephan Baumeister, Ricky, jfilip1024, and Chris Chambers.
    • -
  • -
- -

4.0.0

- -
    -
  • add a new programmable menu system (see :help NERDTreeMenu).
  • -
  • add new APIs to add menus/menu-items to the menu system as well as custom key mappings to the NERD tree buffer (see :help NERDTreeAPI).
  • -
  • removed the old API functions
  • -
  • added a mapping to maximize/restore the size of nerd tree window, thanks to Guillaume Duranceau for the patch. See :help NERDTree-A for details.
  • -
  • fix a bug where secondary nerd trees (netrw hijacked trees) and NERDTreeQuitOnOpen didnt play nicely, thanks to Curtis Harvey.
  • -
  • fix a bug where the script ignored directories whose name ended in a dot, thanks to Aggelos Orfanakos for the patch.
  • -
  • fix a bug when using the x mapping on the tree root, thanks to Bryan Venteicher for the patch.
  • -
  • fix a bug where the cursor position/window size of the nerd tree buffer wasnt being stored on closing the window, thanks to Richard Hart.
  • -
  • fix a bug where NERDTreeMirror would mirror the wrong tree
  • -
- -

3.1.1

- -
    -
  • fix a bug where a non-listed no-name buffer was getting created every time the tree windows was created, thanks to Derek Wyatt and owen1
  • -
  • make <CR> behave the same as the o mapping
  • -
  • some helptag fixes in the doc, thanks strull.
  • -
  • fix a bug when using :set nohidden and opening a file where the previous buf was modified. Thanks iElectric.
  • -
  • other minor fixes
  • -
- -

3.1.0

- -
    -
  • New features: - -
      -
    • add mappings to open files in a vsplit, see :help NERDTree-s and :help NERDTree-gs
    • -
    • make the statusline for the nerd tree window default to something hopefully more useful. See :help 'NERDTreeStatusline'
    • -
  • -
  • Bugfixes: - -
      -
    • make the hijack netrw functionality work when vim is started with vim <some dir> (thanks to Alf Mikula for the patch).
    • -
    • fix a bug where the CWD wasnt being changed for some operations even when NERDTreeChDirMode==2 (thanks to Lucas S. Buchala)
    • -
    • add -bar to all the nerd tree :commands so they can chain with other :commands (thanks to tpope)
    • -
    • fix bugs when ignorecase was set (thanks to nach)
    • -
    • fix a bug with the relative path code (thanks to nach)
    • -
    • fix a bug where doing a :cd would cause :NERDTreeToggle to fail (thanks nach)
    • -
  • -
- -

3.0.1

- -
    -
  • Bugfixes: - -
      -
    • fix bugs with :NERDTreeToggle and :NERDTreeMirror when 'hidden' was not set
    • -
    • fix a bug where :NERDTree <path> would fail if <path> was relative and didnt start with a ./ or ../ Thanks to James Kanze.
    • -
    • make the q mapping work with secondary (:e <dir> style) trees, thanks to jamessan
    • -
    • fix a bunch of small bugs with secondary trees
    • -
  • -
  • More insane refactoring.
  • -
- -

3.0.0

- -
    -
  • hijack netrw so that doing an :edit <directory> will put a NERD tree in the window rather than a netrw browser. See :help ‘NERDTreeHijackNetrw’
  • -
  • allow sharing of trees across tabs, see :help :NERDTreeMirror
  • -
  • remove “top” and “bottom” as valid settings for NERDTreeWinPos
  • -
  • change the '<tab>' mapping to 'i'
  • -
  • change the 'H' mapping to 'I'
  • -
  • lots of refactoring
  • -
diff --git a/.vim_runtime/sources_non_forked/nerdtree/LICENCE b/.vim_runtime/sources_non_forked/nerdtree/LICENCE deleted file mode 100644 index 8b1a9d8..0000000 --- a/.vim_runtime/sources_non_forked/nerdtree/LICENCE +++ /dev/null @@ -1,13 +0,0 @@ - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - Version 2, December 2004 - -Copyright (C) 2004 Sam Hocevar - -Everyone is permitted to copy and distribute verbatim or modified -copies of this license document, and changing it is allowed as long -as the name is changed. - - DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. You just DO WHAT THE FUCK YOU WANT TO. diff --git a/.vim_runtime/sources_non_forked/nerdtree/README.markdown b/.vim_runtime/sources_non_forked/nerdtree/README.markdown deleted file mode 100644 index ce7404c..0000000 --- a/.vim_runtime/sources_non_forked/nerdtree/README.markdown +++ /dev/null @@ -1,150 +0,0 @@ - -README.markdown

The NERDTree Vint

- -

Introduction

- -

The NERDTree is a file system explorer for the Vim editor. Using this plugin, -users can visually browse complex directory hierarchies, quickly open files for -reading or editing, and perform basic file system operations.

- -

This plugin can also be extended with custom mappings using a special API. The -details of this API and of other NERDTree features are described in the -included documentation.

- -

NERDTree Screenshot

- -

Installation

- -

Below are just some of the methods for installing NERDTree. Do not follow all of these instructions; just pick your favorite one. Other plugin managers exist, and NERDTree should install just fine with any of them.

- -

Vim 8+ packages

- -

If you are using VIM version 8 or higher you can use its built-in package management; see :help packages for more information. Just run these commands in your terminal:

- -
git clone https://github.com/preservim/nerdtree.git ~/.vim/pack/vendor/start/nerdtree
-vim -u NONE -c "helptags ~/.vim/pack/vendor/start/nerdtree/doc" -c q
- -

Otherwise, these are some of the several 3rd-party plugin managers you can choose from. Be sure you read the instructions for your chosen plugin, as there typically are additional steps you nee d to take.

- -

pathogen.vim

- -

In the terminal,

- -
git clone https://github.com/preservim/nerdtree.git ~/.vim/bundle/nerdtree
- -

In your vimrc,

- -
call pathogen#infect()
-syntax on
-filetype plugin indent on
- -

Then reload vim, run :helptags ~/.vim/bundle/nerdtree/doc/ or :Helptags.

- -

Vundle.vim

- -
call vundle#begin()
-Plugin 'preservim/nerdtree'
-call vundle#end()
- -

vim-plug

- -
call plug#begin()
-Plug 'preservim/nerdtree'
-call plug#end()
- -

dein.vim

- -
call dein#begin()
-call dein#add('preservim/nerdtree')
-call dein#end()
- -

apt-vim

- -
apt-vim install -y https://github.com/preservim/nerdtree.git
- -

F.A.Q. (here, and in the Wiki)

- -

Is there any support for git flags?

- -

Yes, install nerdtree-git-plugin.

- -
- -

Can I have the nerdtree on every tab automatically?

- -

Nope. If this is something you want then chances are you aren’t using tabs and -buffers as they were intended to be used. Read this -http://stackoverflow.com/questions/102384/using-vims-tabs-like-buffers

- -

If you are interested in this behaviour then consider vim-nerdtree-tabs

- -
- -

How can I open a NERDTree automatically when vim starts up?

- -

Stick this in your vimrc: autocmd vimenter * NERDTree

- -
- -

How can I open a NERDTree automatically when vim starts up if no files were specified?

- -

Stick this in your vimrc:

- -
autocmd StdinReadPre * let s:std_in=1
-autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif
- -

Note: Now start vim with plain vim, not vim .

- -
- -

What if I’m also opening a saved session, for example vim -S session_file.vim? I don’t want NERDTree to open in that scenario.

- -
autocmd StdinReadPre * let s:std_in=1
-autocmd VimEnter * if argc() == 0 && !exists("s:std_in") && v:this_session == "" | NERDTree | endif
- -
- -

How can I open NERDTree automatically when vim starts up on opening a directory?

- -
autocmd StdinReadPre * let s:std_in=1
-autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists("s:std_in") | exe 'NERDTree' argv()[0] | wincmd p | ene | exe 'cd '.argv()[0] | endif
- -

This window is tab-specific, meaning it’s used by all windows in the tab. This trick also prevents NERDTree from hiding when first selecting a file.

- -

Note: Executing vim ~/some-directory will open NERDTree and a new edit window. exe 'cd '.argv()[0] sets the pwd of the new edit window to ~/some-directory

- -
- -

How can I map a specific key or shortcut to open NERDTree?

- -

Stick this in your vimrc to open NERDTree with Ctrl+n (you can set whatever key you want):

- -
map <C-n> :NERDTreeToggle<CR>
- -
- -

How can I close vim if the only window left open is a NERDTree?

- -

Stick this in your vimrc:

- -
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
- -
- -

Can I have different highlighting for different file extensions?

- -

See here: https://github.com/preservim/nerdtree/issues/433#issuecomment-92590696

- -
- -

How can I change default arrows?

- -

Use these variables in your vimrc. Note that below are default arrow symbols

- -
let g:NERDTreeDirArrowExpandable = '▸'
-let g:NERDTreeDirArrowCollapsible = '▾'
- -

You can remove the arrows altogether by setting these variables to empty strings, as shown below. This will remove not only the arrows, but a single space following them, shifting the whole tree two character positions to the left.

- -
let g:NERDTreeDirArrowExpandable = ''
-let g:NERDTreeDirArrowCollapsible = ''
diff --git a/.vim_runtime/sources_non_forked/nerdtree/_config.yml b/.vim_runtime/sources_non_forked/nerdtree/_config.yml deleted file mode 100644 index c419263..0000000 --- a/.vim_runtime/sources_non_forked/nerdtree/_config.yml +++ /dev/null @@ -1 +0,0 @@ -theme: jekyll-theme-cayman \ No newline at end of file diff --git a/.vim_runtime/sources_non_forked/nerdtree/autoload/nerdtree.vim b/.vim_runtime/sources_non_forked/nerdtree/autoload/nerdtree.vim deleted file mode 100644 index d0785a4..0000000 --- a/.vim_runtime/sources_non_forked/nerdtree/autoload/nerdtree.vim +++ /dev/null @@ -1,259 +0,0 @@ -if exists('g:loaded_nerdtree_autoload') - finish -endif -let g:loaded_nerdtree_autoload = 1 - -let s:rootNERDTreePath = resolve(expand(':p:h:h')) - -"FUNCTION: nerdtree#version(...) {{{1 -" If any value is given as an argument, the entire line of text from the -" change log is shown for the current version; otherwise, only the version -" number is shown. -function! nerdtree#version(...) abort - let l:text = 'Unknown' - try - let l:changelog = readfile(join([s:rootNERDTreePath, 'CHANGELOG.md'], nerdtree#slash())) - let l:line = 0 - while l:line <= len(l:changelog) - if l:changelog[l:line] =~# '\d\+\.\d\+' - let l:text = substitute(l:changelog[l:line], '.*\(\d\+.\d\+\).*', '\1', '') - let l:text .= substitute(l:changelog[l:line+1], '^.\{-}\(\.\d\+\).\{-}:\(.*\)', a:0>0 ? '\1:\2' : '\1', '') - break - endif - let l:line += 1 - endwhile - catch - endtry - return l:text -endfunction - -" SECTION: General Functions {{{1 -"============================================================ - -"FUNCTION: nerdtree#slash() {{{2 -function! nerdtree#slash() abort - - if nerdtree#runningWindows() - if exists('+shellslash') && &shellslash - return '/' - endif - - return '\' - endif - - return '/' -endfunction - -"FUNCTION: nerdtree#and(x,y) {{{2 -" Implements and() function for Vim <= 7.4 -function! nerdtree#and(x,y) abort - if exists('*and') - return and(a:x, a:y) - else - let l:x = a:x - let l:y = a:y - let l:n = 0 - let l:result = 0 - while l:x > 0 && l:y > 0 - if (l:x % 2) && (l:y % 2) - let l:result += float2nr(pow(2, l:n)) - endif - let l:x = float2nr(l:x / 2) - let l:y = float2nr(l:y / 2) - let l:n += 1 - endwhile - return l:result - endif -endfunction - -"FUNCTION: nerdtree#checkForBrowse(dir) {{{2 -"inits a window tree in the current buffer if appropriate -function! nerdtree#checkForBrowse(dir) abort - if !isdirectory(a:dir) - return - endif - - if s:reuseWin(a:dir) - return - endif - - call g:NERDTreeCreator.CreateWindowTree(a:dir) -endfunction - -"FUNCTION: s:reuseWin(dir) {{{2 -"finds a NERDTree buffer with root of dir, and opens it. -function! s:reuseWin(dir) abort - let path = g:NERDTreePath.New(fnamemodify(a:dir, ':p')) - - for i in range(1, bufnr('$')) - unlet! nt - let nt = getbufvar(i, 'NERDTree') - if empty(nt) - continue - endif - - if nt.isWinTree() && nt.root.path.equals(path) - call nt.setPreviousBuf(bufnr('#')) - exec 'buffer ' . i - return 1 - endif - endfor - - return 0 -endfunction - -" FUNCTION: nerdtree#completeBookmarks(A,L,P) {{{2 -" completion function for the bookmark commands -function! nerdtree#completeBookmarks(A,L,P) abort - return filter(g:NERDTreeBookmark.BookmarkNames(), 'v:val =~# "^' . a:A . '"') -endfunction - -"FUNCTION: nerdtree#compareNodes(dir) {{{2 -function! nerdtree#compareNodes(n1, n2) abort - return a:n1.path.compareTo(a:n2.path) -endfunction - -"FUNCTION: nerdtree#compareNodesBySortKey(n1, n2) {{{2 -function! nerdtree#compareNodesBySortKey(n1, n2) abort - let sortKey1 = a:n1.path.getSortKey() - let sortKey2 = a:n2.path.getSortKey() - let i = 0 - while i < min([len(sortKey1), len(sortKey2)]) - " Compare chunks upto common length. - " If chunks have different type, the one which has - " integer type is the lesser. - if type(sortKey1[i]) ==# type(sortKey2[i]) - if sortKey1[i] <# sortKey2[i] - return - 1 - elseif sortKey1[i] ># sortKey2[i] - return 1 - endif - elseif type(sortKey1[i]) ==# v:t_number - return -1 - elseif type(sortKey2[i]) ==# v:t_number - return 1 - endif - let i = i + 1 - endwhile - - " Keys are identical upto common length. - " The key which has smaller chunks is the lesser one. - if len(sortKey1) < len(sortKey2) - return -1 - elseif len(sortKey1) > len(sortKey2) - return 1 - else - return 0 - endif -endfunction - -" FUNCTION: nerdtree#deprecated(func, [msg]) {{{2 -" Issue a deprecation warning for a:func. If a second arg is given, use this -" as the deprecation message -function! nerdtree#deprecated(func, ...) abort - let msg = a:0 ? a:func . ' ' . a:1 : a:func . ' is deprecated' - - if !exists('s:deprecationWarnings') - let s:deprecationWarnings = {} - endif - if !has_key(s:deprecationWarnings, a:func) - let s:deprecationWarnings[a:func] = 1 - echomsg msg - endif -endfunction - -" FUNCTION: nerdtree#exec(cmd, ignoreAll) {{{2 -" Same as :exec cmd but, if ignoreAll is TRUE, set eventignore=all for the duration -function! nerdtree#exec(cmd, ignoreAll) abort - let old_ei = &eventignore - if a:ignoreAll - set eventignore=all - endif - try - exec a:cmd - finally - let &eventignore = old_ei - endtry -endfunction - -" FUNCTION: nerdtree#has_opt(options, name) {{{2 -function! nerdtree#has_opt(options, name) abort - return has_key(a:options, a:name) && a:options[a:name] ==# 1 -endfunction - -" FUNCTION: nerdtree#loadClassFiles() {{{2 -function! nerdtree#loadClassFiles() abort - runtime lib/nerdtree/path.vim - runtime lib/nerdtree/menu_controller.vim - runtime lib/nerdtree/menu_item.vim - runtime lib/nerdtree/key_map.vim - runtime lib/nerdtree/bookmark.vim - runtime lib/nerdtree/tree_file_node.vim - runtime lib/nerdtree/tree_dir_node.vim - runtime lib/nerdtree/opener.vim - runtime lib/nerdtree/creator.vim - runtime lib/nerdtree/flag_set.vim - runtime lib/nerdtree/nerdtree.vim - runtime lib/nerdtree/ui.vim - runtime lib/nerdtree/event.vim - runtime lib/nerdtree/notifier.vim -endfunction - -" FUNCTION: nerdtree#postSourceActions() {{{2 -function! nerdtree#postSourceActions() abort - call g:NERDTreeBookmark.CacheBookmarks(1) - call nerdtree#ui_glue#createDefaultBindings() - - "load all nerdtree plugins - runtime! nerdtree_plugin/**/*.vim -endfunction - -"FUNCTION: nerdtree#runningWindows(dir) {{{2 -function! nerdtree#runningWindows() abort - return has('win16') || has('win32') || has('win64') -endfunction - -"FUNCTION: nerdtree#runningCygwin(dir) {{{2 -function! nerdtree#runningCygwin() abort - return has('win32unix') -endfunction - -" SECTION: View Functions {{{1 -"============================================================ - -"FUNCTION: nerdtree#echo {{{2 -"A wrapper for :echo. Appends 'NERDTree:' on the front of all messages -" -"Args: -"msg: the message to echo -function! nerdtree#echo(msg) abort - redraw - echomsg empty(a:msg) ? '' : ('NERDTree: ' . a:msg) -endfunction - -"FUNCTION: nerdtree#echoError {{{2 -"Wrapper for nerdtree#echo, sets the message type to errormsg for this message -"Args: -"msg: the message to echo -function! nerdtree#echoError(msg) abort - echohl errormsg - call nerdtree#echo(a:msg) - echohl normal -endfunction - -"FUNCTION: nerdtree#echoWarning {{{2 -"Wrapper for nerdtree#echo, sets the message type to warningmsg for this message -"Args: -"msg: the message to echo -function! nerdtree#echoWarning(msg) abort - echohl warningmsg - call nerdtree#echo(a:msg) - echohl normal -endfunction - -"FUNCTION: nerdtree#renderView {{{2 -function! nerdtree#renderView() abort - call b:NERDTree.render() -endfunction - -" vim: set sw=4 sts=4 et fdm=marker: diff --git a/.vim_runtime/sources_non_forked/nerdtree/doc/NERDTree.txt b/.vim_runtime/sources_non_forked/nerdtree/doc/NERDTree.txt deleted file mode 100644 index 6c11a94..0000000 --- a/.vim_runtime/sources_non_forked/nerdtree/doc/NERDTree.txt +++ /dev/null @@ -1,1528 +0,0 @@ -*NERDTree.txt* A tree explorer plugin to rule the Vim world. Bwahahaha!! - - # #### #### ~ - ### \/#|### |/#### ~ - d8 888 ##\/#/ \||/##/_/##/_# ~ - d88 888 ee ,e e, ### \/###|/ \/ # ### ~ - d88888 888 88b d88 88b ##_\_#\_\## | #/###_/_#### ~ - 888 888 888 888 , ## #### # \ #| / #### ##/## ~ - 888 888 888 "YeeP" __#_--###`. |{,###---###-~ ~ - \ % @% ~ - Y88b Y88 888'Y88 888 88e 888 88e \%@% 88P'888'Y88 ~ - Y88b Y8 888 ,'Y 888 888D 888 888b %o% P' 888 'Y 888,8, ,e e, ,e e, ~ - b Y88b Y 888C8 888 88" 888 8888D %@% 888 888 " d88 88b d88 88b ~ - 8b Y88b 888 ",d 888 b, 888 888P %@% 888 888 888 , 888 , ~ - 88b Y88b 888,d88 888 88b, 888 88" %@% 888 888 "YeeP" "YeeP" ~ - , -=-%{@%-^- _ ~ - ejm `} Reference Manual ~ - { ~ -============================================================================== -CONTENTS *NERDTree-contents* - - 1.Intro...................................|NERDTree| - 2.Functionality provided..................|NERDTreeFunctionality| - 2.1.Global commands...................|NERDTreeGlobalCommands| - 2.2.Bookmarks.........................|NERDTreeBookmarks| - 2.2.1.The bookmark table..........|NERDTreeBookmarkTable| - 2.2.2.Bookmark commands...........|NERDTreeBookmarkCommands| - 2.2.3.Invalid bookmarks...........|NERDTreeInvalidBookmarks| - 2.3.NERDTree mappings.................|NERDTreeMappings| - 2.4.The NERDTree menu.................|NERDTreeMenu| - 3.Settings................................|NERDTreeSettings| - 3.1.Settings summary..................|NERDTreeSettingsSummary| - 3.2.Settings details..................|NERDTreeSettingsDetails| - 4.The NERDTree API........................|NERDTreeAPI| - 4.1.Key map API.......................|NERDTreeKeymapAPI| - 4.2.Menu API..........................|NERDTreeMenuAPI| - 4.3.Menu API..........................|NERDTreeAddPathFilter()| - 4.4.Path Listener API.................|NERDTreePathListenerAPI| - 5.About...................................|NERDTreeAbout| - 6.License.................................|NERDTreeLicense| - -============================================================================== -1. Intro *NERDTree* - -What is this "NERDTree"?? - -The NERDTree allows you to explore your filesystem and to open files and -directories. It presents the filesystem to you in the form of a tree which you -manipulate with the keyboard and/or mouse. It also allows you to perform -simple filesystem operations. - -The following features and functionality are provided by the NERDTree: - * Files and directories are displayed in a hierarchical tree structure - * Different highlighting is provided for the following types of nodes: - * files - * directories - * sym-links - * windows .lnk files - * read-only files - * executable files - * Many (customisable) mappings are provided to manipulate the tree: - * Mappings to open/close/explore directory nodes - * Mappings to open files in new/existing windows/tabs - * Mappings to change the current root of the tree - * Mappings to navigate around the tree - * ... - * Directories and files can be bookmarked. - * Most NERDTree navigation can also be done with the mouse - * Filtering of tree content (can be toggled at runtime) - * custom file filters to prevent e.g. vim backup files being displayed - * optional displaying of hidden files (. files) - * files can be "turned off" so that only directories are displayed - * The position and size of the NERDTree window can be customised - * The order in which the nodes in the tree are listed can be customised. - * A model of your filesystem is created/maintained as you explore it. This - has several advantages: - * All filesystem information is cached and is only re-read on demand - * If you revisit a part of the tree that you left earlier in your - session, the directory nodes will be opened/closed as you left them - * The script remembers the cursor position and window position in the NERD - tree so you can toggle it off (or just close the tree window) and then - reopen it (with NERDTreeToggle) the NERDTree window will appear exactly - as you left it - * You can have a separate NERDTree for each tab, share trees across tabs, - or a mix of both. - * By default the script overrides the default file browser (netrw), so if - you :edit a directory a (slightly modified) NERDTree will appear in the - current window - * A programmable menu system is provided (simulates right clicking on a - node) - * one default menu plugin is provided to perform basic filesystem - operations (create/delete/move/copy files/directories) - * There's an API for adding your own keymappings - - -============================================================================== -2. Functionality provided *NERDTreeFunctionality* - ------------------------------------------------------------------------------- -2.1. Global Commands *NERDTreeGlobalCommands* - -:NERDTree [ | ] *:NERDTree* - Opens a fresh NERDTree. The root of the tree depends on the argument - given. There are 3 cases: If no argument is given, the current directory - will be used. If a directory is given, that will be used. If a bookmark - name is given, the corresponding directory will be used. For example: > - :NERDTree /home/marty/vim7/src - :NERDTree foo (foo is the name of a bookmark) -< -:NERDTreeVCS [ | ] *:NERDTreeVCS* - Like |:NERDTree|, but searches up the directory tree to find the top of - the version control system repository, and roots the NERDTree there. It - works with Git, Subversion, Mercurial, Bazaar, and Darcs repositories. A - couple of examples: > - :NERDTreeVCS /home/marty/nerdtree/doc (opens /home/marty/nerdtree) - :NERDTreeVCS (opens root of repository containing CWD) -< -:NERDTreeFromBookmark *:NERDTreeFromBookmark* - Opens a fresh NERDTree with the root initialized to the dir for - . The only reason to use this command over :NERDTree is for - the completion (which is for bookmarks rather than directories). - -:NERDTreeToggle [ | ] *:NERDTreeToggle* - If a NERDTree already exists for this tab, it is reopened and rendered - again. If or is given, the root of NERDTree - is set to that path. If no NERDTree exists for this tab then this command - acts the same as the |:NERDTree| command. - -:NERDTreeToggleVCS [ | ] *:NERDTreeToggleVCS* - Like |:NERDTreeToggle|, but searches up the directory tree to find the top of - the version control system repository, and roots the NERDTree there. It - works with Git, Subversion, Mercurial, Bazaar, and Darcs repositories. A - couple of examples: > - :NERDTreeToggleVCS /home/marty/nerdtree/doc (opens /home/marty/nerdtree) - :NERDTreeToggleVCS (opens root of repository containing CWD) - -:NERDTreeFocus *:NERDTreeFocus* - Opens (or reopens) the NERDTree if it is not currently visible; - otherwise, the cursor is moved to the already-open NERDTree. - -:NERDTreeMirror *:NERDTreeMirror* - Shares an existing NERDTree, from another tab, in the current tab. - Changes made to one tree are reflected in both as they are actually the - same buffer. - - If only one other NERDTree exists, that tree is automatically mirrored. - If more than one exists, the script will ask which tree to mirror. - -:NERDTreeClose *:NERDTreeClose* - Close the NERDTree in this tab. - -:NERDTreeFind [] *:NERDTreeFind* - Without the optional argument, find and reveal the file for the active - buffer in the NERDTree window. With the argument, find and - reveal the specified path. - - Focus will be shifted to the NERDTree window, and the cursor will be - placed on the tree node for the determined path. If a NERDTree for the - current tab does not exist, a new one will be initialized. - -:NERDTreeCWD *:NERDTreeCWD* - Change the NERDTree root to the current working directory. If no - NERDTree exists for this tab, a new one is opened. - -:NERDTreeRefreshRoot *:NERDTreeRefreshRoot* - Refreshes the NERDTree root node. - ------------------------------------------------------------------------------- -2.2. Bookmarks *NERDTreeBookmarks* - -Bookmarks in the NERDTree are a way to tag files or directories of interest. -For example, you could use bookmarks to tag all of your project directories. - ------------------------------------------------------------------------------- -2.2.1. The Bookmark Table *NERDTreeBookmarkTable* - -If the bookmark table is active (see |NERDTree-B| and -|NERDTreeShowBookmarks|), it will be rendered above the tree. You can double -click bookmarks or use the |NERDTree-o| mapping to activate them. See also, -|NERDTree-t| and |NERDTree-T| - ------------------------------------------------------------------------------- -2.2.2. Bookmark commands *NERDTreeBookmarkCommands* - -Note: The following commands are only available within the NERDTree buffer. - -:Bookmark [] - Bookmark the current node as . If there is already a - bookmark, it is overwritten. must not contain spaces. - If is not provided, it defaults to the file or directory name. - For directories, a trailing slash is present. - -:BookmarkToRoot - Make the directory corresponding to the new root. If a treenode - corresponding to is already cached somewhere in the tree then - the current tree will be used, otherwise a fresh tree will be opened. - Note that if points to a file then its parent will be used - instead. - -:RevealBookmark - If the node is cached under the current root then it will be revealed - (i.e. directory nodes above it will be opened) and the cursor will be - placed on it. - -:OpenBookmark - The Bookmark named is opened as if |NERDTree-o| was applied to - its entry in the Bookmark table. If the Bookmark points to a directory, - it is made the new root of the current NERDTree. If the Bookmark points - to a file, that file is opened for editing in another window. - -:ClearBookmarks [] - Remove all the given bookmarks. If no bookmarks are given then remove all - bookmarks on the current node. - -:ClearAllBookmarks - Remove all bookmarks. - -:EditBookmarks - Opens the bookmarks file for manual editing, e.g. for removing invalid - bookmarks. - -:ReadBookmarks - Re-read the bookmarks in the |NERDTreeBookmarksFile|. - -See also |:NERDTree| and |:NERDTreeFromBookmark|. - ------------------------------------------------------------------------------- -2.2.3. Invalid Bookmarks *NERDTreeInvalidBookmarks* - -If invalid bookmarks are detected, the script will issue an error message and -the invalid bookmarks will become unavailable for use. - -These bookmarks will still be stored in the bookmarks file (see -|NERDTreeBookmarksFile|), down at the bottom. There will always be a blank line -after the valid bookmarks but before the invalid ones. - -Each line in the bookmarks file represents one bookmark. The proper format is: - - -You can use the :EditBookmarks command to open the bookmarks file for editing. -After you have corrected any invalid bookmarks, either restart vim, or run -:ReadBookmarks from the NERDTree window. - ------------------------------------------------------------------------------- -2.3. NERDTree Mappings *NERDTreeMappings* - -Default~ -Key Description help-tag~ - -o........Open files, directories and bookmarks......................|NERDTree-o| -go.......Open selected file, but leave cursor in the NERDTree......|NERDTree-go| - Open selected bookmark dir in current NERDTree -t........Open selected node/bookmark in a new tab...................|NERDTree-t| -T........Same as 't' but keep the focus on the current tab..........|NERDTree-T| -i........Open selected file in a split window.......................|NERDTree-i| -gi.......Same as i, but leave the cursor on the NERDTree...........|NERDTree-gi| -s........Open selected file in a new vsplit.........................|NERDTree-s| -gs.......Same as s, but leave the cursor on the NERDTree...........|NERDTree-gs| -.....User-definable custom open action.......................|NERDTree-| -O........Recursively open the selected directory....................|NERDTree-O| -x........Close the current nodes parent.............................|NERDTree-x| -X........Recursively close all children of the current node.........|NERDTree-X| -e........Edit the current dir.......................................|NERDTree-e| - -double-click....same as |NERDTree-o|. -middle-click....same as |NERDTree-i| for files, and |NERDTree-e| for dirs. - -D........Delete the current bookmark ...............................|NERDTree-D| - -P........Jump to the root node......................................|NERDTree-P| -p........Jump to current nodes parent...............................|NERDTree-p| -K........Jump up inside directories at the current tree depth.......|NERDTree-K| -J........Jump down inside directories at the current tree depth.....|NERDTree-J| -....Jump down to next sibling of the current directory.......|NERDTree-C-J| -....Jump up to previous sibling of the current directory.....|NERDTree-C-K| - -C........Change the tree root to the selected dir...................|NERDTree-C| -u........Move the tree root up one directory........................|NERDTree-u| -U........Same as 'u' except the old root node is left open..........|NERDTree-U| -r........Recursively refresh the current directory..................|NERDTree-r| -R........Recursively refresh the current root.......................|NERDTree-R| -m........Display the NERDTree menu..................................|NERDTree-m| -cd.......Change the CWD to the dir of the selected node............|NERDTree-cd| -CD.......Change tree root to the CWD...............................|NERDTree-CD| - -I........Toggle whether hidden files displayed......................|NERDTree-I| -f........Toggle whether the file filters are used...................|NERDTree-f| -F........Toggle whether files are displayed.........................|NERDTree-F| -B........Toggle whether the bookmark table is displayed.............|NERDTree-B| - -q........Close the NERDTree window..................................|NERDTree-q| -A........Zoom (maximize/minimize) the NERDTree window...............|NERDTree-A| -?........Toggle the display of the quick help.......................|NERDTree-?| - ------------------------------------------------------------------------------- - *NERDTree-o* -Default key: o -Map setting: NERDTreeMapActivateNode -Applies to: files and directories. - -If a file node is selected, it is opened in the previous window. - -If a directory is selected it is opened or closed depending on its current -state. - -If a bookmark that links to a directory is selected then that directory -becomes the new root. - -If a bookmark that links to a file is selected then that file is opened in the -previous window. - ------------------------------------------------------------------------------- - *NERDTree-go* -Default key: go -Map setting: NERDTreeMapPreview -Applies to: files. - -If a file node or a bookmark that links to a file is selected, it is opened in -the previous window, but the cursor does not move. - -If a bookmark that links to a directory is selected, that directory is found -in the current NERDTree. If the directory couldn't be found, a new NERDTree is -created. - -The default key combo for this mapping is "g" + NERDTreeMapActivateNode (see -|NERDTree-o|). - ------------------------------------------------------------------------------- - *NERDTree-t* -Default key: t -Map setting: *NERDTreeMapOpenInTab* -Applies to: files and directories. - -Opens the selected file in a new tab. If a directory is selected, a fresh -NERDTree for that directory is opened in a new tab. - -If a bookmark which points to a directory is selected, open a NERDTree for -that directory in a new tab. If the bookmark points to a file, open that file -in a new tab. - ------------------------------------------------------------------------------- - *NERDTree-T* -Default key: T -Map setting: *NERDTreeMapOpenInTabSilent* -Applies to: files and directories. - -The same as |NERDTree-t| except that the focus is kept in the current tab. - ------------------------------------------------------------------------------- - *NERDTree-i* -Default key: i -Map setting: *NERDTreeMapOpenSplit* -Applies to: files. - -Opens the selected file in a new split window and puts the cursor in the new -window. - ------------------------------------------------------------------------------- - *NERDTree-gi* -Default key: gi -Map setting: *NERDTreeMapPreviewSplit* -Applies to: files. - -The same as |NERDTree-i| except that the cursor is not moved. - -The default key combo for this mapping is "g" + NERDTreeMapOpenSplit (see -|NERDTree-i|). - ------------------------------------------------------------------------------- - *NERDTree-s* -Default key: s -Map setting: *NERDTreeMapOpenVSplit* -Applies to: files. - -Opens the selected file in a new vertically split window and puts the cursor -in the new window. - ------------------------------------------------------------------------------- - *NERDTree-gs* -Default key: gs -Map setting: *NERDTreeMapPreviewVSplit* -Applies to: files. - -The same as |NERDTree-s| except that the cursor is not moved. - -The default key combo for this mapping is "g" + NERDTreeMapOpenVSplit (see -|NERDTree-s|). - ------------------------------------------------------------------------------- - *NERDTree-* -Default key: -Map setting: *NERDTreeMapCustomOpen* -Applies to: files, directories, and bookmarks - -Performs a customized open action on the selected node. This allows the user -to define an action that behaves differently from any of the standard -keys. See |NERDTreeCustomOpenArgs| for more details. ------------------------------------------------------------------------------- - *NERDTree-O* -Default key: O -Map setting: *NERDTreeMapOpenRecursively* -Applies to: directories. - -Recursively opens the selected directory. - -All files and directories are cached, but if a directory would not be -displayed due to file filters (see |NERDTreeIgnore| |NERDTree-f|) or the -hidden file filter (see |NERDTreeShowHidden|) then its contents are not -cached. This is handy, especially if you have .svn directories. - ------------------------------------------------------------------------------- - *NERDTree-x* -Default key: x -Map setting: *NERDTreeMapCloseDir* -Applies to: files and directories. - -Closes the parent of the selected node. - ------------------------------------------------------------------------------- - *NERDTree-X* -Default key: X -Map setting: *NERDTreeMapCloseChildren* -Applies to: directories. - -Recursively closes all children of the selected directory. - -Tip: To quickly "reset" the tree, use |NERDTree-P| with this mapping. - ------------------------------------------------------------------------------- - *NERDTree-e* -Default key: e -Map setting: *NERDTreeMapOpenExpl* -Applies to: files and directories. - -|:edit|s the selected directory, or the selected file's directory. This could -result in a NERDTree or a netrw being opened, depending on -|NERDTreeHijackNetrw|. - ------------------------------------------------------------------------------- - *NERDTree-D* -Default key: D -Map setting: *NERDTreeMapDeleteBookmark* -Applies to: lines in the bookmarks table - -Deletes the currently selected bookmark. - ------------------------------------------------------------------------------- - *NERDTree-P* -Default key: P -Map setting: *NERDTreeMapJumpRoot* -Applies to: no restrictions. - -Jump to the tree root. - ------------------------------------------------------------------------------- - *NERDTree-p* -Default key: p -Map setting: *NERDTreeMapJumpParent* -Applies to: files and directories. - -Jump to the parent node of the selected node. - ------------------------------------------------------------------------------- - *NERDTree-K* -Default key: K -Map setting: *NERDTreeMapJumpFirstChild* -Applies to: files and directories. - -Jump to the first child of the current nodes parent. - -If the cursor is already on the first node then do the following: - * loop back thru the siblings of the current nodes parent until we find an - open dir with children - * go to the first child of that node - ------------------------------------------------------------------------------- - *NERDTree-J* -Default key: J -Map setting: *NERDTreeMapJumpLastChild* -Applies to: files and directories. - -Jump to the last child of the current nodes parent. - -If the cursor is already on the last node then do the following: - * loop forward thru the siblings of the current nodes parent until we find - an open dir with children - * go to the last child of that node - ------------------------------------------------------------------------------- - *NERDTree-C-J* -Default key: -Map setting: *NERDTreeMapJumpNextSibling* -Applies to: files and directories. - -Jump to the next sibling of the selected node. - ------------------------------------------------------------------------------- - *NERDTree-C-K* -Default key: -Map setting: *NERDTreeMapJumpPrevSibling* -Applies to: files and directories. - -Jump to the previous sibling of the selected node. - ------------------------------------------------------------------------------- - *NERDTree-C* -Default key: C -Map setting: *NERDTreeMapChangeRoot* -Applies to: files and directories. - -Make the selected directory node the new tree root. If a file is selected, its -parent is used. - ------------------------------------------------------------------------------- - *NERDTree-u* -Default key: u -Map setting: *NERDTreeMapUpdir* -Applies to: no restrictions. - -Move the tree root up a dir (like doing a "cd .."). - ------------------------------------------------------------------------------- - *NERDTree-U* -Default key: U -Map setting: *NERDTreeMapUpdirKeepOpen* -Applies to: no restrictions. - -Like |NERDTree-u| except that the old tree root is kept open. - ------------------------------------------------------------------------------- - *NERDTree-r* -Default key: r -Map setting: *NERDTreeMapRefresh* -Applies to: files and directories. - -If a dir is selected, recursively refresh that dir, i.e. scan the filesystem -for changes and represent them in the tree. - -If a file node is selected then the above is done on it's parent. - ------------------------------------------------------------------------------- - *NERDTree-R* -Default key: R -Map setting: *NERDTreeMapRefreshRoot* -Applies to: no restrictions. - -Recursively refresh the tree root. - ------------------------------------------------------------------------------- - *NERDTree-m* -Default key: m -Map setting: *NERDTreeMapMenu* -Applies to: files and directories. - -Display the NERDTree menu. See |NERDTreeMenu| for details. - ------------------------------------------------------------------------------- - *NERDTree-cd* -Default key: cd -Map setting: *NERDTreeMapChdir* -Applies to: files and directories. - -Change Vim's current working directory to that of the selected node. - ------------------------------------------------------------------------------- - *NERDTree-CD* -Default key: CD -Map setting: *NERDTreeMapCWD* -Applies to: no restrictions. - -Change the NERDTree root to Vim's current working directory. - ------------------------------------------------------------------------------- - *NERDTree-I* -Default key: I -Map setting: *NERDTreeMapToggleHidden* -Applies to: no restrictions. - -Toggles whether hidden files (i.e. "dot files") are displayed. - ------------------------------------------------------------------------------- - *NERDTree-f* -Default key: f -Map setting: *NERDTreeMapToggleFilters* -Applies to: no restrictions. - -Toggles whether file filters are used. See |NERDTreeIgnore| for details. - ------------------------------------------------------------------------------- - *NERDTree-F* -Default key: F -Map setting: *NERDTreeMapToggleFiles* -Applies to: no restrictions. - -Toggles whether file nodes are displayed. - ------------------------------------------------------------------------------- - *NERDTree-B* -Default key: B -Map setting: *NERDTreeMapToggleBookmarks* -Applies to: no restrictions. - -Toggles whether the bookmarks table is displayed. - ------------------------------------------------------------------------------- - *NERDTree-q* -Default key: q -Map setting: *NERDTreeMapQuit* -Applies to: no restrictions. - -Closes the NERDTree window. - ------------------------------------------------------------------------------- - *NERDTree-A* -Default key: A -Map setting: *NERDTreeMapToggleZoom* -Applies to: no restrictions. - -Maximize (zoom) and minimize the NERDTree window. - ------------------------------------------------------------------------------- - *NERDTree-?* -Default key: ? -Map setting: *NERDTreeMapHelp* -Applies to: no restrictions. - -Toggles whether the quickhelp is displayed. - ------------------------------------------------------------------------------- - 2.3. The NERDTree menu *NERDTreeMenu* - -The NERDTree has a menu that can be programmed via the an API (see -|NERDTreeMenuAPI|). The idea is to simulate the "right click" menus that most -file explorers have. - -The script comes with two default menu plugins: exec_menuitem.vim and -fs_menu.vim. fs_menu.vim adds some basic filesystem operations to the menu for -creating/deleting/moving/copying files and dirs. exec_menuitem.vim provides a -menu item to execute executable files. - -Related tags: |NERDTree-m| |NERDTreeApi| - ------------------------------------------------------------------------------- - *NERDTreeMenu-j* -Default key: j -Map option: *NERDTreeMenuDown* -Applies to: The NERDTree menu. - -Moves the cursor down. - ------------------------------------------------------------------------------- - *NERDTreeMenu-k* -Default key: k -Map option: *NERDTreeMenuUp* -Applies to: The NERDTree menu. - -Moves the cursor up. - -============================================================================== -3. Customisation *NERDTreeSettings* - - ------------------------------------------------------------------------------- -3.1. Customisation summary *NERDTreeSettingsSummary* - -The plugin provides the following settings that can customise the behaviour -the NERDTree. These settings should be set in your vimrc, using `:let`. - -|loaded_nerd_tree| Turns off the script. - -|NERDTreeAutoCenter| Controls whether the NERDTree window centers - when the cursor moves within a specified - distance to the top/bottom of the window. - -|NERDTreeAutoCenterThreshold| Controls the sensitivity of autocentering. - -|NERDTreeCaseSensitiveSort| Tells the NERDTree whether to be case - sensitive or not when sorting nodes. - -|NERDTreeNaturalSort| Tells the NERDTree whether to use natural sort - order or not when sorting nodes. - -|NERDTreeSortHiddenFirst| Tells the NERDTree whether to take the dot at - the beginning of the hidden file names into - account when sorting nodes. - -|NERDTreeChDirMode| Tells the NERDTree if/when it should change - vim's current working directory. - -|NERDTreeHighlightCursorline| Tell the NERDTree whether to highlight the - current cursor line. - -|NERDTreeHijackNetrw| Tell the NERDTree whether to replace the netrw - autocommands for exploring local directories. - -|NERDTreeIgnore| Tells the NERDTree which files to ignore. - -|NERDTreeRespectWildIgnore| Tells the NERDTree to respect `'wildignore'`. - -|NERDTreeBookmarksFile| Where the bookmarks are stored. - -|NERDTreeBookmarksSort| Control how the Bookmark table is sorted. - -|NERDTreeMarkBookmarks| Render bookmarked nodes with markers. - -|NERDTreeMouseMode| Manage the interpretation of mouse clicks. - -|NERDTreeQuitOnOpen| Closes the tree window or bookmark table after - opening a file. - -|NERDTreeShowBookmarks| Tells the NERDTree whether to display the - bookmarks table on startup. - -|NERDTreeShowFiles| Tells the NERDTree whether to display files in - the tree on startup. - -|NERDTreeShowHidden| Tells the NERDTree whether to display hidden - files on startup. - -|NERDTreeShowLineNumbers| Tells the NERDTree whether to display line - numbers in the tree window. - -|NERDTreeSortOrder| Tell the NERDTree how to sort the nodes in the - tree. - -|NERDTreeStatusline| Set a statusline for NERDTree windows. - -|NERDTreeWinPos| Tells the script where to put the NERDTree - window. - -|NERDTreeWinSize| Sets the window size when the NERDTree is - opened. - -|NERDTreeWinSizeMax| Sets the maximum window size when the NERDTree - is zoomed. - -|NERDTreeMinimalUI| Disables display of the 'Bookmarks' label and - 'Press ? for help' text. - -|NERDTreeMinimalMenu| Use a compact menu that fits on a single line - for adding, copying, deleting, etc - -|NERDTreeCascadeSingleChildDir| - Collapses on the same line directories that have - only one child directory. - -|NERDTreeCascadeOpenSingleChildDir| - Cascade open while selected directory has only - one child that also is a directory. - -|NERDTreeAutoDeleteBuffer| Tells the NERDTree to automatically remove a - buffer when a file is being deleted or renamed - via a context menu command. - -|NERDTreeCreatePrefix| Specify a prefix to be used when creating the - NERDTree window. - -|NERDTreeRemoveFileCmd| Specify a custom shell command to be used when - deleting files. Note that it should include one - space character at the end of the command and it - applies only to files. - -|NERDTreeRemoveDirCmd| Specify a custom shell command to be used when - deleting directories. Note that it should - include one space character at the end of the - command and it applies only to directories. - -|NERDTreeDirArrowCollapsible| These characters indicate when a directory is -|NERDTreeDirArrowExpandable| either collapsible or expandable. - -|NERDTreeNodeDelimiter| A single character that is used to separate the - file or directory name from the rest of the - characters on the line of text. - -|NERDTreeCustomOpenArgs| A dictionary with values that control how a node - is opened with the |NERDTree-| key. - ------------------------------------------------------------------------------- -3.2. Customisation details *NERDTreeSettingsDetails* - -To enable any of the below settings you should put an appropriate > - let = - - let loaded_nerd_tree=1 -< ------------------------------------------------------------------------------- - *NERDTreeAutoCenter* -Values: 0 or 1. -Default: 1 - -If set to 1, the NERDTree window will center around the cursor if it moves to -within |NERDTreeAutoCenterThreshold| lines of the top/bottom of the window. - -This is ONLY done in response to tree navigation mappings, -i.e. |NERDTree-J| |NERDTree-K| |NERDTree-C-J| |NERDTree-C-K| |NERDTree-p| -|NERDTree-P| - -The centering is done with a |zz| operation. - ------------------------------------------------------------------------------- - *NERDTreeAutoCenterThreshold* -Values: Any natural number. -Default: 3 - -This setting controls the "sensitivity" of the NERDTree auto centering. See -|NERDTreeAutoCenter| for details. - ------------------------------------------------------------------------------- - *NERDTreeCaseSensitiveSort* -Values: 0 or 1. -Default: 0. - -By default the NERDTree does not sort nodes case sensitively, i.e. nodes -could appear like this: > - bar.c - Baz.c - blarg.c - boner.c - Foo.c -< -But, if you set this setting to 1 then the case of the nodes will be taken -into account. The above nodes would then be sorted like this: > - Baz.c - Foo.c - bar.c - blarg.c - boner.c -< ------------------------------------------------------------------------------- - *NERDTreeNaturalSort* -Values: 0 or 1. -Default: 0. - -By default the NERDTree does not sort nodes in natural sort order, i.e. nodes -could appear like this: > - z1.txt - z10.txt - z100.txt - z11.txt - z110.txt - z2.txt - z20.txt - z3.txt -< -But if you set this setting to 1 then the natural sort order will be used. The -above nodes would then be sorted like this: > - z1.txt - z2.txt - z3.txt - z10.txt - z11.txt - z20.txt - z100.txt - z110.txt -< ------------------------------------------------------------------------------- - *NERDTreeUseTCD* -Values: 0 or 1. -Default: 0. - -By default, NERDTree will use the `:cd` command to change the current working -directory. If this setting is turned on, and the `:tcd` command is available, it -will be used instead. - ------------------------------------------------------------------------------- - *NERDTreeChDirMode* -Values: 0, 1, 2, or 3. -Default: 0. - -Use this setting to tell the script when (if at all) to change the current -working directory (CWD) for vim. - -If it is set to 0 then the CWD is never changed by the NERDTree. - -If set to 1 then the CWD is changed when the NERDTree is first loaded to the -directory it is initialized in. For example, if you start the NERDTree with > - :NERDTree /home/marty/foobar -< -then the CWD will be changed to /home/marty/foobar and will not be changed -again unless you init another NERDTree with a similar command. - -If the setting is set to 2 then it behaves the same as if set to 1 except that -the CWD is changed whenever the tree root is changed. For example, if the CWD -is /home/marty/foobar and you make the node for /home/marty/foobar/baz the new -root then the CWD will become /home/marty/foobar/baz. - -If the set to 3, then it behaves the same as if set to 2, and the CWD is -changed whenever changing tabs to whatever the tree root is on that tab. - ------------------------------------------------------------------------------- - *NERDTreeHighlightCursorline* -Values: 0 or 1. -Default: 1. - -If set to 1, the current cursor line in the NERDTree buffer will be -highlighted. This is done using the `'cursorline'` Vim option. - ------------------------------------------------------------------------------- - *NERDTreeHijackNetrw* -Values: 0 or 1. -Default: 1. - -If set to 1, doing a > - :edit -< -will open up a window level NERDTree instead of a netrw in the target window. - -Window level trees behaves slightly different from a regular trees in the -following respects: - 1. 'o' will open the selected file in the same window as the tree, - replacing it. - 2. you can have one tree per window - instead of per tab. - ------------------------------------------------------------------------------- - *NERDTreeIgnore* -Values: a list of regular expressions. -Default: ['\~$']. - -This setting is used to specify which files the NERDTree should ignore. It -must be a list of regular expressions. When the NERDTree is rendered, any -files/dirs that match any of the regex's in NERDTreeIgnore won't be -displayed. - -For example if you put the following line in your vimrc: > - let NERDTreeIgnore=['\.vim$', '\~$'] -< -then all files ending in .vim or ~ will be ignored. - -There are 2 magic flags that can be appended to the end of each regular -expression to specify that the regex should match only files or only dirs. -These flags are "[[dir]]" and "[[file]]". Example: > - let NERDTreeIgnore=['\.d$[[dir]]', '\.o$[[file]]'] -< -This will cause all dirs ending in ".d" to be ignored and all files ending in -".o" to be ignored. - -Note: to tell the NERDTree not to ignore any files you must use the following -line: > - let NERDTreeIgnore=[] -< -The file filters can be turned on and off dynamically with the |NERDTree-f| -mapping. - ------------------------------------------------------------------------------- - *NERDTreeRespectWildIgnore* -Values: 0 or 1. -Default: 0. - -If set to 1, the `'wildignore'` setting is respected. - ------------------------------------------------------------------------------- - *NERDTreeBookmarksFile* -Values: a path -Default: $HOME/.NERDTreeBookmarks - -This is where bookmarks are saved. See |NERDTreeBookmarkCommands|. - ------------------------------------------------------------------------------- - *NERDTreeBookmarksSort* -Values: 0, 1, or 2 -Default: 1 - -This setting controls the method by which the list of user bookmarks is -sorted. When sorted, bookmarks will render in alphabetical order by name. - -If set to 0, the bookmarks list is not sorted. -If set to 1, the bookmarks list is sorted in a case-insensitive manner. -If set to 2, the bookmarks list is sorted in a case-sensitive manner. - ------------------------------------------------------------------------------- - *NERDTreeMarkBookmarks* -Values: 0 or 1 -Default: 1 - -If set to 1, Bookmarks will be specially marked whenever the NERDTree is -rendered. Users of the |NERDTreeMinimalUI| setting may prefer to disable -this setting for even less visual clutter. - ------------------------------------------------------------------------------- - *NERDTreeMouseMode* -Values: 1, 2 or 3. -Default: 1. - -If set to 1 then a double click on a node is required to open it. -If set to 2 then a single click will open directory nodes, while a double -click will still be required for file nodes. -If set to 3 then a single click will open any node. - -Note: a double click anywhere on a line that a tree node is on will -activate it, but all single-click activations must be done on name of the node -itself. For example, if you have the following node: > - | | |-application.rb -< -then (to single click activate it) you must click somewhere in -'application.rb'. - ------------------------------------------------------------------------------- - *NERDTreeQuitOnOpen* -Values: 0,1,2 or 3. -Default: 0 - -This setting governs whether the NERDTree window or the bookmarks table closes -after opening a file with the |NERDTree-o|, |NERDTree-i|, |NERDTree-t| and -|NERDTree-T| mappings. - - Value | NERDTree Window Behavior - -------+------------------------------------------------------- - 0 | No change - 1 | Closes after opening a file - 2 | Closes the bookmark table after opening a bookmark - 3(1+2) | Same as both 1 and 2 - ------------------------------------------------------------------------------- - *NERDTreeShowBookmarks* -Values: 0 or 1. -Default: 0. - -If this setting is set to 1 then the bookmarks table will be displayed. - -This setting can be toggled dynamically, per tree, with the |NERDTree-B| -mapping. - ------------------------------------------------------------------------------- - *NERDTreeShowFiles* -Values: 0 or 1. -Default: 1. - -If this setting is set to 1 then files are displayed in the NERDTree. If it -is set to 0 then only directories are displayed. - -This setting can be toggled dynamically, per tree, with the |NERDTree-F| -mapping and is useful for drastically shrinking the tree when you are -navigating to a different part of the tree. - ------------------------------------------------------------------------------- - *NERDTreeShowHidden* -Values: 0 or 1. -Default: 0. - -This setting tells vim whether to display hidden files by default. This -setting can be dynamically toggled, per tree, with the |NERDTree-I| mapping. -Use one of the follow lines for this setting: > - let NERDTreeShowHidden=0 - let NERDTreeShowHidden=1 -< ------------------------------------------------------------------------------- - *NERDTreeShowLineNumbers* -Values: 0 or 1. -Default: 0. - -This setting tells vim whether to display line numbers for the NERDTree -window. Use one of the follow lines for this setting: > - let NERDTreeShowLineNumbers=0 - let NERDTreeShowLineNumbers=1 -< ------------------------------------------------------------------------------- - *NERDTreeSortOrder* -Values: a list of regular expressions. -Default: ['\/$', '*', '\.swp$', '\.bak$', '\~$'] - -This setting is a list of regular expressions which are used to group or sort -the nodes under their parent. - -For example, if the setting is: > - ['\.vim$', '\.c$', '\.h$', '*', 'foobar'] -< -then all .vim files will be grouped at the top, followed by all .c files then -all .h files. All files containing the string 'foobar' will be placed at the -end. The star is a special flag: it tells the script that every node that -doesn't match any of the other regexps should be placed here. - -If no star is present in NERDTreeSortOrder, then one is automatically -appended to the end of the list. - -The regex '\/$' should be used to match directory nodes. - -Files can also be sorted by 1) the modification timestamp, 2) the size, or 3) -the extension. Directories are always sorted by name. To accomplish this, the -following special flags are used: - [[timestamp]] [[-timestamp]] [[size]] [[-size]] [[extension]] -The hyphen specifies a descending sort; extensions are sorted in ascending -order only. If placed at the beginning of the list, files are sorted according -to these flags first, and then grouped by the remaining items in the list. If -the flags are in any other position of the list, this special sorting is done -secondarily. See examples 4, 5, and 6 below. - -After this sorting is done, the files in each group are sorted alphabetically. - -Examples: > - (1) ['*', '\/$'] - (2) [] - (3) ['\/$', '\.rb$', '\.php$', '*', '\.swp$', '\.bak$', '\~$'] - (4) ['[[-size]]'] - (5) ['\/$', '*', '[[timestamp]]'] - (6) ['foo','\/$','[[extension]]'] -< -1. Directories will appear last, everything else will appear above. -2. Everything will simply appear in alphabetical order. -3. Dirs will appear first, then ruby and php. Swap files, bak files and vim - backup files will appear last with everything else preceding them. -4. Everything is sorted by size, largest to smallest, with directories - considered to have size 0 bytes. -5. Directories will appear first alphabetically, followed by files, sorted by - timestamp, oldest first. -6. Files and directories matching 'foo' first, followed by other directories, - then all other files. Each section of files is sorted by file extension. - ------------------------------------------------------------------------------- - *NERDTreeStatusline* -Values: Any valid `'statusline'` setting. -Default: %{exists('b:NERDTree')?b:NERDTree.root.path.str():''} - -Defines the value for the `'statusline'` setting in NERDTree windows. - -Note: The setting is actually applied using |:let-&|, not |:set|, so -escaping spaces is not necessary. - -Setting this to -1 will deactivate it so that your global `'statusline'` -setting is used. - ------------------------------------------------------------------------------- - *NERDTreeWinPos* -Values: "left" or "right" -Default: "left". - -This setting is used to determine where NERDTree window is placed on the -screen. - -This setting makes it possible to use two different explorer plugins -simultaneously. For example, you could have the taglist plugin on the left of -the window and the NERDTree on the right. - ------------------------------------------------------------------------------- - *NERDTreeWinSize* -Values: a positive integer. -Default: 31. - -This setting is used to change the size of the NERDTree when it is loaded. - ------------------------------------------------------------------------------- - *NERDTreeMinimalUI* -Values: 0 or 1 -Default: 0 - -This setting disables the 'Bookmarks' label 'Press ? for help' text. Use one -of the following lines for this setting: > - let NERDTreeMinimalUI=0 - let NERDTreeMinimalUI=1 -< ------------------------------------------------------------------------------- - *NERDTreeMinimalMenu* -Values: 0 or 1 -Default: 0 - -This setting makes NERDTree use a smaller, more compact menu for adding, -copying, deleting nodes. This menu fits on a single line so Vim doesn't need to -scroll down to present it. This setting is recommended for users already -familiar with the menu items. It will look similar to this: - - Menu: [ (a)dd ,m,d,r,o,q,c,l] (Use j/k/enter or shortcut): - -An action can be selected with its shortcut key or with the NERDTreeMenuUp and -NERDTreeMenuDown keys, then pressing enter. - -Use one of the following lines for this setting: > - let NERDTreeMinimalMenu=0 - let NERDTreeMinimalMenu=1 -< ------------------------------------------------------------------------------- - *NERDTreeCascadeSingleChildDir* -Values: 0 or 1 -Default: 1. - -When displaying dir nodes, this setting tells NERDTree to collapse dirs that -have only one child. Use one of the following lines for this setting: > - let NERDTreeCascadeSingleChildDir=0 - let NERDTreeCascadeSingleChildDir=1 -< ------------------------------------------------------------------------------- - *NERDTreeCascadeOpenSingleChildDir* -Values: 0 or 1 -Default: 1. - -When opening dir nodes, this setting tells NERDTree to recursively open dirs -that have only one child which is also a dir. NERDTree will stop when it finds -a dir that contains anything but another single dir. This setting also causes -the |NERDTree-x| mapping to close dirs in the same manner. This setting may be -useful for Java projects. Use one of the following lines for this setting: > - let NERDTreeCascadeOpenSingleChildDir=0 - let NERDTreeCascadeOpenSingleChildDir=1 -< ------------------------------------------------------------------------------- - *NERDTreeAutoDeleteBuffer* -Values: 0 or 1 -Default: 0. - -When using a context menu to delete or rename a file you may also want to -delete the buffer which is no more valid. If the setting is not set you will -see a confirmation if you really want to delete an old buffer. If you always -press 'y' then it's worth it to set this setting to 1. Use one of the -following lines for this setting: > - let NERDTreeAutoDeleteBuffer=0 - let NERDTreeAutoDeleteBuffer=1 -< ------------------------------------------------------------------------------- - *NERDTreeCreatePrefix* -Values: Any valid command prefix. -Default: "silent". - -Internally, NERDTree uses the |:edit| command to create a buffer in which to -display its tree view. You can augment this behavior by specifying a prefix -string such as "keepalt" or similar. For example, to have NERDTree create its -tree window using `silent keepalt keepjumps edit`: > - let NERDTreeCreatePrefix='silent keepalt keepjumps' -< ------------------------------------------------------------------------------- - *NERDTreeDirArrowCollapsible* *NERDTreeDirArrowExpandable* -Values: Any single character. -Defaults: Windows: ~ and + Others: ▾ and ▸ - -These characters indicate whether a directory is collapsible or expandable. -Example: > - let NERDTreeDirArrowExpandable=">" - let NERDTreeDirArrowCollapsible="v" -< -They can be set to "\u00a0" to replace the arrows with a non-breaking space. -If you do this you may need to change the node delimiter. See -|NERDTreeNodeDelimiter|. You cannot use the same character for both the arrows -and the delimiter. - -Alternatively, they can be set to '' (an empty string). This removes the -arrows and the single space that follows them, shifting the entire tree two -character positions to the left. - ------------------------------------------------------------------------------- - *NERDTreeNodeDelimiter* -Values: Any single character. -Default: varies (see below) - -This character is used to separate the file or directory name from the rest of -the characters in the line of text. It allows filenames to contain special -characters that are otherwise used in the NERDTree, such as square brackets, -braces, trailing asterisk, and leading space. For more details, see the -responsible pull request: https://github.com/preservim/nerdtree/pull/868. - -The default value of this variable depends on the features compiled into your -vim and the values of |NERDTreeDirArrowCollapsible| and -|NERDTreeDirArrowExpandable|. - * If your vim is compiled with the +conceal feature, it is the "\x07" (BELL) - character, and it is hidden by setting 'conceallevel' to 3. If you use - autocommands, make sure none of them change that setting in the NERDTree_* - buffers. - * If your vim does NOT have the +conceal feature and you're using "\u00a0" - (non-breaking space) to hide the directory arrows, "\u00b7" (middle dot) - is used as the default delimiter. - * If neither condition above applies, NERDTree uses "\u00a0" (non-breaking - space) as the default delimiter. - -In the 2nd and 3rd cases, NERDTree will use the Ignore highlight group to -"hide" the delimiter. It should appear as an empty space. - -Other plugins can interfere with these defaults, so if you need to change the -delimiter, be sure to choose a character that won't appear in your filenames -or any of the flags set by your installed NERDTree plugins. The suggestions -below are but a few of the many possibilities. Remember to use double quotes -when specifying by hex or Unicode. > - let NERDTreeNodeDelimiter="\x07" "bell - let NERDTreeNodeDelimiter="\u00b7" "middle dot - let NERDTreeNodeDelimiter="\u00a0" "non-breaking space - let NERDTreeNodeDelimiter="😀" "smiley face -< ------------------------------------------------------------------------------- - *NERDTreeCustomOpenArgs* -Values: A nested dictionary, as described below -Default: {'file': {'reuse': 'all', 'where': 'p'}, 'dir': {}} - -This dictionary contains two keys, 'file' and 'dir', whose values each are -another dictionary. The inner dictionary is a set of parameters used by -|NERDTree-| to open a file or directory. Setting these parameters allows you -to customize the way the node is opened. The default value matches what -|NERDTree-o| does. To change that behavior, use these keys and -values in the inner dictionaries: - -'where': specifies whether the node should be opened in a new split ("h" or - "v"), in a new tab ("t") or, in the last window ("p"). -'reuse': if file is already shown in a window, jump there; takes values - "all", "currenttab", or empty -'keepopen': boolean (0 or 1); if true, the tree window will not be closed -'stay': boolean (0 or 1); if true, remain in tree window after opening - -For example: -To open files and directories (creating a new NERDTree) in a new tab, > - {'file':{'where': 't'}, 'dir':{'where':'t'}} -< -To open a file always in the current tab, and expand directories in place, > - {'file': {'reuse':'currenttab', 'where':'p', 'keepopen':1, 'stay':1}} -< -============================================================================== -4. The NERDTree API *NERDTreeAPI* - -The NERDTree script allows you to add custom key mappings and menu items via -a set of API calls. Any scripts that use this API should be placed in -~/.vim/nerdtree_plugin/ (*nix) or ~/vimfiles/nerdtree_plugin (windows). - -The script exposes some prototype objects that can be used to manipulate the -tree and/or get information from it: > - g:NERDTreePath - g:NERDTreeDirNode - g:NERDTreeFileNode - g:NERDTreeBookmark -< -See the code/comments in NERD_tree.vim to find how to use these objects. The -following code conventions are used: - * class members start with a capital letter - * instance members start with a lower case letter - * private members start with an underscore - -See this blog post for more details: - http://got-ravings.blogspot.com/2008/09/vim-pr0n-prototype-based-objects.html - -A number of API functions take a callback argument to call. The callback can -be either a string with the name of a function to call, or a |Funcref| object -which will be called directly. - ------------------------------------------------------------------------------- -4.1. Key map API *NERDTreeKeymapAPI* - -NERDTreeAddKeyMap({options}) *NERDTreeAddKeyMap()* - Adds a new keymapping for all NERDTree buffers. - {options} must be a dictionary, and must contain the following keys: - "key" - the trigger key for the new mapping - "callback" - the function the new mapping will be bound to - "quickhelpText" - the text that will appear in the quickhelp (see - |NERDTree-?|) - "override" - if 1 then this new mapping will override whatever previous - mapping was defined for the key/scope combo. Useful for overriding the - default mappings. - - Additionally, a "scope" argument may be supplied. This constrains the - mapping so that it is only activated if the cursor is on a certain object. - That object is then passed into the handling method. Possible values are: - - "FileNode" .... a file node - "DirNode" ..... a directory node - "Node" ........ a file node OR a directory node - "Bookmark" .... a bookmark - "all" ......... global scope; handler receives no arguments (default) - - Example: > - call NERDTreeAddKeyMap({ - \ 'key': 'foo', - \ 'callback': 'NERDTreeEchoPathHandler', - \ 'quickhelpText': 'echo full path of current node', - \ 'scope': 'DirNode' }) - - function! NERDTreeEchoPathHandler(dirnode) - echo a:dirnode.path.str() - endfunction -< - This code should sit in a file like ~/.vim/nerdtree_plugin/mymapping.vim. - It adds a (redundant) mapping on 'foo' which changes vim's CWD to that of - the current dir node. Note this mapping will only fire when the cursor is - on a directory node. - ------------------------------------------------------------------------------- -4.2. Menu API *NERDTreeMenuAPI* - -NERDTreeAddSubmenu({options}) *NERDTreeAddSubmenu()* - Creates and returns a new submenu. - - {options} must be a dictionary and must contain the following keys: - "text" - the text of the submenu that the user will see - "shortcut" - a shortcut key for the submenu (need not be unique) - - The following keys are optional: - "isActiveCallback" - a function that will be called to determine whether - this submenu item will be displayed or not. The callback function must - return 0 or 1. - "parent" - the parent submenu of the new submenu (returned from a previous - invocation of NERDTreeAddSubmenu()). If this key is left out then the new - submenu will sit under the top level menu. - - See below for an example. - -NERDTreeAddMenuItem({options}) *NERDTreeAddMenuItem()* - Adds a new menu item to the NERDTree menu (see |NERDTreeMenu|). - - {options} must be a dictionary and must contain the - following keys: - "text" - the text of the menu item which the user will see - "shortcut" - a shortcut key for the menu item (need not be unique) - "callback" - the function that will be called when the user activates the - menu item. - - The following keys are optional: - "isActiveCallback" - a function that will be called to determine whether - this menu item will be displayed or not. The callback function must return - 0 or 1. - "parent" - if the menu item belongs under a submenu then this key must be - specified. This value for this key will be the object that - was returned when the submenu was created with |NERDTreeAddSubmenu()|. - - See below for an example. - -NERDTreeAddMenuSeparator([{options}]) *NERDTreeAddMenuSeparator()* - Adds a menu separator (a row of dashes). - - {options} is an optional dictionary that may contain the following keys: - "isActiveCallback" - see description in |NERDTreeAddMenuItem()|. - -Below is an example of the menu API in action. > - call NERDTreeAddMenuSeparator() - - call NERDTreeAddMenuItem({ - \ 'text': 'a (t)op level menu item', - \ 'shortcut': 't', - \ 'callback': 'SomeFunction' }) - - let submenu = NERDTreeAddSubmenu({ - \ 'text': 'a (s)ub menu', - \ 'shortcut': 's' }) - - call NERDTreeAddMenuItem({ - \ 'text': '(n)ested item 1', - \ 'shortcut': 'n', - \ 'callback': 'SomeFunction', - \ 'parent': submenu }) - - call NERDTreeAddMenuItem({ - \ 'text': '(n)ested item 2', - \ 'shortcut': 'n', - \ 'callback': 'SomeFunction', - \ 'parent': submenu }) -< -This will create the following menu: > - -------------------- - a (t)op level menu item - a (s)ub menu -< -Where selecting "a (s)ub menu" will lead to a second menu: > - (n)ested item 1 - (n)ested item 2 -< -When any of the 3 concrete menu items are selected the function "SomeFunction" -will be called. - ------------------------------------------------------------------------------- -4.3 NERDTreeAddPathFilter(callback) *NERDTreeAddPathFilter()* - -Path filters are essentially a more powerful version of |NERDTreeIgnore|. -If the simple regex matching in |NERDTreeIgnore| is not enough then use -|NERDTreeAddPathFilter()| to add a callback function that paths will be -checked against when the decision to ignore them is made. Example > - - call NERDTreeAddPathFilter('MyFilter') - - function! MyFilter(params) - "params is a dict containing keys: 'nerdtree' and 'path' which are - "g:NERDTree and g:NERDTreePath objects - - "return 1 to ignore params['path'] or 0 otherwise - endfunction -< ------------------------------------------------------------------------------- -4.4 Path Listener API *NERDTreePathListenerAPI* - -Use this API if you want to run a callback for events on Path objects. E.G > - - call g:NERDTreePathNotifier.AddListener("init", "MyListener") - - ".... - - function! MyListener(event) - "This function will be called whenever a Path object is created. - - "a:event is an object that contains a bunch of relevant info - - "including the affected path. See lib/nerdtree/event.vim for details. - endfunction -< -Current events supported: - init ~ - refresh ~ - refreshFlags ~ - ------------------------------------------------------------------------------- -NERDTreeRender() *NERDTreeRender()* - Re-renders the NERDTree buffer. Useful if you change the state of the - tree and you want to it to be reflected in the UI. - -============================================================================== -5. About *NERDTreeAbout* - -The author of the NERDTree is a terrible terrible monster called Martyzilla -who gobbles up small children with milk and sugar for breakfast. - -He can be reached at martin.grenfell at gmail dot com. He would love to hear -from you, so feel free to send him suggestions and/or comments about this -plugin. Don't be shy --- the worst he can do is slaughter you and stuff you -in the fridge for later ;) - -Martyzilla recruited two other unwitting accomplices to become his minions in -his quest to conquer the Vim plugin world. While he may still love to receive -your emails, the best way to send suggestions, bug reports, and questions is -to submit an issue at http://github.com/preservim/nerdtree/issues. - -The latest stable and development versions are on Github. - Stable: http://github.com/preservim/nerdtree (master branch) - Development: http://github.com/preservim/nerdtree/branches - -Title Credit: - * http://ascii.co.uk/art/tree - - * Patrick Gillespie's Text ASCII Art Generator - http://patorjk.com/software/taag - http://patorjk.com/software/taag/#p=display&f=Rozzo&t=the%20NERD%20Tree - -============================================================================== -6. License *NERDTreeLicense* - -The NERDTree is released under the wtfpl. -See http://sam.zoy.org/wtfpl/COPYING. - ------------------------------------------------------------------------------- - vim:tw=78:ts=8:ft=help:noet:nospell diff --git a/.vim_runtime/sources_non_forked/nerdtree/nerdtree_plugin/exec_menuitem.vim b/.vim_runtime/sources_non_forked/nerdtree/nerdtree_plugin/exec_menuitem.vim deleted file mode 100644 index fb6c486..0000000 --- a/.vim_runtime/sources_non_forked/nerdtree/nerdtree_plugin/exec_menuitem.vim +++ /dev/null @@ -1,40 +0,0 @@ -" ============================================================================ -" File: exec_menuitem.vim -" Description: plugin for NERD Tree that provides an execute file menu item -" Maintainer: Martin Grenfell -" License: This program is free software. It comes without any warranty, -" to the extent permitted by applicable law. You can redistribute -" it and/or modify it under the terms of the Do What The Fuck You -" Want To Public License, Version 2, as published by Sam Hocevar. -" See http://sam.zoy.org/wtfpl/COPYING for more details. -" -" ============================================================================ -if exists('g:loaded_nerdtree_exec_menuitem') - finish -endif -let g:loaded_nerdtree_exec_menuitem = 1 - -call NERDTreeAddMenuItem({ - \ 'text': '(!)Execute file', - \ 'shortcut': '!', - \ 'callback': 'NERDTreeExecFile', - \ 'isActiveCallback': 'NERDTreeExecFileActive' }) - -function! NERDTreeExecFileActive() - let node = g:NERDTreeFileNode.GetSelected() - return !node.path.isDirectory && node.path.isExecutable -endfunction - -function! NERDTreeExecFile() - let treenode = g:NERDTreeFileNode.GetSelected() - echo "==========================================================\n" - echo "Complete the command to execute (add arguments etc):\n" - let cmd = treenode.path.str({'escape': 1}) - let cmd = input(':!', cmd . ' ') - - if cmd !=# '' - exec ':!' . cmd - else - echo 'Aborted' - endif -endfunction diff --git a/.vim_runtime/sources_non_forked/nerdtree/nerdtree_plugin/fs_menu.vim b/.vim_runtime/sources_non_forked/nerdtree/nerdtree_plugin/fs_menu.vim deleted file mode 100644 index 3073414..0000000 --- a/.vim_runtime/sources_non_forked/nerdtree/nerdtree_plugin/fs_menu.vim +++ /dev/null @@ -1,469 +0,0 @@ -" ============================================================================ -" File: fs_menu.vim -" Description: plugin for the NERD Tree that provides a file system menu -" Maintainer: Martin Grenfell -" License: This program is free software. It comes without any warranty, -" to the extent permitted by applicable law. You can redistribute -" it and/or modify it under the terms of the Do What The Fuck You -" Want To Public License, Version 2, as published by Sam Hocevar. -" See http://sam.zoy.org/wtfpl/COPYING for more details. -" -" ============================================================================ -if exists('g:loaded_nerdtree_fs_menu') - finish -endif -let g:loaded_nerdtree_fs_menu = 1 - -"Automatically delete the buffer after deleting or renaming a file -if !exists('g:NERDTreeAutoDeleteBuffer') - let g:NERDTreeAutoDeleteBuffer = 0 -endif - -call NERDTreeAddMenuItem({'text': '(a)dd a childnode', 'shortcut': 'a', 'callback': 'NERDTreeAddNode'}) -call NERDTreeAddMenuItem({'text': '(m)ove the current node', 'shortcut': 'm', 'callback': 'NERDTreeMoveNode'}) -call NERDTreeAddMenuItem({'text': '(d)elete the current node', 'shortcut': 'd', 'callback': 'NERDTreeDeleteNode'}) - -if has('gui_mac') || has('gui_macvim') || has('mac') - call NERDTreeAddMenuItem({'text': '(r)eveal in Finder the current node', 'shortcut': 'r', 'callback': 'NERDTreeRevealInFinder'}) - call NERDTreeAddMenuItem({'text': '(o)pen the current node with system editor', 'shortcut': 'o', 'callback': 'NERDTreeExecuteFile'}) - call NERDTreeAddMenuItem({'text': '(q)uicklook the current node', 'shortcut': 'q', 'callback': 'NERDTreeQuickLook'}) -endif - -if executable('xdg-open') - call NERDTreeAddMenuItem({'text': '(r)eveal the current node in file manager', 'shortcut': 'r', 'callback': 'NERDTreeRevealFileLinux'}) - call NERDTreeAddMenuItem({'text': '(o)pen the current node with system editor', 'shortcut': 'o', 'callback': 'NERDTreeExecuteFileLinux'}) -endif - -if nerdtree#runningWindows() - call NERDTreeAddMenuItem({'text': '(o)pen the current node with system editor', 'shortcut': 'o', 'callback': 'NERDTreeExecuteFileWindows'}) -endif - -if g:NERDTreePath.CopyingSupported() - call NERDTreeAddMenuItem({'text': '(c)opy the current node', 'shortcut': 'c', 'callback': 'NERDTreeCopyNode'}) -endif -call NERDTreeAddMenuItem({'text': (has('clipboard')?'copy (p)ath to clipboard':'print (p)ath to screen'), 'shortcut': 'p', 'callback': 'NERDTreeCopyPath'}) - -if has('unix') || has('osx') - call NERDTreeAddMenuItem({'text': '(l)ist the current node', 'shortcut': 'l', 'callback': 'NERDTreeListNode'}) -else - call NERDTreeAddMenuItem({'text': '(l)ist the current node', 'shortcut': 'l', 'callback': 'NERDTreeListNodeWin32'}) -endif - -"FUNCTION: s:inputPrompt(action){{{1 -"returns the string that should be prompted to the user for the given action -" -"Args: -"action: the action that is being performed, e.g. 'delete' -function! s:inputPrompt(action) - if a:action ==# 'add' - let title = 'Add a childnode' - let info = "Enter the dir/file name to be created. Dirs end with a '/'" - let minimal = 'Add node:' - - elseif a:action ==# 'copy' - let title = 'Copy the current node' - let info = 'Enter the new path to copy the node to:' - let minimal = 'Copy to:' - - elseif a:action ==# 'delete' - let title = 'Delete the current node' - let info = 'Are you sure you wish to delete the node:' - let minimal = 'Delete?' - - elseif a:action ==# 'deleteNonEmpty' - let title = 'Delete the current node' - let info = "STOP! Directory is not empty! To delete, type 'yes'" - let minimal = 'Delete directory?' - - elseif a:action ==# 'move' - let title = 'Rename the current node' - let info = 'Enter the new path for the node:' - let minimal = 'Move to:' - endif - - if g:NERDTreeMenuController.isMinimal() - redraw! " Clear the menu - return minimal . ' ' - else - let divider = '==========================================================' - return title . "\n" . divider . "\n" . info . "\n" - end -endfunction - -"FUNCTION: s:promptToDelBuffer(bufnum, msg){{{1 -"prints out the given msg and, if the user responds by pushing 'y' then the -"buffer with the given bufnum is deleted -" -"Args: -"bufnum: the buffer that may be deleted -"msg: a message that will be echoed to the user asking them if they wish to -" del the buffer -function! s:promptToDelBuffer(bufnum, msg) - echo a:msg - if g:NERDTreeAutoDeleteBuffer || nr2char(getchar()) ==# 'y' - " 1. ensure that all windows which display the just deleted filename - " now display an empty buffer (so a layout is preserved). - " Is not it better to close single tabs with this file only ? - let s:originalTabNumber = tabpagenr() - let s:originalWindowNumber = winnr() - " Go to the next buffer in buffer list if at least one extra buffer is listed - " Otherwise open a new empty buffer - if v:version >= 800 - let l:listedBufferCount = len(getbufinfo({'buflisted':1})) - elseif v:version >= 702 - let l:listedBufferCount = len(filter(range(1, bufnr('$')), 'buflisted(v:val)')) - else - " Ignore buffer count in this case to make sure we keep the old - " behavior - let l:listedBufferCount = 0 - endif - if l:listedBufferCount > 1 - call nerdtree#exec('tabdo windo if winbufnr(0) ==# ' . a:bufnum . " | exec ':bnext! ' | endif", 1) - else - call nerdtree#exec('tabdo windo if winbufnr(0) ==# ' . a:bufnum . " | exec ':enew! ' | endif", 1) - endif - call nerdtree#exec('tabnext ' . s:originalTabNumber, 1) - call nerdtree#exec(s:originalWindowNumber . 'wincmd w', 1) - " 3. We don't need a previous buffer anymore - call nerdtree#exec('bwipeout! ' . a:bufnum, 0) - endif -endfunction - -"FUNCTION: s:renameBuffer(bufNum, newNodeName, isDirectory){{{1 -"The buffer with the given bufNum is replaced with a new one -" -"Args: -"bufNum: the buffer that may be deleted -"newNodeName: the name given to the renamed node -"isDirectory: determines how to do the create the new filenames -function! s:renameBuffer(bufNum, newNodeName, isDirectory) - if a:isDirectory - let quotedFileName = fnameescape(a:newNodeName . '/' . fnamemodify(bufname(a:bufNum),':t')) - let editStr = g:NERDTreePath.New(a:newNodeName . '/' . fnamemodify(bufname(a:bufNum),':t')).str({'format': 'Edit'}) - else - let quotedFileName = fnameescape(a:newNodeName) - let editStr = g:NERDTreePath.New(a:newNodeName).str({'format': 'Edit'}) - endif - " 1. ensure that a new buffer is loaded - call nerdtree#exec('badd ' . quotedFileName, 0) - " 2. ensure that all windows which display the just deleted filename - " display a buffer for a new filename. - let s:originalTabNumber = tabpagenr() - let s:originalWindowNumber = winnr() - call nerdtree#exec('tabdo windo if winbufnr(0) ==# ' . a:bufNum . " | exec ':e! " . editStr . "' | endif", 0) - call nerdtree#exec('tabnext ' . s:originalTabNumber, 1) - call nerdtree#exec(s:originalWindowNumber . 'wincmd w', 1) - " 3. We don't need a previous buffer anymore - try - call nerdtree#exec('confirm bwipeout ' . a:bufNum, 0) - catch - " This happens when answering Cancel if confirmation is needed. Do nothing. - endtry -endfunction - -"FUNCTION: NERDTreeAddNode(){{{1 -function! NERDTreeAddNode() - let curDirNode = g:NERDTreeDirNode.GetSelected() - let prompt = s:inputPrompt('add') - let newNodeName = input(prompt, curDirNode.path.str() . g:NERDTreePath.Slash(), 'file') - - if newNodeName ==# '' - call nerdtree#echo('Node Creation Aborted.') - return - endif - - try - let newPath = g:NERDTreePath.Create(newNodeName) - let parentNode = b:NERDTree.root.findNode(newPath.getParent()) - - let newTreeNode = g:NERDTreeFileNode.New(newPath, b:NERDTree) - " Emptying g:NERDTreeOldSortOrder forces the sort to - " recalculate the cached sortKey so nodes sort correctly. - let g:NERDTreeOldSortOrder = [] - if empty(parentNode) - call b:NERDTree.root.refresh() - call b:NERDTree.render() - elseif parentNode.isOpen || !empty(parentNode.children) - call parentNode.addChild(newTreeNode, 1) - call NERDTreeRender() - call newTreeNode.putCursorHere(1, 0) - endif - - redraw! - catch /^NERDTree/ - call nerdtree#echoWarning('Node Not Created.') - endtry -endfunction - -"FUNCTION: NERDTreeMoveNode(){{{1 -function! NERDTreeMoveNode() - let curNode = g:NERDTreeFileNode.GetSelected() - let prompt = s:inputPrompt('move') - let newNodePath = input(prompt, curNode.path.str(), 'file') - while filereadable(newNodePath) - call nerdtree#echoWarning('This destination already exists. Try again.') - let newNodePath = input(prompt, curNode.path.str(), 'file') - endwhile - - - if newNodePath ==# '' - call nerdtree#echo('Node Renaming Aborted.') - return - endif - - try - if curNode.path.isDirectory - let l:curPath = escape(curNode.path.str(),'\') . (nerdtree#runningWindows()?'\\':'/') . '.*' - let l:openBuffers = filter(range(1,bufnr('$')),'bufexists(v:val) && fnamemodify(bufname(v:val),":p") =~# "'.escape(l:curPath,'\').'"') - else - let l:openBuffers = filter(range(1,bufnr('$')),'bufexists(v:val) && fnamemodify(bufname(v:val),":p") ==# curNode.path.str()') - endif - - call curNode.rename(newNodePath) - " Emptying g:NERDTreeOldSortOrder forces the sort to - " recalculate the cached sortKey so nodes sort correctly. - let g:NERDTreeOldSortOrder = [] - call b:NERDTree.root.refresh() - call NERDTreeRender() - - " If the file node is open, or files under the directory node are - " open, ask the user if they want to replace the file(s) with the - " renamed files. - if !empty(l:openBuffers) - if curNode.path.isDirectory - echo "\nDirectory renamed.\n\nFiles with the old directory name are open in buffers " . join(l:openBuffers, ', ') . '. Replace these buffers with the new files? (yN)' - else - echo "\nFile renamed.\n\nThe old file is open in buffer " . l:openBuffers[0] . '. Replace this buffer with the new file? (yN)' - endif - if g:NERDTreeAutoDeleteBuffer || nr2char(getchar()) ==# 'y' - for bufNum in l:openBuffers - call s:renameBuffer(bufNum, newNodePath, curNode.path.isDirectory) - endfor - endif - endif - - call curNode.putCursorHere(1, 0) - - redraw! - catch /^NERDTree/ - call nerdtree#echoWarning('Node Not Renamed.') - endtry -endfunction - -" FUNCTION: NERDTreeDeleteNode() {{{1 -function! NERDTreeDeleteNode() - let l:shellslash = &shellslash - let &shellslash = 0 - let currentNode = g:NERDTreeFileNode.GetSelected() - let confirmed = 0 - - if currentNode.path.isDirectory && ((currentNode.isOpen && currentNode.getChildCount() > 0) || - \ (len(currentNode._glob('*', 1)) > 0)) - let prompt = s:inputPrompt('deleteNonEmpty') . currentNode.path.str() . ': ' - let choice = input(prompt) - let confirmed = choice ==# 'yes' - else - let prompt = s:inputPrompt('delete') . currentNode.path.str() . ' (yN): ' - echo prompt - let choice = nr2char(getchar()) - let confirmed = choice ==# 'y' - endif - - if confirmed - try - call currentNode.delete() - call NERDTreeRender() - - "if the node is open in a buffer, ask the user if they want to - "close that buffer - let bufnum = bufnr('^'.currentNode.path.str().'$') - if buflisted(bufnum) - let prompt = "\nNode deleted.\n\nThe file is open in buffer ". bufnum . (bufwinnr(bufnum) ==# -1 ? ' (hidden)' : '') .'. Delete this buffer? (yN)' - call s:promptToDelBuffer(bufnum, prompt) - endif - - redraw! - catch /^NERDTree/ - call nerdtree#echoWarning('Could not remove node') - endtry - else - call nerdtree#echo('delete aborted') - endif - let &shellslash = l:shellslash -endfunction - -" FUNCTION: NERDTreeListNode() {{{1 -function! NERDTreeListNode() - let treenode = g:NERDTreeFileNode.GetSelected() - if !empty(treenode) - let s:uname = system('uname') - let stat_cmd = 'stat -c "%s" ' - - if s:uname =~? 'Darwin' - let stat_cmd = 'stat -f "%z" ' - endif - - let cmd = 'size=$(' . stat_cmd . shellescape(treenode.path.str()) . ') && ' . - \ 'size_with_commas=$(echo $size | sed -e :a -e "s/\(.*[0-9]\)\([0-9]\{3\}\)/\1,\2/;ta") && ' . - \ 'ls -ld ' . shellescape(treenode.path.str()) . ' | sed -e "s/ $size / $size_with_commas /"' - - let metadata = split(system(cmd),'\n') - call nerdtree#echo(metadata[0]) - else - call nerdtree#echo('No information available') - endif -endfunction - -" FUNCTION: NERDTreeListNodeWin32() {{{1 -function! NERDTreeListNodeWin32() - let l:node = g:NERDTreeFileNode.GetSelected() - - if !empty(l:node) - let l:path = l:node.path.str() - call nerdtree#echo(printf('%s:%s MOD:%s BYTES:%d PERMISSIONS:%s', - \ toupper(getftype(l:path)), - \ fnamemodify(l:path, ':t'), - \ strftime('%c', getftime(l:path)), - \ getfsize(l:path), - \ getfperm(l:path))) - return - endif - - call nerdtree#echo('node not recognized') -endfunction - -" FUNCTION: NERDTreeCopyNode() {{{1 -function! NERDTreeCopyNode() - let l:shellslash = &shellslash - let &shellslash = 0 - let currentNode = g:NERDTreeFileNode.GetSelected() - let prompt = s:inputPrompt('copy') - let newNodePath = input(prompt, currentNode.path.str(), 'file') - - if newNodePath !=# '' - "strip trailing slash - let newNodePath = substitute(newNodePath, '\/$', '', '') - - let confirmed = 1 - if currentNode.path.copyingWillOverwrite(newNodePath) - call nerdtree#echo('Warning: copying may overwrite files! Continue? (yN)') - let choice = nr2char(getchar()) - let confirmed = choice ==# 'y' - endif - - if confirmed - try - let newNode = currentNode.copy(newNodePath) - " Emptying g:NERDTreeOldSortOrder forces the sort to - " recalculate the cached sortKey so nodes sort correctly. - let g:NERDTreeOldSortOrder = [] - if empty(newNode) - call b:NERDTree.root.refresh() - call b:NERDTree.render() - else - call NERDTreeRender() - call newNode.putCursorHere(0, 0) - endif - catch /^NERDTree/ - call nerdtree#echoWarning('Could not copy node') - endtry - endif - else - call nerdtree#echo('Copy aborted.') - endif - let &shellslash = l:shellslash - redraw! -endfunction - -" FUNCTION: NERDTreeCopyPath() {{{1 -function! NERDTreeCopyPath() - let l:nodePath = g:NERDTreeFileNode.GetSelected().path.str() - if has('clipboard') - if &clipboard ==# 'unnamedplus' - let @+ = l:nodePath - else - let @* = l:nodePath - endif - call nerdtree#echo('The path [' . l:nodePath . '] was copied to your clipboard.') - else - call nerdtree#echo('The full path is: ' . l:nodePath) - endif -endfunction - -" FUNCTION: NERDTreeQuickLook() {{{1 -function! NERDTreeQuickLook() - let l:node = g:NERDTreeFileNode.GetSelected() - - if empty(l:node) - return - endif - - call system('qlmanage -p 2>/dev/null ' . shellescape(l:node.path.str())) -endfunction - -" FUNCTION: NERDTreeRevealInFinder() {{{1 -function! NERDTreeRevealInFinder() - let l:node = g:NERDTreeFileNode.GetSelected() - - if empty(l:node) - return - endif - - call system('open -R ' . shellescape(l:node.path.str())) -endfunction - -" FUNCTION: NERDTreeExecuteFile() {{{1 -function! NERDTreeExecuteFile() - let l:node = g:NERDTreeFileNode.GetSelected() - - if empty(l:node) - return - endif - - call system('open ' . shellescape(l:node.path.str())) -endfunction - -" FUNCTION: NERDTreeRevealFileLinux() {{{1 -function! NERDTreeRevealFileLinux() - let l:node = g:NERDTreeFileNode.GetSelected() - - if empty(l:node) - return - endif - - " Handle the edge case of "/", which has no parent. - if l:node.path.str() ==# '/' - call system('xdg-open /') - return - endif - - if empty(l:node.parent) - return - endif - - call system('xdg-open ' . shellescape(l:node.parent.path.str())) -endfunction - -" FUNCTION: NERDTreeExecuteFileLinux() {{{1 -function! NERDTreeExecuteFileLinux() - let l:node = g:NERDTreeFileNode.GetSelected() - - if empty(l:node) - return - endif - - call system('xdg-open ' . shellescape(l:node.path.str())) -endfunction - -" FUNCTION: NERDTreeExecuteFileWindows() {{{1 -function! NERDTreeExecuteFileWindows() - let l:node = g:NERDTreeFileNode.GetSelected() - - if empty(l:node) - return - endif - - call system('cmd.exe /c start "" ' . shellescape(l:node.path.str())) -endfunction - -" vim: set sw=4 sts=4 et fdm=marker: diff --git a/.vim_runtime/sources_non_forked/nerdtree/nerdtree_plugin/vcs.vim b/.vim_runtime/sources_non_forked/nerdtree/nerdtree_plugin/vcs.vim deleted file mode 100644 index d20e35e..0000000 --- a/.vim_runtime/sources_non_forked/nerdtree/nerdtree_plugin/vcs.vim +++ /dev/null @@ -1,47 +0,0 @@ -" ============================================================================ -" File: vcs.vim -" Description: NERDTree plugin that provides a command to open on the root of -" a version control system repository. -" Maintainer: Phil Runninger -" License: This program is free software. It comes without any warranty, -" to the extent permitted by applicable law. You can redistribute -" it and/or modify it under the terms of the Do What The Fuck You -" Want To Public License, Version 2, as published by Sam Hocevar. -" See http://sam.zoy.org/wtfpl/COPYING for more details. -" -" ============================================================================ -command! -n=? -complete=dir -bar NERDTreeVCS :call CreateTabTreeVCS('') -command! -n=? -complete=dir -bar NERDTreeToggleVCS :call ToggleTabTreeVCS('') - -" FUNCTION: s:CreateTabTreeVCS(a:name) {{{1 -function! s:CreateTabTreeVCS(name) - let l:path = g:NERDTreeCreator._pathForString(a:name) - let l:path = s:FindParentVCSRoot(l:path) - call g:NERDTreeCreator.createTabTree(empty(l:path) ? '' : l:path._str()) -endfunction - -" FUNCTION: s:ToggleTabTreeVCS(a:name) {{{1 -" Behaves the same as ToggleTabTree except roots directory at VCS root -function! s:ToggleTabTreeVCS(name) - let l:path = g:NERDTreeCreator._pathForString(a:name) - let l:path = s:FindParentVCSRoot(l:path) - call g:NERDTreeCreator.toggleTabTree(empty(l:path) ? '' : l:path._str()) -endfunction - -" FUNCTION: s:FindParentVCSRoot(a:path) {{{1 -" Finds the root version control system folder of the given path. If a:path is -" not part of a repository, return the original path. -function! s:FindParentVCSRoot(path) - let l:path = a:path - while !empty(l:path) && - \ l:path._str() !~# '^\(\a:[\\\/]\|\/\)$' && - \ !isdirectory(l:path._str() . '/.git') && - \ !isdirectory(l:path._str() . '/.svn') && - \ !isdirectory(l:path._str() . '/.hg') && - \ !isdirectory(l:path._str() . '/.bzr') && - \ !isdirectory(l:path._str() . '/_darcs') - let l:path = l:path.getParent() - endwhile - return (empty(l:path) || l:path._str() =~# '^\(\a:[\\\/]\|\/\)$') ? a:path : l:path -endfunction - diff --git a/.vim_runtime/sources_non_forked/nerdtree/plugin/NERD_tree.vim b/.vim_runtime/sources_non_forked/nerdtree/plugin/NERD_tree.vim deleted file mode 100644 index ca8070d..0000000 --- a/.vim_runtime/sources_non_forked/nerdtree/plugin/NERD_tree.vim +++ /dev/null @@ -1,261 +0,0 @@ -" ============================================================================ -" File: NERD_tree.vim -" Maintainer: Martin Grenfell -" License: This program is free software. It comes without any warranty, -" to the extent permitted by applicable law. You can redistribute -" it and/or modify it under the terms of the Do What The Fuck You -" Want To Public License, Version 2, as published by Sam Hocevar. -" See http://sam.zoy.org/wtfpl/COPYING for more details. -" -" ============================================================================ -" -" SECTION: Script init stuff {{{1 -"============================================================ -scriptencoding utf-8 - -if exists('loaded_nerd_tree') - finish -endif -if v:version < 703 - echoerr "NERDTree: this plugin requires vim >= 7.3. DOWNLOAD IT! You'll thank me later!" - finish -endif -let loaded_nerd_tree = 1 - -"for line continuation - i.e dont want C in &cpoptions -let s:old_cpo = &cpoptions -set cpoptions&vim - -"Function: s:initVariable() function {{{2 -"This function is used to initialise a given variable to a given value. The -"variable is only initialised if it does not exist prior -" -"Args: -"var: the name of the var to be initialised -"value: the value to initialise var to -" -"Returns: -"1 if the var is set, 0 otherwise -function! s:initVariable(var, value) - if !exists(a:var) - exec 'let ' . a:var . ' = ' . "'" . substitute(a:value, "'", "''", 'g') . "'" - return 1 - endif - return 0 -endfunction - -"SECTION: Init variable calls and other random constants {{{2 -call s:initVariable('g:NERDTreeAutoCenter', 1) -call s:initVariable('g:NERDTreeAutoCenterThreshold', 3) -call s:initVariable('g:NERDTreeCaseSensitiveSort', 0) -call s:initVariable('g:NERDTreeNaturalSort', 0) -call s:initVariable('g:NERDTreeSortHiddenFirst', 1) -call s:initVariable('g:NERDTreeUseTCD', 0) -call s:initVariable('g:NERDTreeChDirMode', 0) -call s:initVariable('g:NERDTreeCreatePrefix', 'silent') -call s:initVariable('g:NERDTreeMinimalUI', 0) -call s:initVariable('g:NERDTreeMinimalMenu', 0) -if !exists('g:NERDTreeIgnore') - let g:NERDTreeIgnore = ['\~$'] -endif -call s:initVariable('g:NERDTreeBookmarksFile', expand('$HOME') . '/.NERDTreeBookmarks') -call s:initVariable('g:NERDTreeBookmarksSort', 1) -call s:initVariable('g:NERDTreeHighlightCursorline', 1) -call s:initVariable('g:NERDTreeHijackNetrw', 1) -call s:initVariable('g:NERDTreeMarkBookmarks', 1) -call s:initVariable('g:NERDTreeMouseMode', 1) -call s:initVariable('g:NERDTreeNotificationThreshold', 100) -call s:initVariable('g:NERDTreeQuitOnOpen', 0) -call s:initVariable('g:NERDTreeRespectWildIgnore', 0) -call s:initVariable('g:NERDTreeShowBookmarks', 0) -call s:initVariable('g:NERDTreeShowFiles', 1) -call s:initVariable('g:NERDTreeShowHidden', 0) -call s:initVariable('g:NERDTreeShowLineNumbers', 0) -call s:initVariable('g:NERDTreeSortDirs', 1) - -if !nerdtree#runningWindows() && !nerdtree#runningCygwin() - call s:initVariable('g:NERDTreeDirArrowExpandable', '▸') - call s:initVariable('g:NERDTreeDirArrowCollapsible', '▾') -else - call s:initVariable('g:NERDTreeDirArrowExpandable', '+') - call s:initVariable('g:NERDTreeDirArrowCollapsible', '~') -endif - -call s:initVariable('g:NERDTreeCascadeOpenSingleChildDir', 1) -call s:initVariable('g:NERDTreeCascadeSingleChildDir', 1) - -if !exists('g:NERDTreeSortOrder') - let g:NERDTreeSortOrder = ['\/$', '*', '\.swp$', '\.bak$', '\~$'] -endif -let g:NERDTreeOldSortOrder = [] - -call s:initVariable('g:NERDTreeGlyphReadOnly', 'RO') - -if has('conceal') - call s:initVariable('g:NERDTreeNodeDelimiter', "\x07") -elseif (g:NERDTreeDirArrowExpandable ==# "\u00a0" || g:NERDTreeDirArrowCollapsible ==# "\u00a0") - call s:initVariable('g:NERDTreeNodeDelimiter', "\u00b7") -else - call s:initVariable('g:NERDTreeNodeDelimiter', "\u00a0") -endif - -if !exists('g:NERDTreeStatusline') - - "the exists() crap here is a hack to stop vim spazzing out when - "loading a session that was created with an open nerd tree. It spazzes - "because it doesnt store b:NERDTree(its a b: var, and its a hash) - let g:NERDTreeStatusline = "%{exists('b:NERDTree')?b:NERDTree.root.path.str():''}" - -endif -call s:initVariable('g:NERDTreeWinPos', 'left') -call s:initVariable('g:NERDTreeWinSize', 31) - -"init the shell commands that will be used to copy nodes, and remove dir trees -" -"Note: the space after the command is important -if nerdtree#runningWindows() - call s:initVariable('g:NERDTreeRemoveDirCmd', 'rmdir /s /q ') - call s:initVariable('g:NERDTreeCopyDirCmd', 'xcopy /s /e /i /y /q ') - call s:initVariable('g:NERDTreeCopyFileCmd', 'copy /y ') -else - call s:initVariable('g:NERDTreeRemoveDirCmd', 'rm -rf ') - call s:initVariable('g:NERDTreeCopyCmd', 'cp -r ') -endif - - -"SECTION: Init variable calls for key mappings {{{2 -call s:initVariable('g:NERDTreeMapCustomOpen', '') -call s:initVariable('g:NERDTreeMapActivateNode', 'o') -call s:initVariable('g:NERDTreeMapChangeRoot', 'C') -call s:initVariable('g:NERDTreeMapChdir', 'cd') -call s:initVariable('g:NERDTreeMapCloseChildren', 'X') -call s:initVariable('g:NERDTreeMapCloseDir', 'x') -call s:initVariable('g:NERDTreeMapDeleteBookmark', 'D') -call s:initVariable('g:NERDTreeMapMenu', 'm') -call s:initVariable('g:NERDTreeMapHelp', '?') -call s:initVariable('g:NERDTreeMapJumpFirstChild', 'K') -call s:initVariable('g:NERDTreeMapJumpLastChild', 'J') -call s:initVariable('g:NERDTreeMapJumpNextSibling', '') -call s:initVariable('g:NERDTreeMapJumpParent', 'p') -call s:initVariable('g:NERDTreeMapJumpPrevSibling', '') -call s:initVariable('g:NERDTreeMapJumpRoot', 'P') -call s:initVariable('g:NERDTreeMapOpenExpl', 'e') -call s:initVariable('g:NERDTreeMapOpenInTab', 't') -call s:initVariable('g:NERDTreeMapOpenInTabSilent', 'T') -call s:initVariable('g:NERDTreeMapOpenRecursively', 'O') -call s:initVariable('g:NERDTreeMapOpenSplit', 'i') -call s:initVariable('g:NERDTreeMapOpenVSplit', 's') -call s:initVariable('g:NERDTreeMapPreview', 'g' . NERDTreeMapActivateNode) -call s:initVariable('g:NERDTreeMapPreviewSplit', 'g' . NERDTreeMapOpenSplit) -call s:initVariable('g:NERDTreeMapPreviewVSplit', 'g' . NERDTreeMapOpenVSplit) -call s:initVariable('g:NERDTreeMapQuit', 'q') -call s:initVariable('g:NERDTreeMapRefresh', 'r') -call s:initVariable('g:NERDTreeMapRefreshRoot', 'R') -call s:initVariable('g:NERDTreeMapToggleBookmarks', 'B') -call s:initVariable('g:NERDTreeMapToggleFiles', 'F') -call s:initVariable('g:NERDTreeMapToggleFilters', 'f') -call s:initVariable('g:NERDTreeMapToggleHidden', 'I') -call s:initVariable('g:NERDTreeMapToggleZoom', 'A') -call s:initVariable('g:NERDTreeMapUpdir', 'u') -call s:initVariable('g:NERDTreeMapUpdirKeepOpen', 'U') -call s:initVariable('g:NERDTreeMapCWD', 'CD') -call s:initVariable('g:NERDTreeMenuDown', 'j') -call s:initVariable('g:NERDTreeMenuUp', 'k') - -"SECTION: Load class files{{{2 -call nerdtree#loadClassFiles() - -" SECTION: Commands {{{1 -"============================================================ -call nerdtree#ui_glue#setupCommands() - -" SECTION: Auto commands {{{1 -"============================================================ -augroup NERDTree - "Save the cursor position whenever we close the nerd tree - exec 'autocmd BufLeave,WinLeave '. g:NERDTreeCreator.BufNamePrefix() .'* if g:NERDTree.IsOpen() | call b:NERDTree.ui.saveScreenState() | endif' - - "disallow insert mode in the NERDTree - exec 'autocmd BufEnter,WinEnter '. g:NERDTreeCreator.BufNamePrefix() .'* stopinsert' -augroup END - -if g:NERDTreeHijackNetrw - augroup NERDTreeHijackNetrw - autocmd VimEnter * silent! autocmd! FileExplorer - au BufEnter,VimEnter * call nerdtree#checkForBrowse(expand('')) - augroup END -endif - -if g:NERDTreeChDirMode ==# 3 - augroup NERDTreeChDirOnTabSwitch - autocmd TabEnter * if g:NERDTree.ExistsForTab()|call g:NERDTree.ForCurrentTab().getRoot().path.changeToDir()|endif - augroup END -endif - -" SECTION: Public API {{{1 -"============================================================ -function! NERDTreeAddMenuItem(options) - call g:NERDTreeMenuItem.Create(a:options) -endfunction - -function! NERDTreeAddMenuSeparator(...) - let opts = a:0 ? a:1 : {} - call g:NERDTreeMenuItem.CreateSeparator(opts) -endfunction - -function! NERDTreeAddSubmenu(options) - return g:NERDTreeMenuItem.Create(a:options) -endfunction - -function! NERDTreeAddKeyMap(options) - call g:NERDTreeKeyMap.Create(a:options) -endfunction - -function! NERDTreeRender() - call nerdtree#renderView() -endfunction - -function! NERDTreeFocus() - if g:NERDTree.IsOpen() - call g:NERDTree.CursorToTreeWin(0) - else - call g:NERDTreeCreator.ToggleTabTree('') - endif -endfunction - -function! NERDTreeCWD() - - if empty(getcwd()) - call nerdtree#echoWarning('current directory does not exist') - return - endif - - try - let l:cwdPath = g:NERDTreePath.New(getcwd()) - catch /^NERDTree.InvalidArgumentsError/ - call nerdtree#echoWarning('current directory does not exist') - return - endtry - - call NERDTreeFocus() - - if b:NERDTree.root.path.equals(l:cwdPath) - return - endif - - let l:newRoot = g:NERDTreeFileNode.New(l:cwdPath, b:NERDTree) - call b:NERDTree.changeRoot(l:newRoot) - normal! ^ -endfunction - -function! NERDTreeAddPathFilter(callback) - call g:NERDTree.AddPathFilter(a:callback) -endfunction - -" SECTION: Post Source Actions {{{1 -call nerdtree#postSourceActions() - -"reset &cpoptions back to users setting -let &cpoptions = s:old_cpo - -" vim: set sw=4 sts=4 et fdm=marker: diff --git a/.vim_runtime/sources_non_forked/nerdtree/screenshot.png b/.vim_runtime/sources_non_forked/nerdtree/screenshot.png deleted file mode 100644 index c410c5d..0000000 Binary files a/.vim_runtime/sources_non_forked/nerdtree/screenshot.png and /dev/null differ diff --git a/.vim_runtime/sources_non_forked/nerdtree/syntax/nerdtree.vim b/.vim_runtime/sources_non_forked/nerdtree/syntax/nerdtree.vim deleted file mode 100644 index fc7269e..0000000 --- a/.vim_runtime/sources_non_forked/nerdtree/syntax/nerdtree.vim +++ /dev/null @@ -1,95 +0,0 @@ -let s:tree_up_dir_line = '.. (up a dir)' -syn match NERDTreeIgnore #\~# -exec 'syn match NERDTreeIgnore #\['.g:NERDTreeGlyphReadOnly.'\]#' - -"highlighting for the .. (up dir) line at the top of the tree -execute "syn match NERDTreeUp #\\V". s:tree_up_dir_line .'#' - -"quickhelp syntax elements -syn match NERDTreeHelpKey #" \{1,2\}[^ ]*:#ms=s+2,me=e-1 -syn match NERDTreeHelpKey #" \{1,2\}[^ ]*,#ms=s+2,me=e-1 -syn match NERDTreeHelpTitle #" .*\~$#ms=s+2,me=e-1 -syn match NERDTreeToggleOn #(on)#ms=s+1,he=e-1 -syn match NERDTreeToggleOff #(off)#ms=e-3,me=e-1 -syn match NERDTreeHelpCommand #" :.\{-}\>#hs=s+3 -syn match NERDTreeHelp #^".*# contains=NERDTreeHelpKey,NERDTreeHelpTitle,NERDTreeIgnore,NERDTreeToggleOff,NERDTreeToggleOn,NERDTreeHelpCommand - -"highlighting for sym links -syn match NERDTreeLinkTarget #->.*# containedin=NERDTreeDir,NERDTreeFile -syn match NERDTreeLinkFile #.* ->#me=e-3 containedin=NERDTreeFile -syn match NERDTreeLinkDir #.*/ ->#me=e-3 containedin=NERDTreeDir - -"highlighting to conceal the delimiter around the file/dir name -if has('conceal') - exec 'syn match NERDTreeNodeDelimiters #\%d' . char2nr(g:NERDTreeNodeDelimiter) . '# conceal containedin=ALL' - setlocal conceallevel=2 concealcursor=nvic -else - exec 'syn match NERDTreeNodeDelimiters #\%d' . char2nr(g:NERDTreeNodeDelimiter) . '# containedin=ALL' - hi! link NERDTreeNodeDelimiters Ignore -endif - -"highlighing for directory nodes and file nodes -syn match NERDTreeDirSlash #/# containedin=NERDTreeDir - -if g:NERDTreeDirArrowExpandable !=# '' - exec 'syn match NERDTreeClosable #' . escape(g:NERDTreeDirArrowCollapsible, '~') . '\ze .*/# containedin=NERDTreeDir,NERDTreeFile' - exec 'syn match NERDTreeOpenable #' . escape(g:NERDTreeDirArrowExpandable, '~') . '\ze .*/# containedin=NERDTreeDir,NERDTreeFile' - let s:dirArrows = escape(g:NERDTreeDirArrowCollapsible, '~]\-').escape(g:NERDTreeDirArrowExpandable, '~]\-') - exec 'syn match NERDTreeDir #[^'.s:dirArrows.' ].*/#' - exec 'syn match NERDTreeExecFile #^.*'.g:NERDTreeNodeDelimiter.'\*\($\| \)# contains=NERDTreeRO,NERDTreeBookmark' - exec 'syn match NERDTreeFile #^[^"\.'.s:dirArrows.'] *[^'.s:dirArrows.']*# contains=NERDTreeLink,NERDTreeRO,NERDTreeBookmark,NERDTreeExecFile' -else - exec 'syn match NERDTreeDir #[^'.g:NERDTreeNodeDelimiter.']\{-}/\ze\($\|'.g:NERDTreeNodeDelimiter.'\)#' - exec 'syn match NERDTreeExecFile #[^'.g:NERDTreeNodeDelimiter.']\{-}'.g:NERDTreeNodeDelimiter.'\*\($\| \)# contains=NERDTreeRO,NERDTreeBookmark' - exec 'syn match NERDTreeFile #^.*'.g:NERDTreeNodeDelimiter.'.*[^\/]\($\|'.g:NERDTreeNodeDelimiter.'.*\)# contains=NERDTreeLink,NERDTreeRO,NERDTreeBookmark,NERDTreeExecFile' -endif - -"highlighting for readonly files -exec 'syn match NERDTreeRO #.*'.g:NERDTreeNodeDelimiter.'\zs.*\ze'.g:NERDTreeNodeDelimiter.'.*\['.g:NERDTreeGlyphReadOnly.'\]# contains=NERDTreeIgnore,NERDTreeBookmark,NERDTreeFile' - -exec 'syn match NERDTreeFlags #\[[^\]]*\]\ze'.g:NERDTreeNodeDelimiter.'# containedin=NERDTreeFile,NERDTreeExecFile,NERDTreeDir' - -syn match NERDTreeCWD #^[# -syn match NERDTreeBookmarksHeader #^>-\+Bookmarks-\+$# contains=NERDTreeBookmarksLeader -syn match NERDTreeBookmarkName #^>.\{-} #he=e-1 contains=NERDTreeBookmarksLeader -syn match NERDTreeBookmark #^>.*$# contains=NERDTreeBookmarksLeader,NERDTreeBookmarkName,NERDTreeBookmarksHeader - -hi def link NERDTreePart Special -hi def link NERDTreePartFile Type -hi def link NERDTreeExecFile Title -hi def link NERDTreeDirSlash Identifier - -hi def link NERDTreeBookmarksHeader statement -hi def link NERDTreeBookmarksLeader ignore -hi def link NERDTreeBookmarkName Identifier -hi def link NERDTreeBookmark normal - -hi def link NERDTreeHelp String -hi def link NERDTreeHelpKey Identifier -hi def link NERDTreeHelpCommand Identifier -hi def link NERDTreeHelpTitle Macro -hi def link NERDTreeToggleOn Question -hi def link NERDTreeToggleOff WarningMsg - -hi def link NERDTreeLinkTarget Type -hi def link NERDTreeLinkFile Macro -hi def link NERDTreeLinkDir Macro - -hi def link NERDTreeDir Directory -hi def link NERDTreeUp Directory -hi def link NERDTreeFile Normal -hi def link NERDTreeCWD Statement -hi def link NERDTreeOpenable Directory -hi def link NERDTreeClosable Directory -hi def link NERDTreeIgnore ignore -hi def link NERDTreeRO WarningMsg -hi def link NERDTreeBookmark Statement -hi def link NERDTreeFlags Number - -hi def link NERDTreeCurrentNode Search diff --git a/.vim_runtime/sources_non_forked/nginx.vim/CHANGELOG.md b/.vim_runtime/sources_non_forked/nginx.vim/CHANGELOG.md deleted file mode 100644 index 9860702..0000000 --- a/.vim_runtime/sources_non_forked/nginx.vim/CHANGELOG.md +++ /dev/null @@ -1,21 +0,0 @@ -CHANGELOG.md

nginx.vim CHANGELOG

- -

This file is used to list changes made in each version of the nginx plugin for the Vim editor.

- -

1.1.0

- -
    -
  • Do not highlight SHA ciphers, as usage as HMAC is still considered secure
  • -
- -

1.0.1

- -
    -
  • Highlight gzip on as insecure (as it might be vulnerable to BREACH/ CRIME)
  • -
- -

1.0.0

- -
    -
  • Initial release
  • -
diff --git a/.vim_runtime/sources_non_forked/nginx.vim/LICENSE b/.vim_runtime/sources_non_forked/nginx.vim/LICENSE deleted file mode 100644 index 536790d..0000000 --- a/.vim_runtime/sources_non_forked/nginx.vim/LICENSE +++ /dev/null @@ -1,675 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - Vim plugin that highlights insecure SSL/TLS cipher suites and protocols. - Copyright (C) 2017 Chris Aumann - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - nginx.vim Copyright (C) 2017 Chris Aumann - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. - diff --git a/.vim_runtime/sources_non_forked/nginx.vim/README.md b/.vim_runtime/sources_non_forked/nginx.vim/README.md deleted file mode 100644 index 83c8e25..0000000 --- a/.vim_runtime/sources_non_forked/nginx.vim/README.md +++ /dev/null @@ -1,77 +0,0 @@ - -README.md

nginx.vim

- -

Description

- -

Vim plugin for Nginx

- -

Features

- -

The plugin is based on the recent vim-plugin distributed with nginx-1.12.0 and additionally features the following syntax improvements:

- -
    -
  • Highlight IPv4 and IPv6 addresses
  • -
  • Mark insecure ssl_protocols as errors
  • -
  • Inline template syntax highlight for ERB and Jinja
  • -
  • Inline syntax highlight for LUA
  • -
  • Improve integer matching
  • -
  • Syntax highlighting for proxy_next_upstream options
  • -
  • Syntax highlighting for sticky options
  • -
  • Syntax highlighting for upstream server options
  • -
  • More to come!
  • -
- -

Furthermore:

- -
    -
  • Remove annoying delimiters, resulting in strange word-boundaries
  • -
- -

Note: Also check out sslsecure.vim: it supports highlighting insecure SSL/TLS cipher suites and protocols in all your files!

- -

Screenshots

- -

A server block with highlighting of insecure ssl_protocol options: -nginx server block with SSL configuration

- -

An upstream block with highlighted options: -nginx upstream configuration

- -

Embedded highlighting for ERB and Jinja templates: -Embedded highlighting for ERB and Jinja templates

- -

Embedded LUA syntax highlighting: -Embedded LUA syntax highlighting

- -

References

- -
    -
  • Based on the original nginx-1.12.0/contrib/vim
  • -
  • IPv4 and IPv6 address highlighting, based on expressions found in this forum post
  • -
  • Blog post introducing this plugin including some more examples
  • -
- -

For help with secure cipher selection, visit Mozillas SSL Configuration Generator

- -

Installation

- -

Install using any vim plugin manager. If you’re not familiar with any, go with Plug (vim-plug). -Then install this plugin using the your vim’s plugin manager as follows:

- -

Plug

- -
Plug 'chr4/nginx.vim'
- -

Dein.vim

- -
call dein#add('chr4/nginx.vim')
- -

Vundle

- -
Plugin 'chr4/nginx.vim'
- -

Pathogen

- -
git clone https://github.com/chr4/nginx.vim ~/.vim/bundle/nginx.vim
- -

Optionally, if you like Jinja template syntax highlighting, install lepture/vim-jinja, too.

diff --git a/.vim_runtime/sources_non_forked/nginx.vim/ftdetect/nginx.vim b/.vim_runtime/sources_non_forked/nginx.vim/ftdetect/nginx.vim deleted file mode 100644 index 0916ca8..0000000 --- a/.vim_runtime/sources_non_forked/nginx.vim/ftdetect/nginx.vim +++ /dev/null @@ -1,6 +0,0 @@ -au BufRead,BufNewFile *.nginx set ft=nginx -au BufRead,BufNewFile nginx*.conf set ft=nginx -au BufRead,BufNewFile *nginx.conf set ft=nginx -au BufRead,BufNewFile */etc/nginx/* set ft=nginx -au BufRead,BufNewFile */usr/local/nginx/conf/* set ft=nginx -au BufRead,BufNewFile */nginx/*.conf set ft=nginx diff --git a/.vim_runtime/sources_non_forked/nginx.vim/ftplugin/nginx.vim b/.vim_runtime/sources_non_forked/nginx.vim/ftplugin/nginx.vim deleted file mode 100644 index 463eea9..0000000 --- a/.vim_runtime/sources_non_forked/nginx.vim/ftplugin/nginx.vim +++ /dev/null @@ -1 +0,0 @@ -setlocal commentstring=#\ %s diff --git a/.vim_runtime/sources_non_forked/nginx.vim/indent/nginx.vim b/.vim_runtime/sources_non_forked/nginx.vim/indent/nginx.vim deleted file mode 100644 index 8601366..0000000 --- a/.vim_runtime/sources_non_forked/nginx.vim/indent/nginx.vim +++ /dev/null @@ -1,11 +0,0 @@ -if exists("b:did_indent") - finish -endif -let b:did_indent = 1 - -setlocal indentexpr= - -" cindent actually works for nginx' simple file structure -setlocal cindent -" Just make sure that the comments are not reset as defs would be. -setlocal cinkeys-=0# diff --git a/.vim_runtime/sources_non_forked/nginx.vim/syntax/nginx.vim b/.vim_runtime/sources_non_forked/nginx.vim/syntax/nginx.vim deleted file mode 100644 index 9d3b92e..0000000 --- a/.vim_runtime/sources_non_forked/nginx.vim/syntax/nginx.vim +++ /dev/null @@ -1,2308 +0,0 @@ -" Vim syntax file -" Language: nginx.conf -" Maintainer: Chris Aumann -" Last Change: Apr 15, 2017 - -if exists("b:current_syntax") - finish -end - -let b:current_syntax = "nginx" - -syn match ngxVariable '\$\(\w\+\|{\w\+}\)' -syn match ngxVariableBlock '\$\(\w\+\|{\w\+}\)' contained -syn match ngxVariableString '\$\(\w\+\|{\w\+}\)' contained -syn region ngxBlock start=+^+ end=+{+ skip=+\${\|{{\|{%+ contains=ngxComment,ngxInteger,ngxIPaddr,ngxDirectiveBlock,ngxVariableBlock,ngxString,ngxThirdPartyLuaBlock oneline -syn region ngxString start=+[^:a-zA-Z>!\\@]\z(["']\)+lc=1 end=+\z1+ skip=+\\\\\|\\\z1+ contains=ngxVariableString,ngxSSLCipherInsecure -syn match ngxComment ' *#.*$' - -" These regular expressions where taken (and adapted) from -" http://vim.1045645.n5.nabble.com/IPv6-support-for-quot-dns-quot-zonefile-syntax-highlighting-td1197292.html -syn match ngxInteger '\W\zs\(\d[0-9.]*\|[0-9.]*\d\)\w\?\ze\W' -syn match ngxIPaddr '\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}' -syn match ngxIPaddr '\[\(\x\{1,4}:\)\{6}\(\x\{1,4}:\x\{1,4}\|\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\]' -syn match ngxIPaddr '\[::\(\(\x\{1,4}:\)\{,6}\x\{1,4}\|\(\x\{1,4}:\)\{,5}\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\]' -syn match ngxIPaddr '\[\(\x\{1,4}:\)\{1}:\(\(\x\{1,4}:\)\{,5}\x\{1,4}\|\(\x\{1,4}:\)\{,4}\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\]' -syn match ngxIPaddr '\[\(\x\{1,4}:\)\{2}:\(\(\x\{1,4}:\)\{,4}\x\{1,4}\|\(\x\{1,4}:\)\{,3}\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\]' -syn match ngxIPaddr '\[\(\x\{1,4}:\)\{3}:\(\(\x\{1,4}:\)\{,3}\x\{1,4}\|\(\x\{1,4}:\)\{,2}\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\]' -syn match ngxIPaddr '\[\(\x\{1,4}:\)\{4}:\(\(\x\{1,4}:\)\{,2}\x\{1,4}\|\(\x\{1,4}:\)\{,1}\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\]' -syn match ngxIPaddr '\[\(\x\{1,4}:\)\{5}:\(\(\x\{1,4}:\)\{,1}\x\{1,4}\|\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\]' -syn match ngxIPaddr '\[\(\x\{1,4}:\)\{6}:\x\{1,4}\]' - -" Highlight wildcard listening signs also as IPaddr -syn match ngxIPaddr '\s\zs\[::]' -syn match ngxIPaddr '\s\zs\*' - -syn keyword ngxBoolean on -syn keyword ngxBoolean off - -syn keyword ngxDirectiveBlock http contained -syn keyword ngxDirectiveBlock mail contained -syn keyword ngxDirectiveBlock events contained -syn keyword ngxDirectiveBlock server contained -syn keyword ngxDirectiveBlock match contained -syn keyword ngxDirectiveBlock types contained -syn keyword ngxDirectiveBlock location contained -syn keyword ngxDirectiveBlock upstream contained -syn keyword ngxDirectiveBlock charset_map contained -syn keyword ngxDirectiveBlock limit_except contained -syn keyword ngxDirectiveBlock if contained -syn keyword ngxDirectiveBlock geo contained -syn keyword ngxDirectiveBlock map contained -syn keyword ngxDirectiveBlock split_clients contained - -syn keyword ngxDirectiveImportant include -syn keyword ngxDirectiveImportant root -syn keyword ngxDirectiveImportant server contained -syn region ngxDirectiveImportantServer matchgroup=ngxDirectiveImportant start=+^\s*\zsserver\ze\s.*;+ skip=+\\\\\|\\\;+ end=+;+he=e-1 contains=ngxUpstreamServerOptions,ngxString,ngxIPaddr,ngxBoolean,ngxInteger,ngxTemplateVar -syn keyword ngxDirectiveImportant server_name -syn keyword ngxDirectiveImportant listen contained -syn region ngxDirectiveImportantListen matchgroup=ngxDirectiveImportant start=+listen+ skip=+\\\\\|\\\;+ end=+;+he=e-1 contains=ngxListenOptions,ngxString,ngxIPaddr,ngxBoolean,ngxInteger,ngxTemplateVar -syn keyword ngxDirectiveImportant internal -syn keyword ngxDirectiveImportant proxy_pass -syn keyword ngxDirectiveImportant memcached_pass -syn keyword ngxDirectiveImportant fastcgi_pass -syn keyword ngxDirectiveImportant scgi_pass -syn keyword ngxDirectiveImportant uwsgi_pass -syn keyword ngxDirectiveImportant try_files -syn keyword ngxDirectiveImportant error_page -syn keyword ngxDirectiveImportant post_action - -syn keyword ngxUpstreamServerOptions weight contained -syn keyword ngxUpstreamServerOptions max_conns contained -syn keyword ngxUpstreamServerOptions max_fails contained -syn keyword ngxUpstreamServerOptions fail_timeout contained -syn keyword ngxUpstreamServerOptions backup contained -syn keyword ngxUpstreamServerOptions down contained -syn keyword ngxUpstreamServerOptions resolve contained -syn keyword ngxUpstreamServerOptions route contained -syn keyword ngxUpstreamServerOptions service contained -syn keyword ngxUpstreamServerOptions default_server contained -syn keyword ngxUpstreamServerOptions slow_start contained - -syn keyword ngxListenOptions default_server contained -syn keyword ngxListenOptions ssl contained -syn keyword ngxListenOptions http2 contained -syn keyword ngxListenOptions spdy contained -syn keyword ngxListenOptions proxy_protocol contained -syn keyword ngxListenOptions setfib contained -syn keyword ngxListenOptions fastopen contained -syn keyword ngxListenOptions backlog contained -syn keyword ngxListenOptions rcvbuf contained -syn keyword ngxListenOptions sndbuf contained -syn keyword ngxListenOptions accept_filter contained -syn keyword ngxListenOptions deferred contained -syn keyword ngxListenOptions bind contained -syn keyword ngxListenOptions ipv6only contained -syn keyword ngxListenOptions reuseport contained -syn keyword ngxListenOptions so_keepalive contained -syn keyword ngxListenOptions keepidle contained - -syn keyword ngxDirectiveControl break -syn keyword ngxDirectiveControl return -syn keyword ngxDirectiveControl rewrite -syn keyword ngxDirectiveControl set - -syn keyword ngxDirectiveDeprecated connections -syn keyword ngxDirectiveDeprecated imap -syn keyword ngxDirectiveDeprecated limit_zone -syn keyword ngxDirectiveDeprecated mysql_test -syn keyword ngxDirectiveDeprecated open_file_cache_retest -syn keyword ngxDirectiveDeprecated optimize_server_names -syn keyword ngxDirectiveDeprecated satisfy_any -syn keyword ngxDirectiveDeprecated so_keepalive - -syn keyword ngxDirective absolute_redirect -syn keyword ngxDirective accept_mutex -syn keyword ngxDirective accept_mutex_delay -syn keyword ngxDirective acceptex_read -syn keyword ngxDirective access_log -syn keyword ngxDirective add_after_body -syn keyword ngxDirective add_before_body -syn keyword ngxDirective add_header -syn keyword ngxDirective addition_types -syn keyword ngxDirective aio -syn keyword ngxDirective aio_write -syn keyword ngxDirective alias -syn keyword ngxDirective allow -syn keyword ngxDirective ancient_browser -syn keyword ngxDirective ancient_browser_value -syn keyword ngxDirective auth_basic -syn keyword ngxDirective auth_basic_user_file -syn keyword ngxDirective auth_http -syn keyword ngxDirective auth_http_header -syn keyword ngxDirective auth_http_pass_client_cert -syn keyword ngxDirective auth_http_timeout -syn keyword ngxDirective auth_jwt -syn keyword ngxDirective auth_jwt_key_file -syn keyword ngxDirective auth_request -syn keyword ngxDirective auth_request_set -syn keyword ngxDirective autoindex -syn keyword ngxDirective autoindex_exact_size -syn keyword ngxDirective autoindex_format -syn keyword ngxDirective autoindex_localtime -syn keyword ngxDirective charset -syn keyword ngxDirective charset_map -syn keyword ngxDirective charset_types -syn keyword ngxDirective chunked_transfer_encoding -syn keyword ngxDirective client_body_buffer_size -syn keyword ngxDirective client_body_in_file_only -syn keyword ngxDirective client_body_in_single_buffer -syn keyword ngxDirective client_body_temp_path -syn keyword ngxDirective client_body_timeout -syn keyword ngxDirective client_header_buffer_size -syn keyword ngxDirective client_header_timeout -syn keyword ngxDirective client_max_body_size -syn keyword ngxDirective connection_pool_size -syn keyword ngxDirective create_full_put_path -syn keyword ngxDirective daemon -syn keyword ngxDirective dav_access -syn keyword ngxDirective dav_methods -syn keyword ngxDirective debug_connection -syn keyword ngxDirective debug_points -syn keyword ngxDirective default_type -syn keyword ngxDirective degradation -syn keyword ngxDirective degrade -syn keyword ngxDirective deny -syn keyword ngxDirective devpoll_changes -syn keyword ngxDirective devpoll_events -syn keyword ngxDirective directio -syn keyword ngxDirective directio_alignment -syn keyword ngxDirective disable_symlinks -syn keyword ngxDirective empty_gif -syn keyword ngxDirective env -syn keyword ngxDirective epoll_events -syn keyword ngxDirective error_log -syn keyword ngxDirective etag -syn keyword ngxDirective eventport_events -syn keyword ngxDirective expires -syn keyword ngxDirective f4f -syn keyword ngxDirective f4f_buffer_size -syn keyword ngxDirective fastcgi_bind -syn keyword ngxDirective fastcgi_buffer_size -syn keyword ngxDirective fastcgi_buffering -syn keyword ngxDirective fastcgi_buffers -syn keyword ngxDirective fastcgi_busy_buffers_size -syn keyword ngxDirective fastcgi_cache -syn keyword ngxDirective fastcgi_cache_bypass -syn keyword ngxDirective fastcgi_cache_key -syn keyword ngxDirective fastcgi_cache_lock -syn keyword ngxDirective fastcgi_cache_lock_age -syn keyword ngxDirective fastcgi_cache_lock_timeout -syn keyword ngxDirective fastcgi_cache_max_range_offset -syn keyword ngxDirective fastcgi_cache_methods -syn keyword ngxDirective fastcgi_cache_min_uses -syn keyword ngxDirective fastcgi_cache_path -syn keyword ngxDirective fastcgi_cache_purge -syn keyword ngxDirective fastcgi_cache_revalidate -syn keyword ngxDirective fastcgi_cache_use_stale -syn keyword ngxDirective fastcgi_cache_valid -syn keyword ngxDirective fastcgi_catch_stderr -syn keyword ngxDirective fastcgi_connect_timeout -syn keyword ngxDirective fastcgi_force_ranges -syn keyword ngxDirective fastcgi_hide_header -syn keyword ngxDirective fastcgi_ignore_client_abort -syn keyword ngxDirective fastcgi_ignore_headers -syn keyword ngxDirective fastcgi_index -syn keyword ngxDirective fastcgi_intercept_errors -syn keyword ngxDirective fastcgi_keep_conn -syn keyword ngxDirective fastcgi_limit_rate -syn keyword ngxDirective fastcgi_max_temp_file_size -syn keyword ngxDirective fastcgi_next_upstream -syn keyword ngxDirective fastcgi_next_upstream_timeout -syn keyword ngxDirective fastcgi_next_upstream_tries -syn keyword ngxDirective fastcgi_no_cache -syn keyword ngxDirective fastcgi_param -syn keyword ngxDirective fastcgi_pass_header -syn keyword ngxDirective fastcgi_pass_request_body -syn keyword ngxDirective fastcgi_pass_request_headers -syn keyword ngxDirective fastcgi_read_timeout -syn keyword ngxDirective fastcgi_request_buffering -syn keyword ngxDirective fastcgi_send_lowat -syn keyword ngxDirective fastcgi_send_timeout -syn keyword ngxDirective fastcgi_split_path_info -syn keyword ngxDirective fastcgi_store -syn keyword ngxDirective fastcgi_store_access -syn keyword ngxDirective fastcgi_temp_file_write_size -syn keyword ngxDirective fastcgi_temp_path -syn keyword ngxDirective flv -syn keyword ngxDirective geoip_city -syn keyword ngxDirective geoip_country -syn keyword ngxDirective geoip_org -syn keyword ngxDirective geoip_proxy -syn keyword ngxDirective geoip_proxy_recursive -syn keyword ngxDirective google_perftools_profiles -syn keyword ngxDirective gunzip -syn keyword ngxDirective gunzip_buffers -syn keyword ngxDirective gzip nextgroup=ngxGzipOn,ngxGzipOff skipwhite -syn keyword ngxGzipOn on contained -syn keyword ngxGzipOff off contained -syn keyword ngxDirective gzip_buffers -syn keyword ngxDirective gzip_comp_level -syn keyword ngxDirective gzip_disable -syn keyword ngxDirective gzip_hash -syn keyword ngxDirective gzip_http_version -syn keyword ngxDirective gzip_min_length -syn keyword ngxDirective gzip_no_buffer -syn keyword ngxDirective gzip_proxied -syn keyword ngxDirective gzip_static -syn keyword ngxDirective gzip_types -syn keyword ngxDirective gzip_vary -syn keyword ngxDirective gzip_window -syn keyword ngxDirective hash -syn keyword ngxDirective health_check -syn keyword ngxDirective health_check_timeout -syn keyword ngxDirective hls -syn keyword ngxDirective hls_buffers -syn keyword ngxDirective hls_forward_args -syn keyword ngxDirective hls_fragment -syn keyword ngxDirective hls_mp4_buffer_size -syn keyword ngxDirective hls_mp4_max_buffer_size -syn keyword ngxDirective http2_chunk_size -syn keyword ngxDirective http2_body_preread_size -syn keyword ngxDirective http2_idle_timeout -syn keyword ngxDirective http2_max_concurrent_streams -syn keyword ngxDirective http2_max_field_size -syn keyword ngxDirective http2_max_header_size -syn keyword ngxDirective http2_max_requests -syn keyword ngxDirective http2_recv_buffer_size -syn keyword ngxDirective http2_recv_timeout -syn keyword ngxDirective if_modified_since -syn keyword ngxDirective ignore_invalid_headers -syn keyword ngxDirective image_filter -syn keyword ngxDirective image_filter_buffer -syn keyword ngxDirective image_filter_interlace -syn keyword ngxDirective image_filter_jpeg_quality -syn keyword ngxDirective image_filter_sharpen -syn keyword ngxDirective image_filter_transparency -syn keyword ngxDirective image_filter_webp_quality -syn keyword ngxDirective imap_auth -syn keyword ngxDirective imap_capabilities -syn keyword ngxDirective imap_client_buffer -syn keyword ngxDirective index -syn keyword ngxDirective iocp_threads -syn keyword ngxDirective ip_hash -syn keyword ngxDirective js_access -syn keyword ngxDirective js_content -syn keyword ngxDirective js_filter -syn keyword ngxDirective js_include -syn keyword ngxDirective js_preread -syn keyword ngxDirective js_set -syn keyword ngxDirective keepalive -syn keyword ngxDirective keepalive_disable -syn keyword ngxDirective keepalive_requests -syn keyword ngxDirective keepalive_timeout -syn keyword ngxDirective kqueue_changes -syn keyword ngxDirective kqueue_events -syn keyword ngxDirective large_client_header_buffers -syn keyword ngxDirective least_conn -syn keyword ngxDirective least_time -syn keyword ngxDirective limit_conn -syn keyword ngxDirective limit_conn_dry_run -syn keyword ngxDirective limit_conn_log_level -syn keyword ngxDirective limit_conn_status -syn keyword ngxDirective limit_conn_zone -syn keyword ngxDirective limit_except -syn keyword ngxDirective limit_rate -syn keyword ngxDirective limit_rate_after -syn keyword ngxDirective limit_req -syn keyword ngxDirective limit_req_dry_run -syn keyword ngxDirective limit_req_log_level -syn keyword ngxDirective limit_req_status -syn keyword ngxDirective limit_req_zone -syn keyword ngxDirective lingering_close -syn keyword ngxDirective lingering_time -syn keyword ngxDirective lingering_timeout -syn keyword ngxDirective load_module -syn keyword ngxDirective lock_file -syn keyword ngxDirective log_format -syn keyword ngxDirective log_not_found -syn keyword ngxDirective log_subrequest -syn keyword ngxDirective map_hash_bucket_size -syn keyword ngxDirective map_hash_max_size -syn keyword ngxDirective master_process -syn keyword ngxDirective max_ranges -syn keyword ngxDirective memcached_bind -syn keyword ngxDirective memcached_buffer_size -syn keyword ngxDirective memcached_connect_timeout -syn keyword ngxDirective memcached_force_ranges -syn keyword ngxDirective memcached_gzip_flag -syn keyword ngxDirective memcached_next_upstream -syn keyword ngxDirective memcached_next_upstream_timeout -syn keyword ngxDirective memcached_next_upstream_tries -syn keyword ngxDirective memcached_read_timeout -syn keyword ngxDirective memcached_send_timeout -syn keyword ngxDirective merge_slashes -syn keyword ngxDirective min_delete_depth -syn keyword ngxDirective modern_browser -syn keyword ngxDirective modern_browser_value -syn keyword ngxDirective mp4 -syn keyword ngxDirective mp4_buffer_size -syn keyword ngxDirective mp4_max_buffer_size -syn keyword ngxDirective mp4_limit_rate -syn keyword ngxDirective mp4_limit_rate_after -syn keyword ngxDirective msie_padding -syn keyword ngxDirective msie_refresh -syn keyword ngxDirective multi_accept -syn keyword ngxDirective ntlm -syn keyword ngxDirective open_file_cache -syn keyword ngxDirective open_file_cache_errors -syn keyword ngxDirective open_file_cache_events -syn keyword ngxDirective open_file_cache_min_uses -syn keyword ngxDirective open_file_cache_valid -syn keyword ngxDirective open_log_file_cache -syn keyword ngxDirective output_buffers -syn keyword ngxDirective override_charset -syn keyword ngxDirective pcre_jit -syn keyword ngxDirective perl -syn keyword ngxDirective perl_modules -syn keyword ngxDirective perl_require -syn keyword ngxDirective perl_set -syn keyword ngxDirective pid -syn keyword ngxDirective pop3_auth -syn keyword ngxDirective pop3_capabilities -syn keyword ngxDirective port_in_redirect -syn keyword ngxDirective post_acceptex -syn keyword ngxDirective postpone_gzipping -syn keyword ngxDirective postpone_output -syn keyword ngxDirective preread_buffer_size -syn keyword ngxDirective preread_timeout -syn keyword ngxDirective protocol nextgroup=ngxMailProtocol skipwhite -syn keyword ngxMailProtocol imap pop3 smtp contained -syn keyword ngxDirective proxy -syn keyword ngxDirective proxy_bind -syn keyword ngxDirective proxy_buffer -syn keyword ngxDirective proxy_buffer_size -syn keyword ngxDirective proxy_buffering -syn keyword ngxDirective proxy_buffers -syn keyword ngxDirective proxy_busy_buffers_size -syn keyword ngxDirective proxy_cache -syn keyword ngxDirective proxy_cache_bypass -syn keyword ngxDirective proxy_cache_convert_head -syn keyword ngxDirective proxy_cache_key -syn keyword ngxDirective proxy_cache_lock -syn keyword ngxDirective proxy_cache_lock_age -syn keyword ngxDirective proxy_cache_lock_timeout -syn keyword ngxDirective proxy_cache_max_range_offset -syn keyword ngxDirective proxy_cache_methods -syn keyword ngxDirective proxy_cache_min_uses -syn keyword ngxDirective proxy_cache_path -syn keyword ngxDirective proxy_cache_purge -syn keyword ngxDirective proxy_cache_revalidate -syn keyword ngxDirective proxy_cache_use_stale -syn keyword ngxDirective proxy_cache_valid -syn keyword ngxDirective proxy_connect_timeout -syn keyword ngxDirective proxy_cookie_domain -syn keyword ngxDirective proxy_cookie_path -syn keyword ngxDirective proxy_download_rate -syn keyword ngxDirective proxy_force_ranges -syn keyword ngxDirective proxy_headers_hash_bucket_size -syn keyword ngxDirective proxy_headers_hash_max_size -syn keyword ngxDirective proxy_hide_header -syn keyword ngxDirective proxy_http_version -syn keyword ngxDirective proxy_ignore_client_abort -syn keyword ngxDirective proxy_ignore_headers -syn keyword ngxDirective proxy_intercept_errors -syn keyword ngxDirective proxy_limit_rate -syn keyword ngxDirective proxy_max_temp_file_size -syn keyword ngxDirective proxy_method -syn keyword ngxDirective proxy_next_upstream contained -syn region ngxDirectiveProxyNextUpstream matchgroup=ngxDirective start=+^\s*\zsproxy_next_upstream\ze\s.*;+ skip=+\\\\\|\\\;+ end=+;+he=e-1 contains=ngxProxyNextUpstreamOptions,ngxString,ngxTemplateVar -syn keyword ngxDirective proxy_next_upstream_timeout -syn keyword ngxDirective proxy_next_upstream_tries -syn keyword ngxDirective proxy_no_cache -syn keyword ngxDirective proxy_pass_error_message -syn keyword ngxDirective proxy_pass_header -syn keyword ngxDirective proxy_pass_request_body -syn keyword ngxDirective proxy_pass_request_headers -syn keyword ngxDirective proxy_protocol -syn keyword ngxDirective proxy_protocol_timeout -syn keyword ngxDirective proxy_read_timeout -syn keyword ngxDirective proxy_redirect -syn keyword ngxDirective proxy_request_buffering -syn keyword ngxDirective proxy_responses -syn keyword ngxDirective proxy_send_lowat -syn keyword ngxDirective proxy_send_timeout -syn keyword ngxDirective proxy_set_body -syn keyword ngxDirective proxy_set_header -syn keyword ngxDirective proxy_ssl_certificate -syn keyword ngxDirective proxy_ssl_certificate_key -syn keyword ngxDirective proxy_ssl_ciphers -syn keyword ngxDirective proxy_ssl_crl -syn keyword ngxDirective proxy_ssl_name -syn keyword ngxDirective proxy_ssl_password_file -syn keyword ngxDirective proxy_ssl_protocols nextgroup=ngxSSLProtocol skipwhite -syn keyword ngxDirective proxy_ssl_server_name -syn keyword ngxDirective proxy_ssl_session_reuse -syn keyword ngxDirective proxy_ssl_trusted_certificate -syn keyword ngxDirective proxy_ssl_verify -syn keyword ngxDirective proxy_ssl_verify_depth -syn keyword ngxDirective proxy_store -syn keyword ngxDirective proxy_store_access -syn keyword ngxDirective proxy_temp_file_write_size -syn keyword ngxDirective proxy_temp_path -syn keyword ngxDirective proxy_timeout -syn keyword ngxDirective proxy_upload_rate -syn keyword ngxDirective queue -syn keyword ngxDirective random_index -syn keyword ngxDirective read_ahead -syn keyword ngxDirective real_ip_header -syn keyword ngxDirective real_ip_recursive -syn keyword ngxDirective recursive_error_pages -syn keyword ngxDirective referer_hash_bucket_size -syn keyword ngxDirective referer_hash_max_size -syn keyword ngxDirective request_pool_size -syn keyword ngxDirective reset_timedout_connection -syn keyword ngxDirective resolver -syn keyword ngxDirective resolver_timeout -syn keyword ngxDirective rewrite_log -syn keyword ngxDirective rtsig_overflow_events -syn keyword ngxDirective rtsig_overflow_test -syn keyword ngxDirective rtsig_overflow_threshold -syn keyword ngxDirective rtsig_signo -syn keyword ngxDirective satisfy -syn keyword ngxDirective scgi_bind -syn keyword ngxDirective scgi_buffer_size -syn keyword ngxDirective scgi_buffering -syn keyword ngxDirective scgi_buffers -syn keyword ngxDirective scgi_busy_buffers_size -syn keyword ngxDirective scgi_cache -syn keyword ngxDirective scgi_cache_bypass -syn keyword ngxDirective scgi_cache_key -syn keyword ngxDirective scgi_cache_lock -syn keyword ngxDirective scgi_cache_lock_age -syn keyword ngxDirective scgi_cache_lock_timeout -syn keyword ngxDirective scgi_cache_max_range_offset -syn keyword ngxDirective scgi_cache_methods -syn keyword ngxDirective scgi_cache_min_uses -syn keyword ngxDirective scgi_cache_path -syn keyword ngxDirective scgi_cache_purge -syn keyword ngxDirective scgi_cache_revalidate -syn keyword ngxDirective scgi_cache_use_stale -syn keyword ngxDirective scgi_cache_valid -syn keyword ngxDirective scgi_connect_timeout -syn keyword ngxDirective scgi_force_ranges -syn keyword ngxDirective scgi_hide_header -syn keyword ngxDirective scgi_ignore_client_abort -syn keyword ngxDirective scgi_ignore_headers -syn keyword ngxDirective scgi_intercept_errors -syn keyword ngxDirective scgi_limit_rate -syn keyword ngxDirective scgi_max_temp_file_size -syn keyword ngxDirective scgi_next_upstream -syn keyword ngxDirective scgi_next_upstream_timeout -syn keyword ngxDirective scgi_next_upstream_tries -syn keyword ngxDirective scgi_no_cache -syn keyword ngxDirective scgi_param -syn keyword ngxDirective scgi_pass_header -syn keyword ngxDirective scgi_pass_request_body -syn keyword ngxDirective scgi_pass_request_headers -syn keyword ngxDirective scgi_read_timeout -syn keyword ngxDirective scgi_request_buffering -syn keyword ngxDirective scgi_send_timeout -syn keyword ngxDirective scgi_store -syn keyword ngxDirective scgi_store_access -syn keyword ngxDirective scgi_temp_file_write_size -syn keyword ngxDirective scgi_temp_path -syn keyword ngxDirective secure_link -syn keyword ngxDirective secure_link_md5 -syn keyword ngxDirective secure_link_secret -syn keyword ngxDirective send_lowat -syn keyword ngxDirective send_timeout -syn keyword ngxDirective sendfile -syn keyword ngxDirective sendfile_max_chunk -syn keyword ngxDirective server_name_in_redirect -syn keyword ngxDirective server_names_hash_bucket_size -syn keyword ngxDirective server_names_hash_max_size -syn keyword ngxDirective server_tokens -syn keyword ngxDirective session_log -syn keyword ngxDirective session_log_format -syn keyword ngxDirective session_log_zone -syn keyword ngxDirective set_real_ip_from -syn keyword ngxDirective slice -syn keyword ngxDirective smtp_auth -syn keyword ngxDirective smtp_capabilities -syn keyword ngxDirective smtp_client_buffer -syn keyword ngxDirective smtp_greeting_delay -syn keyword ngxDirective source_charset -syn keyword ngxDirective spdy_chunk_size -syn keyword ngxDirective spdy_headers_comp -syn keyword ngxDirective spdy_keepalive_timeout -syn keyword ngxDirective spdy_max_concurrent_streams -syn keyword ngxDirective spdy_pool_size -syn keyword ngxDirective spdy_recv_buffer_size -syn keyword ngxDirective spdy_recv_timeout -syn keyword ngxDirective spdy_streams_index_size -syn keyword ngxDirective ssi -syn keyword ngxDirective ssi_ignore_recycled_buffers -syn keyword ngxDirective ssi_last_modified -syn keyword ngxDirective ssi_min_file_chunk -syn keyword ngxDirective ssi_silent_errors -syn keyword ngxDirective ssi_types -syn keyword ngxDirective ssi_value_length -syn keyword ngxDirective ssl -syn keyword ngxDirective ssl_buffer_size -syn keyword ngxDirective ssl_certificate -syn keyword ngxDirective ssl_certificate_key -syn keyword ngxDirective ssl_ciphers -syn keyword ngxDirective ssl_client_certificate -syn keyword ngxDirective ssl_crl -syn keyword ngxDirective ssl_dhparam -syn keyword ngxDirective ssl_ecdh_curve -syn keyword ngxDirective ssl_engine -syn keyword ngxDirective ssl_handshake_timeout -syn keyword ngxDirective ssl_password_file -syn keyword ngxDirective ssl_prefer_server_ciphers nextgroup=ngxSSLPreferServerCiphersOff,ngxSSLPreferServerCiphersOn skipwhite -syn keyword ngxSSLPreferServerCiphersOn on contained -syn keyword ngxSSLPreferServerCiphersOff off contained -syn keyword ngxDirective ssl_preread -syn keyword ngxDirective ssl_protocols nextgroup=ngxSSLProtocol,ngxSSLProtocolDeprecated skipwhite -syn match ngxSSLProtocol 'TLSv1' contained nextgroup=ngxSSLProtocol,ngxSSLProtocolDeprecated skipwhite -syn match ngxSSLProtocol 'TLSv1\.1' contained nextgroup=ngxSSLProtocol,ngxSSLProtocolDeprecated skipwhite -syn match ngxSSLProtocol 'TLSv1\.2' contained nextgroup=ngxSSLProtocol,ngxSSLProtocolDeprecated skipwhite -syn match ngxSSLProtocol 'TLSv1\.3' contained nextgroup=ngxSSLProtocol,ngxSSLProtocolDeprecated skipwhite - -" Do not enable highlighting of insecure protocols if sslecure is loaded -if !exists('g:loaded_sslsecure') - syn keyword ngxSSLProtocolDeprecated SSLv2 SSLv3 contained nextgroup=ngxSSLProtocol,ngxSSLProtocolDeprecated skipwhite -else - syn match ngxSSLProtocol 'SSLv2' contained nextgroup=ngxSSLProtocol,ngxSSLProtocolDeprecated skipwhite - syn match ngxSSLProtocol 'SSLv3' contained nextgroup=ngxSSLProtocol,ngxSSLProtocolDeprecated skipwhite -endif - -syn keyword ngxDirective ssl_session_cache -syn keyword ngxDirective ssl_session_ticket_key -syn keyword ngxDirective ssl_session_tickets nextgroup=ngxSSLSessionTicketsOn,ngxSSLSessionTicketsOff skipwhite -syn keyword ngxSSLSessionTicketsOn on contained -syn keyword ngxSSLSessionTicketsOff off contained -syn keyword ngxDirective ssl_session_timeout -syn keyword ngxDirective ssl_stapling -syn keyword ngxDirective ssl_stapling_file -syn keyword ngxDirective ssl_stapling_responder -syn keyword ngxDirective ssl_stapling_verify -syn keyword ngxDirective ssl_trusted_certificate -syn keyword ngxDirective ssl_verify_client -syn keyword ngxDirective ssl_verify_depth -syn keyword ngxDirective starttls -syn keyword ngxDirective state -syn keyword ngxDirective status -syn keyword ngxDirective status_format -syn keyword ngxDirective status_zone -syn keyword ngxDirective sticky contained -syn keyword ngxDirective sticky_cookie_insert contained -syn region ngxDirectiveSticky matchgroup=ngxDirective start=+^\s*\zssticky\ze\s.*;+ skip=+\\\\\|\\\;+ end=+;+he=e-1 contains=ngxCookieOptions,ngxString,ngxBoolean,ngxInteger,ngxTemplateVar -syn keyword ngxDirective stub_status -syn keyword ngxDirective sub_filter -syn keyword ngxDirective sub_filter_last_modified -syn keyword ngxDirective sub_filter_once -syn keyword ngxDirective sub_filter_types -syn keyword ngxDirective tcp_nodelay -syn keyword ngxDirective tcp_nopush -syn keyword ngxDirective thread_pool -syn keyword ngxDirective thread_stack_size -syn keyword ngxDirective timeout -syn keyword ngxDirective timer_resolution -syn keyword ngxDirective types_hash_bucket_size -syn keyword ngxDirective types_hash_max_size -syn keyword ngxDirective underscores_in_headers -syn keyword ngxDirective uninitialized_variable_warn -syn keyword ngxDirective upstream_conf -syn keyword ngxDirective use -syn keyword ngxDirective user -syn keyword ngxDirective userid -syn keyword ngxDirective userid_domain -syn keyword ngxDirective userid_expires -syn keyword ngxDirective userid_mark -syn keyword ngxDirective userid_name -syn keyword ngxDirective userid_p3p -syn keyword ngxDirective userid_path -syn keyword ngxDirective userid_service -syn keyword ngxDirective uwsgi_bind -syn keyword ngxDirective uwsgi_buffer_size -syn keyword ngxDirective uwsgi_buffering -syn keyword ngxDirective uwsgi_buffers -syn keyword ngxDirective uwsgi_busy_buffers_size -syn keyword ngxDirective uwsgi_cache -syn keyword ngxDirective uwsgi_cache_bypass -syn keyword ngxDirective uwsgi_cache_key -syn keyword ngxDirective uwsgi_cache_lock -syn keyword ngxDirective uwsgi_cache_lock_age -syn keyword ngxDirective uwsgi_cache_lock_timeout -syn keyword ngxDirective uwsgi_cache_methods -syn keyword ngxDirective uwsgi_cache_min_uses -syn keyword ngxDirective uwsgi_cache_path -syn keyword ngxDirective uwsgi_cache_purge -syn keyword ngxDirective uwsgi_cache_revalidate -syn keyword ngxDirective uwsgi_cache_use_stale -syn keyword ngxDirective uwsgi_cache_valid -syn keyword ngxDirective uwsgi_connect_timeout -syn keyword ngxDirective uwsgi_force_ranges -syn keyword ngxDirective uwsgi_hide_header -syn keyword ngxDirective uwsgi_ignore_client_abort -syn keyword ngxDirective uwsgi_ignore_headers -syn keyword ngxDirective uwsgi_intercept_errors -syn keyword ngxDirective uwsgi_limit_rate -syn keyword ngxDirective uwsgi_max_temp_file_size -syn keyword ngxDirective uwsgi_modifier1 -syn keyword ngxDirective uwsgi_modifier2 -syn keyword ngxDirective uwsgi_next_upstream -syn keyword ngxDirective uwsgi_next_upstream_timeout -syn keyword ngxDirective uwsgi_next_upstream_tries -syn keyword ngxDirective uwsgi_no_cache -syn keyword ngxDirective uwsgi_param -syn keyword ngxDirective uwsgi_pass -syn keyword ngxDirective uwsgi_pass_header -syn keyword ngxDirective uwsgi_pass_request_body -syn keyword ngxDirective uwsgi_pass_request_headers -syn keyword ngxDirective uwsgi_read_timeout -syn keyword ngxDirective uwsgi_request_buffering -syn keyword ngxDirective uwsgi_send_timeout -syn keyword ngxDirective uwsgi_ssl_certificate -syn keyword ngxDirective uwsgi_ssl_certificate_key -syn keyword ngxDirective uwsgi_ssl_ciphers -syn keyword ngxDirective uwsgi_ssl_crl -syn keyword ngxDirective uwsgi_ssl_name -syn keyword ngxDirective uwsgi_ssl_password_file -syn keyword ngxDirective uwsgi_ssl_protocols nextgroup=ngxSSLProtocol skipwhite -syn keyword ngxDirective uwsgi_ssl_server_name -syn keyword ngxDirective uwsgi_ssl_session_reuse -syn keyword ngxDirective uwsgi_ssl_trusted_certificate -syn keyword ngxDirective uwsgi_ssl_verify -syn keyword ngxDirective uwsgi_ssl_verify_depth -syn keyword ngxDirective uwsgi_store -syn keyword ngxDirective uwsgi_store_access -syn keyword ngxDirective uwsgi_string -syn keyword ngxDirective uwsgi_temp_file_write_size -syn keyword ngxDirective uwsgi_temp_path -syn keyword ngxDirective valid_referers -syn keyword ngxDirective variables_hash_bucket_size -syn keyword ngxDirective variables_hash_max_size -syn keyword ngxDirective worker_aio_requests -syn keyword ngxDirective worker_connections -syn keyword ngxDirective worker_cpu_affinity -syn keyword ngxDirective worker_priority -syn keyword ngxDirective worker_processes -syn keyword ngxDirective worker_rlimit_core -syn keyword ngxDirective worker_rlimit_nofile -syn keyword ngxDirective worker_rlimit_sigpending -syn keyword ngxDirective worker_threads -syn keyword ngxDirective working_directory -syn keyword ngxDirective xclient -syn keyword ngxDirective xml_entities -syn keyword ngxDirective xslt_last_modified -syn keyword ngxDirective xslt_param -syn keyword ngxDirective xslt_string_param -syn keyword ngxDirective xslt_stylesheet -syn keyword ngxDirective xslt_types -syn keyword ngxDirective zone - -" Do not enable highlighting of insecure ciphers if sslecure is loaded -if !exists('g:loaded_sslsecure') - " Mark insecure SSL Ciphers (Note: List might not not complete) - " Reference: https://www.openssl.org/docs/man1.0.2/apps/ciphers.html - syn match ngxSSLCipherInsecure '[^!]\zsSSLv3' - syn match ngxSSLCipherInsecure '[^!]\zsSSLv2' - syn match ngxSSLCipherInsecure '[^!]\zsHIGH' - syn match ngxSSLCipherInsecure '[^!]\zsMEDIUM' - syn match ngxSSLCipherInsecure '[^!]\zsLOW' - syn match ngxSSLCipherInsecure '[^!]\zsDEFAULT' - syn match ngxSSLCipherInsecure '[^!]\zsCOMPLEMENTOFDEFAULT' - syn match ngxSSLCipherInsecure '[^!]\zsALL' - syn match ngxSSLCipherInsecure '[^!]\zsCOMPLEMENTOFALL' - - " SHA ciphers are only used in HMAC with all known OpenSSL/ LibreSSL cipher suites and MAC - " usage is still considered safe - " syn match ngxSSLCipherInsecure '[^!]\zsSHA\ze\D' " Match SHA1 without matching SHA256+ - " syn match ngxSSLCipherInsecure '[^!]\zsSHA1' - syn match ngxSSLCipherInsecure '[^!]\zsMD5' - syn match ngxSSLCipherInsecure '[^!]\zsRC2' - syn match ngxSSLCipherInsecure '[^!]\zsRC4' - syn match ngxSSLCipherInsecure '[^!]\zs3DES' - syn match ngxSSLCipherInsecure '[^!3]\zsDES' - syn match ngxSSLCipherInsecure '[^!]\zsaDSS' - syn match ngxSSLCipherInsecure '[^!a]\zsDSS' - syn match ngxSSLCipherInsecure '[^!]\zsPSK' - syn match ngxSSLCipherInsecure '[^!]\zsIDEA' - syn match ngxSSLCipherInsecure '[^!]\zsSEED' - syn match ngxSSLCipherInsecure '[^!]\zsEXP\w*' " Match all EXPORT ciphers - syn match ngxSSLCipherInsecure '[^!]\zsaGOST\w*' " Match all GOST ciphers - syn match ngxSSLCipherInsecure '[^!]\zskGOST\w*' - syn match ngxSSLCipherInsecure '[^!ak]\zsGOST\w*' - syn match ngxSSLCipherInsecure '[^!]\zs[kae]\?FZA' " Not implemented - syn match ngxSSLCipherInsecure '[^!]\zsECB' - syn match ngxSSLCipherInsecure '[^!]\zs[aes]NULL' - - " Anonymous cipher suites should never be used - syn match ngxSSLCipherInsecure '[^!ECa]\zsDH\ze[^E]' " Try to match DH without DHE, EDH, EECDH, etc. - syn match ngxSSLCipherInsecure '[^!EA]\zsECDH\ze[^E]' " Do not match EECDH, ECDHE - syn match ngxSSLCipherInsecure '[^!]\zsADH' - syn match ngxSSLCipherInsecure '[^!]\zskDHE' - syn match ngxSSLCipherInsecure '[^!]\zskEDH' - syn match ngxSSLCipherInsecure '[^!]\zskECDHE' - syn match ngxSSLCipherInsecure '[^!]\zskEECDH' - syn match ngxSSLCipherInsecure '[^!E]\zsAECDH' -endif - -syn keyword ngxProxyNextUpstreamOptions error contained -syn keyword ngxProxyNextUpstreamOptions timeout contained -syn keyword ngxProxyNextUpstreamOptions invalid_header contained -syn keyword ngxProxyNextUpstreamOptions http_500 contained -syn keyword ngxProxyNextUpstreamOptions http_502 contained -syn keyword ngxProxyNextUpstreamOptions http_503 contained -syn keyword ngxProxyNextUpstreamOptions http_504 contained -syn keyword ngxProxyNextUpstreamOptions http_403 contained -syn keyword ngxProxyNextUpstreamOptions http_404 contained -syn keyword ngxProxyNextUpstreamOptions http_429 contained -syn keyword ngxProxyNextUpstreamOptions non_idempotent contained -syn keyword ngxProxyNextUpstreamOptions off contained - -syn keyword ngxStickyOptions cookie contained -syn region ngxStickyOptionsCookie matchgroup=ngxStickyOptions start=+^\s*\zssticky\s\s*cookie\ze\s.*;+ skip=+\\\\\|\\\;+ end=+;+he=e-1 contains=ngxCookieOptions,ngxString,ngxBoolean,ngxInteger,ngxTemplateVar -syn keyword ngxStickyOptions route contained -syn keyword ngxStickyOptions learn contained - -syn keyword ngxCookieOptions expires contained -syn keyword ngxCookieOptions domain contained -syn keyword ngxCookieOptions httponly contained -syn keyword ngxCookieOptions secure contained -syn keyword ngxCookieOptions path contained - -" 3rd party module list: -" https://www.nginx.com/resources/wiki/modules/ - -" Accept Language Module -" Parses the Accept-Language header and gives the most suitable locale from a list of supported locales. -syn keyword ngxDirectiveThirdParty set_from_accept_language - -" Access Key Module (DEPRECATED) -" Denies access unless the request URL contains an access key. -syn keyword ngxDirectiveDeprecated accesskey -syn keyword ngxDirectiveDeprecated accesskey_arg -syn keyword ngxDirectiveDeprecated accesskey_hashmethod -syn keyword ngxDirectiveDeprecated accesskey_signature - -" Asynchronous FastCGI Module -" Primarily a modified version of the Nginx FastCGI module which implements multiplexing of connections, allowing a single FastCGI server to handle many concurrent requests. -" syn keyword ngxDirectiveThirdParty fastcgi_bind -" syn keyword ngxDirectiveThirdParty fastcgi_buffer_size -" syn keyword ngxDirectiveThirdParty fastcgi_buffers -" syn keyword ngxDirectiveThirdParty fastcgi_busy_buffers_size -" syn keyword ngxDirectiveThirdParty fastcgi_cache -" syn keyword ngxDirectiveThirdParty fastcgi_cache_key -" syn keyword ngxDirectiveThirdParty fastcgi_cache_methods -" syn keyword ngxDirectiveThirdParty fastcgi_cache_min_uses -" syn keyword ngxDirectiveThirdParty fastcgi_cache_path -" syn keyword ngxDirectiveThirdParty fastcgi_cache_use_stale -" syn keyword ngxDirectiveThirdParty fastcgi_cache_valid -" syn keyword ngxDirectiveThirdParty fastcgi_catch_stderr -" syn keyword ngxDirectiveThirdParty fastcgi_connect_timeout -" syn keyword ngxDirectiveThirdParty fastcgi_hide_header -" syn keyword ngxDirectiveThirdParty fastcgi_ignore_client_abort -" syn keyword ngxDirectiveThirdParty fastcgi_ignore_headers -" syn keyword ngxDirectiveThirdParty fastcgi_index -" syn keyword ngxDirectiveThirdParty fastcgi_intercept_errors -" syn keyword ngxDirectiveThirdParty fastcgi_max_temp_file_size -" syn keyword ngxDirectiveThirdParty fastcgi_next_upstream -" syn keyword ngxDirectiveThirdParty fastcgi_param -" syn keyword ngxDirectiveThirdParty fastcgi_pass -" syn keyword ngxDirectiveThirdParty fastcgi_pass_header -" syn keyword ngxDirectiveThirdParty fastcgi_pass_request_body -" syn keyword ngxDirectiveThirdParty fastcgi_pass_request_headers -" syn keyword ngxDirectiveThirdParty fastcgi_read_timeout -" syn keyword ngxDirectiveThirdParty fastcgi_send_lowat -" syn keyword ngxDirectiveThirdParty fastcgi_send_timeout -" syn keyword ngxDirectiveThirdParty fastcgi_split_path_info -" syn keyword ngxDirectiveThirdParty fastcgi_store -" syn keyword ngxDirectiveThirdParty fastcgi_store_access -" syn keyword ngxDirectiveThirdParty fastcgi_temp_file_write_size -" syn keyword ngxDirectiveThirdParty fastcgi_temp_path -syn keyword ngxDirectiveDeprecated fastcgi_upstream_fail_timeout -syn keyword ngxDirectiveDeprecated fastcgi_upstream_max_fails - -" Akamai G2O Module -" Nginx Module for Authenticating Akamai G2O requests -syn keyword ngxDirectiveThirdParty g2o -syn keyword ngxDirectiveThirdParty g2o_nonce -syn keyword ngxDirectiveThirdParty g2o_key - -" Lua Module -" You can be very simple to execute lua code for nginx -syn keyword ngxDirectiveThirdParty lua_file - -" Array Variable Module -" Add support for array-typed variables to nginx config files -syn keyword ngxDirectiveThirdParty array_split -syn keyword ngxDirectiveThirdParty array_join -syn keyword ngxDirectiveThirdParty array_map -syn keyword ngxDirectiveThirdParty array_map_op - -" Nginx Audio Track for HTTP Live Streaming -" This nginx module generates audio track for hls streams on the fly. -syn keyword ngxDirectiveThirdParty ngx_hls_audio_track -syn keyword ngxDirectiveThirdParty ngx_hls_audio_track_rootpath -syn keyword ngxDirectiveThirdParty ngx_hls_audio_track_output_format -syn keyword ngxDirectiveThirdParty ngx_hls_audio_track_output_header - -" AWS Proxy Module -" Nginx module to proxy to authenticated AWS services -syn keyword ngxDirectiveThirdParty aws_access_key -syn keyword ngxDirectiveThirdParty aws_key_scope -syn keyword ngxDirectiveThirdParty aws_signing_key -syn keyword ngxDirectiveThirdParty aws_endpoint -syn keyword ngxDirectiveThirdParty aws_s3_bucket -syn keyword ngxDirectiveThirdParty aws_sign - -" Backtrace module -" A Nginx module to dump backtrace when a worker process exits abnormally -syn keyword ngxDirectiveThirdParty backtrace_log -syn keyword ngxDirectiveThirdParty backtrace_max_stack_size - -" Brotli Module -" Nginx module for Brotli compression -syn keyword ngxDirectiveThirdParty brotli_static -syn keyword ngxDirectiveThirdParty brotli -syn keyword ngxDirectiveThirdParty brotli_types -syn keyword ngxDirectiveThirdParty brotli_buffers -syn keyword ngxDirectiveThirdParty brotli_comp_level -syn keyword ngxDirectiveThirdParty brotli_window -syn keyword ngxDirectiveThirdParty brotli_min_length - -" Cache Purge Module -" Adds ability to purge content from FastCGI, proxy, SCGI and uWSGI caches. -syn keyword ngxDirectiveThirdParty fastcgi_cache_purge -syn keyword ngxDirectiveThirdParty proxy_cache_purge -" syn keyword ngxDirectiveThirdParty scgi_cache_purge -" syn keyword ngxDirectiveThirdParty uwsgi_cache_purge - -" Chunkin Module (DEPRECATED) -" HTTP 1.1 chunked-encoding request body support for Nginx. -syn keyword ngxDirectiveDeprecated chunkin -syn keyword ngxDirectiveDeprecated chunkin_keepalive -syn keyword ngxDirectiveDeprecated chunkin_max_chunks_per_buf -syn keyword ngxDirectiveDeprecated chunkin_resume - -" Circle GIF Module -" Generates simple circle images with the colors and size specified in the URL. -syn keyword ngxDirectiveThirdParty circle_gif -syn keyword ngxDirectiveThirdParty circle_gif_max_radius -syn keyword ngxDirectiveThirdParty circle_gif_min_radius -syn keyword ngxDirectiveThirdParty circle_gif_step_radius - -" Nginx-Clojure Module -" Parses the Accept-Language header and gives the most suitable locale from a list of supported locales. -syn keyword ngxDirectiveThirdParty jvm_path -syn keyword ngxDirectiveThirdParty jvm_var -syn keyword ngxDirectiveThirdParty jvm_classpath -syn keyword ngxDirectiveThirdParty jvm_classpath_check -syn keyword ngxDirectiveThirdParty jvm_workers -syn keyword ngxDirectiveThirdParty jvm_options -syn keyword ngxDirectiveThirdParty jvm_handler_type -syn keyword ngxDirectiveThirdParty jvm_init_handler_name -syn keyword ngxDirectiveThirdParty jvm_init_handler_code -syn keyword ngxDirectiveThirdParty jvm_exit_handler_name -syn keyword ngxDirectiveThirdParty jvm_exit_handler_code -syn keyword ngxDirectiveThirdParty handlers_lazy_init -syn keyword ngxDirectiveThirdParty auto_upgrade_ws -syn keyword ngxDirectiveThirdParty content_handler_type -syn keyword ngxDirectiveThirdParty content_handler_name -syn keyword ngxDirectiveThirdParty content_handler_code -syn keyword ngxDirectiveThirdParty rewrite_handler_type -syn keyword ngxDirectiveThirdParty rewrite_handler_name -syn keyword ngxDirectiveThirdParty rewrite_handler_code -syn keyword ngxDirectiveThirdParty access_handler_type -syn keyword ngxDirectiveThirdParty access_handler_name -syn keyword ngxDirectiveThirdParty access_handler_code -syn keyword ngxDirectiveThirdParty header_filter_type -syn keyword ngxDirectiveThirdParty header_filter_name -syn keyword ngxDirectiveThirdParty header_filter_code -syn keyword ngxDirectiveThirdParty content_handler_property -syn keyword ngxDirectiveThirdParty rewrite_handler_property -syn keyword ngxDirectiveThirdParty access_handler_property -syn keyword ngxDirectiveThirdParty header_filter_property -syn keyword ngxDirectiveThirdParty always_read_body -syn keyword ngxDirectiveThirdParty shared_map -syn keyword ngxDirectiveThirdParty write_page_size - -" Upstream Consistent Hash -" A load balancer that uses an internal consistent hash ring to select the right backend node. -syn keyword ngxDirectiveThirdParty consistent_hash - -" Nginx Development Kit -" The NDK is an Nginx module that is designed to extend the core functionality of the excellent Nginx webserver in a way that can be used as a basis of other Nginx modules. -" NDK_UPSTREAM_LIST -" This submodule provides a directive that creates a list of upstreams, with optional weighting. This list can then be used by other modules to hash over the upstreams however they choose. -syn keyword ngxDirectiveThirdParty upstream_list - -" Drizzle Module -" Upstream module for talking to MySQL and Drizzle directly -syn keyword ngxDirectiveThirdParty drizzle_server -syn keyword ngxDirectiveThirdParty drizzle_keepalive -syn keyword ngxDirectiveThirdParty drizzle_query -syn keyword ngxDirectiveThirdParty drizzle_pass -syn keyword ngxDirectiveThirdParty drizzle_connect_timeout -syn keyword ngxDirectiveThirdParty drizzle_send_query_timeout -syn keyword ngxDirectiveThirdParty drizzle_recv_cols_timeout -syn keyword ngxDirectiveThirdParty drizzle_recv_rows_timeout -syn keyword ngxDirectiveThirdParty drizzle_buffer_size -syn keyword ngxDirectiveThirdParty drizzle_module_header -syn keyword ngxDirectiveThirdParty drizzle_status - -" Dynamic ETags Module -" Attempt at handling ETag / If-None-Match on proxied content. -syn keyword ngxDirectiveThirdParty dynamic_etags - -" Echo Module -" Bringing the power of "echo", "sleep", "time" and more to Nginx's config file -syn keyword ngxDirectiveThirdParty echo -syn keyword ngxDirectiveThirdParty echo_duplicate -syn keyword ngxDirectiveThirdParty echo_flush -syn keyword ngxDirectiveThirdParty echo_sleep -syn keyword ngxDirectiveThirdParty echo_blocking_sleep -syn keyword ngxDirectiveThirdParty echo_reset_timer -syn keyword ngxDirectiveThirdParty echo_read_request_body -syn keyword ngxDirectiveThirdParty echo_location_async -syn keyword ngxDirectiveThirdParty echo_location -syn keyword ngxDirectiveThirdParty echo_subrequest_async -syn keyword ngxDirectiveThirdParty echo_subrequest -syn keyword ngxDirectiveThirdParty echo_foreach_split -syn keyword ngxDirectiveThirdParty echo_end -syn keyword ngxDirectiveThirdParty echo_request_body -syn keyword ngxDirectiveThirdParty echo_exec -syn keyword ngxDirectiveThirdParty echo_status -syn keyword ngxDirectiveThirdParty echo_before_body -syn keyword ngxDirectiveThirdParty echo_after_body - -" Encrypted Session Module -" Encrypt and decrypt nginx variable values -syn keyword ngxDirectiveThirdParty encrypted_session_key -syn keyword ngxDirectiveThirdParty encrypted_session_iv -syn keyword ngxDirectiveThirdParty encrypted_session_expires -syn keyword ngxDirectiveThirdParty set_encrypt_session -syn keyword ngxDirectiveThirdParty set_decrypt_session - -" Enhanced Memcached Module -" This module is based on the standard Nginx Memcached module, with some additonal features -syn keyword ngxDirectiveThirdParty enhanced_memcached_pass -syn keyword ngxDirectiveThirdParty enhanced_memcached_hash_keys_with_md5 -syn keyword ngxDirectiveThirdParty enhanced_memcached_allow_put -syn keyword ngxDirectiveThirdParty enhanced_memcached_allow_delete -syn keyword ngxDirectiveThirdParty enhanced_memcached_stats -syn keyword ngxDirectiveThirdParty enhanced_memcached_flush -syn keyword ngxDirectiveThirdParty enhanced_memcached_flush_namespace -syn keyword ngxDirectiveThirdParty enhanced_memcached_bind -syn keyword ngxDirectiveThirdParty enhanced_memcached_connect_timeout -syn keyword ngxDirectiveThirdParty enhanced_memcached_send_timeout -syn keyword ngxDirectiveThirdParty enhanced_memcached_buffer_size -syn keyword ngxDirectiveThirdParty enhanced_memcached_read_timeout - -" Events Module (DEPRECATED) -" Provides options for start/stop events. -syn keyword ngxDirectiveDeprecated on_start -syn keyword ngxDirectiveDeprecated on_stop - -" EY Balancer Module -" Adds a request queue to Nginx that allows the limiting of concurrent requests passed to the upstream. -syn keyword ngxDirectiveThirdParty max_connections -syn keyword ngxDirectiveThirdParty max_connections_max_queue_length -syn keyword ngxDirectiveThirdParty max_connections_queue_timeout - -" Upstream Fair Balancer -" Sends an incoming request to the least-busy backend server, rather than distributing requests round-robin. -syn keyword ngxDirectiveThirdParty fair -syn keyword ngxDirectiveThirdParty upstream_fair_shm_size - -" Fancy Indexes Module -" Like the built-in autoindex module, but fancier. -syn keyword ngxDirectiveThirdParty fancyindex -syn keyword ngxDirectiveThirdParty fancyindex_default_sort -syn keyword ngxDirectiveThirdParty fancyindex_directories_first -syn keyword ngxDirectiveThirdParty fancyindex_css_href -syn keyword ngxDirectiveThirdParty fancyindex_exact_size -syn keyword ngxDirectiveThirdParty fancyindex_name_length -syn keyword ngxDirectiveThirdParty fancyindex_footer -syn keyword ngxDirectiveThirdParty fancyindex_header -syn keyword ngxDirectiveThirdParty fancyindex_show_path -syn keyword ngxDirectiveThirdParty fancyindex_ignore -syn keyword ngxDirectiveThirdParty fancyindex_hide_symlinks -syn keyword ngxDirectiveThirdParty fancyindex_localtime -syn keyword ngxDirectiveThirdParty fancyindex_time_format - -" Form Auth Module -" Provides authentication and authorization with credentials submitted via POST request -syn keyword ngxDirectiveThirdParty form_auth -syn keyword ngxDirectiveThirdParty form_auth_pam_service -syn keyword ngxDirectiveThirdParty form_auth_login -syn keyword ngxDirectiveThirdParty form_auth_password -syn keyword ngxDirectiveThirdParty form_auth_remote_user - -" Form Input Module -" Reads HTTP POST and PUT request body encoded in "application/x-www-form-urlencoded" and parses the arguments into nginx variables. -syn keyword ngxDirectiveThirdParty set_form_input -syn keyword ngxDirectiveThirdParty set_form_input_multi - -" GeoIP Module (DEPRECATED) -" Country code lookups via the MaxMind GeoIP API. -syn keyword ngxDirectiveDeprecated geoip_country_file - -" GeoIP 2 Module -" Creates variables with values from the maxmind geoip2 databases based on the client IP -syn keyword ngxDirectiveThirdParty geoip2 - -" GridFS Module -" Nginx module for serving files from MongoDB's GridFS -syn keyword ngxDirectiveThirdParty gridfs - -" Headers More Module -" Set and clear input and output headers...more than "add"! -syn keyword ngxDirectiveThirdParty more_clear_headers -syn keyword ngxDirectiveThirdParty more_clear_input_headers -syn keyword ngxDirectiveThirdParty more_set_headers -syn keyword ngxDirectiveThirdParty more_set_input_headers - -" Health Checks Upstreams Module -" Polls backends and if they respond with HTTP 200 + an optional request body, they are marked good. Otherwise, they are marked bad. -syn keyword ngxDirectiveThirdParty healthcheck_enabled -syn keyword ngxDirectiveThirdParty healthcheck_delay -syn keyword ngxDirectiveThirdParty healthcheck_timeout -syn keyword ngxDirectiveThirdParty healthcheck_failcount -syn keyword ngxDirectiveThirdParty healthcheck_send -syn keyword ngxDirectiveThirdParty healthcheck_expected -syn keyword ngxDirectiveThirdParty healthcheck_buffer -syn keyword ngxDirectiveThirdParty healthcheck_status - -" HTTP Accounting Module -" Add traffic stat function to nginx. Useful for http accounting based on nginx configuration logic -syn keyword ngxDirectiveThirdParty http_accounting -syn keyword ngxDirectiveThirdParty http_accounting_log -syn keyword ngxDirectiveThirdParty http_accounting_id -syn keyword ngxDirectiveThirdParty http_accounting_interval -syn keyword ngxDirectiveThirdParty http_accounting_perturb - -" Nginx Digest Authentication module -" Digest Authentication for Nginx -syn keyword ngxDirectiveThirdParty auth_digest -syn keyword ngxDirectiveThirdParty auth_digest_user_file -syn keyword ngxDirectiveThirdParty auth_digest_timeout -syn keyword ngxDirectiveThirdParty auth_digest_expires -syn keyword ngxDirectiveThirdParty auth_digest_replays -syn keyword ngxDirectiveThirdParty auth_digest_shm_size - -" Auth PAM Module -" HTTP Basic Authentication using PAM. -syn keyword ngxDirectiveThirdParty auth_pam -syn keyword ngxDirectiveThirdParty auth_pam_service_name - -" HTTP Auth Request Module -" Implements client authorization based on the result of a subrequest -" syn keyword ngxDirectiveThirdParty auth_request -" syn keyword ngxDirectiveThirdParty auth_request_set - -" HTTP Concatenation module for Nginx -" A Nginx module for concatenating files in a given context: CSS and JS files usually -syn keyword ngxDirectiveThirdParty concat -syn keyword ngxDirectiveThirdParty concat_types -syn keyword ngxDirectiveThirdParty concat_unique -syn keyword ngxDirectiveThirdParty concat_max_files -syn keyword ngxDirectiveThirdParty concat_delimiter -syn keyword ngxDirectiveThirdParty concat_ignore_file_error - -" HTTP Dynamic Upstream Module -" Update upstreams' config by restful interface -syn keyword ngxDirectiveThirdParty dyups_interface -syn keyword ngxDirectiveThirdParty dyups_read_msg_timeout -syn keyword ngxDirectiveThirdParty dyups_shm_zone_size -syn keyword ngxDirectiveThirdParty dyups_upstream_conf -syn keyword ngxDirectiveThirdParty dyups_trylock - -" HTTP Footer If Filter Module -" The ngx_http_footer_if_filter_module is used to add given content to the end of the response according to the condition specified. -syn keyword ngxDirectiveThirdParty footer_if - -" HTTP Footer Filter Module -" This module implements a body filter that adds a given string to the page footer. -syn keyword ngxDirectiveThirdParty footer -syn keyword ngxDirectiveThirdParty footer_types - -" HTTP Internal Redirect Module -" Make an internal redirect to the uri specified according to the condition specified. -syn keyword ngxDirectiveThirdParty internal_redirect_if -syn keyword ngxDirectiveThirdParty internal_redirect_if_no_postponed - -" HTTP JavaScript Module -" Embedding SpiderMonkey. Nearly full port on Perl module. -syn keyword ngxDirectiveThirdParty js -syn keyword ngxDirectiveThirdParty js_filter -syn keyword ngxDirectiveThirdParty js_filter_types -syn keyword ngxDirectiveThirdParty js_load -syn keyword ngxDirectiveThirdParty js_maxmem -syn keyword ngxDirectiveThirdParty js_require -syn keyword ngxDirectiveThirdParty js_set -syn keyword ngxDirectiveThirdParty js_utf8 - -" HTTP Push Module (DEPRECATED) -" Turn Nginx into an adept long-polling HTTP Push (Comet) server. -syn keyword ngxDirectiveDeprecated push_buffer_size -syn keyword ngxDirectiveDeprecated push_listener -syn keyword ngxDirectiveDeprecated push_message_timeout -syn keyword ngxDirectiveDeprecated push_queue_messages -syn keyword ngxDirectiveDeprecated push_sender - -" HTTP Redis Module -" Redis support. -syn keyword ngxDirectiveThirdParty redis_bind -syn keyword ngxDirectiveThirdParty redis_buffer_size -syn keyword ngxDirectiveThirdParty redis_connect_timeout -syn keyword ngxDirectiveThirdParty redis_next_upstream -syn keyword ngxDirectiveThirdParty redis_pass -syn keyword ngxDirectiveThirdParty redis_read_timeout -syn keyword ngxDirectiveThirdParty redis_send_timeout - -" Iconv Module -" A character conversion nginx module using libiconv -syn keyword ngxDirectiveThirdParty set_iconv -syn keyword ngxDirectiveThirdParty iconv_buffer_size -syn keyword ngxDirectiveThirdParty iconv_filter - -" IP Blocker Module -" An efficient shared memory IP blocking system for nginx. -syn keyword ngxDirectiveThirdParty ip_blocker - -" IP2Location Module -" Allows user to lookup for geolocation information using IP2Location database -syn keyword ngxDirectiveThirdParty ip2location_database - -" JS Module -" Reflect the nginx functionality in JS -syn keyword ngxDirectiveThirdParty js -syn keyword ngxDirectiveThirdParty js_access -syn keyword ngxDirectiveThirdParty js_load -syn keyword ngxDirectiveThirdParty js_set - -" Limit Upload Rate Module -" Limit client-upload rate when they are sending request bodies to you -syn keyword ngxDirectiveThirdParty limit_upload_rate -syn keyword ngxDirectiveThirdParty limit_upload_rate_after - -" Limit Upstream Module -" Limit the number of connections to upstream for NGINX -syn keyword ngxDirectiveThirdParty limit_upstream_zone -syn keyword ngxDirectiveThirdParty limit_upstream_conn -syn keyword ngxDirectiveThirdParty limit_upstream_log_level - -" Log If Module -" Conditional accesslog for nginx -syn keyword ngxDirectiveThirdParty access_log_bypass_if - -" Log Request Speed (DEPRECATED) -" Log the time it took to process each request. -syn keyword ngxDirectiveDeprecated log_request_speed_filter -syn keyword ngxDirectiveDeprecated log_request_speed_filter_timeout - -" Log ZeroMQ Module -" ZeroMQ logger module for nginx -syn keyword ngxDirectiveThirdParty log_zmq_server -syn keyword ngxDirectiveThirdParty log_zmq_endpoint -syn keyword ngxDirectiveThirdParty log_zmq_format -syn keyword ngxDirectiveThirdParty log_zmq_off - -" Lower/UpperCase Module -" This module simply uppercases or lowercases a string and saves it into a new variable. -syn keyword ngxDirectiveThirdParty lower -syn keyword ngxDirectiveThirdParty upper - -" Lua Upstream Module -" Nginx C module to expose Lua API to ngx_lua for Nginx upstreams - -" Lua Module -" Embed the Power of Lua into NGINX HTTP servers -syn keyword ngxDirectiveThirdParty lua_use_default_type -syn keyword ngxDirectiveThirdParty lua_malloc_trim -syn keyword ngxDirectiveThirdParty lua_code_cache -syn keyword ngxDirectiveThirdParty lua_regex_cache_max_entries -syn keyword ngxDirectiveThirdParty lua_regex_match_limit -syn keyword ngxDirectiveThirdParty lua_package_path -syn keyword ngxDirectiveThirdParty lua_package_cpath -syn keyword ngxDirectiveThirdParty init_by_lua -syn keyword ngxDirectiveThirdParty init_by_lua_file -syn keyword ngxDirectiveThirdParty init_worker_by_lua -syn keyword ngxDirectiveThirdParty init_worker_by_lua_file -syn keyword ngxDirectiveThirdParty set_by_lua -syn keyword ngxDirectiveThirdParty set_by_lua_file -syn keyword ngxDirectiveThirdParty content_by_lua -syn keyword ngxDirectiveThirdParty content_by_lua_file -syn keyword ngxDirectiveThirdParty rewrite_by_lua -syn keyword ngxDirectiveThirdParty rewrite_by_lua_file -syn keyword ngxDirectiveThirdParty access_by_lua -syn keyword ngxDirectiveThirdParty access_by_lua_file -syn keyword ngxDirectiveThirdParty header_filter_by_lua -syn keyword ngxDirectiveThirdParty header_filter_by_lua_file -syn keyword ngxDirectiveThirdParty body_filter_by_lua -syn keyword ngxDirectiveThirdParty body_filter_by_lua_file -syn keyword ngxDirectiveThirdParty log_by_lua -syn keyword ngxDirectiveThirdParty log_by_lua_file -syn keyword ngxDirectiveThirdParty balancer_by_lua_file -syn keyword ngxDirectiveThirdParty lua_need_request_body -syn keyword ngxDirectiveThirdParty ssl_certificate_by_lua_file -syn keyword ngxDirectiveThirdParty ssl_session_fetch_by_lua_file -syn keyword ngxDirectiveThirdParty ssl_session_store_by_lua_file -syn keyword ngxDirectiveThirdParty lua_shared_dict -syn keyword ngxDirectiveThirdParty lua_socket_connect_timeout -syn keyword ngxDirectiveThirdParty lua_socket_send_timeout -syn keyword ngxDirectiveThirdParty lua_socket_send_lowat -syn keyword ngxDirectiveThirdParty lua_socket_read_timeout -syn keyword ngxDirectiveThirdParty lua_socket_buffer_size -syn keyword ngxDirectiveThirdParty lua_socket_pool_size -syn keyword ngxDirectiveThirdParty lua_socket_keepalive_timeout -syn keyword ngxDirectiveThirdParty lua_socket_log_errors -syn keyword ngxDirectiveThirdParty lua_ssl_ciphers -syn keyword ngxDirectiveThirdParty lua_ssl_crl -syn keyword ngxDirectiveThirdParty lua_ssl_protocols -syn keyword ngxDirectiveThirdParty lua_ssl_trusted_certificate -syn keyword ngxDirectiveThirdParty lua_ssl_verify_depth -syn keyword ngxDirectiveThirdParty lua_http10_buffering -syn keyword ngxDirectiveThirdParty rewrite_by_lua_no_postpone -syn keyword ngxDirectiveThirdParty access_by_lua_no_postpone -syn keyword ngxDirectiveThirdParty lua_transform_underscores_in_response_headers -syn keyword ngxDirectiveThirdParty lua_check_client_abort -syn keyword ngxDirectiveThirdParty lua_max_pending_timers -syn keyword ngxDirectiveThirdParty lua_max_running_timers - -" MD5 Filter Module -" A content filter for nginx, which returns the md5 hash of the content otherwise returned. -syn keyword ngxDirectiveThirdParty md5_filter - -" Memc Module -" An extended version of the standard memcached module that supports set, add, delete, and many more memcached commands. -syn keyword ngxDirectiveThirdParty memc_buffer_size -syn keyword ngxDirectiveThirdParty memc_cmds_allowed -syn keyword ngxDirectiveThirdParty memc_connect_timeout -syn keyword ngxDirectiveThirdParty memc_flags_to_last_modified -syn keyword ngxDirectiveThirdParty memc_next_upstream -syn keyword ngxDirectiveThirdParty memc_pass -syn keyword ngxDirectiveThirdParty memc_read_timeout -syn keyword ngxDirectiveThirdParty memc_send_timeout -syn keyword ngxDirectiveThirdParty memc_upstream_fail_timeout -syn keyword ngxDirectiveThirdParty memc_upstream_max_fails - -" Mod Security Module -" ModSecurity is an open source, cross platform web application firewall (WAF) engine -syn keyword ngxDirectiveThirdParty ModSecurityConfig -syn keyword ngxDirectiveThirdParty ModSecurityEnabled -syn keyword ngxDirectiveThirdParty pool_context -syn keyword ngxDirectiveThirdParty pool_context_hash_size - -" Mogilefs Module -" MogileFS client for nginx web server. -syn keyword ngxDirectiveThirdParty mogilefs_pass -syn keyword ngxDirectiveThirdParty mogilefs_methods -syn keyword ngxDirectiveThirdParty mogilefs_domain -syn keyword ngxDirectiveThirdParty mogilefs_class -syn keyword ngxDirectiveThirdParty mogilefs_tracker -syn keyword ngxDirectiveThirdParty mogilefs_noverify -syn keyword ngxDirectiveThirdParty mogilefs_connect_timeout -syn keyword ngxDirectiveThirdParty mogilefs_send_timeout -syn keyword ngxDirectiveThirdParty mogilefs_read_timeout - -" Mongo Module -" Upstream module that allows nginx to communicate directly with MongoDB database. -syn keyword ngxDirectiveThirdParty mongo_auth -syn keyword ngxDirectiveThirdParty mongo_pass -syn keyword ngxDirectiveThirdParty mongo_query -syn keyword ngxDirectiveThirdParty mongo_json -syn keyword ngxDirectiveThirdParty mongo_bind -syn keyword ngxDirectiveThirdParty mongo_connect_timeout -syn keyword ngxDirectiveThirdParty mongo_send_timeout -syn keyword ngxDirectiveThirdParty mongo_read_timeout -syn keyword ngxDirectiveThirdParty mongo_buffering -syn keyword ngxDirectiveThirdParty mongo_buffer_size -syn keyword ngxDirectiveThirdParty mongo_buffers -syn keyword ngxDirectiveThirdParty mongo_busy_buffers_size -syn keyword ngxDirectiveThirdParty mongo_next_upstream - -" MP4 Streaming Lite Module -" Will seek to a certain time within H.264/MP4 files when provided with a 'start' parameter in the URL. -" syn keyword ngxDirectiveThirdParty mp4 - -" NAXSI Module -" NAXSI is an open-source, high performance, low rules maintenance WAF for NGINX -syn keyword ngxDirectiveThirdParty DeniedUrl denied_url -syn keyword ngxDirectiveThirdParty LearningMode learning_mode -syn keyword ngxDirectiveThirdParty SecRulesEnabled rules_enabled -syn keyword ngxDirectiveThirdParty SecRulesDisabled rules_disabled -syn keyword ngxDirectiveThirdParty CheckRule check_rule -syn keyword ngxDirectiveThirdParty BasicRule basic_rule -syn keyword ngxDirectiveThirdParty MainRule main_rule -syn keyword ngxDirectiveThirdParty LibInjectionSql libinjection_sql -syn keyword ngxDirectiveThirdParty LibInjectionXss libinjection_xss - -" Nchan Module -" Fast, horizontally scalable, multiprocess pub/sub queuing server and proxy for HTTP, long-polling, Websockets and EventSource (SSE) -syn keyword ngxDirectiveThirdParty nchan_channel_id -syn keyword ngxDirectiveThirdParty nchan_channel_id_split_delimiter -syn keyword ngxDirectiveThirdParty nchan_eventsource_event -syn keyword ngxDirectiveThirdParty nchan_longpoll_multipart_response -syn keyword ngxDirectiveThirdParty nchan_publisher -syn keyword ngxDirectiveThirdParty nchan_publisher_channel_id -syn keyword ngxDirectiveThirdParty nchan_publisher_upstream_request -syn keyword ngxDirectiveThirdParty nchan_pubsub -syn keyword ngxDirectiveThirdParty nchan_subscribe_request -syn keyword ngxDirectiveThirdParty nchan_subscriber -syn keyword ngxDirectiveThirdParty nchan_subscriber_channel_id -syn keyword ngxDirectiveThirdParty nchan_subscriber_compound_etag_message_id -syn keyword ngxDirectiveThirdParty nchan_subscriber_first_message -syn keyword ngxDirectiveThirdParty nchan_subscriber_http_raw_stream_separator -syn keyword ngxDirectiveThirdParty nchan_subscriber_last_message_id -syn keyword ngxDirectiveThirdParty nchan_subscriber_message_id_custom_etag_header -syn keyword ngxDirectiveThirdParty nchan_subscriber_timeout -syn keyword ngxDirectiveThirdParty nchan_unsubscribe_request -syn keyword ngxDirectiveThirdParty nchan_websocket_ping_interval -syn keyword ngxDirectiveThirdParty nchan_authorize_request -syn keyword ngxDirectiveThirdParty nchan_max_reserved_memory -syn keyword ngxDirectiveThirdParty nchan_message_buffer_length -syn keyword ngxDirectiveThirdParty nchan_message_timeout -syn keyword ngxDirectiveThirdParty nchan_redis_idle_channel_cache_timeout -syn keyword ngxDirectiveThirdParty nchan_redis_namespace -syn keyword ngxDirectiveThirdParty nchan_redis_pass -syn keyword ngxDirectiveThirdParty nchan_redis_ping_interval -syn keyword ngxDirectiveThirdParty nchan_redis_server -syn keyword ngxDirectiveThirdParty nchan_redis_storage_mode -syn keyword ngxDirectiveThirdParty nchan_redis_url -syn keyword ngxDirectiveThirdParty nchan_store_messages -syn keyword ngxDirectiveThirdParty nchan_use_redis -syn keyword ngxDirectiveThirdParty nchan_access_control_allow_origin -syn keyword ngxDirectiveThirdParty nchan_channel_group -syn keyword ngxDirectiveThirdParty nchan_channel_group_accounting -syn keyword ngxDirectiveThirdParty nchan_group_location -syn keyword ngxDirectiveThirdParty nchan_group_max_channels -syn keyword ngxDirectiveThirdParty nchan_group_max_messages -syn keyword ngxDirectiveThirdParty nchan_group_max_messages_disk -syn keyword ngxDirectiveThirdParty nchan_group_max_messages_memory -syn keyword ngxDirectiveThirdParty nchan_group_max_subscribers -syn keyword ngxDirectiveThirdParty nchan_subscribe_existing_channels_only -syn keyword ngxDirectiveThirdParty nchan_channel_event_string -syn keyword ngxDirectiveThirdParty nchan_channel_events_channel_id -syn keyword ngxDirectiveThirdParty nchan_stub_status -syn keyword ngxDirectiveThirdParty nchan_max_channel_id_length -syn keyword ngxDirectiveThirdParty nchan_max_channel_subscribers -syn keyword ngxDirectiveThirdParty nchan_channel_timeout -syn keyword ngxDirectiveThirdParty nchan_storage_engine - -" Nginx Notice Module -" Serve static file to POST requests. -syn keyword ngxDirectiveThirdParty notice -syn keyword ngxDirectiveThirdParty notice_type - -" OCSP Proxy Module -" Nginx OCSP processing module designed for response caching -syn keyword ngxDirectiveThirdParty ocsp_proxy -syn keyword ngxDirectiveThirdParty ocsp_cache_timeout - -" Eval Module -" Module for nginx web server evaluates response of proxy or memcached module into variables. -syn keyword ngxDirectiveThirdParty eval -syn keyword ngxDirectiveThirdParty eval_escalate -syn keyword ngxDirectiveThirdParty eval_buffer_size -syn keyword ngxDirectiveThirdParty eval_override_content_type -syn keyword ngxDirectiveThirdParty eval_subrequest_in_memory - -" OpenSSL Version Module -" Nginx OpenSSL version check at startup -syn keyword ngxDirectiveThirdParty openssl_version_minimum -syn keyword ngxDirectiveThirdParty openssl_builddate_minimum - -" Owner Match Module -" Control access for specific owners and groups of files -syn keyword ngxDirectiveThirdParty omallow -syn keyword ngxDirectiveThirdParty omdeny - -" Accept Language Module -" Parses the Accept-Language header and gives the most suitable locale from a list of supported locales. -syn keyword ngxDirectiveThirdParty pagespeed - -" PHP Memcache Standard Balancer Module -" Loadbalancer that is compatible to the standard loadbalancer in the php-memcache module -syn keyword ngxDirectiveThirdParty hash_key - -" PHP Session Module -" Nginx module to parse php sessions -syn keyword ngxDirectiveThirdParty php_session_parse -syn keyword ngxDirectiveThirdParty php_session_strip_formatting - -" Phusion Passenger Module -" Passenger is an open source web application server. -syn keyword ngxDirectiveThirdParty passenger_root -syn keyword ngxDirectiveThirdParty passenger_enabled -syn keyword ngxDirectiveThirdParty passenger_base_uri -syn keyword ngxDirectiveThirdParty passenger_document_root -syn keyword ngxDirectiveThirdParty passenger_ruby -syn keyword ngxDirectiveThirdParty passenger_python -syn keyword ngxDirectiveThirdParty passenger_nodejs -syn keyword ngxDirectiveThirdParty passenger_meteor_app_settings -syn keyword ngxDirectiveThirdParty passenger_app_env -syn keyword ngxDirectiveThirdParty passenger_app_root -syn keyword ngxDirectiveThirdParty passenger_app_group_name -syn keyword ngxDirectiveThirdParty passenger_app_type -syn keyword ngxDirectiveThirdParty passenger_startup_file -syn keyword ngxDirectiveThirdParty passenger_restart_dir -syn keyword ngxDirectiveThirdParty passenger_spawn_method -syn keyword ngxDirectiveThirdParty passenger_env_var -syn keyword ngxDirectiveThirdParty passenger_load_shell_envvars -syn keyword ngxDirectiveThirdParty passenger_rolling_restarts -syn keyword ngxDirectiveThirdParty passenger_resist_deployment_errors -syn keyword ngxDirectiveThirdParty passenger_user_switching -syn keyword ngxDirectiveThirdParty passenger_user -syn keyword ngxDirectiveThirdParty passenger_group -syn keyword ngxDirectiveThirdParty passenger_default_user -syn keyword ngxDirectiveThirdParty passenger_default_group -syn keyword ngxDirectiveThirdParty passenger_show_version_in_header -syn keyword ngxDirectiveThirdParty passenger_friendly_error_pages -syn keyword ngxDirectiveThirdParty passenger_disable_security_update_check -syn keyword ngxDirectiveThirdParty passenger_security_update_check_proxy -syn keyword ngxDirectiveThirdParty passenger_max_pool_size -syn keyword ngxDirectiveThirdParty passenger_min_instances -syn keyword ngxDirectiveThirdParty passenger_max_instances -syn keyword ngxDirectiveThirdParty passenger_max_instances_per_app -syn keyword ngxDirectiveThirdParty passenger_pool_idle_time -syn keyword ngxDirectiveThirdParty passenger_max_preloader_idle_time -syn keyword ngxDirectiveThirdParty passenger_force_max_concurrent_requests_per_process -syn keyword ngxDirectiveThirdParty passenger_start_timeout -syn keyword ngxDirectiveThirdParty passenger_concurrency_model -syn keyword ngxDirectiveThirdParty passenger_thread_count -syn keyword ngxDirectiveThirdParty passenger_max_requests -syn keyword ngxDirectiveThirdParty passenger_max_request_time -syn keyword ngxDirectiveThirdParty passenger_memory_limit -syn keyword ngxDirectiveThirdParty passenger_stat_throttle_rate -syn keyword ngxDirectiveThirdParty passenger_core_file_descriptor_ulimit -syn keyword ngxDirectiveThirdParty passenger_app_file_descriptor_ulimit -syn keyword ngxDirectiveThirdParty passenger_pre_start -syn keyword ngxDirectiveThirdParty passenger_set_header -syn keyword ngxDirectiveThirdParty passenger_max_request_queue_size -syn keyword ngxDirectiveThirdParty passenger_request_queue_overflow_status_code -syn keyword ngxDirectiveThirdParty passenger_sticky_sessions -syn keyword ngxDirectiveThirdParty passenger_sticky_sessions_cookie_name -syn keyword ngxDirectiveThirdParty passenger_abort_websockets_on_process_shutdown -syn keyword ngxDirectiveThirdParty passenger_ignore_client_abort -syn keyword ngxDirectiveThirdParty passenger_intercept_errors -syn keyword ngxDirectiveThirdParty passenger_pass_header -syn keyword ngxDirectiveThirdParty passenger_ignore_headers -syn keyword ngxDirectiveThirdParty passenger_headers_hash_bucket_size -syn keyword ngxDirectiveThirdParty passenger_headers_hash_max_size -syn keyword ngxDirectiveThirdParty passenger_buffer_response -syn keyword ngxDirectiveThirdParty passenger_response_buffer_high_watermark -syn keyword ngxDirectiveThirdParty passenger_buffer_size, passenger_buffers, passenger_busy_buffers_size -syn keyword ngxDirectiveThirdParty passenger_socket_backlog -syn keyword ngxDirectiveThirdParty passenger_log_level -syn keyword ngxDirectiveThirdParty passenger_log_file -syn keyword ngxDirectiveThirdParty passenger_file_descriptor_log_file -syn keyword ngxDirectiveThirdParty passenger_debugger -syn keyword ngxDirectiveThirdParty passenger_instance_registry_dir -syn keyword ngxDirectiveThirdParty passenger_data_buffer_dir -syn keyword ngxDirectiveThirdParty passenger_fly_with -syn keyword ngxDirectiveThirdParty union_station_support -syn keyword ngxDirectiveThirdParty union_station_key -syn keyword ngxDirectiveThirdParty union_station_proxy_address -syn keyword ngxDirectiveThirdParty union_station_filter -syn keyword ngxDirectiveThirdParty union_station_gateway_address -syn keyword ngxDirectiveThirdParty union_station_gateway_port -syn keyword ngxDirectiveThirdParty union_station_gateway_cert -syn keyword ngxDirectiveDeprecated rails_spawn_method -syn keyword ngxDirectiveDeprecated passenger_debug_log_file - -" Postgres Module -" Upstream module that allows nginx to communicate directly with PostgreSQL database. -syn keyword ngxDirectiveThirdParty postgres_server -syn keyword ngxDirectiveThirdParty postgres_keepalive -syn keyword ngxDirectiveThirdParty postgres_pass -syn keyword ngxDirectiveThirdParty postgres_query -syn keyword ngxDirectiveThirdParty postgres_rewrite -syn keyword ngxDirectiveThirdParty postgres_output -syn keyword ngxDirectiveThirdParty postgres_set -syn keyword ngxDirectiveThirdParty postgres_escape -syn keyword ngxDirectiveThirdParty postgres_connect_timeout -syn keyword ngxDirectiveThirdParty postgres_result_timeout - -" Pubcookie Module -" Authorizes users using encrypted cookies -syn keyword ngxDirectiveThirdParty pubcookie_inactive_expire -syn keyword ngxDirectiveThirdParty pubcookie_hard_expire -syn keyword ngxDirectiveThirdParty pubcookie_app_id -syn keyword ngxDirectiveThirdParty pubcookie_dir_depth -syn keyword ngxDirectiveThirdParty pubcookie_catenate_app_ids -syn keyword ngxDirectiveThirdParty pubcookie_app_srv_id -syn keyword ngxDirectiveThirdParty pubcookie_login -syn keyword ngxDirectiveThirdParty pubcookie_login_method -syn keyword ngxDirectiveThirdParty pubcookie_post -syn keyword ngxDirectiveThirdParty pubcookie_domain -syn keyword ngxDirectiveThirdParty pubcookie_granting_cert_file -syn keyword ngxDirectiveThirdParty pubcookie_session_key_file -syn keyword ngxDirectiveThirdParty pubcookie_session_cert_file -syn keyword ngxDirectiveThirdParty pubcookie_crypt_key_file -syn keyword ngxDirectiveThirdParty pubcookie_end_session -syn keyword ngxDirectiveThirdParty pubcookie_encryption -syn keyword ngxDirectiveThirdParty pubcookie_session_reauth -syn keyword ngxDirectiveThirdParty pubcookie_auth_type_names -syn keyword ngxDirectiveThirdParty pubcookie_no_prompt -syn keyword ngxDirectiveThirdParty pubcookie_on_demand -syn keyword ngxDirectiveThirdParty pubcookie_addl_request -syn keyword ngxDirectiveThirdParty pubcookie_no_obscure_cookies -syn keyword ngxDirectiveThirdParty pubcookie_no_clean_creds -syn keyword ngxDirectiveThirdParty pubcookie_egd_device -syn keyword ngxDirectiveThirdParty pubcookie_no_blank -syn keyword ngxDirectiveThirdParty pubcookie_super_debug -syn keyword ngxDirectiveThirdParty pubcookie_set_remote_user - -" Push Stream Module -" A pure stream http push technology for your Nginx setup -syn keyword ngxDirectiveThirdParty push_stream_channels_statistics -syn keyword ngxDirectiveThirdParty push_stream_publisher -syn keyword ngxDirectiveThirdParty push_stream_subscriber -syn keyword ngxDirectiveThirdParty push_stream_shared_memory_size -syn keyword ngxDirectiveThirdParty push_stream_channel_deleted_message_text -syn keyword ngxDirectiveThirdParty push_stream_channel_inactivity_time -syn keyword ngxDirectiveThirdParty push_stream_ping_message_text -syn keyword ngxDirectiveThirdParty push_stream_timeout_with_body -syn keyword ngxDirectiveThirdParty push_stream_message_ttl -syn keyword ngxDirectiveThirdParty push_stream_max_subscribers_per_channel -syn keyword ngxDirectiveThirdParty push_stream_max_messages_stored_per_channel -syn keyword ngxDirectiveThirdParty push_stream_max_channel_id_length -syn keyword ngxDirectiveThirdParty push_stream_max_number_of_channels -syn keyword ngxDirectiveThirdParty push_stream_max_number_of_wildcard_channels -syn keyword ngxDirectiveThirdParty push_stream_wildcard_channel_prefix -syn keyword ngxDirectiveThirdParty push_stream_events_channel_id -syn keyword ngxDirectiveThirdParty push_stream_channels_path -syn keyword ngxDirectiveThirdParty push_stream_store_messages -syn keyword ngxDirectiveThirdParty push_stream_channel_info_on_publish -syn keyword ngxDirectiveThirdParty push_stream_authorized_channels_only -syn keyword ngxDirectiveThirdParty push_stream_header_template_file -syn keyword ngxDirectiveThirdParty push_stream_header_template -syn keyword ngxDirectiveThirdParty push_stream_message_template -syn keyword ngxDirectiveThirdParty push_stream_footer_template -syn keyword ngxDirectiveThirdParty push_stream_wildcard_channel_max_qtd -syn keyword ngxDirectiveThirdParty push_stream_ping_message_interval -syn keyword ngxDirectiveThirdParty push_stream_subscriber_connection_ttl -syn keyword ngxDirectiveThirdParty push_stream_longpolling_connection_ttl -syn keyword ngxDirectiveThirdParty push_stream_websocket_allow_publish -syn keyword ngxDirectiveThirdParty push_stream_last_received_message_time -syn keyword ngxDirectiveThirdParty push_stream_last_received_message_tag -syn keyword ngxDirectiveThirdParty push_stream_last_event_id -syn keyword ngxDirectiveThirdParty push_stream_user_agent -syn keyword ngxDirectiveThirdParty push_stream_padding_by_user_agent -syn keyword ngxDirectiveThirdParty push_stream_allowed_origins -syn keyword ngxDirectiveThirdParty push_stream_allow_connections_to_events_channel - -" rDNS Module -" Make a reverse DNS (rDNS) lookup for incoming connection and provides simple access control of incoming hostname by allow/deny rules -syn keyword ngxDirectiveThirdParty rdns -syn keyword ngxDirectiveThirdParty rdns_allow -syn keyword ngxDirectiveThirdParty rdns_deny - -" RDS CSV Module -" Nginx output filter module to convert Resty-DBD-Streams (RDS) to Comma-Separated Values (CSV) -syn keyword ngxDirectiveThirdParty rds_csv -syn keyword ngxDirectiveThirdParty rds_csv_row_terminator -syn keyword ngxDirectiveThirdParty rds_csv_field_separator -syn keyword ngxDirectiveThirdParty rds_csv_field_name_header -syn keyword ngxDirectiveThirdParty rds_csv_content_type -syn keyword ngxDirectiveThirdParty rds_csv_buffer_size - -" RDS JSON Module -" An output filter that formats Resty DBD Streams generated by ngx_drizzle and others to JSON -syn keyword ngxDirectiveThirdParty rds_json -syn keyword ngxDirectiveThirdParty rds_json_buffer_size -syn keyword ngxDirectiveThirdParty rds_json_format -syn keyword ngxDirectiveThirdParty rds_json_root -syn keyword ngxDirectiveThirdParty rds_json_success_property -syn keyword ngxDirectiveThirdParty rds_json_user_property -syn keyword ngxDirectiveThirdParty rds_json_errcode_key -syn keyword ngxDirectiveThirdParty rds_json_errstr_key -syn keyword ngxDirectiveThirdParty rds_json_ret -syn keyword ngxDirectiveThirdParty rds_json_content_type - -" Redis Module -" Use this module to perform simple caching -syn keyword ngxDirectiveThirdParty redis_pass -syn keyword ngxDirectiveThirdParty redis_bind -syn keyword ngxDirectiveThirdParty redis_connect_timeout -syn keyword ngxDirectiveThirdParty redis_read_timeout -syn keyword ngxDirectiveThirdParty redis_send_timeout -syn keyword ngxDirectiveThirdParty redis_buffer_size -syn keyword ngxDirectiveThirdParty redis_next_upstream -syn keyword ngxDirectiveThirdParty redis_gzip_flag - -" Redis 2 Module -" Nginx upstream module for the Redis 2.0 protocol -syn keyword ngxDirectiveThirdParty redis2_query -syn keyword ngxDirectiveThirdParty redis2_raw_query -syn keyword ngxDirectiveThirdParty redis2_raw_queries -syn keyword ngxDirectiveThirdParty redis2_literal_raw_query -syn keyword ngxDirectiveThirdParty redis2_pass -syn keyword ngxDirectiveThirdParty redis2_connect_timeout -syn keyword ngxDirectiveThirdParty redis2_send_timeout -syn keyword ngxDirectiveThirdParty redis2_read_timeout -syn keyword ngxDirectiveThirdParty redis2_buffer_size -syn keyword ngxDirectiveThirdParty redis2_next_upstream - -" Replace Filter Module -" Streaming regular expression replacement in response bodies -syn keyword ngxDirectiveThirdParty replace_filter -syn keyword ngxDirectiveThirdParty replace_filter_types -syn keyword ngxDirectiveThirdParty replace_filter_max_buffered_size -syn keyword ngxDirectiveThirdParty replace_filter_last_modified -syn keyword ngxDirectiveThirdParty replace_filter_skip - -" Roboo Module -" HTTP Robot Mitigator - -" RRD Graph Module -" This module provides an HTTP interface to RRDtool's graphing facilities. -syn keyword ngxDirectiveThirdParty rrd_graph -syn keyword ngxDirectiveThirdParty rrd_graph_root - -" RTMP Module -" NGINX-based Media Streaming Server -syn keyword ngxDirectiveThirdParty rtmp -" syn keyword ngxDirectiveThirdParty server -" syn keyword ngxDirectiveThirdParty listen -syn keyword ngxDirectiveThirdParty application -" syn keyword ngxDirectiveThirdParty timeout -syn keyword ngxDirectiveThirdParty ping -syn keyword ngxDirectiveThirdParty ping_timeout -syn keyword ngxDirectiveThirdParty max_streams -syn keyword ngxDirectiveThirdParty ack_window -syn keyword ngxDirectiveThirdParty chunk_size -syn keyword ngxDirectiveThirdParty max_queue -syn keyword ngxDirectiveThirdParty max_message -syn keyword ngxDirectiveThirdParty out_queue -syn keyword ngxDirectiveThirdParty out_cork -" syn keyword ngxDirectiveThirdParty allow -" syn keyword ngxDirectiveThirdParty deny -syn keyword ngxDirectiveThirdParty exec_push -syn keyword ngxDirectiveThirdParty exec_pull -syn keyword ngxDirectiveThirdParty exec -syn keyword ngxDirectiveThirdParty exec_options -syn keyword ngxDirectiveThirdParty exec_static -syn keyword ngxDirectiveThirdParty exec_kill_signal -syn keyword ngxDirectiveThirdParty respawn -syn keyword ngxDirectiveThirdParty respawn_timeout -syn keyword ngxDirectiveThirdParty exec_publish -syn keyword ngxDirectiveThirdParty exec_play -syn keyword ngxDirectiveThirdParty exec_play_done -syn keyword ngxDirectiveThirdParty exec_publish_done -syn keyword ngxDirectiveThirdParty exec_record_done -syn keyword ngxDirectiveThirdParty live -syn keyword ngxDirectiveThirdParty meta -syn keyword ngxDirectiveThirdParty interleave -syn keyword ngxDirectiveThirdParty wait_key -syn keyword ngxDirectiveThirdParty wait_video -syn keyword ngxDirectiveThirdParty publish_notify -syn keyword ngxDirectiveThirdParty drop_idle_publisher -syn keyword ngxDirectiveThirdParty sync -syn keyword ngxDirectiveThirdParty play_restart -syn keyword ngxDirectiveThirdParty idle_streams -syn keyword ngxDirectiveThirdParty record -syn keyword ngxDirectiveThirdParty record_path -syn keyword ngxDirectiveThirdParty record_suffix -syn keyword ngxDirectiveThirdParty record_unique -syn keyword ngxDirectiveThirdParty record_append -syn keyword ngxDirectiveThirdParty record_lock -syn keyword ngxDirectiveThirdParty record_max_size -syn keyword ngxDirectiveThirdParty record_max_frames -syn keyword ngxDirectiveThirdParty record_interval -syn keyword ngxDirectiveThirdParty recorder -syn keyword ngxDirectiveThirdParty record_notify -syn keyword ngxDirectiveThirdParty play -syn keyword ngxDirectiveThirdParty play_temp_path -syn keyword ngxDirectiveThirdParty play_local_path -syn keyword ngxDirectiveThirdParty pull -syn keyword ngxDirectiveThirdParty push -syn keyword ngxDirectiveThirdParty push_reconnect -syn keyword ngxDirectiveThirdParty session_relay -syn keyword ngxDirectiveThirdParty on_connect -syn keyword ngxDirectiveThirdParty on_play -syn keyword ngxDirectiveThirdParty on_publish -syn keyword ngxDirectiveThirdParty on_done -syn keyword ngxDirectiveThirdParty on_play_done -syn keyword ngxDirectiveThirdParty on_publish_done -syn keyword ngxDirectiveThirdParty on_record_done -syn keyword ngxDirectiveThirdParty on_update -syn keyword ngxDirectiveThirdParty notify_update_timeout -syn keyword ngxDirectiveThirdParty notify_update_strict -syn keyword ngxDirectiveThirdParty notify_relay_redirect -syn keyword ngxDirectiveThirdParty notify_method -syn keyword ngxDirectiveThirdParty hls -syn keyword ngxDirectiveThirdParty hls_path -syn keyword ngxDirectiveThirdParty hls_fragment -syn keyword ngxDirectiveThirdParty hls_playlist_length -syn keyword ngxDirectiveThirdParty hls_sync -syn keyword ngxDirectiveThirdParty hls_continuous -syn keyword ngxDirectiveThirdParty hls_nested -syn keyword ngxDirectiveThirdParty hls_base_url -syn keyword ngxDirectiveThirdParty hls_cleanup -syn keyword ngxDirectiveThirdParty hls_fragment_naming -syn keyword ngxDirectiveThirdParty hls_fragment_slicing -syn keyword ngxDirectiveThirdParty hls_variant -syn keyword ngxDirectiveThirdParty hls_type -syn keyword ngxDirectiveThirdParty hls_keys -syn keyword ngxDirectiveThirdParty hls_key_path -syn keyword ngxDirectiveThirdParty hls_key_url -syn keyword ngxDirectiveThirdParty hls_fragments_per_key -syn keyword ngxDirectiveThirdParty dash -syn keyword ngxDirectiveThirdParty dash_path -syn keyword ngxDirectiveThirdParty dash_fragment -syn keyword ngxDirectiveThirdParty dash_playlist_length -syn keyword ngxDirectiveThirdParty dash_nested -syn keyword ngxDirectiveThirdParty dash_cleanup -" syn keyword ngxDirectiveThirdParty access_log -" syn keyword ngxDirectiveThirdParty log_format -syn keyword ngxDirectiveThirdParty max_connections -syn keyword ngxDirectiveThirdParty rtmp_stat -syn keyword ngxDirectiveThirdParty rtmp_stat_stylesheet -syn keyword ngxDirectiveThirdParty rtmp_auto_push -syn keyword ngxDirectiveThirdParty rtmp_auto_push_reconnect -syn keyword ngxDirectiveThirdParty rtmp_socket_dir -syn keyword ngxDirectiveThirdParty rtmp_control - -" RTMPT Module -" Module for nginx to proxy rtmp using http protocol -syn keyword ngxDirectiveThirdParty rtmpt_proxy_target -syn keyword ngxDirectiveThirdParty rtmpt_proxy_rtmp_timeout -syn keyword ngxDirectiveThirdParty rtmpt_proxy_http_timeout -syn keyword ngxDirectiveThirdParty rtmpt_proxy -syn keyword ngxDirectiveThirdParty rtmpt_proxy_stat -syn keyword ngxDirectiveThirdParty rtmpt_proxy_stylesheet - -" Syntactically Awesome Module -" Providing on-the-fly compiling of Sass files as an NGINX module. -syn keyword ngxDirectiveThirdParty sass_compile -syn keyword ngxDirectiveThirdParty sass_error_log -syn keyword ngxDirectiveThirdParty sass_include_path -syn keyword ngxDirectiveThirdParty sass_indent -syn keyword ngxDirectiveThirdParty sass_is_indented_syntax -syn keyword ngxDirectiveThirdParty sass_linefeed -syn keyword ngxDirectiveThirdParty sass_precision -syn keyword ngxDirectiveThirdParty sass_output_style -syn keyword ngxDirectiveThirdParty sass_source_comments -syn keyword ngxDirectiveThirdParty sass_source_map_embed - -" Secure Download Module -" Enables you to create links which are only valid until a certain datetime is reached -syn keyword ngxDirectiveThirdParty secure_download -syn keyword ngxDirectiveThirdParty secure_download_secret -syn keyword ngxDirectiveThirdParty secure_download_path_mode - -" Selective Cache Purge Module -" A module to purge cache by GLOB patterns. The supported patterns are the same as supported by Redis. -syn keyword ngxDirectiveThirdParty selective_cache_purge_redis_unix_socket -syn keyword ngxDirectiveThirdParty selective_cache_purge_redis_host -syn keyword ngxDirectiveThirdParty selective_cache_purge_redis_port -syn keyword ngxDirectiveThirdParty selective_cache_purge_redis_database -syn keyword ngxDirectiveThirdParty selective_cache_purge_query - -" Set cconv Module -" Cconv rewrite set commands -syn keyword ngxDirectiveThirdParty set_cconv_to_simp -syn keyword ngxDirectiveThirdParty set_cconv_to_trad -syn keyword ngxDirectiveThirdParty set_pinyin_to_normal - -" Set Hash Module -" Nginx module that allows the setting of variables to the value of a variety of hashes -syn keyword ngxDirectiveThirdParty set_md5 -syn keyword ngxDirectiveThirdParty set_md5_upper -syn keyword ngxDirectiveThirdParty set_murmur2 -syn keyword ngxDirectiveThirdParty set_murmur2_upper -syn keyword ngxDirectiveThirdParty set_sha1 -syn keyword ngxDirectiveThirdParty set_sha1_upper - -" Set Lang Module -" Provides a variety of ways for setting a variable denoting the langauge that content should be returned in. -syn keyword ngxDirectiveThirdParty set_lang -syn keyword ngxDirectiveThirdParty set_lang_method -syn keyword ngxDirectiveThirdParty lang_cookie -syn keyword ngxDirectiveThirdParty lang_get_var -syn keyword ngxDirectiveThirdParty lang_list -syn keyword ngxDirectiveThirdParty lang_post_var -syn keyword ngxDirectiveThirdParty lang_host -syn keyword ngxDirectiveThirdParty lang_referer - -" Set Misc Module -" Various set_xxx directives added to nginx's rewrite module -syn keyword ngxDirectiveThirdParty set_if_empty -syn keyword ngxDirectiveThirdParty set_quote_sql_str -syn keyword ngxDirectiveThirdParty set_quote_pgsql_str -syn keyword ngxDirectiveThirdParty set_quote_json_str -syn keyword ngxDirectiveThirdParty set_unescape_uri -syn keyword ngxDirectiveThirdParty set_escape_uri -syn keyword ngxDirectiveThirdParty set_hashed_upstream -syn keyword ngxDirectiveThirdParty set_encode_base32 -syn keyword ngxDirectiveThirdParty set_base32_padding -syn keyword ngxDirectiveThirdParty set_misc_base32_padding -syn keyword ngxDirectiveThirdParty set_base32_alphabet -syn keyword ngxDirectiveThirdParty set_decode_base32 -syn keyword ngxDirectiveThirdParty set_encode_base64 -syn keyword ngxDirectiveThirdParty set_decode_base64 -syn keyword ngxDirectiveThirdParty set_encode_hex -syn keyword ngxDirectiveThirdParty set_decode_hex -syn keyword ngxDirectiveThirdParty set_sha1 -syn keyword ngxDirectiveThirdParty set_md5 -syn keyword ngxDirectiveThirdParty set_hmac_sha1 -syn keyword ngxDirectiveThirdParty set_random -syn keyword ngxDirectiveThirdParty set_secure_random_alphanum -syn keyword ngxDirectiveThirdParty set_secure_random_lcalpha -syn keyword ngxDirectiveThirdParty set_rotate -syn keyword ngxDirectiveThirdParty set_local_today -syn keyword ngxDirectiveThirdParty set_formatted_gmt_time -syn keyword ngxDirectiveThirdParty set_formatted_local_time - -" SFlow Module -" A binary, random-sampling nginx module designed for: lightweight, centralized, continuous, real-time monitoring of very large and very busy web farms. -syn keyword ngxDirectiveThirdParty sflow - -" Shibboleth Module -" Shibboleth auth request module for nginx -syn keyword ngxDirectiveThirdParty shib_request -syn keyword ngxDirectiveThirdParty shib_request_set -syn keyword ngxDirectiveThirdParty shib_request_use_headers - -" Slice Module -" Nginx module for serving a file in slices (reverse byte-range) -" syn keyword ngxDirectiveThirdParty slice -syn keyword ngxDirectiveThirdParty slice_arg_begin -syn keyword ngxDirectiveThirdParty slice_arg_end -syn keyword ngxDirectiveThirdParty slice_header -syn keyword ngxDirectiveThirdParty slice_footer -syn keyword ngxDirectiveThirdParty slice_header_first -syn keyword ngxDirectiveThirdParty slice_footer_last - -" SlowFS Cache Module -" Module adding ability to cache static files. -syn keyword ngxDirectiveThirdParty slowfs_big_file_size -syn keyword ngxDirectiveThirdParty slowfs_cache -syn keyword ngxDirectiveThirdParty slowfs_cache_key -syn keyword ngxDirectiveThirdParty slowfs_cache_min_uses -syn keyword ngxDirectiveThirdParty slowfs_cache_path -syn keyword ngxDirectiveThirdParty slowfs_cache_purge -syn keyword ngxDirectiveThirdParty slowfs_cache_valid -syn keyword ngxDirectiveThirdParty slowfs_temp_path - -" Small Light Module -" Dynamic Image Transformation Module For nginx. -syn keyword ngxDirectiveThirdParty small_light -syn keyword ngxDirectiveThirdParty small_light_getparam_mode -syn keyword ngxDirectiveThirdParty small_light_material_dir -syn keyword ngxDirectiveThirdParty small_light_pattern_define -syn keyword ngxDirectiveThirdParty small_light_radius_max -syn keyword ngxDirectiveThirdParty small_light_sigma_max -syn keyword ngxDirectiveThirdParty small_light_imlib2_temp_dir -syn keyword ngxDirectiveThirdParty small_light_buffer - -" Sorted Querystring Filter Module -" Nginx module to expose querystring parameters sorted in a variable to be used on cache_key as example -syn keyword ngxDirectiveThirdParty sorted_querystring_filter_parameter - -" Sphinx2 Module -" Nginx upstream module for Sphinx 2.x -syn keyword ngxDirectiveThirdParty sphinx2_pass -syn keyword ngxDirectiveThirdParty sphinx2_bind -syn keyword ngxDirectiveThirdParty sphinx2_connect_timeout -syn keyword ngxDirectiveThirdParty sphinx2_send_timeout -syn keyword ngxDirectiveThirdParty sphinx2_buffer_size -syn keyword ngxDirectiveThirdParty sphinx2_read_timeout -syn keyword ngxDirectiveThirdParty sphinx2_next_upstream - -" HTTP SPNEGO auth Module -" This module implements adds SPNEGO support to nginx(http://nginx.org). It currently supports only Kerberos authentication via GSSAPI -syn keyword ngxDirectiveThirdParty auth_gss -syn keyword ngxDirectiveThirdParty auth_gss_keytab -syn keyword ngxDirectiveThirdParty auth_gss_realm -syn keyword ngxDirectiveThirdParty auth_gss_service_name -syn keyword ngxDirectiveThirdParty auth_gss_authorized_principal -syn keyword ngxDirectiveThirdParty auth_gss_allow_basic_fallback - -" SR Cache Module -" Transparent subrequest-based caching layout for arbitrary nginx locations -syn keyword ngxDirectiveThirdParty srcache_fetch -syn keyword ngxDirectiveThirdParty srcache_fetch_skip -syn keyword ngxDirectiveThirdParty srcache_store -syn keyword ngxDirectiveThirdParty srcache_store_max_size -syn keyword ngxDirectiveThirdParty srcache_store_skip -syn keyword ngxDirectiveThirdParty srcache_store_statuses -syn keyword ngxDirectiveThirdParty srcache_store_ranges -syn keyword ngxDirectiveThirdParty srcache_header_buffer_size -syn keyword ngxDirectiveThirdParty srcache_store_hide_header -syn keyword ngxDirectiveThirdParty srcache_store_pass_header -syn keyword ngxDirectiveThirdParty srcache_methods -syn keyword ngxDirectiveThirdParty srcache_ignore_content_encoding -syn keyword ngxDirectiveThirdParty srcache_request_cache_control -syn keyword ngxDirectiveThirdParty srcache_response_cache_control -syn keyword ngxDirectiveThirdParty srcache_store_no_store -syn keyword ngxDirectiveThirdParty srcache_store_no_cache -syn keyword ngxDirectiveThirdParty srcache_store_private -syn keyword ngxDirectiveThirdParty srcache_default_expire -syn keyword ngxDirectiveThirdParty srcache_max_expire - -" SSSD Info Module -" Retrives additional attributes from SSSD for current authentizated user -syn keyword ngxDirectiveThirdParty sssd_info -syn keyword ngxDirectiveThirdParty sssd_info_output_to -syn keyword ngxDirectiveThirdParty sssd_info_groups -syn keyword ngxDirectiveThirdParty sssd_info_group -syn keyword ngxDirectiveThirdParty sssd_info_group_separator -syn keyword ngxDirectiveThirdParty sssd_info_attributes -syn keyword ngxDirectiveThirdParty sssd_info_attribute -syn keyword ngxDirectiveThirdParty sssd_info_attribute_separator - -" Static Etags Module -" Generate etags for static content -syn keyword ngxDirectiveThirdParty FileETag - -" Statsd Module -" An nginx module for sending statistics to statsd -syn keyword ngxDirectiveThirdParty statsd_server -syn keyword ngxDirectiveThirdParty statsd_sample_rate -syn keyword ngxDirectiveThirdParty statsd_count -syn keyword ngxDirectiveThirdParty statsd_timing - -" Sticky Module -" Add a sticky cookie to be always forwarded to the same upstream server -" syn keyword ngxDirectiveThirdParty sticky - -" Stream Echo Module -" TCP/stream echo module for NGINX (a port of ngx_http_echo_module) -syn keyword ngxDirectiveThirdParty echo -syn keyword ngxDirectiveThirdParty echo_duplicate -syn keyword ngxDirectiveThirdParty echo_flush_wait -syn keyword ngxDirectiveThirdParty echo_sleep -syn keyword ngxDirectiveThirdParty echo_send_timeout -syn keyword ngxDirectiveThirdParty echo_read_bytes -syn keyword ngxDirectiveThirdParty echo_read_line -syn keyword ngxDirectiveThirdParty echo_request_data -syn keyword ngxDirectiveThirdParty echo_discard_request -syn keyword ngxDirectiveThirdParty echo_read_buffer_size -syn keyword ngxDirectiveThirdParty echo_read_timeout -syn keyword ngxDirectiveThirdParty echo_client_error_log_level -syn keyword ngxDirectiveThirdParty echo_lingering_close -syn keyword ngxDirectiveThirdParty echo_lingering_time -syn keyword ngxDirectiveThirdParty echo_lingering_timeout - -" Stream Lua Module -" Embed the power of Lua into Nginx stream/TCP Servers. -syn keyword ngxDirectiveThirdParty lua_resolver -syn keyword ngxDirectiveThirdParty lua_resolver_timeout -syn keyword ngxDirectiveThirdParty lua_lingering_close -syn keyword ngxDirectiveThirdParty lua_lingering_time -syn keyword ngxDirectiveThirdParty lua_lingering_timeout - -" Stream Upsync Module -" Sync upstreams from consul or others, dynamiclly modify backend-servers attribute(weight, max_fails,...), needn't reload nginx. -syn keyword ngxDirectiveThirdParty upsync -syn keyword ngxDirectiveThirdParty upsync_dump_path -syn keyword ngxDirectiveThirdParty upsync_lb -syn keyword ngxDirectiveThirdParty upsync_show - -" Strip Module -" Whitespace remover. -syn keyword ngxDirectiveThirdParty strip - -" Subrange Module -" Split one big HTTP/Range request to multiple subrange requesets -syn keyword ngxDirectiveThirdParty subrange - -" Substitutions Module -" A filter module which can do both regular expression and fixed string substitutions on response bodies. -syn keyword ngxDirectiveThirdParty subs_filter -syn keyword ngxDirectiveThirdParty subs_filter_types - -" Summarizer Module -" Upstream nginx module to get summaries of documents using the summarizer daemon service -syn keyword ngxDirectiveThirdParty smrzr_filename -syn keyword ngxDirectiveThirdParty smrzr_ratio - -" Supervisord Module -" Module providing nginx with API to communicate with supervisord and manage (start/stop) backends on-demand. -syn keyword ngxDirectiveThirdParty supervisord -syn keyword ngxDirectiveThirdParty supervisord_inherit_backend_status -syn keyword ngxDirectiveThirdParty supervisord_name -syn keyword ngxDirectiveThirdParty supervisord_start -syn keyword ngxDirectiveThirdParty supervisord_stop - -" Tarantool Upstream Module -" Tarantool NginX upstream module (REST, JSON API, websockets, load balancing) -syn keyword ngxDirectiveThirdParty tnt_pass -syn keyword ngxDirectiveThirdParty tnt_http_methods -syn keyword ngxDirectiveThirdParty tnt_http_rest_methods -syn keyword ngxDirectiveThirdParty tnt_pass_http_request -syn keyword ngxDirectiveThirdParty tnt_pass_http_request_buffer_size -syn keyword ngxDirectiveThirdParty tnt_method -syn keyword ngxDirectiveThirdParty tnt_http_allowed_methods - experemental -syn keyword ngxDirectiveThirdParty tnt_send_timeout -syn keyword ngxDirectiveThirdParty tnt_read_timeout -syn keyword ngxDirectiveThirdParty tnt_buffer_size -syn keyword ngxDirectiveThirdParty tnt_next_upstream -syn keyword ngxDirectiveThirdParty tnt_connect_timeout -syn keyword ngxDirectiveThirdParty tnt_next_upstream -syn keyword ngxDirectiveThirdParty tnt_next_upstream_tries -syn keyword ngxDirectiveThirdParty tnt_next_upstream_timeout - -" TCP Proxy Module -" Add the feature of tcp proxy with nginx, with health check and status monitor -syn keyword ngxDirectiveBlock tcp -" syn keyword ngxDirectiveThirdParty server -" syn keyword ngxDirectiveThirdParty listen -" syn keyword ngxDirectiveThirdParty allow -" syn keyword ngxDirectiveThirdParty deny -" syn keyword ngxDirectiveThirdParty so_keepalive -" syn keyword ngxDirectiveThirdParty tcp_nodelay -" syn keyword ngxDirectiveThirdParty timeout -" syn keyword ngxDirectiveThirdParty server_name -" syn keyword ngxDirectiveThirdParty resolver -" syn keyword ngxDirectiveThirdParty resolver_timeout -" syn keyword ngxDirectiveThirdParty upstream -syn keyword ngxDirectiveThirdParty check -syn keyword ngxDirectiveThirdParty check_http_send -syn keyword ngxDirectiveThirdParty check_http_expect_alive -syn keyword ngxDirectiveThirdParty check_smtp_send -syn keyword ngxDirectiveThirdParty check_smtp_expect_alive -syn keyword ngxDirectiveThirdParty check_shm_size -syn keyword ngxDirectiveThirdParty check_status -" syn keyword ngxDirectiveThirdParty ip_hash -" syn keyword ngxDirectiveThirdParty proxy_pass -" syn keyword ngxDirectiveThirdParty proxy_buffer -" syn keyword ngxDirectiveThirdParty proxy_connect_timeout -" syn keyword ngxDirectiveThirdParty proxy_read_timeout -syn keyword ngxDirectiveThirdParty proxy_write_timeout - -" Testcookie Module -" NGINX module for L7 DDoS attack mitigation -syn keyword ngxDirectiveThirdParty testcookie -syn keyword ngxDirectiveThirdParty testcookie_name -syn keyword ngxDirectiveThirdParty testcookie_domain -syn keyword ngxDirectiveThirdParty testcookie_expires -syn keyword ngxDirectiveThirdParty testcookie_path -syn keyword ngxDirectiveThirdParty testcookie_secret -syn keyword ngxDirectiveThirdParty testcookie_session -syn keyword ngxDirectiveThirdParty testcookie_arg -syn keyword ngxDirectiveThirdParty testcookie_max_attempts -syn keyword ngxDirectiveThirdParty testcookie_p3p -syn keyword ngxDirectiveThirdParty testcookie_fallback -syn keyword ngxDirectiveThirdParty testcookie_whitelist -syn keyword ngxDirectiveThirdParty testcookie_pass -syn keyword ngxDirectiveThirdParty testcookie_redirect_via_refresh -syn keyword ngxDirectiveThirdParty testcookie_refresh_template -syn keyword ngxDirectiveThirdParty testcookie_refresh_status -syn keyword ngxDirectiveThirdParty testcookie_deny_keepalive -syn keyword ngxDirectiveThirdParty testcookie_get_only -syn keyword ngxDirectiveThirdParty testcookie_https_location -syn keyword ngxDirectiveThirdParty testcookie_refresh_encrypt_cookie -syn keyword ngxDirectiveThirdParty testcookie_refresh_encrypt_cookie_key -syn keyword ngxDirectiveThirdParty testcookie_refresh_encrypt_iv -syn keyword ngxDirectiveThirdParty testcookie_internal -syn keyword ngxDirectiveThirdParty testcookie_httponly_flag -syn keyword ngxDirectiveThirdParty testcookie_secure_flag - -" Types Filter Module -" Change the `Content-Type` output header depending on an extension variable according to a condition specified in the 'if' clause. -syn keyword ngxDirectiveThirdParty types_filter -syn keyword ngxDirectiveThirdParty types_filter_use_default - -" Unzip Module -" Enabling fetching of files that are stored in zipped archives. -syn keyword ngxDirectiveThirdParty file_in_unzip_archivefile -syn keyword ngxDirectiveThirdParty file_in_unzip_extract -syn keyword ngxDirectiveThirdParty file_in_unzip - -" Upload Progress Module -" An upload progress system, that monitors RFC1867 POST upload as they are transmitted to upstream servers -syn keyword ngxDirectiveThirdParty upload_progress -syn keyword ngxDirectiveThirdParty track_uploads -syn keyword ngxDirectiveThirdParty report_uploads -syn keyword ngxDirectiveThirdParty upload_progress_content_type -syn keyword ngxDirectiveThirdParty upload_progress_header -syn keyword ngxDirectiveThirdParty upload_progress_jsonp_parameter -syn keyword ngxDirectiveThirdParty upload_progress_json_output -syn keyword ngxDirectiveThirdParty upload_progress_jsonp_output -syn keyword ngxDirectiveThirdParty upload_progress_template - -" Upload Module -" Parses request body storing all files being uploaded to a directory specified by upload_store directive -syn keyword ngxDirectiveThirdParty upload_pass -syn keyword ngxDirectiveThirdParty upload_resumable -syn keyword ngxDirectiveThirdParty upload_store -syn keyword ngxDirectiveThirdParty upload_state_store -syn keyword ngxDirectiveThirdParty upload_store_access -syn keyword ngxDirectiveThirdParty upload_set_form_field -syn keyword ngxDirectiveThirdParty upload_aggregate_form_field -syn keyword ngxDirectiveThirdParty upload_pass_form_field -syn keyword ngxDirectiveThirdParty upload_cleanup -syn keyword ngxDirectiveThirdParty upload_buffer_size -syn keyword ngxDirectiveThirdParty upload_max_part_header_len -syn keyword ngxDirectiveThirdParty upload_max_file_size -syn keyword ngxDirectiveThirdParty upload_limit_rate -syn keyword ngxDirectiveThirdParty upload_max_output_body_len -syn keyword ngxDirectiveThirdParty upload_tame_arrays -syn keyword ngxDirectiveThirdParty upload_pass_args - -" Upstream Fair Module -" The fair load balancer module for nginx http://nginx.localdomain.pl -syn keyword ngxDirectiveThirdParty fair -syn keyword ngxDirectiveThirdParty upstream_fair_shm_size - -" Upstream Hash Module (DEPRECATED) -" Provides simple upstream load distribution by hashing a configurable variable. -" syn keyword ngxDirectiveDeprecated hash -syn keyword ngxDirectiveDeprecated hash_again - -" Upstream Domain Resolve Module -" A load-balancer that resolves an upstream domain name asynchronously. -syn keyword ngxDirectiveThirdParty jdomain - -" Upsync Module -" Sync upstreams from consul or others, dynamiclly modify backend-servers attribute(weight, max_fails,...), needn't reload nginx -syn keyword ngxDirectiveThirdParty upsync -syn keyword ngxDirectiveThirdParty upsync_dump_path -syn keyword ngxDirectiveThirdParty upsync_lb -syn keyword ngxDirectiveThirdParty upstream_show - -" URL Module -" Nginx url encoding converting module -syn keyword ngxDirectiveThirdParty url_encoding_convert -syn keyword ngxDirectiveThirdParty url_encoding_convert_from -syn keyword ngxDirectiveThirdParty url_encoding_convert_to - -" User Agent Module -" Match browsers and crawlers -syn keyword ngxDirectiveThirdParty user_agent - -" Upstrema Ketama Chash Module -" Nginx load-balancer module implementing ketama consistent hashing. -syn keyword ngxDirectiveThirdParty ketama_chash - -" Video Thumbextractor Module -" Extract thumbs from a video file -syn keyword ngxDirectiveThirdParty video_thumbextractor -syn keyword ngxDirectiveThirdParty video_thumbextractor_video_filename -syn keyword ngxDirectiveThirdParty video_thumbextractor_video_second -syn keyword ngxDirectiveThirdParty video_thumbextractor_image_width -syn keyword ngxDirectiveThirdParty video_thumbextractor_image_height -syn keyword ngxDirectiveThirdParty video_thumbextractor_only_keyframe -syn keyword ngxDirectiveThirdParty video_thumbextractor_next_time -syn keyword ngxDirectiveThirdParty video_thumbextractor_tile_rows -syn keyword ngxDirectiveThirdParty video_thumbextractor_tile_cols -syn keyword ngxDirectiveThirdParty video_thumbextractor_tile_max_rows -syn keyword ngxDirectiveThirdParty video_thumbextractor_tile_max_cols -syn keyword ngxDirectiveThirdParty video_thumbextractor_tile_sample_interval -syn keyword ngxDirectiveThirdParty video_thumbextractor_tile_color -syn keyword ngxDirectiveThirdParty video_thumbextractor_tile_margin -syn keyword ngxDirectiveThirdParty video_thumbextractor_tile_padding -syn keyword ngxDirectiveThirdParty video_thumbextractor_threads -syn keyword ngxDirectiveThirdParty video_thumbextractor_processes_per_worker - -" Eval Module -" Module for nginx web server evaluates response of proxy or memcached module into variables. -syn keyword ngxDirectiveThirdParty eval -syn keyword ngxDirectiveThirdParty eval_escalate -syn keyword ngxDirectiveThirdParty eval_override_content_type - -" VTS Module -" Nginx virtual host traffic status module -syn keyword ngxDirectiveThirdParty vhost_traffic_status -syn keyword ngxDirectiveThirdParty vhost_traffic_status_zone -syn keyword ngxDirectiveThirdParty vhost_traffic_status_display -syn keyword ngxDirectiveThirdParty vhost_traffic_status_display_format -syn keyword ngxDirectiveThirdParty vhost_traffic_status_display_jsonp -syn keyword ngxDirectiveThirdParty vhost_traffic_status_filter -syn keyword ngxDirectiveThirdParty vhost_traffic_status_filter_by_host -syn keyword ngxDirectiveThirdParty vhost_traffic_status_filter_by_set_key -syn keyword ngxDirectiveThirdParty vhost_traffic_status_filter_check_duplicate -syn keyword ngxDirectiveThirdParty vhost_traffic_status_limit -syn keyword ngxDirectiveThirdParty vhost_traffic_status_limit_traffic -syn keyword ngxDirectiveThirdParty vhost_traffic_status_limit_traffic_by_set_key -syn keyword ngxDirectiveThirdParty vhost_traffic_status_limit_check_duplicate - -" XSS Module -" Native support for cross-site scripting (XSS) in an nginx. -syn keyword ngxDirectiveThirdParty xss_get -syn keyword ngxDirectiveThirdParty xss_callback_arg -syn keyword ngxDirectiveThirdParty xss_override_status -syn keyword ngxDirectiveThirdParty xss_check_status -syn keyword ngxDirectiveThirdParty xss_input_types - -" ZIP Module -" ZIP archiver for nginx - -" Contained LUA blocks for embedded syntax highlighting -syn keyword ngxThirdPartyLuaBlock balancer_by_lua_block contained -syn keyword ngxThirdPartyLuaBlock init_by_lua_block contained -syn keyword ngxThirdPartyLuaBlock init_worker_by_lua_block contained -syn keyword ngxThirdPartyLuaBlock set_by_lua_block contained -syn keyword ngxThirdPartyLuaBlock content_by_lua_block contained -syn keyword ngxThirdPartyLuaBlock rewrite_by_lua_block contained -syn keyword ngxThirdPartyLuaBlock access_by_lua_block contained -syn keyword ngxThirdPartyLuaBlock header_filter_by_lua_block contained -syn keyword ngxThirdPartyLuaBlock body_filter_by_lua_block contained -syn keyword ngxThirdPartyLuaBlock log_by_lua_block contained -syn keyword ngxThirdPartyLuaBlock ssl_certificate_by_lua_block contained -syn keyword ngxThirdPartyLuaBlock ssl_session_fetch_by_lua_block contained -syn keyword ngxThirdPartyLuaBlock ssl_session_store_by_lua_block contained - - -" Nested syntax in ERB templating statements -" Subtype needs to be set to '', otherwise recursive errors occur when opening *.nginx files -let b:eruby_subtype = '' -unlet b:current_syntax -syn include @ERB syntax/eruby.vim -syn region ngxTemplate start=+<%[^\=]+ end=+%>+ oneline contains=@ERB -syn region ngxTemplateVar start=+<%=+ end=+%>+ oneline -let b:current_syntax = "nginx" - -" Nested syntax in Jinja templating statements -" This dependend on https://github.com/lepture/vim-jinja -unlet b:current_syntax -try - syn include @JINJA syntax/jinja.vim - syn region ngxTemplate start=+{%+ end=+%}+ oneline contains=@JINJA - syn region ngxTemplateVar start=+{{+ end=+}}+ oneline -catch -endtry -let b:current_syntax = "nginx" - -" Enable nested LUA syntax highlighting -unlet b:current_syntax -syn include @LUA syntax/lua.vim -syn region ngxLua start=+^\s*\w\+_by_lua_block\s*{+ end=+}+me=s-1 contains=ngxBlock,@LUA -let b:current_syntax = "nginx" - - -" Highlight -hi link ngxComment Comment -hi link ngxVariable Identifier -hi link ngxVariableBlock Identifier -hi link ngxVariableString PreProc -hi link ngxBlock Normal -hi link ngxString String -hi link ngxIPaddr Delimiter -hi link ngxBoolean Boolean -hi link ngxInteger Number -hi link ngxDirectiveBlock Statement -hi link ngxDirectiveImportant Type -hi link ngxDirectiveControl Keyword -hi link ngxDirectiveDeprecated Error -hi link ngxDirective Function -hi link ngxDirectiveThirdParty Function -hi link ngxListenOptions PreProc -hi link ngxUpstreamServerOptions PreProc -hi link ngxProxyNextUpstreamOptions PreProc -hi link ngxMailProtocol Keyword -hi link ngxSSLProtocol PreProc -hi link ngxSSLProtocolDeprecated Error -hi link ngxStickyOptions ngxDirective -hi link ngxCookieOptions PreProc -hi link ngxTemplateVar Identifier - -hi link ngxSSLSessionTicketsOff ngxBoolean -hi link ngxSSLSessionTicketsOn Error -hi link ngxSSLPreferServerCiphersOn ngxBoolean -hi link ngxSSLPreferServerCiphersOff Error -hi link ngxGzipOff ngxBoolean -hi link ngxGzipOn Error -hi link ngxSSLCipherInsecure Error - -hi link ngxThirdPartyLuaBlock Function diff --git a/.vim_runtime/sources_non_forked/open_file_under_cursor.vim/plugin/open_file_under_cursor.vim b/.vim_runtime/sources_non_forked/open_file_under_cursor.vim/plugin/open_file_under_cursor.vim deleted file mode 100644 index 107babc..0000000 --- a/.vim_runtime/sources_non_forked/open_file_under_cursor.vim/plugin/open_file_under_cursor.vim +++ /dev/null @@ -1,41 +0,0 @@ -" ----- Emulate 'gf' but recognize :line format ----- -function! GotoFile(w) - let curword = expand("") - if (strlen(curword) == 0) - return - endif - let matchstart = match(curword, ':\d\+$') - if matchstart > 0 - let pos = '+' . strpart(curword, matchstart+1) - let fname = strpart(curword, 0, matchstart) - else - let pos = "" - let fname = curword - endif - - " check exists file. - if filereadable(fname) - let fullname = fname - else - " try find file with prefix by working directory - let fullname = getcwd() . '/' . fname - if ! filereadable(fullname) - " the last try, using current directory based on file opened. - let fullname = expand('%:h') . '/' . fname - endif - endif - - " Open new window if requested - if a:w == "new" - new - endif - " Use 'find' so path is searched like 'gf' would - execute 'find ' . pos . ' ' . fname -endfunction - -set isfname+=: " include colon in filenames - -" Override vim commands 'gf', '^Wf', '^W^F' -nnoremap gf :call GotoFile("") -nnoremap f :call GotoFile("new") -nnoremap :call GotoFile("new") diff --git a/.vim_runtime/sources_non_forked/rust.vim/.gitignore b/.vim_runtime/sources_non_forked/rust.vim/.gitignore deleted file mode 100644 index 0a56e3f..0000000 --- a/.vim_runtime/sources_non_forked/rust.vim/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/doc/tags diff --git a/.vim_runtime/sources_non_forked/rust.vim/.travis.yml b/.vim_runtime/sources_non_forked/rust.vim/.travis.yml deleted file mode 100644 index fa69300..0000000 --- a/.vim_runtime/sources_non_forked/rust.vim/.travis.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -sudo: required -services: - - docker -language: generic -script: | - cd test && ./run-tests diff --git a/.vim_runtime/sources_non_forked/rust.vim/.vintrc.yml b/.vim_runtime/sources_non_forked/rust.vim/.vintrc.yml deleted file mode 100644 index 0914f1b..0000000 --- a/.vim_runtime/sources_non_forked/rust.vim/.vintrc.yml +++ /dev/null @@ -1,10 +0,0 @@ -cmdargs: - # Checking more strictly - severity: style_problem - -policies: - # Disable a violation - ProhibitUnnecessaryDoubleQuote: - enabled: false - ProhibitImplicitScopeVariable: - enabled: false diff --git a/.vim_runtime/sources_non_forked/rust.vim/ISSUE_TEMPLATE.md b/.vim_runtime/sources_non_forked/rust.vim/ISSUE_TEMPLATE.md deleted file mode 100644 index 1033a57..0000000 --- a/.vim_runtime/sources_non_forked/rust.vim/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,30 +0,0 @@ -ISSUE_TEMPLATE.md

- -
    -
  • rust.vim version:
  • -
- -

Steps to reproduce:

- - - -

?

- -

Expected vs. actual behavior:

- -

?

- -

Paste debugging info from the Rust Vim plugin via one of the following -commands: :RustInfo, :RustInfoToClipboard, or :RustInfoToFile <filename>.

- -

?

diff --git a/.vim_runtime/sources_non_forked/rust.vim/LICENSE-APACHE b/.vim_runtime/sources_non_forked/rust.vim/LICENSE-APACHE deleted file mode 100644 index 16fe87b..0000000 --- a/.vim_runtime/sources_non_forked/rust.vim/LICENSE-APACHE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/.vim_runtime/sources_non_forked/rust.vim/LICENSE-MIT b/.vim_runtime/sources_non_forked/rust.vim/LICENSE-MIT deleted file mode 100644 index e69282e..0000000 --- a/.vim_runtime/sources_non_forked/rust.vim/LICENSE-MIT +++ /dev/null @@ -1,25 +0,0 @@ -Copyright (c) 2015 The Rust Project Developers - -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/.vim_runtime/sources_non_forked/rust.vim/README.md b/.vim_runtime/sources_non_forked/rust.vim/README.md deleted file mode 100644 index e7c79c1..0000000 --- a/.vim_runtime/sources_non_forked/rust.vim/README.md +++ /dev/null @@ -1,117 +0,0 @@ - -README.md

rust.vim

- -

Description

- -

This is a Vim plugin that provides Rust file detection, syntax highlighting, formatting, -Syntastic integration, and more. It requires Vim 8 or higher for full functionality. -Some things may not work on earlier versions.

- -

Installation

- -

Use one of the following package managers:

- -
    -
  • Vim8 packages: - -
      -
    • git clone https://github.com/rust-lang/rust.vim ~/.vim/pack/plugins/start/rust.vim
    • -
  • -
  • Vundle: - -
      -
    • Add Plugin 'rust-lang/rust.vim' to ~/.vimrc
    • -
    • :PluginInstall or $ vim +PluginInstall +qall
    • -
    • Note: Vundle will not automatically detect Rust files properly if filetype -on is executed before Vundle. Please check the quickstart for more -details. Errors such as Not an editor command: RustFmt may occur if Vundle -is misconfigured with this plugin.
    • -
  • -
  • Pathogen: - -
      -
    • git clone --depth=1 https://github.com/rust-lang/rust.vim.git ~/.vim/bundle/rust.vim
    • -
  • -
  • vim-plug: - -
      -
    • Add Plug 'rust-lang/rust.vim' to ~/.vimrc
    • -
    • :PlugInstall or $ vim +PlugInstall +qall
    • -
  • -
  • dein.vim: - -
      -
    • Add call dein#add('rust-lang/rust.vim') to ~/.vimrc
    • -
    • :call dein#install()
    • -
  • -
  • NeoBundle: - -
      -
    • Add NeoBundle 'rust-lang/rust.vim' to ~/.vimrc
    • -
    • Re-open vim or execute :source ~/.vimrc
    • -
  • -
- -

Features

- -

Error checking with Syntastic

- -

rust.vim automatically registers cargo as a syntax checker with -Syntastic, if nothing else is specified. See :help rust-syntastic -for more details.

- -

Source browsing with Tagbar

- -

The installation of Tagbar along with Universal Ctags is recommended -for a good Tagbar experience. For other kinds of setups, rust.vim tries to -configure Tagbar to some degree.

- -

Formatting with rustfmt

- -

The :RustFmt command will format your code with -rustfmt if installed.

- -

Placing let g:rustfmt_autosave = 1 in your ~/.vimrc will -enable automatic running of :RustFmt when you save a buffer.

- -

Do :help :RustFmt for further formatting help and customization -options.

- -

Playpen integration

- -

Note: This feature requires webapi-vim to be installed.

- -

The :RustPlay command will send the current selection, or if -nothing is selected the current buffer, to the Rust playpen.

- -

If you set g:rust_clip_command RustPlay will copy the url to the clipboard.

- -
    -
  • Mac:

    - -
    let g:rust_clip_command = 'pbcopy'
  • - -
  • Linux:

    - -
    let g:rust_clip_command = 'xclip -selection clipboard'
  • -
- -

Running a test under cursor

- -

In cargo project, the :RustTest command will run a test under the cursor. -This is useful when your project is bigger and running all tests take longer time.

- -

Help

- -

Further help can be found in the documentation with :Helptags then :help rust.

- -

Detailed help can be found in the documentation with :help rust. -Helptags (:help helptags) need to be generated for this plugin -in order to navigate the help. Most plugin managers will do this -automatically, but check their documentation if that is not the case.

- -

License

- -

Like Rust, rust.vim is primarily distributed under the terms of both the MIT -license and the Apache License (Version 2.0). See LICENSE-APACHE and -LICENSE-MIT for details.

diff --git a/.vim_runtime/sources_non_forked/rust.vim/autoload/cargo.vim b/.vim_runtime/sources_non_forked/rust.vim/autoload/cargo.vim deleted file mode 100644 index a95a57f..0000000 --- a/.vim_runtime/sources_non_forked/rust.vim/autoload/cargo.vim +++ /dev/null @@ -1,147 +0,0 @@ -function! cargo#Load() - " Utility call to get this script loaded, for debugging -endfunction - -function! cargo#cmd(args) abort - " Trim trailing spaces. This is necessary since :terminal command parses - " trailing spaces as an empty argument. - let args = substitute(a:args, '\s\+$', '', '') - if exists('g:cargo_shell_command_runner') - let cmd = g:cargo_shell_command_runner - elseif has('terminal') - let cmd = 'terminal' - elseif has('nvim') - let cmd = 'noautocmd new | terminal' - else - let cmd = '!' - endif - execute cmd 'cargo' args -endfunction - -function! s:nearest_cargo(...) abort - " If the second argument is not specified, the first argument determines - " whether we will start from the current directory or the directory of the - " current buffer, otherwise, we start with the provided path on the - " second argument. - - let l:is_getcwd = get(a:, 1, 0) - if l:is_getcwd - let l:starting_path = get(a:, 2, getcwd()) - else - let l:starting_path = get(a:, 2, expand('%:p:h')) - endif - - return findfile('Cargo.toml', l:starting_path . ';') -endfunction - -function! cargo#nearestCargo(is_getcwd) abort - return s:nearest_cargo(a:is_getcwd) -endfunction - -function! cargo#nearestWorkspaceCargo(is_getcwd) abort - let l:nearest = s:nearest_cargo(a:is_getcwd) - while l:nearest !=# '' - for l:line in readfile(l:nearest, '', 0x100) - if l:line =~# '\V[workspace]' - return l:nearest - endif - endfor - let l:next = fnamemodify(l:nearest, ':p:h:h') - let l:nearest = s:nearest_cargo(0, l:next) - endwhile - return '' -endfunction - -function! cargo#nearestRootCargo(is_getcwd) abort - " Try to find a workspace Cargo.toml, and if not found, take the nearest - " regular Cargo.toml - let l:workspace_cargo = cargo#nearestWorkspaceCargo(a:is_getcwd) - if l:workspace_cargo !=# '' - return l:workspace_cargo - endif - return s:nearest_cargo(a:is_getcwd) -endfunction - - -function! cargo#build(args) - call cargo#cmd("build " . a:args) -endfunction - -function! cargo#check(args) - call cargo#cmd("check " . a:args) -endfunction - -function! cargo#clean(args) - call cargo#cmd("clean " . a:args) -endfunction - -function! cargo#doc(args) - call cargo#cmd("doc " . a:args) -endfunction - -function! cargo#new(args) - call cargo#cmd("new " . a:args) - cd `=a:args` -endfunction - -function! cargo#init(args) - call cargo#cmd("init " . a:args) -endfunction - -function! cargo#run(args) - call cargo#cmd("run " . a:args) -endfunction - -function! cargo#test(args) - call cargo#cmd("test " . a:args) -endfunction - -function! cargo#bench(args) - call cargo#cmd("bench " . a:args) -endfunction - -function! cargo#update(args) - call cargo#cmd("update " . a:args) -endfunction - -function! cargo#search(args) - call cargo#cmd("search " . a:args) -endfunction - -function! cargo#publish(args) - call cargo#cmd("publish " . a:args) -endfunction - -function! cargo#install(args) - call cargo#cmd("install " . a:args) -endfunction - -function! cargo#runtarget(args) - let l:filename = expand('%:p') - let l:read_manifest = system('cargo read-manifest') - let l:metadata = json_decode(l:read_manifest) - let l:targets = get(l:metadata, 'targets', []) - let l:did_run = 0 - for l:target in l:targets - let l:src_path = get(l:target, 'src_path', '') - let l:kinds = get(l:target, 'kind', []) - let l:name = get(l:target, 'name', '') - if l:src_path == l:filename - if index(l:kinds, 'example') != -1 - let l:did_run = 1 - call cargo#run("--example " . shellescape(l:name) . " " . a:args) - return - elseif index(l:kinds, 'bin') != -1 - let l:did_run = 1 - call cargo#run("--bin " . shellescape(l:name) . " " . a:args) - return - endif - endif - endfor - if l:did_run != 1 - call cargo#run(a:args) - return - endif -endfunction - -" vim: set et sw=4 sts=4 ts=8: diff --git a/.vim_runtime/sources_non_forked/rust.vim/autoload/rust.vim b/.vim_runtime/sources_non_forked/rust.vim/autoload/rust.vim deleted file mode 100644 index 025949c..0000000 --- a/.vim_runtime/sources_non_forked/rust.vim/autoload/rust.vim +++ /dev/null @@ -1,570 +0,0 @@ -" Description: Helper functions for Rust commands/mappings -" Last Modified: May 27, 2014 -" For bugs, patches and license go to https://github.com/rust-lang/rust.vim - -function! rust#Load() - " Utility call to get this script loaded, for debugging -endfunction - -function! rust#GetConfigVar(name, default) - " Local buffer variable with same name takes predeence over global - if has_key(b:, a:name) - return get(b:, a:name) - endif - if has_key(g:, a:name) - return get(g:, a:name) - endif - return a:default -endfunction - -" Include expression {{{1 - -function! rust#IncludeExpr(fname) abort - " Remove leading 'crate::' to deal with 2018 edition style 'use' - " statements - let l:fname = substitute(a:fname, '^crate::', '', '') - - " Remove trailing colons arising from lines like - " - " use foo::{Bar, Baz}; - let l:fname = substitute(l:fname, ':\+$', '', '') - - " Replace '::' with '/' - let l:fname = substitute(l:fname, '::', '/', 'g') - - " When we have - " - " use foo::bar::baz; - " - " we can't tell whether baz is a module or a function; and we can't tell - " which modules correspond to files. - " - " So we work our way up, trying - " - " foo/bar/baz.rs - " foo/bar.rs - " foo.rs - while l:fname !=# '.' - let l:path = findfile(l:fname) - if !empty(l:path) - return l:fname - endif - let l:fname = fnamemodify(l:fname, ':h') - endwhile - return l:fname -endfunction - -" Jump {{{1 - -function! rust#Jump(mode, function) range - let cnt = v:count1 - normal! m' - if a:mode ==# 'v' - norm! gv - endif - let foldenable = &foldenable - set nofoldenable - while cnt > 0 - execute "call Jump_" . a:function . "()" - let cnt = cnt - 1 - endwhile - let &foldenable = foldenable -endfunction - -function! s:Jump_Back() - call search('{', 'b') - keepjumps normal! w99[{ -endfunction - -function! s:Jump_Forward() - normal! j0 - call search('{', 'b') - keepjumps normal! w99[{% - call search('{') -endfunction - -" Run {{{1 - -function! rust#Run(bang, args) - let args = s:ShellTokenize(a:args) - if a:bang - let idx = index(l:args, '--') - if idx != -1 - let rustc_args = idx == 0 ? [] : l:args[:idx-1] - let args = l:args[idx+1:] - else - let rustc_args = l:args - let args = [] - endif - else - let rustc_args = [] - endif - - let b:rust_last_rustc_args = l:rustc_args - let b:rust_last_args = l:args - - call s:WithPath(function("s:Run"), rustc_args, args) -endfunction - -function! s:Run(dict, rustc_args, args) - let exepath = a:dict.tmpdir.'/'.fnamemodify(a:dict.path, ':t:r') - if has('win32') - let exepath .= '.exe' - endif - - let relpath = get(a:dict, 'tmpdir_relpath', a:dict.path) - let rustc_args = [relpath, '-o', exepath] + a:rustc_args - - let rustc = exists("g:rustc_path") ? g:rustc_path : "rustc" - - let pwd = a:dict.istemp ? a:dict.tmpdir : '' - let output = s:system(pwd, shellescape(rustc) . " " . join(map(rustc_args, 'shellescape(v:val)'))) - if output !=# '' - echohl WarningMsg - echo output - echohl None - endif - if !v:shell_error - exe '!' . shellescape(exepath) . " " . join(map(a:args, 'shellescape(v:val)')) - endif -endfunction - -" Expand {{{1 - -function! rust#Expand(bang, args) - let args = s:ShellTokenize(a:args) - if a:bang && !empty(l:args) - let pretty = remove(l:args, 0) - else - let pretty = "expanded" - endif - call s:WithPath(function("s:Expand"), pretty, args) -endfunction - -function! s:Expand(dict, pretty, args) - try - let rustc = exists("g:rustc_path") ? g:rustc_path : "rustc" - - if a:pretty =~? '^\%(everybody_loops$\|flowgraph=\)' - let flag = '--xpretty' - else - let flag = '--pretty' - endif - let relpath = get(a:dict, 'tmpdir_relpath', a:dict.path) - let args = [relpath, '-Z', 'unstable-options', l:flag, a:pretty] + a:args - let pwd = a:dict.istemp ? a:dict.tmpdir : '' - let output = s:system(pwd, shellescape(rustc) . " " . join(map(args, 'shellescape(v:val)'))) - if v:shell_error - echohl WarningMsg - echo output - echohl None - else - new - silent put =output - 1 - d - setl filetype=rust - setl buftype=nofile - setl bufhidden=hide - setl noswapfile - " give the buffer a nice name - let suffix = 1 - let basename = fnamemodify(a:dict.path, ':t:r') - while 1 - let bufname = basename - if suffix > 1 | let bufname .= ' ('.suffix.')' | endif - let bufname .= '.pretty.rs' - if bufexists(bufname) - let suffix += 1 - continue - endif - exe 'silent noautocmd keepalt file' fnameescape(bufname) - break - endwhile - endif - endtry -endfunction - -function! rust#CompleteExpand(lead, line, pos) - if a:line[: a:pos-1] =~# '^RustExpand!\s*\S*$' - " first argument and it has a ! - let list = ["normal", "expanded", "typed", "expanded,identified", "flowgraph=", "everybody_loops"] - if !empty(a:lead) - call filter(list, "v:val[:len(a:lead)-1] == a:lead") - endif - return list - endif - - return glob(escape(a:lead, "*?[") . '*', 0, 1) -endfunction - -" Emit {{{1 - -function! rust#Emit(type, args) - let args = s:ShellTokenize(a:args) - call s:WithPath(function("s:Emit"), a:type, args) -endfunction - -function! s:Emit(dict, type, args) - try - let output_path = a:dict.tmpdir.'/output' - - let rustc = exists("g:rustc_path") ? g:rustc_path : "rustc" - - let relpath = get(a:dict, 'tmpdir_relpath', a:dict.path) - let args = [relpath, '--emit', a:type, '-o', output_path] + a:args - let pwd = a:dict.istemp ? a:dict.tmpdir : '' - let output = s:system(pwd, shellescape(rustc) . " " . join(map(args, 'shellescape(v:val)'))) - if output !=# '' - echohl WarningMsg - echo output - echohl None - endif - if !v:shell_error - new - exe 'silent keepalt read' fnameescape(output_path) - 1 - d - if a:type ==# "llvm-ir" - setl filetype=llvm - let extension = 'll' - elseif a:type ==# "asm" - setl filetype=asm - let extension = 's' - endif - setl buftype=nofile - setl bufhidden=hide - setl noswapfile - if exists('l:extension') - " give the buffer a nice name - let suffix = 1 - let basename = fnamemodify(a:dict.path, ':t:r') - while 1 - let bufname = basename - if suffix > 1 | let bufname .= ' ('.suffix.')' | endif - let bufname .= '.'.extension - if bufexists(bufname) - let suffix += 1 - continue - endif - exe 'silent noautocmd keepalt file' fnameescape(bufname) - break - endwhile - endif - endif - endtry -endfunction - -" Utility functions {{{1 - -" Invokes func(dict, ...) -" Where {dict} is a dictionary with the following keys: -" 'path' - The path to the file -" 'tmpdir' - The path to a temporary directory that will be deleted when the -" function returns. -" 'istemp' - 1 if the path is a file inside of {dict.tmpdir} or 0 otherwise. -" If {istemp} is 1 then an additional key is provided: -" 'tmpdir_relpath' - The {path} relative to the {tmpdir}. -" -" {dict.path} may be a path to a file inside of {dict.tmpdir} or it may be the -" existing path of the current buffer. If the path is inside of {dict.tmpdir} -" then it is guaranteed to have a '.rs' extension. -function! s:WithPath(func, ...) - let buf = bufnr('') - let saved = {} - let dict = {} - try - let saved.write = &write - set write - let dict.path = expand('%') - let pathisempty = empty(dict.path) - - " Always create a tmpdir in case the wrapped command wants it - let dict.tmpdir = tempname() - call mkdir(dict.tmpdir) - - if pathisempty || !saved.write - let dict.istemp = 1 - " if we're doing this because of nowrite, preserve the filename - if !pathisempty - let filename = expand('%:t:r').".rs" - else - let filename = 'unnamed.rs' - endif - let dict.tmpdir_relpath = filename - let dict.path = dict.tmpdir.'/'.filename - - let saved.mod = &modified - set nomodified - - silent exe 'keepalt write! ' . fnameescape(dict.path) - if pathisempty - silent keepalt 0file - endif - else - let dict.istemp = 0 - update - endif - - call call(a:func, [dict] + a:000) - finally - if bufexists(buf) - for [opt, value] in items(saved) - silent call setbufvar(buf, '&'.opt, value) - unlet value " avoid variable type mismatches - endfor - endif - if has_key(dict, 'tmpdir') | silent call s:RmDir(dict.tmpdir) | endif - endtry -endfunction - -function! rust#AppendCmdLine(text) - call setcmdpos(getcmdpos()) - let cmd = getcmdline() . a:text - return cmd -endfunction - -" Tokenize the string according to sh parsing rules -function! s:ShellTokenize(text) - " states: - " 0: start of word - " 1: unquoted - " 2: unquoted backslash - " 3: double-quote - " 4: double-quoted backslash - " 5: single-quote - let l:state = 0 - let l:current = '' - let l:args = [] - for c in split(a:text, '\zs') - if l:state == 0 || l:state == 1 " unquoted - if l:c ==# ' ' - if l:state == 0 | continue | endif - call add(l:args, l:current) - let l:current = '' - let l:state = 0 - elseif l:c ==# '\' - let l:state = 2 - elseif l:c ==# '"' - let l:state = 3 - elseif l:c ==# "'" - let l:state = 5 - else - let l:current .= l:c - let l:state = 1 - endif - elseif l:state == 2 " unquoted backslash - if l:c !=# "\n" " can it even be \n? - let l:current .= l:c - endif - let l:state = 1 - elseif l:state == 3 " double-quote - if l:c ==# '\' - let l:state = 4 - elseif l:c ==# '"' - let l:state = 1 - else - let l:current .= l:c - endif - elseif l:state == 4 " double-quoted backslash - if stridx('$`"\', l:c) >= 0 - let l:current .= l:c - elseif l:c ==# "\n" " is this even possible? - " skip it - else - let l:current .= '\'.l:c - endif - let l:state = 3 - elseif l:state == 5 " single-quoted - if l:c ==# "'" - let l:state = 1 - else - let l:current .= l:c - endif - endif - endfor - if l:state != 0 - call add(l:args, l:current) - endif - return l:args -endfunction - -function! s:RmDir(path) - " sanity check; make sure it's not empty, /, or $HOME - if empty(a:path) - echoerr 'Attempted to delete empty path' - return 0 - elseif a:path ==# '/' || a:path ==# $HOME - let l:path = expand(a:path) - if l:path ==# '/' || l:path ==# $HOME - echoerr 'Attempted to delete protected path: ' . a:path - return 0 - endif - endif - - if !isdirectory(a:path) - return 0 - endif - - " delete() returns 0 when removing file successfully - return delete(a:path, 'rf') == 0 -endfunction - -" Executes {cmd} with the cwd set to {pwd}, without changing Vim's cwd. -" If {pwd} is the empty string then it doesn't change the cwd. -function! s:system(pwd, cmd) - let cmd = a:cmd - if !empty(a:pwd) - let cmd = 'cd ' . shellescape(a:pwd) . ' && ' . cmd - endif - return system(cmd) -endfunction - -" Playpen Support {{{1 -" Parts of gist.vim by Yasuhiro Matsumoto reused -" gist.vim available under the BSD license, available at -" http://github.com/mattn/gist-vim -function! s:has_webapi() - if !exists("*webapi#http#post") - try - call webapi#http#post() - catch - endtry - endif - return exists("*webapi#http#post") -endfunction - -function! rust#Play(count, line1, line2, ...) abort - redraw - - let l:rust_playpen_url = get(g:, 'rust_playpen_url', 'https://play.rust-lang.org/') - let l:rust_shortener_url = get(g:, 'rust_shortener_url', 'https://is.gd/') - - if !s:has_webapi() - echohl ErrorMsg | echomsg ':RustPlay depends on webapi.vim (https://github.com/mattn/webapi-vim)' | echohl None - return - endif - - let bufname = bufname('%') - if a:count < 1 - let content = join(getline(a:line1, a:line2), "\n") - else - let save_regcont = @" - let save_regtype = getregtype('"') - silent! normal! gvy - let content = @" - call setreg('"', save_regcont, save_regtype) - endif - - let url = l:rust_playpen_url."?code=".webapi#http#encodeURI(content) - - if strlen(url) > 5000 - echohl ErrorMsg | echomsg 'Buffer too large, max 5000 encoded characters ('.strlen(url).')' | echohl None - return - endif - - let payload = "format=simple&url=".webapi#http#encodeURI(url) - let res = webapi#http#post(l:rust_shortener_url.'create.php', payload, {}) - if res.status[0] ==# '2' - let url = res.content - endif - - let footer = '' - if exists('g:rust_clip_command') - call system(g:rust_clip_command, url) - if !v:shell_error - let footer = ' (copied to clipboard)' - endif - endif - redraw | echomsg 'Done: '.url.footer -endfunction - -" Run a test under the cursor or all tests {{{1 - -" Finds a test function name under the cursor. Returns empty string when a -" test function is not found. -function! s:SearchTestFunctionNameUnderCursor() abort - let cursor_line = line('.') - - " Find #[test] attribute - if search('\m\C#\[test\]', 'bcW') is 0 - return '' - endif - - " Move to an opening brace of the test function - let test_func_line = search('\m\C^\s*fn\s\+\h\w*\s*(.\+{$', 'eW') - if test_func_line is 0 - return '' - endif - - " Search the end of test function (closing brace) to ensure that the - " cursor position is within function definition - if maparg('(MatchitNormalForward)') ==# '' - keepjumps normal! % - else - " Prefer matchit.vim official plugin to native % since the plugin - " provides better behavior than original % (#391) - " To load the plugin, run: - " :packadd matchit - execute 'keepjumps' 'normal' "\(MatchitNormalForward)" - endif - if line('.') < cursor_line - return '' - endif - - return matchstr(getline(test_func_line), '\m\C^\s*fn\s\+\zs\h\w*') -endfunction - -function! rust#Test(mods, winsize, all, options) abort - let manifest = findfile('Cargo.toml', expand('%:p:h') . ';') - if manifest ==# '' - return rust#Run(1, '--test ' . a:options) - endif - - " defaults to 0, but we prefer an empty string - let winsize = a:winsize ? a:winsize : '' - - if has('terminal') - if has('patch-8.0.910') - let cmd = printf('%s noautocmd %snew | terminal ++curwin ', a:mods, winsize) - else - let cmd = printf('%s terminal ', a:mods) - endif - elseif has('nvim') - let cmd = printf('%s noautocmd %snew | terminal ', a:mods, winsize) - else - let cmd = '!' - let manifest = shellescape(manifest) - endif - - if a:all - if a:options ==# '' - execute cmd . 'cargo test --manifest-path' manifest - else - execute cmd . 'cargo test --manifest-path' manifest a:options - endif - return - endif - - let saved = getpos('.') - try - let func_name = s:SearchTestFunctionNameUnderCursor() - finally - call setpos('.', saved) - endtry - if func_name ==# '' - echohl ErrorMsg - echomsg 'No test function was found under the cursor. Please add ! to command if you want to run all tests' - echohl None - return - endif - if a:options ==# '' - execute cmd . 'cargo test --manifest-path' manifest func_name - else - execute cmd . 'cargo test --manifest-path' manifest func_name a:options - endif -endfunction - -" }}}1 - -" vim: set et sw=4 sts=4 ts=8: diff --git a/.vim_runtime/sources_non_forked/rust.vim/autoload/rustfmt.vim b/.vim_runtime/sources_non_forked/rust.vim/autoload/rustfmt.vim deleted file mode 100644 index 4a5f86c..0000000 --- a/.vim_runtime/sources_non_forked/rust.vim/autoload/rustfmt.vim +++ /dev/null @@ -1,260 +0,0 @@ -" Author: Stephen Sugden -" -" Adapted from https://github.com/fatih/vim-go -" For bugs, patches and license go to https://github.com/rust-lang/rust.vim - -if !exists("g:rustfmt_autosave") - let g:rustfmt_autosave = 0 -endif - -if !exists("g:rustfmt_command") - let g:rustfmt_command = "rustfmt" -endif - -if !exists("g:rustfmt_options") - let g:rustfmt_options = "" -endif - -if !exists("g:rustfmt_fail_silently") - let g:rustfmt_fail_silently = 0 -endif - -function! rustfmt#DetectVersion() - " Save rustfmt '--help' for feature inspection - silent let s:rustfmt_help = system(g:rustfmt_command . " --help") - let s:rustfmt_unstable_features = s:rustfmt_help =~# "--unstable-features" - - " Build a comparable rustfmt version varible out of its `--version` output: - silent let l:rustfmt_version_full = system(g:rustfmt_command . " --version") - let l:rustfmt_version_list = matchlist(l:rustfmt_version_full, - \ '\vrustfmt ([0-9]+[.][0-9]+[.][0-9]+)') - if len(l:rustfmt_version_list) < 3 - let s:rustfmt_version = "0" - else - let s:rustfmt_version = l:rustfmt_version_list[1] - endif - return s:rustfmt_version -endfunction - -call rustfmt#DetectVersion() - -if !exists("g:rustfmt_emit_files") - let g:rustfmt_emit_files = s:rustfmt_version >= "0.8.2" -endif - -if !exists("g:rustfmt_file_lines") - let g:rustfmt_file_lines = s:rustfmt_help =~# "--file-lines JSON" -endif - -let s:got_fmt_error = 0 - -function! rustfmt#Load() - " Utility call to get this script loaded, for debugging -endfunction - -function! s:RustfmtWriteMode() - if g:rustfmt_emit_files - return "--emit=files" - else - return "--write-mode=overwrite" - endif -endfunction - -function! s:RustfmtConfigOptions() - let l:rustfmt_toml = findfile('rustfmt.toml', expand('%:p:h') . ';') - if l:rustfmt_toml !=# '' - return '--config-path '.fnamemodify(l:rustfmt_toml, ":p") - endif - - let l:_rustfmt_toml = findfile('.rustfmt.toml', expand('%:p:h') . ';') - if l:_rustfmt_toml !=# '' - return '--config-path '.fnamemodify(l:_rustfmt_toml, ":p") - endif - - " Default to edition 2018 in case no rustfmt.toml was found. - return '--edition 2018' -endfunction - -function! s:RustfmtCommandRange(filename, line1, line2) - if g:rustfmt_file_lines == 0 - echo "--file-lines is not supported in the installed `rustfmt` executable" - return - endif - - let l:arg = {"file": shellescape(a:filename), "range": [a:line1, a:line2]} - let l:write_mode = s:RustfmtWriteMode() - let l:rustfmt_config = s:RustfmtConfigOptions() - - " FIXME: When --file-lines gets to be stable, add version range checking - " accordingly. - let l:unstable_features = s:rustfmt_unstable_features ? '--unstable-features' : '' - - let l:cmd = printf("%s %s %s %s %s --file-lines '[%s]' %s", g:rustfmt_command, - \ l:write_mode, g:rustfmt_options, - \ l:unstable_features, l:rustfmt_config, - \ json_encode(l:arg), shellescape(a:filename)) - return l:cmd -endfunction - -function! s:RustfmtCommand() - let write_mode = g:rustfmt_emit_files ? '--emit=stdout' : '--write-mode=display' - let config = s:RustfmtConfigOptions() - return join([g:rustfmt_command, write_mode, config, g:rustfmt_options]) -endfunction - -function! s:DeleteLines(start, end) abort - silent! execute a:start . ',' . a:end . 'delete _' -endfunction - -function! s:RunRustfmt(command, tmpname, from_writepre) - mkview! - - let l:stderr_tmpname = tempname() - call writefile([], l:stderr_tmpname) - - let l:command = a:command . ' 2> ' . l:stderr_tmpname - - if a:tmpname ==# '' - " Rustfmt in stdin/stdout mode - - " chdir to the directory of the file - let l:has_lcd = haslocaldir() - let l:prev_cd = getcwd() - execute 'lchdir! '.expand('%:h') - - let l:buffer = getline(1, '$') - if exists("*systemlist") - silent let out = systemlist(l:command, l:buffer) - else - silent let out = split(system(l:command, - \ join(l:buffer, "\n")), '\r\?\n') - endif - else - if exists("*systemlist") - silent let out = systemlist(l:command) - else - silent let out = split(system(l:command), '\r\?\n') - endif - endif - - let l:stderr = readfile(l:stderr_tmpname) - - call delete(l:stderr_tmpname) - - let l:open_lwindow = 0 - if v:shell_error == 0 - if a:from_writepre - " remove undo point caused via BufWritePre - try | silent undojoin | catch | endtry - endif - - if a:tmpname ==# '' - let l:content = l:out - else - " take the tmpfile's content, this is better than rename - " because it preserves file modes. - let l:content = readfile(a:tmpname) - endif - - call s:DeleteLines(len(l:content), line('$')) - call setline(1, l:content) - - " only clear location list if it was previously filled to prevent - " clobbering other additions - if s:got_fmt_error - let s:got_fmt_error = 0 - call setloclist(0, []) - let l:open_lwindow = 1 - endif - elseif g:rustfmt_fail_silently == 0 && !a:from_writepre - " otherwise get the errors and put them in the location list - let l:errors = [] - - let l:prev_line = "" - for l:line in l:stderr - " error: expected one of `;` or `as`, found `extern` - " --> src/main.rs:2:1 - let tokens = matchlist(l:line, '^\s\+-->\s\(.\{-}\):\(\d\+\):\(\d\+\)$') - if !empty(tokens) - call add(l:errors, {"filename": @%, - \"lnum": tokens[2], - \"col": tokens[3], - \"text": l:prev_line}) - endif - let l:prev_line = l:line - endfor - - if !empty(l:errors) - call setloclist(0, l:errors, 'r') - echohl Error | echomsg "rustfmt returned error" | echohl None - else - echo "rust.vim: was not able to parse rustfmt messages. Here is the raw output:" - echo "\n" - for l:line in l:stderr - echo l:line - endfor - endif - - let s:got_fmt_error = 1 - let l:open_lwindow = 1 - endif - - " Restore the current directory if needed - if a:tmpname ==# '' - if l:has_lcd - execute 'lchdir! '.l:prev_cd - else - execute 'chdir! '.l:prev_cd - endif - endif - - " Open lwindow after we have changed back to the previous directory - if l:open_lwindow == 1 - lwindow - endif - - silent! loadview -endfunction - -function! rustfmt#FormatRange(line1, line2) - let l:tmpname = tempname() - call writefile(getline(1, '$'), l:tmpname) - let command = s:RustfmtCommandRange(l:tmpname, a:line1, a:line2) - call s:RunRustfmt(command, l:tmpname, v:false) - call delete(l:tmpname) -endfunction - -function! rustfmt#Format() - call s:RunRustfmt(s:RustfmtCommand(), '', v:false) -endfunction - -function! rustfmt#Cmd() - " Mainly for debugging - return s:RustfmtCommand() -endfunction - -function! rustfmt#PreWrite() - if !filereadable(expand("%@")) - return - endif - if rust#GetConfigVar('rustfmt_autosave_if_config_present', 0) - if findfile('rustfmt.toml', '.;') !=# '' || findfile('.rustfmt.toml', '.;') !=# '' - let b:rustfmt_autosave = 1 - let b:_rustfmt_autosave_because_of_config = 1 - endif - else - if has_key(b:, '_rustfmt_autosave_because_of_config') - unlet b:_rustfmt_autosave_because_of_config - unlet b:rustfmt_autosave - endif - endif - - if !rust#GetConfigVar("rustfmt_autosave", 0) - return - endif - - call s:RunRustfmt(s:RustfmtCommand(), '', v:true) -endfunction - - -" vim: set et sw=4 sts=4 ts=8: diff --git a/.vim_runtime/sources_non_forked/rust.vim/compiler/cargo.vim b/.vim_runtime/sources_non_forked/rust.vim/compiler/cargo.vim deleted file mode 100644 index 87de609..0000000 --- a/.vim_runtime/sources_non_forked/rust.vim/compiler/cargo.vim +++ /dev/null @@ -1,49 +0,0 @@ -" Vim compiler file -" Compiler: Cargo Compiler -" Maintainer: Damien Radtke -" Latest Revision: 2014 Sep 24 -" For bugs, patches and license go to https://github.com/rust-lang/rust.vim - -if exists('current_compiler') - finish -endif -runtime compiler/rustc.vim -let current_compiler = "cargo" - -" vint: -ProhibitAbbreviationOption -let s:save_cpo = &cpo -set cpo&vim -" vint: +ProhibitAbbreviationOption - -if exists(':CompilerSet') != 2 - command -nargs=* CompilerSet setlocal -endif - -if exists('g:cargo_makeprg_params') - execute 'CompilerSet makeprg=cargo\ '.escape(g:cargo_makeprg_params, ' \|"').'\ $*' -else - CompilerSet makeprg=cargo\ $* -endif - -augroup RustCargoQuickFixHooks - autocmd! - autocmd QuickFixCmdPre make call cargo#quickfix#CmdPre() - autocmd QuickFixCmdPost make call cargo#quickfix#CmdPost() -augroup END - -" Ignore general cargo progress messages -CompilerSet errorformat+= - \%-G%\\s%#Downloading%.%#, - \%-G%\\s%#Compiling%.%#, - \%-G%\\s%#Finished%.%#, - \%-G%\\s%#error:\ Could\ not\ compile\ %.%#, - \%-G%\\s%#To\ learn\ more\\,%.%#, - \%-Gnote:\ Run\ with\ \`RUST_BACKTRACE=%.%#, - \%.%#panicked\ at\ \\'%m\\'\\,\ %f:%l:%c - -" vint: -ProhibitAbbreviationOption -let &cpo = s:save_cpo -unlet s:save_cpo -" vint: +ProhibitAbbreviationOption - -" vim: set et sw=4 sts=4 ts=8: diff --git a/.vim_runtime/sources_non_forked/rust.vim/compiler/rustc.vim b/.vim_runtime/sources_non_forked/rust.vim/compiler/rustc.vim deleted file mode 100644 index 9b70732..0000000 --- a/.vim_runtime/sources_non_forked/rust.vim/compiler/rustc.vim +++ /dev/null @@ -1,57 +0,0 @@ -" Vim compiler file -" Compiler: Rust Compiler -" Maintainer: Chris Morgan -" Latest Revision: 2013 Jul 12 -" For bugs, patches and license go to https://github.com/rust-lang/rust.vim - -if exists("current_compiler") - finish -endif -let current_compiler = "rustc" - -" vint: -ProhibitAbbreviationOption -let s:save_cpo = &cpo -set cpo&vim -" vint: +ProhibitAbbreviationOption - -if exists(":CompilerSet") != 2 - command -nargs=* CompilerSet setlocal -endif - -if get(g:, 'rustc_makeprg_no_percent', 0) - CompilerSet makeprg=rustc -else - if has('patch-7.4.191') - CompilerSet makeprg=rustc\ \%:S - else - CompilerSet makeprg=rustc\ \"%\" - endif -endif - -" New errorformat (after nightly 2016/08/10) -CompilerSet errorformat= - \%-G, - \%-Gerror:\ aborting\ %.%#, - \%-Gerror:\ Could\ not\ compile\ %.%#, - \%Eerror:\ %m, - \%Eerror[E%n]:\ %m, - \%Wwarning:\ %m, - \%Inote:\ %m, - \%C\ %#-->\ %f:%l:%c, - \%E\ \ left:%m,%C\ right:%m\ %f:%l:%c,%Z - -" Old errorformat (before nightly 2016/08/10) -CompilerSet errorformat+= - \%f:%l:%c:\ %t%*[^:]:\ %m, - \%f:%l:%c:\ %*\\d:%*\\d\ %t%*[^:]:\ %m, - \%-G%f:%l\ %s, - \%-G%*[\ ]^, - \%-G%*[\ ]^%*[~], - \%-G%*[\ ]... - -" vint: -ProhibitAbbreviationOption -let &cpo = s:save_cpo -unlet s:save_cpo -" vint: +ProhibitAbbreviationOption - -" vim: set et sw=4 sts=4 ts=8: diff --git a/.vim_runtime/sources_non_forked/rust.vim/ctags/rust.ctags b/.vim_runtime/sources_non_forked/rust.vim/ctags/rust.ctags deleted file mode 100644 index d4f474e..0000000 --- a/.vim_runtime/sources_non_forked/rust.vim/ctags/rust.ctags +++ /dev/null @@ -1,11 +0,0 @@ ---langdef=Rust ---langmap=Rust:.rs ---regex-Rust=/^[ \t]*(#\[[^\]]\][ \t]*)*(pub[ \t]+)?(extern[ \t]+)?("[^"]+"[ \t]+)?(unsafe[ \t]+)?fn[ \t]+([a-zA-Z0-9_]+)/\6/f,functions,function definitions/ ---regex-Rust=/^[ \t]*(pub[ \t]+)?type[ \t]+([a-zA-Z0-9_]+)/\2/T,types,type definitions/ ---regex-Rust=/^[ \t]*(pub[ \t]+)?enum[ \t]+([a-zA-Z0-9_]+)/\2/g,enum,enumeration names/ ---regex-Rust=/^[ \t]*(pub[ \t]+)?struct[ \t]+([a-zA-Z0-9_]+)/\2/s,structure names/ ---regex-Rust=/^[ \t]*(pub[ \t]+)?mod[ \t]+([a-zA-Z0-9_]+)/\2/m,modules,module names/ ---regex-Rust=/^[ \t]*(pub[ \t]+)?(static|const)[ \t]+([a-zA-Z0-9_]+)/\3/c,consts,static constants/ ---regex-Rust=/^[ \t]*(pub[ \t]+)?trait[ \t]+([a-zA-Z0-9_]+)/\2/t,traits,traits/ ---regex-Rust=/^[ \t]*(pub[ \t]+)?impl([ \t\n]*<[^>]*>)?[ \t]+(([a-zA-Z0-9_:]+)[ \t]*(<[^>]*>)?[ \t]+(for)[ \t]+)?([a-zA-Z0-9_]+)/\4 \6 \7/i,impls,trait implementations/ ---regex-Rust=/^[ \t]*macro_rules![ \t]+([a-zA-Z0-9_]+)/\1/d,macros,macro definitions/ diff --git a/.vim_runtime/sources_non_forked/rust.vim/doc/rust.txt b/.vim_runtime/sources_non_forked/rust.vim/doc/rust.txt deleted file mode 100644 index 9d5eb8c..0000000 --- a/.vim_runtime/sources_non_forked/rust.vim/doc/rust.txt +++ /dev/null @@ -1,486 +0,0 @@ -*ft_rust.txt* Filetype plugin for Rust - -============================================================================== -CONTENTS *rust* - -1. Introduction |rust-intro| -2. Settings |rust-settings| -3. Commands |rust-commands| -4. Mappings |rust-mappings| - -============================================================================== -INTRODUCTION *rust-intro* - -This plugin provides syntax and supporting functionality for the Rust -filetype. It requires Vim 8 or higher for full functionality. Some commands -will not work on earlier versions. - -============================================================================== -SETTINGS *rust-settings* - -This plugin has a few variables you can define in your vimrc that change the -behavior of the plugin. - -Some variables can be set buffer local (`:b` prefix), and the buffer local -will take precedence over the global `g:` counterpart. - - *g:rustc_path* -g:rustc_path~ - Set this option to the path to rustc for use in the |:RustRun| and - |:RustExpand| commands. If unset, "rustc" will be located in $PATH: > - let g:rustc_path = $HOME."/bin/rustc" -< - - *g:rustc_makeprg_no_percent* -g:rustc_makeprg_no_percent~ - Set this option to 1 to have 'makeprg' default to "rustc" instead of - "rustc %": > - let g:rustc_makeprg_no_percent = 1 -< - - *g:rust_conceal* -g:rust_conceal~ - Set this option to turn on the basic |conceal| support: > - let g:rust_conceal = 1 -< - - *g:rust_conceal_mod_path* -g:rust_conceal_mod_path~ - Set this option to turn on |conceal| for the path connecting token - "::": > - let g:rust_conceal_mod_path = 1 -< - - *g:rust_conceal_pub* -g:rust_conceal_pub~ - Set this option to turn on |conceal| for the "pub" token: > - let g:rust_conceal_pub = 1 -< - - *g:rust_recommended_style* -g:rust_recommended_style~ - Set this option to enable vim indentation and textwidth settings to - conform to style conventions of the rust standard library (i.e. use 4 - spaces for indents and sets 'textwidth' to 99). This option is enabled - by default. To disable it: > - let g:rust_recommended_style = 0 -< - - *g:rust_fold* -g:rust_fold~ - Set this option to turn on |folding|: > - let g:rust_fold = 1 -< - Value Effect ~ - 0 No folding - 1 Braced blocks are folded. All folds are open by - default. - 2 Braced blocks are folded. 'foldlevel' is left at the - global value (all folds are closed by default). - - *g:rust_bang_comment_leader* -g:rust_bang_comment_leader~ - Set this option to 1 to preserve the leader on multi-line doc comments - using the /*! syntax: > - let g:rust_bang_comment_leader = 1 -< - - *g:rust_use_custom_ctags_defs* -g:rust_use_custom_ctags_defs~ - Set this option to 1 if you have customized ctags definitions for Rust - and do not wish for those included with rust.vim to be used: > - let g:rust_use_custom_ctags_defs = 1 -< - - NOTE: rust.vim's built-in definitions are only used for the Tagbar Vim - plugin, if you have it installed, AND if Universal Ctags is not - detected. This is because Universal Ctags already has built-in - support for Rust when used with Tagbar. - - Also, note that when using ctags other than Universal Ctags, it is not - automatically used when generating |tags| files that Vim can use to - navigate to definitions across different source files. Feel free to - copy `rust.vim/ctags/rust.ctags` into your own `~/.ctags` if you wish - to generate |tags| files. - - - *g:ftplugin_rust_source_path* -g:ftplugin_rust_source_path~ - Set this option to a path that should be prepended to 'path' for Rust - source files: > - let g:ftplugin_rust_source_path = $HOME.'/dev/rust' -< - - *g:rustfmt_command* -g:rustfmt_command~ - Set this option to the name of the 'rustfmt' executable in your $PATH. If - not specified it defaults to 'rustfmt' : > - let g:rustfmt_command = 'rustfmt' -< - *g:rustfmt_autosave* -g:rustfmt_autosave~ - Set this option to 1 to run |:RustFmt| automatically when saving a - buffer. If not specified it defaults to 0 : > - let g:rustfmt_autosave = 0 -< - There is also a buffer-local b:rustfmt_autosave that can be set for - the same purpose, and can override the global setting. - - *g:rustfmt_autosave_if_config_present* -g:rustfmt_autosave_if_config_present~ - Set this option to 1 to have *b:rustfmt_autosave* be set automatically - if a `rustfmt.toml` file is present in any parent directly leading to - the file being edited. If not set, default to 0: > - let g:rustfmt_autosave_if_config_present = 0 -< - This is useful to have `rustfmt` only execute on save, on projects - that have `rustfmt.toml` configuration. - - There is also a buffer-local b:rustfmt_autosave_if_config_present - that can be set for the same purpose, which can overrides the global - setting. - *g:rustfmt_fail_silently* -g:rustfmt_fail_silently~ - Set this option to 1 to prevent 'rustfmt' from populating the - |location-list| with errors. If not specified it defaults to 0: > - let g:rustfmt_fail_silently = 0 -< - *g:rustfmt_options* -g:rustfmt_options~ - Set this option to a string of options to pass to 'rustfmt'. The - write-mode is already set to 'overwrite'. If not specified it - defaults to '' : > - let g:rustfmt_options = '' -< - *g:rustfmt_emit_files* -g:rustfmt_emit_files~ - If not specified rust.vim tries to detect the right parameter to - pass to rustfmt based on its reported version. Otherwise, it - determines whether to run rustfmt with '--emit=files' (when 1 is - provided) instead of '--write-mode=overwrite'. > - let g:rustfmt_emit_files = 0 - - - *g:rust_playpen_url* -g:rust_playpen_url~ - Set this option to override the url for the playpen to use: > - let g:rust_playpen_url = 'https://play.rust-lang.org/' -< - - *g:rust_shortener_url* -g:rust_shortener_url~ - Set this option to override the url for the url shortener: > - let g:rust_shortener_url = 'https://is.gd/' -< - - *g:rust_clip_command* -g:rust_clip_command~ - Set this option to the command used in your OS to copy the Rust Play - url to the clipboard: > - let g:rust_clip_command = 'xclip -selection clipboard' -< - - *g:cargo_makeprg_params* -g:cargo_makeprg_params~ - Set this option to the string of parameters to pass to cargo. If not - specified it defaults to '$*' : > - let g:cargo_makeprg_params = 'build' -< - - *g:cargo_shell_command_runner* -g:cargo_shell_command_runner~ - Set this option to change how to run shell commands for cargo commands - |:Cargo|, |:Cbuild|, |:Crun|, ... - By default, |:terminal| is used to run shell command in terminal window - asynchronously. But if you prefer |:!| for running the commands, it can - be specified: > - let g:cargo_shell_command_runner = '!' -< - - -Integration with Syntastic *rust-syntastic* --------------------------- - -This plugin automatically integrates with the Syntastic checker. There are two -checkers provided: 'rustc', and 'cargo'. The latter invokes 'Cargo' in order to -build code, and the former delivers a single edited '.rs' file as a compilation -target directly to the Rust compiler, `rustc`. - -Because Cargo is almost exclusively being used for building Rust code these -days, 'cargo' is the default checker. > - - let g:syntastic_rust_checkers = ['cargo'] -< -If you would like to change it, you can set `g:syntastic_rust_checkers` to a -different value. - *g:rust_cargo_avoid_whole_workspace* - *b:rust_cargo_avoid_whole_workspace* -g:rust_cargo_avoid_whole_workspace~ - When editing a crate that is part of a Cargo workspace, and this - option is set to 1 (the default), then 'cargo' will be executed - directly in that crate directory instead of in the workspace - directory. Setting 0 prevents this behavior - however be aware that if - you are working in large workspace, Cargo commands may take more time, - plus the Syntastic error list may include all the crates in the - workspace. > - let g:rust_cargo_avoid_whole_workspace = 0 -< - *g:rust_cargo_check_all_targets* - *b:rust_cargo_check_all_targets* -g:rust_cargo_check_all_targets~ - When set to 1, the `--all-targets` option will be passed to cargo when - Syntastic executes it, allowing the linting of all targets under the - package. - The default is 0. - - *g:rust_cargo_check_all_features* - *b:rust_cargo_check_all_features* -g:rust_cargo_check_all_features~ - When set to 1, the `--all-features` option will be passed to cargo when - Syntastic executes it, allowing the linting of all features of the - package. - The default is 0. - - *g:rust_cargo_check_examples* - *b:rust_cargo_check_examples* -g:rust_cargo_check_examples~ - When set to 1, the `--examples` option will be passed to cargo when - Syntastic executes it, to prevent the exclusion of examples from - linting. The examples are normally under the `examples/` directory of - the crate. - The default is 0. - - *g:rust_cargo_check_tests* - *b:rust_cargo_check_tests* -g:rust_cargo_check_tests~ - When set to 1, the `--tests` option will be passed to cargo when - Syntastic executes it, to prevent the exclusion of tests from linting. - The tests are normally under the `tests/` directory of the crate. - The default is 0. - - *g:rust_cargo_check_benches* - *b:rust_cargo_check_benches* -g:rust_cargo_check_benches~ - When set to 1, the `--benches` option will be passed to cargo when - Syntastic executes it. The benches are normally under the `benches/` - directory of the crate. - The default is 0. - -Integration with auto-pairs *rust-auto-pairs* ---------------------------- - -This plugin automatically configures the auto-pairs plugin not to duplicate -single quotes, which are used more often for lifetime annotations than for -single character literals. - - *g:rust_keep_autopairs_default* -g:rust_keep_autopairs_default~ - - Don't override auto-pairs default for the Rust filetype. The default - is 0. - -============================================================================== -COMMANDS *rust-commands* - -Invoking Cargo --------------- - -This plug defines very simple shortcuts for invoking Cargo from with Vim. - -:Cargo *:Cargo* - Runs 'cargo' with the provided arguments. - -:Cbuild *:Cbuild* - Shortcut for 'cargo build`. - -:Cclean *:Cclean* - Shortcut for 'cargo clean`. - -:Cdoc *:Cdoc* - Shortcut for 'cargo doc`. - -:Cinit *:Cinit* - Shortcut for 'cargo init`. - -:Crun *:Crun* - Shortcut for 'cargo run`. - -:Ctest *:Ctest* - Shortcut for 'cargo test`. - -:Cupdate *:Cupdate* - Shortcut for 'cargo update`. - -:Cbench *:Cbench* - Shortcut for 'cargo bench`. - -:Csearch *:Csearch* - Shortcut for 'cargo search`. - -:Cpublish *:Cpublish* - Shortcut for 'cargo publish`. - -:Cinstall *:Cinstall* - Shortcut for 'cargo install`. - -:Cruntarget *:Cruntarget* - Shortcut for 'cargo run --bin' or 'cargo run --example', - depending on the currently open buffer. - -Formatting ----------- - -:RustFmt *:RustFmt* - Runs |g:rustfmt_command| on the current buffer. If - |g:rustfmt_options| is set then those will be passed to the - executable. - - If |g:rustfmt_fail_silently| is 0 (the default) then it - will populate the |location-list| with the errors from - |g:rustfmt_command|. If |g:rustfmt_fail_silently| is set to 1 - then it will not populate the |location-list|. - -:RustFmtRange *:RustFmtRange* - Runs |g:rustfmt_command| with selected range. See - |:RustFmt| for any other information. - - -Playpen integration -------------------- - -:RustPlay *:RustPlay* - This command will only work if you have web-api.vim installed - (available at https://github.com/mattn/webapi-vim). It sends the - current selection, or if nothing is selected, the entirety of the - current buffer to the Rust playpen, and emits a message with the - shortened URL to the playpen. - - |g:rust_playpen_url| is the base URL to the playpen, by default - "https://play.rust-lang.org/". - - |g:rust_shortener_url| is the base url for the shorterner, by - default "https://is.gd/" - - |g:rust_clip_command| is the command to run to copy the - playpen url to the clipboard of your system. - - -Evaluation of a single Rust file --------------------------------- - -NOTE: These commands are useful only when working with standalone Rust files, -which is usually not the case for common Rust development. If you wish to -building Rust crates from with Vim can should use Vim's make, Syntastic, or -functionality from other plugins. - - -:RustRun [args] *:RustRun* -:RustRun! [rustc-args] [--] [args] - Compiles and runs the current file. If it has unsaved changes, - it will be saved first using |:update|. If the current file is - an unnamed buffer, it will be written to a temporary file - first. The compiled binary is always placed in a temporary - directory, but is run from the current directory. - - The arguments given to |:RustRun| will be passed to the - compiled binary. - - If ! is specified, the arguments are passed to rustc instead. - A "--" argument will separate the rustc arguments from the - arguments passed to the binary. - - If |g:rustc_path| is defined, it is used as the path to rustc. - Otherwise it is assumed rustc can be found in $PATH. - -:RustExpand [args] *:RustExpand* -:RustExpand! [TYPE] [args] - Expands the current file using --pretty and displays the - results in a new split. If the current file has unsaved - changes, it will be saved first using |:update|. If the - current file is an unnamed buffer, it will be written to a - temporary file first. - - The arguments given to |:RustExpand| will be passed to rustc. - This is largely intended for specifying various --cfg - configurations. - - If ! is specified, the first argument is the expansion type to - pass to rustc --pretty. Otherwise it will default to - "expanded". - - If |g:rustc_path| is defined, it is used as the path to rustc. - Otherwise it is assumed rustc can be found in $PATH. - -:RustEmitIr [args] *:RustEmitIr* - Compiles the current file to LLVM IR and displays the results - in a new split. If the current file has unsaved changes, it - will be saved first using |:update|. If the current file is an - unnamed buffer, it will be written to a temporary file first. - - The arguments given to |:RustEmitIr| will be passed to rustc. - - If |g:rustc_path| is defined, it is used as the path to rustc. - Otherwise it is assumed rustc can be found in $PATH. - -:RustEmitAsm [args] *:RustEmitAsm* - Compiles the current file to assembly and displays the results - in a new split. If the current file has unsaved changes, it - will be saved first using |:update|. If the current file is an - unnamed buffer, it will be written to a temporary file first. - - The arguments given to |:RustEmitAsm| will be passed to rustc. - - If |g:rustc_path| is defined, it is used as the path to rustc. - Otherwise it is assumed rustc can be found in $PATH. - - -Running test(s) ---------------- - -:[N]RustTest[!] [options] *:RustTest* - Runs a test under the cursor when the current buffer is in a - cargo project with "cargo test" command. If the command did - not find any test function under the cursor, it stops with an - error message. - - When N is given, adjust the size of the new window to N lines - or columns. - - When ! is given, runs all tests regardless of current cursor - position. - - When [options] is given, it is passed to "cargo" command - arguments. - - When the current buffer is outside cargo project, the command - runs "rustc --test" command instead of "cargo test" as - fallback. All tests are run regardless of adding ! since there - is no way to run specific test function with rustc. [options] - is passed to "rustc" command arguments in the case. - - Takes optional modifiers (see ||): > - :tab RustTest - :belowright 16RustTest - :leftabove vert 80RustTest -< -rust.vim Debugging ------------------- - -:RustInfo *:RustInfo* - Emits debugging info of the Vim Rust plugin. - -:RustInfoToClipboard *:RustInfoClipboard* - Saves debugging info of the Vim Rust plugin to the default - register. - -:RustInfoToFile [filename] *:RustInfoToFile* - Saves debugging info of the Vim Rust plugin to the the given - file, overwritting it. - -============================================================================== -MAPPINGS *rust-mappings* - -This plugin defines mappings for |[[| and |]]| to support hanging indents. - -============================================================================== - vim:tw=78:sw=4:noet:ts=8:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/rust.vim/ftdetect/rust.vim b/.vim_runtime/sources_non_forked/rust.vim/ftdetect/rust.vim deleted file mode 100644 index e095093..0000000 --- a/.vim_runtime/sources_non_forked/rust.vim/ftdetect/rust.vim +++ /dev/null @@ -1,15 +0,0 @@ -" vint: -ProhibitAutocmdWithNoGroup - -autocmd BufRead,BufNewFile *.rs call s:set_rust_filetype() - -if has('patch-8.0.613') - autocmd BufRead,BufNewFile Cargo.toml setf FALLBACK cfg -endif - -function! s:set_rust_filetype() abort - if &filetype !=# 'rust' - set filetype=rust - endif -endfunction - -" vim: set et sw=4 sts=4 ts=8: diff --git a/.vim_runtime/sources_non_forked/rust.vim/ftplugin/rust.vim b/.vim_runtime/sources_non_forked/rust.vim/ftplugin/rust.vim deleted file mode 100644 index ce48116..0000000 --- a/.vim_runtime/sources_non_forked/rust.vim/ftplugin/rust.vim +++ /dev/null @@ -1,200 +0,0 @@ -" Language: Rust -" Description: Vim ftplugin for Rust -" Maintainer: Chris Morgan -" Last Change: June 08, 2016 -" For bugs, patches and license go to https://github.com/rust-lang/rust.vim - -if exists("b:did_ftplugin") - finish -endif -let b:did_ftplugin = 1 - -" vint: -ProhibitAbbreviationOption -let s:save_cpo = &cpo -set cpo&vim -" vint: +ProhibitAbbreviationOption - -if get(b:, 'current_compiler', '') ==# '' - if strlen(findfile('Cargo.toml', '.;')) > 0 - compiler cargo - else - compiler rustc - endif -endif - -" Variables {{{1 - -" The rust source code at present seems to typically omit a leader on /*! -" comments, so we'll use that as our default, but make it easy to switch. -" This does not affect indentation at all (I tested it with and without -" leader), merely whether a leader is inserted by default or not. -if get(g:, 'rust_bang_comment_leader', 0) - " Why is the `,s0:/*,mb:\ ,ex:*/` there, you ask? I don't understand why, - " but without it, */ gets indented one space even if there were no - " leaders. I'm fairly sure that's a Vim bug. - setlocal comments=s1:/*,mb:*,ex:*/,s0:/*,mb:\ ,ex:*/,:///,://!,:// -else - setlocal comments=s0:/*!,ex:*/,s1:/*,mb:*,ex:*/,:///,://!,:// -endif -setlocal commentstring=//%s -setlocal formatoptions-=t formatoptions+=croqnl -" j was only added in 7.3.541, so stop complaints about its nonexistence -silent! setlocal formatoptions+=j - -" smartindent will be overridden by indentexpr if filetype indent is on, but -" otherwise it's better than nothing. -setlocal smartindent nocindent - -if get(g:, 'rust_recommended_style', 1) - let b:rust_set_style = 1 - setlocal tabstop=8 shiftwidth=4 softtabstop=4 expandtab - setlocal textwidth=99 -endif - -setlocal include=\\v^\\s*(pub\\s+)?use\\s+\\zs(\\f\|:)+ -setlocal includeexpr=rust#IncludeExpr(v:fname) - -setlocal suffixesadd=.rs - -if exists("g:ftplugin_rust_source_path") - let &l:path=g:ftplugin_rust_source_path . ',' . &l:path -endif - -if exists("g:loaded_delimitMate") - if exists("b:delimitMate_excluded_regions") - let b:rust_original_delimitMate_excluded_regions = b:delimitMate_excluded_regions - endif - - augroup rust.vim.DelimitMate - autocmd! - - autocmd User delimitMate_map :call rust#delimitmate#onMap() - autocmd User delimitMate_unmap :call rust#delimitmate#onUnmap() - augroup END -endif - -" Integration with auto-pairs (https://github.com/jiangmiao/auto-pairs) -if exists("g:AutoPairsLoaded") && !get(g:, 'rust_keep_autopairs_default', 0) - let b:AutoPairs = {'(':')', '[':']', '{':'}','"':'"', '`':'`'} -endif - -if has("folding") && get(g:, 'rust_fold', 0) - let b:rust_set_foldmethod=1 - setlocal foldmethod=syntax - if g:rust_fold == 2 - setlocal foldlevel< - else - setlocal foldlevel=99 - endif -endif - -if has('conceal') && get(g:, 'rust_conceal', 0) - let b:rust_set_conceallevel=1 - setlocal conceallevel=2 -endif - -" Motion Commands {{{1 - -" Bind motion commands to support hanging indents -nnoremap [[ :call rust#Jump('n', 'Back') -nnoremap ]] :call rust#Jump('n', 'Forward') -xnoremap [[ :call rust#Jump('v', 'Back') -xnoremap ]] :call rust#Jump('v', 'Forward') -onoremap [[ :call rust#Jump('o', 'Back') -onoremap ]] :call rust#Jump('o', 'Forward') - -" Commands {{{1 - -" See |:RustRun| for docs -command! -nargs=* -complete=file -bang -buffer RustRun call rust#Run(0, ) - -" See |:RustExpand| for docs -command! -nargs=* -complete=customlist,rust#CompleteExpand -bang -buffer RustExpand call rust#Expand(0, ) - -" See |:RustEmitIr| for docs -command! -nargs=* -buffer RustEmitIr call rust#Emit("llvm-ir", ) - -" See |:RustEmitAsm| for docs -command! -nargs=* -buffer RustEmitAsm call rust#Emit("asm", ) - -" See |:RustPlay| for docs -command! -range=% RustPlay :call rust#Play(, , , ) - -" See |:RustFmt| for docs -command! -bar -buffer RustFmt call rustfmt#Format() - -" See |:RustFmtRange| for docs -command! -range -buffer RustFmtRange call rustfmt#FormatRange(, ) - -" See |:RustInfo| for docs -command! -bar RustInfo call rust#debugging#Info() - -" See |:RustInfoToClipboard| for docs -command! -bar RustInfoToClipboard call rust#debugging#InfoToClipboard() - -" See |:RustInfoToFile| for docs -command! -bar -nargs=1 RustInfoToFile call rust#debugging#InfoToFile() - -" See |:RustTest| for docs -command! -buffer -nargs=* -count -bang RustTest call rust#Test(, , 0, ) - -if !exists("b:rust_last_rustc_args") || !exists("b:rust_last_args") - let b:rust_last_rustc_args = [] - let b:rust_last_args = [] -endif - -" Cleanup {{{1 - -let b:undo_ftplugin = " - \ setlocal formatoptions< comments< commentstring< include< includeexpr< suffixesadd< - \|if exists('b:rust_set_style') - \|setlocal tabstop< shiftwidth< softtabstop< expandtab< textwidth< - \|endif - \|if exists('b:rust_original_delimitMate_excluded_regions') - \|let b:delimitMate_excluded_regions = b:rust_original_delimitMate_excluded_regions - \|unlet b:rust_original_delimitMate_excluded_regions - \|else - \|unlet! b:delimitMate_excluded_regions - \|endif - \|if exists('b:rust_set_foldmethod') - \|setlocal foldmethod< foldlevel< - \|unlet b:rust_set_foldmethod - \|endif - \|if exists('b:rust_set_conceallevel') - \|setlocal conceallevel< - \|unlet b:rust_set_conceallevel - \|endif - \|unlet! b:rust_last_rustc_args b:rust_last_args - \|delcommand RustRun - \|delcommand RustExpand - \|delcommand RustEmitIr - \|delcommand RustEmitAsm - \|delcommand RustPlay - \|nunmap [[ - \|nunmap ]] - \|xunmap [[ - \|xunmap ]] - \|ounmap [[ - \|ounmap ]] - \|setlocal matchpairs-=<:> - \|unlet b:match_skip - \" - -" }}}1 - -" Code formatting on save -augroup rust.vim.PreWrite - autocmd! - autocmd BufWritePre *.rs silent! call rustfmt#PreWrite() -augroup END - -setlocal matchpairs+=<:> -" For matchit.vim (rustArrow stops `Fn() -> X` messing things up) -let b:match_skip = 's:comment\|string\|rustCharacter\|rustArrow' - -" vint: -ProhibitAbbreviationOption -let &cpo = s:save_cpo -unlet s:save_cpo -" vint: +ProhibitAbbreviationOption - -" vim: set et sw=4 sts=4 ts=8: diff --git a/.vim_runtime/sources_non_forked/rust.vim/indent/rust.vim b/.vim_runtime/sources_non_forked/rust.vim/indent/rust.vim deleted file mode 100644 index 6edce73..0000000 --- a/.vim_runtime/sources_non_forked/rust.vim/indent/rust.vim +++ /dev/null @@ -1,284 +0,0 @@ -" Vim indent file -" Language: Rust -" Author: Chris Morgan -" Last Change: 2018 Jan 10 -" For bugs, patches and license go to https://github.com/rust-lang/rust.vim - -" Only load this indent file when no other was loaded. -if exists("b:did_indent") - finish -endif -let b:did_indent = 1 - -setlocal cindent -setlocal cinoptions=L0,(s,Ws,J1,j1,m1 -setlocal cinkeys=0{,0},!^F,o,O,0[,0],0(,0) -" Don't think cinwords will actually do anything at all... never mind -setlocal cinwords=for,if,else,while,loop,impl,mod,unsafe,trait,struct,enum,fn,extern,macro - -" Some preliminary settings -setlocal nolisp " Make sure lisp indenting doesn't supersede us -setlocal autoindent " indentexpr isn't much help otherwise -" Also do indentkeys, otherwise # gets shoved to column 0 :-/ -setlocal indentkeys=0{,0},!^F,o,O,0[,0],0(,0) - -setlocal indentexpr=GetRustIndent(v:lnum) - -" Only define the function once. -if exists("*GetRustIndent") - finish -endif - -" vint: -ProhibitAbbreviationOption -let s:save_cpo = &cpo -set cpo&vim -" vint: +ProhibitAbbreviationOption - -" Come here when loading the script the first time. - -function! s:get_line_trimmed(lnum) - " Get the line and remove a trailing comment. - " Use syntax highlighting attributes when possible. - " NOTE: this is not accurate; /* */ or a line continuation could trick it - let line = getline(a:lnum) - let line_len = strlen(line) - if has('syntax_items') - " If the last character in the line is a comment, do a binary search for - " the start of the comment. synID() is slow, a linear search would take - " too long on a long line. - if synIDattr(synID(a:lnum, line_len, 1), "name") =~? 'Comment\|Todo' - let min = 1 - let max = line_len - while min < max - let col = (min + max) / 2 - if synIDattr(synID(a:lnum, col, 1), "name") =~? 'Comment\|Todo' - let max = col - else - let min = col + 1 - endif - endwhile - let line = strpart(line, 0, min - 1) - endif - return substitute(line, "\s*$", "", "") - else - " Sorry, this is not complete, nor fully correct (e.g. string "//"). - " Such is life. - return substitute(line, "\s*//.*$", "", "") - endif -endfunction - -function! s:is_string_comment(lnum, col) - if has('syntax_items') - for id in synstack(a:lnum, a:col) - let synname = synIDattr(id, "name") - if synname ==# "rustString" || synname =~# "^rustComment" - return 1 - endif - endfor - else - " without syntax, let's not even try - return 0 - endif -endfunction - -if exists('*shiftwidth') - function! s:shiftwidth() - return shiftwidth() - endfunc -else - function! s:shiftwidth() - return &shiftwidth - endfunc -endif - -function GetRustIndent(lnum) - " Starting assumption: cindent (called at the end) will do it right - " normally. We just want to fix up a few cases. - - let line = getline(a:lnum) - - if has('syntax_items') - let synname = synIDattr(synID(a:lnum, 1, 1), "name") - if synname ==# "rustString" - " If the start of the line is in a string, don't change the indent - return -1 - elseif synname =~? '\(Comment\|Todo\)' - \ && line !~# '^\s*/\*' " not /* opening line - if synname =~? "CommentML" " multi-line - if line !~# '^\s*\*' && getline(a:lnum - 1) =~# '^\s*/\*' - " This is (hopefully) the line after a /*, and it has no - " leader, so the correct indentation is that of the - " previous line. - return GetRustIndent(a:lnum - 1) - endif - endif - " If it's in a comment, let cindent take care of it now. This is - " for cases like "/*" where the next line should start " * ", not - " "* " as the code below would otherwise cause for module scope - " Fun fact: " /*\n*\n*/" takes two calls to get right! - return cindent(a:lnum) - endif - endif - - " cindent gets second and subsequent match patterns/struct members wrong, - " as it treats the comma as indicating an unfinished statement:: - " - " match a { - " b => c, - " d => e, - " f => g, - " }; - - " Search backwards for the previous non-empty line. - let prevlinenum = prevnonblank(a:lnum - 1) - let prevline = s:get_line_trimmed(prevlinenum) - while prevlinenum > 1 && prevline !~# '[^[:blank:]]' - let prevlinenum = prevnonblank(prevlinenum - 1) - let prevline = s:get_line_trimmed(prevlinenum) - endwhile - - " A standalone '{', '}', or 'where' - let l:standalone_open = line =~# '\V\^\s\*{\s\*\$' - let l:standalone_close = line =~# '\V\^\s\*}\s\*\$' - let l:standalone_where = line =~# '\V\^\s\*where\s\*\$' - if l:standalone_open || l:standalone_close || l:standalone_where - " ToDo: we can search for more items than 'fn' and 'if'. - let [l:found_line, l:col, l:submatch] = - \ searchpos('\<\(fn\)\|\(if\)\>', 'bnWp') - if l:found_line !=# 0 - " Now we count the number of '{' and '}' in between the match - " locations and the current line (there is probably a better - " way to compute this). - let l:i = l:found_line - let l:search_line = strpart(getline(l:i), l:col - 1) - let l:opens = 0 - let l:closes = 0 - while l:i < a:lnum - let l:search_line2 = substitute(l:search_line, '\V{', '', 'g') - let l:opens += strlen(l:search_line) - strlen(l:search_line2) - let l:search_line3 = substitute(l:search_line2, '\V}', '', 'g') - let l:closes += strlen(l:search_line2) - strlen(l:search_line3) - let l:i += 1 - let l:search_line = getline(l:i) - endwhile - if l:standalone_open || l:standalone_where - if l:opens ==# l:closes - return indent(l:found_line) - endif - else - " Expect to find just one more close than an open - if l:opens ==# l:closes + 1 - return indent(l:found_line) - endif - endif - endif - endif - - " A standalone 'where' adds a shift. - let l:standalone_prevline_where = prevline =~# '\V\^\s\*where\s\*\$' - if l:standalone_prevline_where - return indent(prevlinenum) + 4 - endif - - " Handle where clauses nicely: subsequent values should line up nicely. - if prevline[len(prevline) - 1] ==# "," - \ && prevline =~# '^\s*where\s' - return indent(prevlinenum) + 6 - endif - - let l:last_prevline_character = prevline[len(prevline) - 1] - - " A line that ends with '.;' is probably an end of a long list - " of method operations. - if prevline =~# '\V\^\s\*.' && l:last_prevline_character ==# ';' - call cursor(a:lnum - 1, 1) - let l:scope_start = searchpair('{\|(', '', '}\|)', 'nbW', - \ 's:is_string_comment(line("."), col("."))') - if l:scope_start != 0 && l:scope_start < a:lnum - return indent(l:scope_start) + 4 - endif - endif - - if l:last_prevline_character ==# "," - \ && s:get_line_trimmed(a:lnum) !~# '^\s*[\[\]{})]' - \ && prevline !~# '^\s*fn\s' - \ && prevline !~# '([^()]\+,$' - \ && s:get_line_trimmed(a:lnum) !~# '^\s*\S\+\s*=>' - " Oh ho! The previous line ended in a comma! I bet cindent will try to - " take this too far... For now, let's normally use the previous line's - " indent. - - " One case where this doesn't work out is where *this* line contains - " square or curly brackets; then we normally *do* want to be indenting - " further. - " - " Another case where we don't want to is one like a function - " definition with arguments spread over multiple lines: - " - " fn foo(baz: Baz, - " baz: Baz) // <-- cindent gets this right by itself - " - " Another case is similar to the previous, except calling a function - " instead of defining it, or any conditional expression that leaves - " an open paren: - " - " foo(baz, - " baz); - " - " if baz && (foo || - " bar) { - " - " Another case is when the current line is a new match arm. - " - " There are probably other cases where we don't want to do this as - " well. Add them as needed. - return indent(prevlinenum) - endif - - if !has("patch-7.4.355") - " cindent before 7.4.355 doesn't do the module scope well at all; e.g.:: - " - " static FOO : &'static [bool] = [ - " true, - " false, - " false, - " true, - " ]; - " - " uh oh, next statement is indented further! - - " Note that this does *not* apply the line continuation pattern properly; - " that's too hard to do correctly for my liking at present, so I'll just - " start with these two main cases (square brackets and not returning to - " column zero) - - call cursor(a:lnum, 1) - if searchpair('{\|(', '', '}\|)', 'nbW', - \ 's:is_string_comment(line("."), col("."))') == 0 - if searchpair('\[', '', '\]', 'nbW', - \ 's:is_string_comment(line("."), col("."))') == 0 - " Global scope, should be zero - return 0 - else - " At the module scope, inside square brackets only - "if getline(a:lnum)[0] == ']' || search('\[', '', '\]', 'nW') == a:lnum - if line =~# "^\\s*]" - " It's the closing line, dedent it - return 0 - else - return &shiftwidth - endif - endif - endif - endif - - " Fall back on cindent, which does it mostly right - return cindent(a:lnum) -endfunction - -" vint: -ProhibitAbbreviationOption -let &cpo = s:save_cpo -unlet s:save_cpo -" vint: +ProhibitAbbreviationOption - -" vim: set et sw=4 sts=4 ts=8: diff --git a/.vim_runtime/sources_non_forked/rust.vim/plugin/cargo.vim b/.vim_runtime/sources_non_forked/rust.vim/plugin/cargo.vim deleted file mode 100644 index efc3876..0000000 --- a/.vim_runtime/sources_non_forked/rust.vim/plugin/cargo.vim +++ /dev/null @@ -1,27 +0,0 @@ -if exists('g:loaded_rust_vim_plugin_cargo') - finish -endif -let g:loaded_rust_vim_plugin_cargo = 1 -let s:save_cpo = &cpoptions -set cpoptions&vim - -command! -nargs=+ Cargo call cargo#cmd() -command! -nargs=* Cbuild call cargo#build() -command! -nargs=* Ccheck call cargo#check() -command! -nargs=* Cclean call cargo#clean() -command! -nargs=* Cdoc call cargo#doc() -command! -nargs=+ Cnew call cargo#new() -command! -nargs=* Cinit call cargo#init() -command! -nargs=* Crun call cargo#run() -command! -nargs=* Ctest call cargo#test() -command! -nargs=* Cbench call cargo#bench() -command! -nargs=* Cupdate call cargo#update() -command! -nargs=* Csearch call cargo#search() -command! -nargs=* Cpublish call cargo#publish() -command! -nargs=* Cinstall call cargo#install() -command! -nargs=* Cruntarget call cargo#runtarget() - -let &cpoptions = s:save_cpo -unlet s:save_cpo - -" vim: set et sw=4 sts=4 ts=8: diff --git a/.vim_runtime/sources_non_forked/rust.vim/plugin/rust.vim b/.vim_runtime/sources_non_forked/rust.vim/plugin/rust.vim deleted file mode 100644 index 5fe77cc..0000000 --- a/.vim_runtime/sources_non_forked/rust.vim/plugin/rust.vim +++ /dev/null @@ -1,28 +0,0 @@ -" Vim syntastic plugin helper -" Language: Rust -" Maintainer: Andrew Gallant - -if exists('g:loaded_rust_vim') - finish -endif -let g:loaded_rust_vim = 1 -let s:save_cpo = &cpoptions -set cpoptions&vim - -" This is to let Syntastic know about the Rust filetype. -" It enables tab completion for the 'SyntasticInfo' command. -" (This does not actually register the syntax checker.) -if exists('g:syntastic_extra_filetypes') - call add(g:syntastic_extra_filetypes, 'rust') -else - let g:syntastic_extra_filetypes = ['rust'] -endif - -if !exists('g:syntastic_rust_checkers') - let g:syntastic_rust_checkers = ['cargo'] -endif - -let &cpoptions = s:save_cpo -unlet s:save_cpo - -" vim: set et sw=4 sts=4 ts=8: diff --git a/.vim_runtime/sources_non_forked/rust.vim/syntax/rust.vim b/.vim_runtime/sources_non_forked/rust.vim/syntax/rust.vim deleted file mode 100644 index 4677e21..0000000 --- a/.vim_runtime/sources_non_forked/rust.vim/syntax/rust.vim +++ /dev/null @@ -1,386 +0,0 @@ -" Vim syntax file -" Language: Rust -" Maintainer: Patrick Walton -" Maintainer: Ben Blum -" Maintainer: Chris Morgan -" Last Change: Feb 24, 2016 -" For bugs, patches and license go to https://github.com/rust-lang/rust.vim - -if version < 600 - syntax clear -elseif exists("b:current_syntax") - finish -endif - -" Syntax definitions {{{1 -" Basic keywords {{{2 -syn keyword rustConditional match if else -syn keyword rustRepeat loop while -" `:syn match` must be used to prioritize highlighting `for` keyword. -syn match rustRepeat /\/ -" Highlight `for` keyword in `impl ... for ... {}` statement. This line must -" be put after previous `syn match` line to overwrite it. -syn match rustKeyword /\%(\.\+\)\@<=\/ -syn keyword rustRepeat in -syn keyword rustTypedef type nextgroup=rustIdentifier skipwhite skipempty -syn keyword rustStructure struct enum nextgroup=rustIdentifier skipwhite skipempty -syn keyword rustUnion union nextgroup=rustIdentifier skipwhite skipempty contained -syn match rustUnionContextual /\/ -syn keyword rustAwait await -syn match rustKeyword /\!\@!/ display - -syn keyword rustPubScopeCrate crate contained -syn match rustPubScopeDelim /[()]/ contained -syn match rustPubScope /([^()]*)/ contained contains=rustPubScopeDelim,rustPubScopeCrate,rustSuper,rustModPath,rustModPathSep,rustSelf transparent - -syn keyword rustExternCrate crate contained nextgroup=rustIdentifier,rustExternCrateString skipwhite skipempty -" This is to get the `bar` part of `extern crate "foo" as bar;` highlighting. -syn match rustExternCrateString /".*"\_s*as/ contained nextgroup=rustIdentifier skipwhite transparent skipempty contains=rustString,rustOperator -syn keyword rustObsoleteExternMod mod contained nextgroup=rustIdentifier skipwhite skipempty - -syn match rustIdentifier contains=rustIdentifierPrime "\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*" display contained -syn match rustFuncName "\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*" display contained - -syn region rustMacroRepeat matchgroup=rustMacroRepeatDelimiters start="$(" end="),\=[*+]" contains=TOP -syn match rustMacroVariable "$\w\+" - -" Reserved (but not yet used) keywords {{{2 -syn keyword rustReservedKeyword become do priv typeof unsized abstract virtual final override - -" Built-in types {{{2 -syn keyword rustType isize usize char bool u8 u16 u32 u64 u128 f32 -syn keyword rustType f64 i8 i16 i32 i64 i128 str Self - -" Things from the libstd v1 prelude (src/libstd/prelude/v1.rs) {{{2 -" This section is just straight transformation of the contents of the prelude, -" to make it easy to update. - -" Reexported core operators {{{3 -syn keyword rustTrait Copy Send Sized Sync -syn keyword rustTrait Drop Fn FnMut FnOnce - -" Reexported functions {{{3 -" There’s no point in highlighting these; when one writes drop( or drop::< it -" gets the same highlighting anyway, and if someone writes `let drop = …;` we -" don’t really want *that* drop to be highlighted. -"syn keyword rustFunction drop - -" Reexported types and traits {{{3 -syn keyword rustTrait Box -syn keyword rustTrait ToOwned -syn keyword rustTrait Clone -syn keyword rustTrait PartialEq PartialOrd Eq Ord -syn keyword rustTrait AsRef AsMut Into From -syn keyword rustTrait Default -syn keyword rustTrait Iterator Extend IntoIterator -syn keyword rustTrait DoubleEndedIterator ExactSizeIterator -syn keyword rustEnum Option -syn keyword rustEnumVariant Some None -syn keyword rustEnum Result -syn keyword rustEnumVariant Ok Err -syn keyword rustTrait SliceConcatExt -syn keyword rustTrait String ToString -syn keyword rustTrait Vec - -" Other syntax {{{2 -syn keyword rustSelf self -syn keyword rustBoolean true false - -" If foo::bar changes to foo.bar, change this ("::" to "\."). -" If foo::bar changes to Foo::bar, change this (first "\w" to "\u"). -syn match rustModPath "\w\(\w\)*::[^<]"he=e-3,me=e-3 -syn match rustModPathSep "::" - -syn match rustFuncCall "\w\(\w\)*("he=e-1,me=e-1 -syn match rustFuncCall "\w\(\w\)*::<"he=e-3,me=e-3 " foo::(); - -" This is merely a convention; note also the use of [A-Z], restricting it to -" latin identifiers rather than the full Unicode uppercase. I have not used -" [:upper:] as it depends upon 'noignorecase' -"syn match rustCapsIdent display "[A-Z]\w\(\w\)*" - -syn match rustOperator display "\%(+\|-\|/\|*\|=\|\^\|&\||\|!\|>\|<\|%\)=\?" -" This one isn't *quite* right, as we could have binary-& with a reference -syn match rustSigil display /&\s\+[&~@*][^)= \t\r\n]/he=e-1,me=e-1 -syn match rustSigil display /[&~@*][^)= \t\r\n]/he=e-1,me=e-1 -" This isn't actually correct; a closure with no arguments can be `|| { }`. -" Last, because the & in && isn't a sigil -syn match rustOperator display "&&\|||" -" This is rustArrowCharacter rather than rustArrow for the sake of matchparen, -" so it skips the ->; see http://stackoverflow.com/a/30309949 for details. -syn match rustArrowCharacter display "->" -syn match rustQuestionMark display "?\([a-zA-Z]\+\)\@!" - -syn match rustMacro '\w\(\w\)*!' contains=rustAssert,rustPanic -syn match rustMacro '#\w\(\w\)*' contains=rustAssert,rustPanic - -syn match rustEscapeError display contained /\\./ -syn match rustEscape display contained /\\\([nrt0\\'"]\|x\x\{2}\)/ -syn match rustEscapeUnicode display contained /\\u{\%(\x_*\)\{1,6}}/ -syn match rustStringContinuation display contained /\\\n\s*/ -syn region rustString matchgroup=rustStringDelimiter start=+b"+ skip=+\\\\\|\\"+ end=+"+ contains=rustEscape,rustEscapeError,rustStringContinuation -syn region rustString matchgroup=rustStringDelimiter start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=rustEscape,rustEscapeUnicode,rustEscapeError,rustStringContinuation,@Spell -syn region rustString matchgroup=rustStringDelimiter start='b\?r\z(#*\)"' end='"\z1' contains=@Spell - -" Match attributes with either arbitrary syntax or special highlighting for -" derives. We still highlight strings and comments inside of the attribute. -syn region rustAttribute start="#!\?\[" end="\]" contains=@rustAttributeContents,rustAttributeParenthesizedParens,rustAttributeParenthesizedCurly,rustAttributeParenthesizedBrackets,rustDerive -syn region rustAttributeParenthesizedParens matchgroup=rustAttribute start="\w\%(\w\)*("rs=e end=")"re=s transparent contained contains=rustAttributeBalancedParens,@rustAttributeContents -syn region rustAttributeParenthesizedCurly matchgroup=rustAttribute start="\w\%(\w\)*{"rs=e end="}"re=s transparent contained contains=rustAttributeBalancedCurly,@rustAttributeContents -syn region rustAttributeParenthesizedBrackets matchgroup=rustAttribute start="\w\%(\w\)*\["rs=e end="\]"re=s transparent contained contains=rustAttributeBalancedBrackets,@rustAttributeContents -syn region rustAttributeBalancedParens matchgroup=rustAttribute start="("rs=e end=")"re=s transparent contained contains=rustAttributeBalancedParens,@rustAttributeContents -syn region rustAttributeBalancedCurly matchgroup=rustAttribute start="{"rs=e end="}"re=s transparent contained contains=rustAttributeBalancedCurly,@rustAttributeContents -syn region rustAttributeBalancedBrackets matchgroup=rustAttribute start="\["rs=e end="\]"re=s transparent contained contains=rustAttributeBalancedBrackets,@rustAttributeContents -syn cluster rustAttributeContents contains=rustString,rustCommentLine,rustCommentBlock,rustCommentLineDocError,rustCommentBlockDocError -syn region rustDerive start="derive(" end=")" contained contains=rustDeriveTrait -" This list comes from src/libsyntax/ext/deriving/mod.rs -" Some are deprecated (Encodable, Decodable) or to be removed after a new snapshot (Show). -syn keyword rustDeriveTrait contained Clone Hash RustcEncodable RustcDecodable Encodable Decodable PartialEq Eq PartialOrd Ord Rand Show Debug Default FromPrimitive Send Sync Copy - -" dyn keyword: It's only a keyword when used inside a type expression, so -" we make effort here to highlight it only when Rust identifiers follow it -" (not minding the case of pre-2018 Rust where a path starting with :: can -" follow). -" -" This is so that uses of dyn variable names such as in 'let &dyn = &2' -" and 'let dyn = 2' will not get highlighted as a keyword. -syn match rustKeyword "\/ contains=rustGenericLifetimeCandidate -syn region rustGenericLifetimeCandidate display start=/\%(<\|,\s*\)\@<='/ end=/[[:cntrl:][:space:][:punct:]]\@=\|$/ contains=rustSigil,rustLifetime - -"rustLifetime must appear before rustCharacter, or chars will get the lifetime highlighting -syn match rustLifetime display "\'\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*" -syn match rustLabel display "\'\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*:" -syn match rustLabel display "\%(\<\%(break\|continue\)\s*\)\@<=\'\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*" -syn match rustCharacterInvalid display contained /b\?'\zs[\n\r\t']\ze'/ -" The groups negated here add up to 0-255 but nothing else (they do not seem to go beyond ASCII). -syn match rustCharacterInvalidUnicode display contained /b'\zs[^[:cntrl:][:graph:][:alnum:][:space:]]\ze'/ -syn match rustCharacter /b'\([^\\]\|\\\(.\|x\x\{2}\)\)'/ contains=rustEscape,rustEscapeError,rustCharacterInvalid,rustCharacterInvalidUnicode -syn match rustCharacter /'\([^\\]\|\\\(.\|x\x\{2}\|u{\%(\x_*\)\{1,6}}\)\)'/ contains=rustEscape,rustEscapeUnicode,rustEscapeError,rustCharacterInvalid - -syn match rustShebang /\%^#![^[].*/ -syn region rustCommentLine start="//" end="$" contains=rustTodo,@Spell -syn region rustCommentLineDoc start="//\%(//\@!\|!\)" end="$" contains=rustTodo,@Spell -syn region rustCommentLineDocError start="//\%(//\@!\|!\)" end="$" contains=rustTodo,@Spell contained -syn region rustCommentBlock matchgroup=rustCommentBlock start="/\*\%(!\|\*[*/]\@!\)\@!" end="\*/" contains=rustTodo,rustCommentBlockNest,@Spell -syn region rustCommentBlockDoc matchgroup=rustCommentBlockDoc start="/\*\%(!\|\*[*/]\@!\)" end="\*/" contains=rustTodo,rustCommentBlockDocNest,rustCommentBlockDocRustCode,@Spell -syn region rustCommentBlockDocError matchgroup=rustCommentBlockDocError start="/\*\%(!\|\*[*/]\@!\)" end="\*/" contains=rustTodo,rustCommentBlockDocNestError,@Spell contained -syn region rustCommentBlockNest matchgroup=rustCommentBlock start="/\*" end="\*/" contains=rustTodo,rustCommentBlockNest,@Spell contained transparent -syn region rustCommentBlockDocNest matchgroup=rustCommentBlockDoc start="/\*" end="\*/" contains=rustTodo,rustCommentBlockDocNest,@Spell contained transparent -syn region rustCommentBlockDocNestError matchgroup=rustCommentBlockDocError start="/\*" end="\*/" contains=rustTodo,rustCommentBlockDocNestError,@Spell contained transparent - -" FIXME: this is a really ugly and not fully correct implementation. Most -" importantly, a case like ``/* */*`` should have the final ``*`` not being in -" a comment, but in practice at present it leaves comments open two levels -" deep. But as long as you stay away from that particular case, I *believe* -" the highlighting is correct. Due to the way Vim's syntax engine works -" (greedy for start matches, unlike Rust's tokeniser which is searching for -" the earliest-starting match, start or end), I believe this cannot be solved. -" Oh you who would fix it, don't bother with things like duplicating the Block -" rules and putting ``\*\@:p:h/rust.vim - unlet b:current_syntax_embed - - " Currently regions marked as ``` will not get - " highlighted at all. In the future, we can do as vim-markdown does and - " highlight with the other syntax. But for now, let's make sure we find - " the closing block marker, because the rules below won't catch it. - syn region rustCommentLinesDocNonRustCode matchgroup=rustCommentDocCodeFence start='^\z(\s*//[!/]\s*```\).\+$' end='^\z1$' keepend contains=rustCommentLineDoc - - " We borrow the rules from rust’s src/librustdoc/html/markdown.rs, so that - " we only highlight as Rust what it would perceive as Rust (almost; it’s - " possible to trick it if you try hard, and indented code blocks aren’t - " supported because Markdown is a menace to parse and only mad dogs and - " Englishmen would try to handle that case correctly in this syntax file). - syn region rustCommentLinesDocRustCode matchgroup=rustCommentDocCodeFence start='^\z(\s*//[!/]\s*```\)[^A-Za-z0-9_-]*\%(\%(should_panic\|no_run\|ignore\|allow_fail\|rust\|test_harness\|compile_fail\|E\d\{4}\|edition201[58]\)\%([^A-Za-z0-9_-]\+\|$\)\)*$' end='^\z1$' keepend contains=@RustCodeInComment,rustCommentLineDocLeader - syn region rustCommentBlockDocRustCode matchgroup=rustCommentDocCodeFence start='^\z(\%(\s*\*\)\?\s*```\)[^A-Za-z0-9_-]*\%(\%(should_panic\|no_run\|ignore\|allow_fail\|rust\|test_harness\|compile_fail\|E\d\{4}\|edition201[58]\)\%([^A-Za-z0-9_-]\+\|$\)\)*$' end='^\z1$' keepend contains=@RustCodeInComment,rustCommentBlockDocStar - " Strictly, this may or may not be correct; this code, for example, would - " mishighlight: - " - " /** - " ```rust - " println!("{}", 1 - " * 1); - " ``` - " */ - " - " … but I don’t care. Balance of probability, and all that. - syn match rustCommentBlockDocStar /^\s*\*\s\?/ contained - syn match rustCommentLineDocLeader "^\s*//\%(//\@!\|!\)" contained -endif - -" Default highlighting {{{1 -hi def link rustDecNumber rustNumber -hi def link rustHexNumber rustNumber -hi def link rustOctNumber rustNumber -hi def link rustBinNumber rustNumber -hi def link rustIdentifierPrime rustIdentifier -hi def link rustTrait rustType -hi def link rustDeriveTrait rustTrait - -hi def link rustMacroRepeatDelimiters Macro -hi def link rustMacroVariable Define -hi def link rustSigil StorageClass -hi def link rustEscape Special -hi def link rustEscapeUnicode rustEscape -hi def link rustEscapeError Error -hi def link rustStringContinuation Special -hi def link rustString String -hi def link rustStringDelimiter String -hi def link rustCharacterInvalid Error -hi def link rustCharacterInvalidUnicode rustCharacterInvalid -hi def link rustCharacter Character -hi def link rustNumber Number -hi def link rustBoolean Boolean -hi def link rustEnum rustType -hi def link rustEnumVariant rustConstant -hi def link rustConstant Constant -hi def link rustSelf Constant -hi def link rustFloat Float -hi def link rustArrowCharacter rustOperator -hi def link rustOperator Operator -hi def link rustKeyword Keyword -hi def link rustDynKeyword rustKeyword -hi def link rustTypedef Keyword " More precise is Typedef, but it doesn't feel right for Rust -hi def link rustStructure Keyword " More precise is Structure -hi def link rustUnion rustStructure -hi def link rustExistential rustKeyword -hi def link rustPubScopeDelim Delimiter -hi def link rustPubScopeCrate rustKeyword -hi def link rustSuper rustKeyword -hi def link rustUnsafeKeyword Exception -hi def link rustReservedKeyword Error -hi def link rustRepeat Conditional -hi def link rustConditional Conditional -hi def link rustIdentifier Identifier -hi def link rustCapsIdent rustIdentifier -hi def link rustModPath Include -hi def link rustModPathSep Delimiter -hi def link rustFunction Function -hi def link rustFuncName Function -hi def link rustFuncCall Function -hi def link rustShebang Comment -hi def link rustCommentLine Comment -hi def link rustCommentLineDoc SpecialComment -hi def link rustCommentLineDocLeader rustCommentLineDoc -hi def link rustCommentLineDocError Error -hi def link rustCommentBlock rustCommentLine -hi def link rustCommentBlockDoc rustCommentLineDoc -hi def link rustCommentBlockDocStar rustCommentBlockDoc -hi def link rustCommentBlockDocError Error -hi def link rustCommentDocCodeFence rustCommentLineDoc -hi def link rustAssert PreCondit -hi def link rustPanic PreCondit -hi def link rustMacro Macro -hi def link rustType Type -hi def link rustTodo Todo -hi def link rustAttribute PreProc -hi def link rustDerive PreProc -hi def link rustDefault StorageClass -hi def link rustStorage StorageClass -hi def link rustObsoleteStorage Error -hi def link rustLifetime Special -hi def link rustLabel Label -hi def link rustExternCrate rustKeyword -hi def link rustObsoleteExternMod Error -hi def link rustQuestionMark Special -hi def link rustAsync rustKeyword -hi def link rustAwait rustKeyword -hi def link rustAsmDirSpec rustKeyword -hi def link rustAsmSym rustKeyword -hi def link rustAsmOptions rustKeyword -hi def link rustAsmOptionsKey rustAttribute - -" Other Suggestions: -" hi rustAttribute ctermfg=cyan -" hi rustDerive ctermfg=cyan -" hi rustAssert ctermfg=yellow -" hi rustPanic ctermfg=red -" hi rustMacro ctermfg=magenta - -syn sync minlines=200 -syn sync maxlines=500 - -let b:current_syntax = "rust" - -" vim: set et sw=4 sts=4 ts=8: diff --git a/.vim_runtime/sources_non_forked/rust.vim/test/.gitignore b/.vim_runtime/sources_non_forked/rust.vim/test/.gitignore deleted file mode 100644 index e69de29..0000000 diff --git a/.vim_runtime/sources_non_forked/rust.vim/test/Dockerfile b/.vim_runtime/sources_non_forked/rust.vim/test/Dockerfile deleted file mode 100644 index c84c49e..0000000 --- a/.vim_runtime/sources_non_forked/rust.vim/test/Dockerfile +++ /dev/null @@ -1,34 +0,0 @@ -# This is brought as reference, to be able to reproduce a new image - -FROM alonid/vim-testbed:10 - -RUN install_vim -tag v7.4.052 -name vim74-trusty -build \ - -tag v8.0.1850 -name vim80 -build \ - -tag v8.1.0105 -name vim81 -build \ - -tag neovim:v0.1.7 -build \ - -tag neovim:v0.2.2 -build - -ENV PACKAGES="\ - bash \ - git \ - python \ - python2-pip \ - curl \ -" - -RUN dnf install -y $PACKAGES - -RUN pip install vim-vint==0.3.19 - -RUN export HOME=/rust ; mkdir $HOME ; curl https://sh.rustup.rs -sSf | sh -s -- -y - -RUN chown vimtest.vimtest -R /rust - -RUN (dnf remove -y gcc \*-devel ; \ - dnf install -y gpm msgpack libvterm libtermkey unibilium ) || true -RUN dnf clean all - -RUN echo "export PATH=~/.cargo/bin:$PATH" >> ~/.bashrc - -RUN git clone https://github.com/da-x/vader.vim vader && \ - cd vader && git checkout v2017-12-26 diff --git a/.vim_runtime/sources_non_forked/rust.vim/test/coverage.vader b/.vim_runtime/sources_non_forked/rust.vim/test/coverage.vader deleted file mode 100644 index 84734e7..0000000 --- a/.vim_runtime/sources_non_forked/rust.vim/test/coverage.vader +++ /dev/null @@ -1,24 +0,0 @@ -Given rust (Some Rust code): - fn main() { - println!("Hello World\n") - } - -Execute (RustInfo - call it to see that it works): - redir => m - silent RustInfo - redir END - Log m - -Execute (RustEmitAsm - see that we actually get assembly output): - silent! w test.rs - silent! e! test.rs - redir => m - silent! RustEmitAsm - redir END - AssertEqual 'asm', &filetype - normal! ggVGy:q - AssertEqual 1,(@" =~# '\V.section') - bd - call delete('test.rs') - -# TODO: a lot more tests diff --git a/.vim_runtime/sources_non_forked/rust.vim/test/indent.vader b/.vim_runtime/sources_non_forked/rust.vim/test/indent.vader deleted file mode 100644 index 91f6580..0000000 --- a/.vim_runtime/sources_non_forked/rust.vim/test/indent.vader +++ /dev/null @@ -1,292 +0,0 @@ -Given rust: - fn main() { - let a = 2; - println!("Hello World\n") - } - -Do: - vip= - -Expect rust (very basic indentation result): - fn main() { - let a = 2; - println!("Hello World\n") - } - -############################################ -# Issue #195 - -Given rust: - fn main() { - let paths: Vec<_> = ({ - fs::read_dir("test_data") - .unwrap() - .cloned() - }) - .collect(); - - println!("Hello World\n"); - } - -Do: - /collect\ - ostatement();\\ - -Expect rust (issue #195): - fn main() { - let paths: Vec<_> = ({ - fs::read_dir("test_data") - .unwrap() - .cloned() - }) - .collect(); - statement(); - - println!("Hello World\n"); - } - -############################################ -# Issue #189 - -Given rust: - impl X for { - pub fn get(&self, key: &Q) -> Option> - where - K: Borrow, - Q: Ord + ?Sized, - { - self.inner.get(key).map(Entry::new) - } - } - -Do: - vip= - -Expect rust (issue #189): - impl X for { - pub fn get(&self, key: &Q) -> Option> - where - K: Borrow, - Q: Ord + ?Sized, - { - self.inner.get(key).map(Entry::new) - } - } - -############################################ -# Issue #189b - -Given rust: - impl X for { - pub fn get(&self, key: &Q) -> Option> - where - K: Borrow, - Q: Ord + ?Sized - { - self.inner.get(key).map(Entry::new) - } - } - -Do: - vip= - -Expect rust (issue #189b): - impl X for { - pub fn get(&self, key: &Q) -> Option> - where - K: Borrow, - Q: Ord + ?Sized - { - self.inner.get(key).map(Entry::new) - } - } - -############################################ -# Issue #189c - -Given rust: - impl X for { - pub fn get(&self, key: &Q) -> Option> - where K: Borrow, Q: Ord + ?Sized - { - self.inner.get(key).map(Entry::new) - } - } - -Do: - vip= - -Expect rust (issue #189b): - impl X for { - pub fn get(&self, key: &Q) -> Option> - where K: Borrow, Q: Ord + ?Sized - { - self.inner.get(key).map(Entry::new) - } - } - - -############################################ -# Issue #149 - -Given rust: - fn test() { - let t = "a - wah"; - } - -Do: - /wah\ - i#\\ - /;\o - statement();\\ - -# Disabled -# Expect rust (issue #149): - fn test() { - let t = "a - #wah"; - statement(); - } - - -############################################ -# Issue #77 - -Given rust: - fn test() { - } - -Do: - of(x, y,\z);\ - f((x, y),\z);\ - -# Disabled -# Expect rust (issue #77): - fn test() { - f(x, y, - z); - f((x, y), - z); - - } - -############################################ -# Issue #44 - -Given rust: - fn main() { - a - - let philosophers = vec![ - Philosopher::new("Judith Butler"), - Philosopher::new("Gilles Deleuze"), - Philosopher::new("Karl Marx"), - Philosopher::new("Emma Goldman"), - Philosopher::new("Michel Foucault"), - ]; - } - -Do: - /let\ - vip= - -# Disabled -# Expect rust (issue #44): - fn main() { - a - - let philosophers = vec![ - Philosopher::new("Judith Butler"), - Philosopher::new("Gilles Deleuze"), - Philosopher::new("Karl Marx"), - Philosopher::new("Emma Goldman"), - Philosopher::new("Michel Foucault"), - ]; - } - -############################################ -# Issue #5 - -Given rust: - fn f() { - if x && - y { - } - } - -Do: - vip= - -Expect rust (issue #5): - fn f() { - if x && - y { - } - } - -############################################ -# Issue #366 - -Given rust: - fn f() { - g(|_| { - h(); - }) - .unwrap(); - h(); - } - -Do: - vip= - -Expect rust (issue #366): - fn f() { - g(|_| { - h(); - }) - .unwrap(); - h(); - } - -Given rust: - fn f() { - let a = g(|_| { - h(); - }) - .unwrap(); - h(); - } - -Do: - vip= - -Expect rust (issue #366, variation #2): - fn f() { - let a = g(|_| { - h(); - }) - .unwrap(); - h(); - } - -############################################ - -Given rust: - fn f() { - let mut state = State::new( - backend, - header.clone(), - ).expect("Something"); - } - -Do: - vip= - -Expect rust (Trailing comma in call): - fn f() { - let mut state = State::new( - backend, - header.clone(), - ).expect("Something"); - } diff --git a/.vim_runtime/sources_non_forked/rust.vim/test/run-tests b/.vim_runtime/sources_non_forked/rust.vim/test/run-tests deleted file mode 100644 index a8c63b6..0000000 --- a/.vim_runtime/sources_non_forked/rust.vim/test/run-tests +++ /dev/null @@ -1,105 +0,0 @@ -#!/usr/bin/env python - -import os -import sys - -REPO = "alonid/vim-testbed" -TAG = "10-rust.vim" -IMAGE = "%s:%s" % (REPO, TAG) - -class Error(Exception): - pass - -def system(cmd, capture=False, ok_fail=False): - if capture: - f = os.popen(cmd) - d = f.read() - return d - - res = os.system(cmd) - if res != 0: - if ok_fail: - return res - - raise Error("Error executing: %s" % (cmd, )) - return 0 - -def root(): - return os.path.dirname(os.path.dirname(os.path.realpath(__file__))) - -def prep(): - d = os.path.join(root(), "test") - for i in [".cargo", ".rustup", ".multirust"]: - l = os.path.join(d, i) - if not os.path.lexists(l): - os.symlink("/rust/" + i, l) - - l = os.path.join(root(), "test/.vimrc") - if not os.path.lexists(l): - os.symlink("vimrc", l) - - if not os.path.exists(os.path.join(d, ".profile")): - f = open(os.path.join(d, ".profile"), "w") - f.write('export PATH="$HOME/.cargo/bin:$PATH"\n') - f.close() - -def docker_run(cmd, interactive=False, ok_fail=False): - prep() - d = root() - params = "-v %s:/testplugin -v %s/test:/home/vimtest" % (d, d) - params += " -e HOME=/home/vimtest" - if not interactive: - params += " -a stderr" - params += " -e VADER_OUTPUT_FILE=/dev/stderr" - params += " -u %s" % (os.getuid(), ) - params += " -w /testplugin" - if interactive: - interactive_str = "-it" - else: - interactive_str = "" - return system("docker run %s --rm %s %s %s" % (interactive_str, params, IMAGE, cmd), - ok_fail=ok_fail) - -def image_exists(): - r = system("docker images -q %s" % (IMAGE, ), capture=True) - return len(r.strip().splitlines()) >= 1 - -def tests_on_docker(): - res = docker_run("bash -lc 'python /home/vimtest/run-tests inside-docker'", ok_fail=True) - if res == 0: - print "Tests OK" - else: - print "Tests Failed" - sys.exit(1) - -def inside_docker(): - res = system("/vim-build/bin/vim80 --not-a-term '+Vader! test/*.vader'", ok_fail=True) - if res != 0: - sys.exit(1) - -def run_with_vimrc(vimrc): - res = system("vim -u %s --not-a-term '+Vader! test/*.vader'" % (vimrc, ), ok_fail=True) - if res != 0: - sys.exit(1) - -def main(): - if sys.argv[1:] == ["inside-docker"]: - inside_docker() - return - - if sys.argv[1:2] == ["run-with-vimrc"]: - run_with_vimrc(sys.argv[2]) - return - - if not image_exists(): - print "Need to take image from remote" - system("docker pull %s" % (IMAGE, )) - - if "-i" in sys.argv[1:]: - docker_run("bash -l", interactive=True) - return - - tests_on_docker() - -if __name__ == "__main__": - main() diff --git a/.vim_runtime/sources_non_forked/rust.vim/test/sample.rs b/.vim_runtime/sources_non_forked/rust.vim/test/sample.rs deleted file mode 100644 index e69de29..0000000 diff --git a/.vim_runtime/sources_non_forked/rust.vim/test/vimrc b/.vim_runtime/sources_non_forked/rust.vim/test/vimrc deleted file mode 100644 index f7f1533..0000000 --- a/.vim_runtime/sources_non_forked/rust.vim/test/vimrc +++ /dev/null @@ -1,30 +0,0 @@ -" vint: -ProhibitSetNoCompatible -" - -set nocompatible -filetype off - -" This script is currently designed to be run from within Docker, the -" following paths are intrinsic to the container: -source /rtp.vim - -" Paths need prepending (instead of what is originally done -" in vim-testbed) in order to supersede the rust.vim that is -" supplied with Vim. -exec 'set runtimepath=/vader,/testplugin,' . &runtimepath -cd /testplugin - -filetype plugin indent on -syntax on - -set nocompatible -set tabstop=8 -set softtabstop=4 -set shiftwidth=4 -set expandtab -set backspace=2 -set nofoldenable -set foldmethod=syntax -set foldlevelstart=10 -set foldnestmax=10 -set ttimeoutlen=0 diff --git a/.vim_runtime/sources_non_forked/rust.vim/triagebot.toml b/.vim_runtime/sources_non_forked/rust.vim/triagebot.toml deleted file mode 100644 index fa0824a..0000000 --- a/.vim_runtime/sources_non_forked/rust.vim/triagebot.toml +++ /dev/null @@ -1 +0,0 @@ -[assign] diff --git a/.vim_runtime/sources_non_forked/tabular/.gitignore b/.vim_runtime/sources_non_forked/tabular/.gitignore deleted file mode 100644 index 0a56e3f..0000000 --- a/.vim_runtime/sources_non_forked/tabular/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/doc/tags diff --git a/.vim_runtime/sources_non_forked/tabular/LICENSE.md b/.vim_runtime/sources_non_forked/tabular/LICENSE.md deleted file mode 100644 index 1aaf5c3..0000000 --- a/.vim_runtime/sources_non_forked/tabular/LICENSE.md +++ /dev/null @@ -1,24 +0,0 @@ -LICENSE.md

Copyright © 2016, Matthew J. Wozniski -All rights reserved.

- -

Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * The names of the contributors may not be used to endorse or promote - products derived from this software without specific prior written - permission.

- -

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY EXPRESS -OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN -NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, -OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (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/.vim_runtime/sources_non_forked/tabular/README.md b/.vim_runtime/sources_non_forked/tabular/README.md deleted file mode 100644 index 1e3aca4..0000000 --- a/.vim_runtime/sources_non_forked/tabular/README.md +++ /dev/null @@ -1,30 +0,0 @@ - -README.md

Tabular

- -

Sometimes, it’s useful to line up text. Naturally, it’s nicer to have the -computer do this for you, since aligning things by hand quickly becomes -unpleasant. While there are other plugins for aligning text, the ones I’ve -tried are either impossibly difficult to understand and use, or too simplistic -to handle complicated tasks. This plugin aims to make the easy things easy -and the hard things possible, without providing an unnecessarily obtuse -interface. It’s still a work in progress, and criticisms are welcome.

- -

See Aligning Text with Tabular.vim -for a screencast that shows how Tabular.vim works.

- -

See doc/Tabular.txt -for detailed documentation.

- -

Installation

- -

If you don’t have a preferred installation method, I recommend installing -pathogen.vim, and then simply -copy and paste:

- -
mkdir -p ~/.vim/bundle
-cd ~/.vim/bundle
-git clone git://github.com/godlygeek/tabular.git
- -

Once help tags have been generated (either using Pathogen’s :Helptags -command, or by pointing vim’s :helptags command at the directory where you -installed Tabular), you can view the manual with :help tabular.

diff --git a/.vim_runtime/sources_non_forked/tabular/autoload/tabular.vim b/.vim_runtime/sources_non_forked/tabular/autoload/tabular.vim deleted file mode 100644 index f60a73c..0000000 --- a/.vim_runtime/sources_non_forked/tabular/autoload/tabular.vim +++ /dev/null @@ -1,409 +0,0 @@ -" Tabular: Align columnar data using regex-designated column boundaries -" Maintainer: Matthew Wozniski (godlygeek@gmail.com) -" Date: Thu, 03 May 2012 20:49:32 -0400 -" Version: 1.0 -" -" Long Description: -" Sometimes, it's useful to line up text. Naturally, it's nicer to have the -" computer do this for you, since aligning things by hand quickly becomes -" unpleasant. While there are other plugins for aligning text, the ones I've -" tried are either impossibly difficult to understand and use, or too simplistic -" to handle complicated tasks. This plugin aims to make the easy things easy -" and the hard things possible, without providing an unnecessarily obtuse -" interface. It's still a work in progress, and criticisms are welcome. -" -" License: -" Copyright (c) 2012, Matthew J. Wozniski -" All rights reserved. -" -" Redistribution and use in source and binary forms, with or without -" modification, are permitted provided that the following conditions are met: -" * Redistributions of source code must retain the above copyright notice, -" this list of conditions and the following disclaimer. -" * Redistributions in binary form must reproduce the above copyright -" notice, this list of conditions and the following disclaimer in the -" documentation and/or other materials provided with the distribution. -" * The names of the contributors may not be used to endorse or promote -" products derived from this software without specific prior written -" permission. -" -" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER ``AS IS'' AND ANY EXPRESS -" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN -" NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY DIRECT, INDIRECT, -" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -" LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, -" OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -" LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -" NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -" Stupid vimscript crap {{{1 -let s:savecpo = &cpo -set cpo&vim - -" Private Functions {{{1 - -" Return the number of bytes in a string after expanding tabs to spaces. {{{2 -" This expansion is done based on the current value of 'tabstop' -if exists('*strdisplaywidth') - " Needs vim 7.3 - let s:Strlen = function("strdisplaywidth") -else - function! s:Strlen(string) - " Implement the tab handling part of strdisplaywidth for vim 7.2 and - " earlier - not much that can be done about handling doublewidth - " characters. - let rv = 0 - let i = 0 - - for char in split(a:string, '\zs') - if char == "\t" - let rv += &ts - i - let i = 0 - else - let rv += 1 - let i = (i + 1) % &ts - endif - endfor - - return rv - endfunction -endif - -" Align a string within a field {{{2 -" These functions do not trim leading and trailing spaces. - -" Right align 'string' in a field of size 'fieldwidth' -function! s:Right(string, fieldwidth) - let spaces = a:fieldwidth - s:Strlen(a:string) - return matchstr(a:string, '^\s*') . repeat(" ", spaces) . substitute(a:string, '^\s*', '', '') -endfunction - -" Left align 'string' in a field of size 'fieldwidth' -function! s:Left(string, fieldwidth) - let spaces = a:fieldwidth - s:Strlen(a:string) - return a:string . repeat(" ", spaces) -endfunction - -" Center align 'string' in a field of size 'fieldwidth' -function! s:Center(string, fieldwidth) - let spaces = a:fieldwidth - s:Strlen(a:string) - let right = spaces / 2 - let left = right + (right * 2 != spaces) - return repeat(" ", left) . a:string . repeat(" ", right) -endfunction - -" Remove spaces around a string {{{2 - -" Remove all trailing spaces from a string. -function! s:StripTrailingSpaces(string) - return matchstr(a:string, '^.\{-}\ze\s*$') -endfunction - -" Remove all leading spaces from a string. -function! s:StripLeadingSpaces(string) - return matchstr(a:string, '^\s*\zs.*$') -endfunction - -" Split a string into fields and delimiters {{{2 -" Like split(), but include the delimiters as elements -" All odd numbered elements are delimiters -" All even numbered elements are non-delimiters (including zero) -function! s:SplitDelim(string, delim) - let rv = [] - let beg = 0 - - let len = len(a:string) - let searchoff = 0 - - while 1 - let mid = match(a:string, a:delim, beg + searchoff, 1) - if mid == -1 || mid == len - break - endif - - let matchstr = matchstr(a:string, a:delim, beg + searchoff, 1) - let length = strlen(matchstr) - - if length == 0 && beg == mid - " Zero-length match for a zero-length delimiter - advance past it - let searchoff += 1 - continue - endif - - if beg == mid - let rv += [ "" ] - else - let rv += [ a:string[beg : mid-1] ] - endif - - let rv += [ matchstr ] - - let beg = mid + length - let searchoff = 0 - endwhile - - let rv += [ strpart(a:string, beg) ] - - return rv -endfunction - -" Replace lines from `start' to `start + len - 1' with the given strings. {{{2 -" If more lines are needed to show all strings, they will be added. -" If there are too few strings to fill all lines, lines will be removed. -function! s:SetLines(start, len, strings) - if a:start > line('$') + 1 || a:start < 1 - throw "Invalid start line!" - endif - - if len(a:strings) > a:len - let fensave = &fen - let view = winsaveview() - call append(a:start + a:len - 1, repeat([''], len(a:strings) - a:len)) - call winrestview(view) - let &fen = fensave - elseif len(a:strings) < a:len - let fensave = &fen - let view = winsaveview() - sil exe (a:start + len(a:strings)) . ',' . (a:start + a:len - 1) . 'd_' - call winrestview(view) - let &fen = fensave - endif - - call setline(a:start, a:strings) -endfunction - -" Runs the given commandstring argument as an expression. {{{2 -" The commandstring expression is expected to reference the a:lines argument. -" If the commandstring expression returns a list the items of that list will -" replace the items in a:lines, otherwise the expression is assumed to have -" modified a:lines itself. -function! s:FilterString(lines, commandstring) - exe 'let rv = ' . a:commandstring - - if type(rv) == type(a:lines) && rv isnot a:lines - call filter(a:lines, 0) - call extend(a:lines, rv) - endif -endfunction - -" Public API {{{1 - -if !exists("g:tabular_default_format") - let g:tabular_default_format = "l1" -endif - -let s:formatelempat = '\%([lrc]\d\+\)' - -function! tabular#ElementFormatPattern() - return s:formatelempat -endfunction - -" Given a list of strings and a delimiter, split each string on every -" occurrence of the delimiter pattern, format each element according to either -" the provided format (optional) or the default format, and join them back -" together with enough space padding to guarantee that the nth delimiter of -" each string is aligned. -function! tabular#TabularizeStrings(strings, delim, ...) - if a:0 > 1 - echoerr "TabularizeStrings accepts only 2 or 3 arguments (got ".(a:0+2).")" - return 1 - endif - - let formatstr = (a:0 ? a:1 : g:tabular_default_format) - - if formatstr !~? s:formatelempat . '\+' - echoerr "Tabular: Invalid format \"" . formatstr . "\" specified!" - return 1 - endif - - let format = split(formatstr, s:formatelempat . '\zs') - - let lines = map(a:strings, 's:SplitDelim(v:val, a:delim)') - - " Strip spaces - " - Only from non-delimiters; spaces in delimiters must have been matched - " intentionally - " - Don't strip leading spaces from the first element; we like indenting. - for line in lines - if len(line) == 1 && s:do_gtabularize - continue " Leave non-matching lines unchanged for GTabularize - endif - - if line[0] !~ '^\s*$' - let line[0] = s:StripTrailingSpaces(line[0]) - endif - if len(line) >= 3 - for i in range(2, len(line)-1, 2) - let line[i] = s:StripLeadingSpaces(s:StripTrailingSpaces(line[i])) - endfor - endif - endfor - - " Find the max length of each field - let maxes = [] - for line in lines - if len(line) == 1 && s:do_gtabularize - continue " non-matching lines don't affect field widths for GTabularize - endif - - for i in range(len(line)) - if i == len(maxes) - let maxes += [ s:Strlen(line[i]) ] - else - let maxes[i] = max( [ maxes[i], s:Strlen(line[i]) ] ) - endif - endfor - endfor - - let lead_blank = empty(filter(copy(lines), 'v:val[0] =~ "\\S"')) - - " Concatenate the fields, according to the format pattern. - for idx in range(len(lines)) - let line = lines[idx] - - if len(line) == 1 && s:do_gtabularize - let lines[idx] = line[0] " GTabularize doesn't change non-matching lines - continue - endif - - for i in range(len(line)) - let how = format[i % len(format)][0] - let pad = format[i % len(format)][1:-1] - - if how =~? 'l' - let field = s:Left(line[i], maxes[i]) - elseif how =~? 'r' - let field = s:Right(line[i], maxes[i]) - elseif how =~? 'c' - let field = s:Center(line[i], maxes[i]) - endif - - let line[i] = field . (lead_blank && i == 0 ? '' : repeat(" ", pad)) - endfor - - let lines[idx] = s:StripTrailingSpaces(join(line, '')) - endfor -endfunction - -" Apply 0 or more filters, in sequence, to selected text in the buffer {{{2 -" The lines to be filtered are determined as follows: -" If the function is called with a range containing multiple lines, then -" those lines will be used as the range. -" If the function is called with no range or with a range of 1 line, then -" if GTabularize mode is being used, -" the range will not be adjusted -" if "includepat" is not specified, -" that 1 line will be filtered, -" if "includepat" is specified and that line does not match it, -" no lines will be filtered -" if "includepat" is specified and that line does match it, -" all contiguous lines above and below the specified line matching the -" pattern will be filtered. -" -" The remaining arguments must each be a filter to apply to the text. -" Each filter must either be a String evaluating to a function to be called. -function! tabular#PipeRange(includepat, ...) range - exe a:firstline . ',' . a:lastline - \ . 'call tabular#PipeRangeWithOptions(a:includepat, a:000, {})' -endfunction - -" Extended version of tabular#PipeRange, which -" 1) Takes the list of filters as an explicit list rather than as varargs -" 2) Supports passing a dictionary of options to control the routine. -" Currently, the only supported option is 'mode', which determines whether -" to behave as :Tabularize or as :GTabularize -" This allows me to add new features here without breaking API compatibility -" in the future. -function! tabular#PipeRangeWithOptions(includepat, filterlist, options) range - let top = a:firstline - let bot = a:lastline - - let s:do_gtabularize = (get(a:options, 'mode', '') ==# 'GTabularize') - - if !s:do_gtabularize - " In the default mode, apply range extension logic - if a:includepat != '' && top == bot - if top < 0 || top > line('$') || getline(top) !~ a:includepat - return - endif - while top > 1 && getline(top-1) =~ a:includepat - let top -= 1 - endwhile - while bot < line('$') && getline(bot+1) =~ a:includepat - let bot += 1 - endwhile - endif - endif - - let lines = map(range(top, bot), 'getline(v:val)') - - for filter in a:filterlist - if type(filter) != type("") - echoerr "PipeRange: Bad filter: " . string(filter) - endif - - call s:FilterString(lines, filter) - - unlet filter - endfor - - call s:SetLines(top, bot - top + 1, lines) -endfunction - -" Part of the public interface so interested pipelines can query this and -" adjust their behavior appropriately. -function! tabular#DoGTabularize() - return s:do_gtabularize -endfunction - -function! s:SplitDelimTest(string, delim, expected) - let result = s:SplitDelim(a:string, a:delim) - - if result !=# a:expected - echomsg 'Test failed!' - echomsg ' string=' . string(a:string) . ' delim=' . string(a:delim) - echomsg ' Returned=' . string(result) - echomsg ' Expected=' . string(a:expected) - endif -endfunction - -function! tabular#SplitDelimUnitTest() - let assignment = '[|&+*/%<>=!~-]\@!=]=\|=\~\)\@![|&+*/%<>=!~-]*=' - let two_spaces = ' ' - let ternary_operator = '^.\{-}\zs?\|:' - let cpp_io = '<<\|>>' - let pascal_assign = ':=' - let trailing_c_comments = '\/\*\|\*\/\|\/\/' - - call s:SplitDelimTest('a+=b', assignment, ['a', '+=', 'b']) - call s:SplitDelimTest('a-=b', assignment, ['a', '-=', 'b']) - call s:SplitDelimTest('a!=b', assignment, ['a!=b']) - call s:SplitDelimTest('a==b', assignment, ['a==b']) - call s:SplitDelimTest('a&=b', assignment, ['a', '&=', 'b']) - call s:SplitDelimTest('a|=b', assignment, ['a', '|=', 'b']) - call s:SplitDelimTest('a=b=c', assignment, ['a', '=', 'b', '=', 'c']) - - call s:SplitDelimTest('a b c', two_spaces, ['a', ' ', 'b', ' ', 'c']) - call s:SplitDelimTest('a b c', two_spaces, ['a b', ' ', ' c']) - call s:SplitDelimTest('ab c', two_spaces, ['ab', ' ', '', ' ', 'c']) - - call s:SplitDelimTest('a?b:c', ternary_operator, ['a', '?', 'b', ':', 'c']) - - call s:SplitDelimTest('a< - :let g:tabular_loaded = 1 - -============================================================================== -1. Description *tabular-intro* - -Sometimes, it's useful to line up text. Naturally, it's nicer to have the -computer do this for you, since aligning things by hand quickly becomes -unpleasant. While there are other plugins for aligning text, the ones I've -tried are either impossibly difficult to understand and use, or too simplistic -to handle complicated tasks. This plugin aims to make the easy things easy -and the hard things possible, without providing an unnecessarily obtuse -interface. It's still a work in progress, and criticisms are welcome. - -============================================================================== -2. Walkthrough *tabular-walkthrough* *:Tabularize* - -Tabular's commands are based largely on regular expressions. The basic -technique used by Tabular is taking some regex to match field delimiters, -splitting the input lines at those delimiters, trimming unnecessary spaces -from the non-delimiter parts, padding the non-delimiter parts of the lines -with spaces to make them the same length, and joining things back together -again. - -For instance, consider starting with the following lines: -> - Some short phrase,some other phrase - A much longer phrase here,and another long phrase -< -Let's say we want to line these lines up at the commas. We can tell -Tabularize to do this by passing a pattern matching , to the Tabularize -command: -> - :Tabularize /, - - Some short phrase , some other phrase - A much longer phrase here , and another long phrase -< -I encourage you to try copying those lines to another buffer and trying to -call :Tabularize. You'll want to take notice of two things quickly: First, -instead of requiring a range, Tabularize tries to figure out what you want to -happen. Since it knows that you want to act on lines matching a comma, it -will look upwards and downwards for lines around the current line that match a -comma, and consider all contiguous lines matching the pattern to be the range -to be acted upon. You can always override this by specifying a range, though. - -The second thing you should notice is that you'll almost certainly be able to -abbreviate :Tabularize to :Tab - using this form in mappings and scripts is -discouraged as it will make conflicts with other scripts more likely, but for -interactive use it's a nice timesaver. Another convenience feature is that -running :Tabularize without providing a new pattern will cause it to reuse the -last pattern it was called with. - -So, anyway, now the commas line up. Splitting the lines on commas, Tabular -realized that 'Some short phrase' would need to be padded with spaces to match -the length of 'A much longer phrase here', and it did that before joining the -lines back together. You'll also notice that, in addition to the spaces -inserting for padding, extra spaces were inserted between fields. That's -because by default, Tabular prints things left-aligned with one space between -fields. If you wanted to print things right-aligned with no spaces between -fields, you would provide a different format to the Tabularize command: -> - :Tabularize /,/r0 - - Some short phrase, some other phrase - A much longer phrase here,and another long phrase -< -A format specifier is either l, r, or c, followed by one or more digits. If -the letter is l, the field will be left aligned, similarly for r and right -aligning and c and center aligning. The number following the letter is the -number of spaces padding to insert before the start of the next field. -Multiple format specifiers can be added to the same command - each field will -be printed with the next format specifier in the list; when they all have been -used the first will be used again, and so on. So, the last command right -aligned every field, then inserted 0 spaces of padding before the next field. -What if we wanted to right align the text before the comma, and left align the -text after the comma? The command would look like this: -> - :Tabularize /,/r1c1l0 - - Some short phrase , some other phrase - A much longer phrase here , and another long phrase -< -That command would be read as "Align the matching text, splitting fields on -commas. Print everything before the first comma right aligned, then 1 space, -then the comma center aligned, then 1 space, then everything after the comma -left aligned." Notice that the alignment of the field the comma is in is -irrelevant - since it's only 1 cell wide, it looks the same whether it's right, -left, or center aligned. Also notice that the 0 padding spaces specified for -the 3rd field are unused - but they would be used if there were enough fields -to require looping through the fields again. For instance: -> - abc,def,ghi - a,b - a,b,c - - :Tabularize /,/r1c1l0 - - abc , def, ghi - a , b - a , b , c -< -Notice that now, the format pattern has been reused; field 4 (the second comma) -is right aligned, field 5 is center aligned. No spaces were inserted between -the 3rd field (containing "def") and the 4th field (the second comma) because -the format specified 'l0'. - -But, what if you only wanted to act on the first comma on the line, rather than -all of the commas on the line? Let's say we want everything before the first -comma right aligned, then the comma, then everything after the comma left -aligned: -> - abc,def,ghi - a,b - a,b,c - - :Tabularize /^[^,]*\zs,/r0c0l0 - - abc,def,ghi - a,b - a,b,c -< -Here, we used a Vim regex that would only match the first comma on the line. -It matches the beginning of the line, followed by all the non-comma characters -up to the first comma, and then forgets about what it matched so far and -pretends that the match starts exactly at the comma. - -But, now that this command does exactly what we want it to, it's become pretty -unwieldy. It would be unpleasant to need to type that more than once or -twice. The solution is to assign a name to it. -> - :AddTabularPattern first_comma /^[^,]*\zs,/r0c0l0 -< -Now, typing ":Tabularize first_comma" will do the same thing as typing the -whole pattern out each time. Of course this is more useful if you store the -name in a file to be used later. - -NOTE: In order to make these new commands available every time vim starts, -you'll need to put those new commands into a .vim file in a plugin directory -somewhere in your 'runtimepath'. In order to make sure that Tabular.vim has -already been loaded before your file tries to use :AddTabularPattern or -:AddTabularPipeline, the new file should be installed in an after/plugin -directory in 'runtimepath'. In general, it will be safe to find out where the -TabularMaps.vim plugin was installed, and place other files extending -Tabular.vim in the same directory as TabularMaps.vim. For more information, -and some suggested best practices, check out the |tabular-scripting| section. - -Lastly, we'll approach the case where tabular cannot achieve your desired goal -just by splitting lines appart, trimming whitespace, padding with whitespace, -and rejoining the lines. As an example, consider the multiple_spaces command -from TabularMaps.vim. The goal is to split using two or more spaces as a -field delimiter, and join fields back together, properly lined up, with only -two spaces between the end of each field and the beginning of the next. -Unfortunately, Tabular can't do this with only the commands we know so far: -> - :Tabularize / / -< -The above function won't work, because it will consider "a b" as 5 fields -delimited by two pairs of 2 spaces ( 'a', ' ', '', ' ', 'b' ) instead of as -3 fields delimited by one set of 2 or more spaces ( 'a', ' ', 'b' ). -> - :Tabularize / \+/ -< -The above function won't work either, because it will leave the delimiter as 4 -spaces when used against "a b", meaning that we would fail at our goal of -collapsing everything down to two spaces between fields. So, we need a new -command to get around this: -> - :AddTabularPipeline multiple_spaces / \{2,}/ - \ map(a:lines, "substitute(v:val, ' \{2,}', ' ', 'g')") - \ | tabular#TabularizeStrings(a:lines, ' ', 'l0') -< -Yeah. I know it looks complicated. Bear with me. I probably will try to add -in some shortcuts for this syntax, but this verbose will be guaranteed to -always work. - -You should already recognize the name being assigned. The next thing to -happen is / \{2,}/ which is a pattern specifying which lines should -automatically be included in the range when no range is given. Without this, -there would be no pattern to use for extending the range. Everything after -that is a | separated list of expressions to be evaluated. In the context in -which they will be evaluated, a:lines will be set to a List of Strings -containing the text of the lines being filtered as they procede through the -pipeline you've set up. The \ at the start of the lines are just vim's line -continuation marker; you needn't worry much about them. So, the first -expression in the pipeline transforms each line by replacing every instance of -2 or more spaces with exactly two spaces. The second command in the pipeline -performs the equivalent of ":Tabularize / /l0"; the only difference is that -it is operating on a List of Strings rather than text in the buffer. At the -end of the pipeline, the Strings in the modified a:lines (or the return value -of the last expression in the pipeline, if it returns a List) will replace the -chosen range. - -============================================================================== -3. Extending *tabular-scripting* - -As mentioned above, the most important consideration when extending Tabular -with new maps or commands is that your plugin must be loaded after Tabular.vim -has finished loading, and only if Tabular.vim has loaded successfully. The -easiest approach to making sure it loads after Tabular.vim is simply putting -the new file (we'll call it "tabular_extra.vim" as an example) into an -"after/plugin/" directory in 'runtimepath', for instance: -> - ~/.vim/after/plugin/tabular_extra.vim -< -The default set of mappings, found in "TabularMaps.vim", is installed in -the after/plugin/ subdirectory of whatever directory Tabular was installed to. - -The other important consideration is making sure that your commands are only -called if Tabular.vim was actually loaded. The easiest way to do this is by -checking for the existence of the :Tabularize command at the start of your -plugin. A short example plugin would look like this: -> - " after/plugin/my_tabular_commands.vim - " Provides extra :Tabularize commands - - if !exists(':Tabularize') - finish " Give up here; the Tabular plugin musn't have been loaded - endif - - " Make line wrapping possible by resetting the 'cpo' option, first saving it - let s:save_cpo = &cpo - set cpo&vim - - AddTabularPattern! asterisk /*/l1 - - AddTabularPipeline! remove_leading_spaces /^ / - \ map(a:lines, "substitute(v:val, '^ *', '', '')") - - " Restore the saved value of 'cpo' - let &cpo = s:save_cpo - unlet s:save_cpo -< -============================================================================== -vim:tw=78:fo=tcq2:isk=!-~,^*,^\|,^\":ts=8:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/tabular/plugin/Tabular.vim b/.vim_runtime/sources_non_forked/tabular/plugin/Tabular.vim deleted file mode 100644 index e73329a..0000000 --- a/.vim_runtime/sources_non_forked/tabular/plugin/Tabular.vim +++ /dev/null @@ -1,346 +0,0 @@ -" Tabular: Align columnar data using regex-designated column boundaries -" Maintainer: Matthew Wozniski (godlygeek@gmail.com) -" Date: Thu, 03 May 2012 20:49:32 -0400 -" Version: 1.0 -" -" Long Description: -" Sometimes, it's useful to line up text. Naturally, it's nicer to have the -" computer do this for you, since aligning things by hand quickly becomes -" unpleasant. While there are other plugins for aligning text, the ones I've -" tried are either impossibly difficult to understand and use, or too simplistic -" to handle complicated tasks. This plugin aims to make the easy things easy -" and the hard things possible, without providing an unnecessarily obtuse -" interface. It's still a work in progress, and criticisms are welcome. -" -" License: -" Copyright (c) 2012, Matthew J. Wozniski -" All rights reserved. -" -" Redistribution and use in source and binary forms, with or without -" modification, are permitted provided that the following conditions are met: -" * Redistributions of source code must retain the above copyright notice, -" this list of conditions and the following disclaimer. -" * Redistributions in binary form must reproduce the above copyright -" notice, this list of conditions and the following disclaimer in the -" documentation and/or other materials provided with the distribution. -" * The names of the contributors may not be used to endorse or promote -" products derived from this software without specific prior written -" permission. -" -" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER ``AS IS'' AND ANY EXPRESS -" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN -" NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY DIRECT, INDIRECT, -" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -" LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, -" OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -" LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -" NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -" Abort if running in vi-compatible mode or the user doesn't want us. -if &cp || exists('g:tabular_loaded') - if &cp && &verbose - echo "Not loading Tabular in compatible mode." - endif - finish -endif - -let g:tabular_loaded = 1 - -" Stupid vimscript crap {{{1 -let s:savecpo = &cpo -set cpo&vim - -" Private Things {{{1 - -" Dictionary of command name to command -let s:TabularCommands = {} - -" Generate tab completion list for :Tabularize {{{2 -" Return a list of commands that match the command line typed so far. -" NOTE: Tries to handle commands with spaces in the name, but Vim doesn't seem -" to handle that terribly well... maybe I should give up on that. -function! s:CompleteTabularizeCommand(argstart, cmdline, cursorpos) - let names = keys(s:TabularCommands) - if exists("b:TabularCommands") - let names += keys(b:TabularCommands) - endif - - let cmdstart = substitute(a:cmdline, '^\s*\S\+\s*', '', '') - - return filter(names, 'v:val =~# ''^\V'' . escape(cmdstart, ''\'')') -endfunction - -" Choose the proper command map from the given command line {{{2 -" Returns [ command map, command line with leading removed ] -function! s:ChooseCommandMap(commandline) - let map = s:TabularCommands - let cmd = a:commandline - - if cmd =~# '^\s\+' - if !exists('b:TabularCommands') - let b:TabularCommands = {} - endif - let map = b:TabularCommands - let cmd = substitute(cmd, '^\s\+', '', '') - endif - - return [ map, cmd ] -endfunction - -" Parse '/pattern/format' into separate pattern and format parts. {{{2 -" If parsing fails, return [ '', '' ] -function! s:ParsePattern(string) - if a:string[0] != '/' - return ['',''] - endif - - let pat = '\\\@ 0)] =~ '^\s*$' - throw "Empty element" - endif - - if end == -1 - let rv = [ a:string ] - else - let rv = [ a:string[0 : end-1] ] + s:SplitCommands(a:string[end+1 : -1]) - endif - - return rv -endfunction - -" Public Things {{{1 - -" Command associating a command name with a simple pattern command {{{2 -" AddTabularPattern[!] [] name /pattern[/format] -" -" If is provided, the command will only be available in the current -" buffer, and will be used instead of any global command with the same name. -" -" If a command with the same name and scope already exists, it is an error, -" unless the ! is provided, in which case the existing command will be -" replaced. -" -" pattern is a regex describing the delimiter to be used. -" -" format describes the format pattern to be used. The default will be used if -" none is provided. -com! -nargs=+ -bang AddTabularPattern - \ call AddTabularPattern(, 0) - -function! AddTabularPattern(command, force) - try - let [ commandmap, rest ] = s:ChooseCommandMap(a:command) - - let name = matchstr(rest, '.\{-}\ze\s*/') - let pattern = substitute(rest, '.\{-}\s*\ze/', '', '') - - let [ pattern, format ] = s:ParsePattern(pattern) - - if empty(name) || empty(pattern) - throw "Invalid arguments!" - endif - - if !a:force && has_key(commandmap, name) - throw string(name) . " is already defined, use ! to overwrite." - endif - - let command = "tabular#TabularizeStrings(a:lines, " . string(pattern) - - if !empty(format) - let command .= ", " . string(format) - endif - - let command .= ")" - - let commandmap[name] = { 'pattern' : pattern, 'commands' : [ command ] } - catch - echohl ErrorMsg - echomsg "AddTabularPattern: " . v:exception - echohl None - endtry -endfunction - -" Command associating a command name with a pipeline of functions {{{2 -" AddTabularPipeline[!] [] name /pattern/ func [ | func2 [ | func3 ] ] -" -" If is provided, the command will only be available in the current -" buffer, and will be used instead of any global command with the same name. -" -" If a command with the same name and scope already exists, it is an error, -" unless the ! is provided, in which case the existing command will be -" replaced. -" -" pattern is a regex that will be used to determine which lines will be -" filtered. If the cursor line doesn't match the pattern, using the command -" will be a no-op, otherwise the cursor and all contiguous lines matching the -" pattern will be filtered. -" -" Each 'func' argument represents a function to be called. This function -" will have access to a:lines, a List containing one String per line being -" filtered. -com! -nargs=+ -bang AddTabularPipeline - \ call AddTabularPipeline(, 0) - -function! AddTabularPipeline(command, force) - try - let [ commandmap, rest ] = s:ChooseCommandMap(a:command) - - let name = matchstr(rest, '.\{-}\ze\s*/') - let pattern = substitute(rest, '.\{-}\s*\ze/', '', '') - - let commands = matchstr(pattern, '^/.\{-}\\\@CompleteTabularizeCommand - \ Tabularize ,call Tabularize() - -function! Tabularize(command, ...) range - let piperange_opt = {} - if a:0 - let piperange_opt = a:1 - endif - - if empty(a:command) - if !exists("s:last_tabularize_command") - echohl ErrorMsg - echomsg "Tabularize hasn't been called yet; no pattern/command to reuse!" - echohl None - return - endif - else - let s:last_tabularize_command = a:command - endif - - let command = s:last_tabularize_command - - let range = a:firstline . ',' . a:lastline - - try - let [ pattern, format ] = s:ParsePattern(command) - - if !empty(pattern) - let cmd = "tabular#TabularizeStrings(a:lines, " . string(pattern) - - if !empty(format) - let cmd .= "," . string(format) - endif - - let cmd .= ")" - - exe range . 'call tabular#PipeRangeWithOptions(pattern, [ cmd ], ' - \ . 'piperange_opt)' - else - if exists('b:TabularCommands') && has_key(b:TabularCommands, command) - let usercmd = b:TabularCommands[command] - elseif has_key(s:TabularCommands, command) - let usercmd = s:TabularCommands[command] - else - throw "Unrecognized command " . string(command) - endif - - exe range . 'call tabular#PipeRangeWithOptions(usercmd["pattern"], ' - \ . 'usercmd["commands"], piperange_opt)' - endif - catch - echohl ErrorMsg - echomsg "Tabularize: " . v:exception - echohl None - return - endtry -endfunction - -" GTabularize /pattern[/format] {{{2 -" GTabularize name -" -" Align text on only matching lines, either using the given pattern, or the -" command associated with the given name. Mnemonically, this is similar to -" the :global command, which takes some action on all rows matching a pattern -" in a range. This command is different from normal :Tabularize in 3 ways: -" 1) If a line in the range does not match the pattern, it will be left -" unchanged, and not in any way affect the outcome of other lines in the -" range (at least, normally - but Pipelines can and will still look at -" non-matching rows unless they are specifically written to be aware of -" tabular#DoGTabularize() and handle it appropriately). -" 2) No automatic range determination - :Tabularize automatically expands -" a single-line range (or a call with no range) to include all adjacent -" matching lines. That behavior does not make sense for this command. -" 3) If called without a range, it will act on all lines in the buffer (like -" :global) rather than only a single line -com! -nargs=* -range=% -complete=customlist,CompleteTabularizeCommand - \ GTabularize , - \ call Tabularize(, { 'mode': 'GTabularize' } ) - -" Stupid vimscript crap, part 2 {{{1 -let &cpo = s:savecpo -unlet s:savecpo - -" vim:set sw=2 sts=2 fdm=marker: diff --git a/.vim_runtime/sources_non_forked/tlib/README b/.vim_runtime/sources_non_forked/tlib/README deleted file mode 100644 index f5a6792..0000000 --- a/.vim_runtime/sources_non_forked/tlib/README +++ /dev/null @@ -1,72 +0,0 @@ -This is a mirror of http://www.vim.org/scripts/script.php?script_id=1863 - -This library provides some utility functions. There isn't much need to -install it unless another plugin requires you to do so. - -The most useful functions provided by this library probably are: - -tlib#input#List(), tlib#input#ListW() - - Display a list - - Dynamically filter items matching a pattern (somethat like google) - - E.g. you filter for "foo -bar": show all entries containing foo but not bar. - - Select items from a list - - Do stuff - - Developers can define keys that trigger some action with the - selected items - - Demo: http://vimsomnia.blogspot.com/2010/11/selecting-items-from-list-with-tlibs.html - -tlib#input#EditList - + Edit a list (copy, cut, paste, delete, edit ...) - -:TLet VAR = VALUE - Set a variable only if it doesn't already exist. - -:TScratch - Open a scratch buffer (a buffer without a file). - -:TVarArg VAR1, [VAR2, DEFAULT2] ... - Handle "rest" (variable) arguments in functions. - EXAMPLES: - function! Foo(...) - TVarArg ['a', 1], 'b' - echo 'a='. a - echo 'b='. b - endf - -TBrowseOutput COMMAND - Every wondered how to effciently browse the output of a command - without redirecting it to a file? This command takes a command as - argument and presents the output via |tlib#input#List()| so that you - can easily search for a keyword (e.g. the name of a variable or - function) and the like. - - If you press enter, the selected line will be copied to the command - line. Press ESC to cancel browsing. - - EXAMPLES: - TBrowseOutput 20verb TeaseTheCulprit - TBrowseOutput let - TBrowseOutput map - - -Related (small) plugins that utilize tlib and thus provide some degree of uniform user experience: - tbibtools (vimscript #1915): bibtex-related utilities (sort, reformat, list contents ...) - tmarks (vimscript #2594): Browse, place, & delete marks - tmboxbrowser (vimscript #1906): A mbox browser -- Read your e-mails with vim - tmru (vimscript #1864): Most Recently Used Files - trag (vimscript #2033): A slightly language-aware alternative to grep - tregisters (vimscript #2017): List, edit, and run/execute registers/clipboards - tselectbuffer (vimscript #1866): A quick buffer selector/switcher - tselectfiles (vimscript #1865): A quick file selector/browser/explorer (sort of) - ttagecho (vimscript #2055): Show current tag information - ttagcomplete (vimscript #2069): Context-sensitive tags-based completion and code skeletons - ttags (vimscript #2018): Tag list browser (List, filter, preview, jump to tags) - ttoc (vimscript #2014): A regexp-based table of contents of the current buffer - vikitasks (vimscript #2894): Search viki files for tasks and display them in a list - - -For full details, please see: -http://github.com/tomtom/tlib_vim/blob/master/doc/tlib.txt - -Also available via git -http://github.com/tomtom/tlib_vim diff --git a/.vim_runtime/sources_non_forked/tlib/autoload/tlib.vim b/.vim_runtime/sources_non_forked/tlib/autoload/tlib.vim deleted file mode 100644 index 5d805ac..0000000 --- a/.vim_runtime/sources_non_forked/tlib/autoload/tlib.vim +++ /dev/null @@ -1,8 +0,0 @@ -" @Author: Tom Link (micathom AT gmail com?subject=[vim]) -" @Website: http://www.vim.org/account/profile.php?user_id=4037 -" @License: GPL (see http://www.gnu.org/licenses/gpl.txt) -" @Revision: 13 - -" :nodefault: -TLet g:tlib#debug = 0 - diff --git a/.vim_runtime/sources_non_forked/tlib/doc/tags b/.vim_runtime/sources_non_forked/tlib/doc/tags deleted file mode 100644 index ddfdf40..0000000 --- a/.vim_runtime/sources_non_forked/tlib/doc/tags +++ /dev/null @@ -1,376 +0,0 @@ -:TBrowseOutput tlib.txt /*:TBrowseOutput* -:TBrowseScriptnames tlib.txt /*:TBrowseScriptnames* -:TLet tlib.txt /*:TLet* -:TScratch tlib.txt /*:TScratch* -:TVarArg tlib.txt /*:TVarArg* -:Tlibassert tlib.txt /*:Tlibassert* -:Tlibtrace tlib.txt /*:Tlibtrace* -:Tlibtraceset tlib.txt /*:Tlibtraceset* -Add() tlib.txt /*Add()* -TestArgs() tlib.txt /*TestArgs()* -TestArgs1() tlib.txt /*TestArgs1()* -TestArgs2() tlib.txt /*TestArgs2()* -TestArgs3() tlib.txt /*TestArgs3()* -TestGetArg() tlib.txt /*TestGetArg()* -TestGetArg1() tlib.txt /*TestGetArg1()* -g:tlib#Filter_glob#char tlib.txt /*g:tlib#Filter_glob#char* -g:tlib#Filter_glob#seq tlib.txt /*g:tlib#Filter_glob#seq* -g:tlib#cache#dont_purge tlib.txt /*g:tlib#cache#dont_purge* -g:tlib#cache#max_filename tlib.txt /*g:tlib#cache#max_filename* -g:tlib#cache#purge_days tlib.txt /*g:tlib#cache#purge_days* -g:tlib#cache#purge_every_days tlib.txt /*g:tlib#cache#purge_every_days* -g:tlib#cache#run_script tlib.txt /*g:tlib#cache#run_script* -g:tlib#cache#script_encoding tlib.txt /*g:tlib#cache#script_encoding* -g:tlib#cache#verbosity tlib.txt /*g:tlib#cache#verbosity* -g:tlib#debug tlib.txt /*g:tlib#debug* -g:tlib#dir#sep tlib.txt /*g:tlib#dir#sep* -g:tlib#file#absolute_filename_rx tlib.txt /*g:tlib#file#absolute_filename_rx* -g:tlib#file#drop tlib.txt /*g:tlib#file#drop* -g:tlib#file#edit_cmds tlib.txt /*g:tlib#file#edit_cmds* -g:tlib#file#use_tabs tlib.txt /*g:tlib#file#use_tabs* -g:tlib#hash#use_adler32 tlib.txt /*g:tlib#hash#use_adler32* -g:tlib#hash#use_crc32 tlib.txt /*g:tlib#hash#use_crc32* -g:tlib#input#and tlib.txt /*g:tlib#input#and* -g:tlib#input#filename_max_width tlib.txt /*g:tlib#input#filename_max_width* -g:tlib#input#filename_padding_r tlib.txt /*g:tlib#input#filename_padding_r* -g:tlib#input#filter_mode tlib.txt /*g:tlib#input#filter_mode* -g:tlib#input#format_filename tlib.txt /*g:tlib#input#format_filename* -g:tlib#input#handlers_EditList tlib.txt /*g:tlib#input#handlers_EditList* -g:tlib#input#higroup tlib.txt /*g:tlib#input#higroup* -g:tlib#input#keyagents_InputList_m tlib.txt /*g:tlib#input#keyagents_InputList_m* -g:tlib#input#keyagents_InputList_s tlib.txt /*g:tlib#input#keyagents_InputList_s* -g:tlib#input#livesearch_threshold tlib.txt /*g:tlib#input#livesearch_threshold* -g:tlib#input#not tlib.txt /*g:tlib#input#not* -g:tlib#input#numeric_chars tlib.txt /*g:tlib#input#numeric_chars* -g:tlib#input#or tlib.txt /*g:tlib#input#or* -g:tlib#input#sortprefs_threshold tlib.txt /*g:tlib#input#sortprefs_threshold* -g:tlib#input#use_popup tlib.txt /*g:tlib#input#use_popup* -g:tlib#input#user_shortcuts tlib.txt /*g:tlib#input#user_shortcuts* -g:tlib#scratch#hidden tlib.txt /*g:tlib#scratch#hidden* -g:tlib#sys#check_cygpath tlib.txt /*g:tlib#sys#check_cygpath* -g:tlib#sys#cygwin_expr tlib.txt /*g:tlib#sys#cygwin_expr* -g:tlib#sys#cygwin_path_rx tlib.txt /*g:tlib#sys#cygwin_path_rx* -g:tlib#sys#null tlib.txt /*g:tlib#sys#null* -g:tlib#sys#special_protocols tlib.txt /*g:tlib#sys#special_protocols* -g:tlib#sys#special_suffixes tlib.txt /*g:tlib#sys#special_suffixes* -g:tlib#sys#system_browser tlib.txt /*g:tlib#sys#system_browser* -g:tlib#sys#system_rx tlib.txt /*g:tlib#sys#system_rx* -g:tlib#sys#windows tlib.txt /*g:tlib#sys#windows* -g:tlib#trace#backtrace tlib.txt /*g:tlib#trace#backtrace* -g:tlib#trace#printf tlib.txt /*g:tlib#trace#printf* -g:tlib#vcs#check tlib.txt /*g:tlib#vcs#check* -g:tlib#vcs#def tlib.txt /*g:tlib#vcs#def* -g:tlib#vcs#executables tlib.txt /*g:tlib#vcs#executables* -g:tlib#vim#simalt_maximize tlib.txt /*g:tlib#vim#simalt_maximize* -g:tlib#vim#simalt_restore tlib.txt /*g:tlib#vim#simalt_restore* -g:tlib#vim#use_vimtweak tlib.txt /*g:tlib#vim#use_vimtweak* -g:tlib#vim#use_wmctrl tlib.txt /*g:tlib#vim#use_wmctrl* -g:tlib_cache tlib.txt /*g:tlib_cache* -g:tlib_inputlist_filename_indicators tlib.txt /*g:tlib_inputlist_filename_indicators* -g:tlib_inputlist_pct tlib.txt /*g:tlib_inputlist_pct* -g:tlib_inputlist_shortmessage tlib.txt /*g:tlib_inputlist_shortmessage* -g:tlib_inputlist_width_filename tlib.txt /*g:tlib_inputlist_width_filename* -g:tlib_persistent tlib.txt /*g:tlib_persistent* -g:tlib_pick_last_item tlib.txt /*g:tlib_pick_last_item* -g:tlib_scratch_pos tlib.txt /*g:tlib_scratch_pos* -g:tlib_scroll_lines tlib.txt /*g:tlib_scroll_lines* -g:tlib_tag_substitute tlib.txt /*g:tlib_tag_substitute* -g:tlib_tags_extra tlib.txt /*g:tlib_tags_extra* -g:tlib_viewline_position tlib.txt /*g:tlib_viewline_position* -o_sp tlib.txt /*o_sp* -standard-paragraph tlib.txt /*standard-paragraph* -tlib#Filter_cnf#New() tlib.txt /*tlib#Filter_cnf#New()* -tlib#Filter_cnfd#New() tlib.txt /*tlib#Filter_cnfd#New()* -tlib#Filter_fuzzy#New() tlib.txt /*tlib#Filter_fuzzy#New()* -tlib#Filter_glob#New() tlib.txt /*tlib#Filter_glob#New()* -tlib#Object#Methods() tlib.txt /*tlib#Object#Methods()* -tlib#Object#New() tlib.txt /*tlib#Object#New()* -tlib#World#New() tlib.txt /*tlib#World#New()* -tlib#agent#AND() tlib.txt /*tlib#agent#AND()* -tlib#agent#Complete() tlib.txt /*tlib#agent#Complete()* -tlib#agent#CompleteAgentNames() tlib.txt /*tlib#agent#CompleteAgentNames()* -tlib#agent#Copy() tlib.txt /*tlib#agent#Copy()* -tlib#agent#CopyItems() tlib.txt /*tlib#agent#CopyItems()* -tlib#agent#Cut() tlib.txt /*tlib#agent#Cut()* -tlib#agent#Debug() tlib.txt /*tlib#agent#Debug()* -tlib#agent#DeleteItems() tlib.txt /*tlib#agent#DeleteItems()* -tlib#agent#DoAtLine() tlib.txt /*tlib#agent#DoAtLine()* -tlib#agent#Down() tlib.txt /*tlib#agent#Down()* -tlib#agent#DownN() tlib.txt /*tlib#agent#DownN()* -tlib#agent#EditFile() tlib.txt /*tlib#agent#EditFile()* -tlib#agent#EditFileInSplit() tlib.txt /*tlib#agent#EditFileInSplit()* -tlib#agent#EditFileInTab() tlib.txt /*tlib#agent#EditFileInTab()* -tlib#agent#EditFileInVSplit() tlib.txt /*tlib#agent#EditFileInVSplit()* -tlib#agent#EditItem() tlib.txt /*tlib#agent#EditItem()* -tlib#agent#EditReturnValue() tlib.txt /*tlib#agent#EditReturnValue()* -tlib#agent#End() tlib.txt /*tlib#agent#End()* -tlib#agent#ExecAgentByName() tlib.txt /*tlib#agent#ExecAgentByName()* -tlib#agent#Exit() tlib.txt /*tlib#agent#Exit()* -tlib#agent#GotoLine() tlib.txt /*tlib#agent#GotoLine()* -tlib#agent#Help() tlib.txt /*tlib#agent#Help()* -tlib#agent#Home() tlib.txt /*tlib#agent#Home()* -tlib#agent#Input() tlib.txt /*tlib#agent#Input()* -tlib#agent#NewItem() tlib.txt /*tlib#agent#NewItem()* -tlib#agent#Null() tlib.txt /*tlib#agent#Null()* -tlib#agent#OR() tlib.txt /*tlib#agent#OR()* -tlib#agent#PageDown() tlib.txt /*tlib#agent#PageDown()* -tlib#agent#PageUp() tlib.txt /*tlib#agent#PageUp()* -tlib#agent#Paste() tlib.txt /*tlib#agent#Paste()* -tlib#agent#PopFilter() tlib.txt /*tlib#agent#PopFilter()* -tlib#agent#PreviewLine() tlib.txt /*tlib#agent#PreviewLine()* -tlib#agent#ReduceFilter() tlib.txt /*tlib#agent#ReduceFilter()* -tlib#agent#Reset() tlib.txt /*tlib#agent#Reset()* -tlib#agent#RestrictView() tlib.txt /*tlib#agent#RestrictView()* -tlib#agent#Select() tlib.txt /*tlib#agent#Select()* -tlib#agent#SelectAll() tlib.txt /*tlib#agent#SelectAll()* -tlib#agent#SelectDown() tlib.txt /*tlib#agent#SelectDown()* -tlib#agent#SelectUp() tlib.txt /*tlib#agent#SelectUp()* -tlib#agent#ShiftLeft() tlib.txt /*tlib#agent#ShiftLeft()* -tlib#agent#ShiftRight() tlib.txt /*tlib#agent#ShiftRight()* -tlib#agent#ShowInfo() tlib.txt /*tlib#agent#ShowInfo()* -tlib#agent#Suspend() tlib.txt /*tlib#agent#Suspend()* -tlib#agent#SuspendToParentWindow() tlib.txt /*tlib#agent#SuspendToParentWindow()* -tlib#agent#ToggleRestrictView() tlib.txt /*tlib#agent#ToggleRestrictView()* -tlib#agent#ToggleScrollbind() tlib.txt /*tlib#agent#ToggleScrollbind()* -tlib#agent#ToggleStickyList() tlib.txt /*tlib#agent#ToggleStickyList()* -tlib#agent#UnrestrictView() tlib.txt /*tlib#agent#UnrestrictView()* -tlib#agent#Up() tlib.txt /*tlib#agent#Up()* -tlib#agent#UpN() tlib.txt /*tlib#agent#UpN()* -tlib#agent#ViewFile() tlib.txt /*tlib#agent#ViewFile()* -tlib#agent#Wildcard() tlib.txt /*tlib#agent#Wildcard()* -tlib#arg#Ex() tlib.txt /*tlib#arg#Ex()* -tlib#arg#Get() tlib.txt /*tlib#arg#Get()* -tlib#arg#GetOpts() tlib.txt /*tlib#arg#GetOpts()* -tlib#arg#Let() tlib.txt /*tlib#arg#Let()* -tlib#arg#StringAsKeyArgs() tlib.txt /*tlib#arg#StringAsKeyArgs()* -tlib#arg#StringAsKeyArgsEqual() tlib.txt /*tlib#arg#StringAsKeyArgsEqual()* -tlib#assert#All() tlib.txt /*tlib#assert#All()* -tlib#assert#Assert() tlib.txt /*tlib#assert#Assert()* -tlib#assert#Disable() tlib.txt /*tlib#assert#Disable()* -tlib#assert#Enable() tlib.txt /*tlib#assert#Enable()* -tlib#assert#Map() tlib.txt /*tlib#assert#Map()* -tlib#autocmdgroup#Init() tlib.txt /*tlib#autocmdgroup#Init()* -tlib#balloon#Expand() tlib.txt /*tlib#balloon#Expand()* -tlib#balloon#Expr() tlib.txt /*tlib#balloon#Expr()* -tlib#balloon#Register() tlib.txt /*tlib#balloon#Register()* -tlib#balloon#Remove() tlib.txt /*tlib#balloon#Remove()* -tlib#bitwise#AND() tlib.txt /*tlib#bitwise#AND()* -tlib#bitwise#Add() tlib.txt /*tlib#bitwise#Add()* -tlib#bitwise#Bits2Num() tlib.txt /*tlib#bitwise#Bits2Num()* -tlib#bitwise#Num2Bits() tlib.txt /*tlib#bitwise#Num2Bits()* -tlib#bitwise#OR() tlib.txt /*tlib#bitwise#OR()* -tlib#bitwise#ShiftLeft() tlib.txt /*tlib#bitwise#ShiftLeft()* -tlib#bitwise#ShiftRight() tlib.txt /*tlib#bitwise#ShiftRight()* -tlib#bitwise#Sub() tlib.txt /*tlib#bitwise#Sub()* -tlib#bitwise#XOR() tlib.txt /*tlib#bitwise#XOR()* -tlib#buffer#BufDo() tlib.txt /*tlib#buffer#BufDo()* -tlib#buffer#CurrentByte() tlib.txt /*tlib#buffer#CurrentByte()* -tlib#buffer#DeleteRange() tlib.txt /*tlib#buffer#DeleteRange()* -tlib#buffer#DisableMRU() tlib.txt /*tlib#buffer#DisableMRU()* -tlib#buffer#EnableMRU() tlib.txt /*tlib#buffer#EnableMRU()* -tlib#buffer#Eval() tlib.txt /*tlib#buffer#Eval()* -tlib#buffer#GetList() tlib.txt /*tlib#buffer#GetList()* -tlib#buffer#HighlightLine() tlib.txt /*tlib#buffer#HighlightLine()* -tlib#buffer#InsertText() tlib.txt /*tlib#buffer#InsertText()* -tlib#buffer#InsertText0() tlib.txt /*tlib#buffer#InsertText0()* -tlib#buffer#KeepCursorPosition() tlib.txt /*tlib#buffer#KeepCursorPosition()* -tlib#buffer#ReplaceRange() tlib.txt /*tlib#buffer#ReplaceRange()* -tlib#buffer#ScratchEnd() tlib.txt /*tlib#buffer#ScratchEnd()* -tlib#buffer#ScratchStart() tlib.txt /*tlib#buffer#ScratchStart()* -tlib#buffer#Set() tlib.txt /*tlib#buffer#Set()* -tlib#buffer#ViewLine() tlib.txt /*tlib#buffer#ViewLine()* -tlib#cache#Dir() tlib.txt /*tlib#cache#Dir()* -tlib#cache#Filename() tlib.txt /*tlib#cache#Filename()* -tlib#cache#Get() tlib.txt /*tlib#cache#Get()* -tlib#cache#ListFilesInCache() tlib.txt /*tlib#cache#ListFilesInCache()* -tlib#cache#MTime() tlib.txt /*tlib#cache#MTime()* -tlib#cache#MaybePurge() tlib.txt /*tlib#cache#MaybePurge()* -tlib#cache#Purge() tlib.txt /*tlib#cache#Purge()* -tlib#cache#Save() tlib.txt /*tlib#cache#Save()* -tlib#cache#Value() tlib.txt /*tlib#cache#Value()* -tlib#char#Get() tlib.txt /*tlib#char#Get()* -tlib#char#GetWithTimeout() tlib.txt /*tlib#char#GetWithTimeout()* -tlib#char#IsAvailable() tlib.txt /*tlib#char#IsAvailable()* -tlib#cmd#BrowseOutput() tlib.txt /*tlib#cmd#BrowseOutput()* -tlib#cmd#BrowseOutputWithCallback() tlib.txt /*tlib#cmd#BrowseOutputWithCallback()* -tlib#cmd#Capture() tlib.txt /*tlib#cmd#Capture()* -tlib#cmd#DefaultBrowseOutput() tlib.txt /*tlib#cmd#DefaultBrowseOutput()* -tlib#cmd#OutputAsList() tlib.txt /*tlib#cmd#OutputAsList()* -tlib#cmd#ParseScriptname() tlib.txt /*tlib#cmd#ParseScriptname()* -tlib#cmd#TBrowseScriptnames() tlib.txt /*tlib#cmd#TBrowseScriptnames()* -tlib#cmd#Time() tlib.txt /*tlib#cmd#Time()* -tlib#cmd#UseVertical() tlib.txt /*tlib#cmd#UseVertical()* -tlib#comments#Comments() tlib.txt /*tlib#comments#Comments()* -tlib#date#DiffInDays() tlib.txt /*tlib#date#DiffInDays()* -tlib#date#Format() tlib.txt /*tlib#date#Format()* -tlib#date#IsDate() tlib.txt /*tlib#date#IsDate()* -tlib#date#Parse() tlib.txt /*tlib#date#Parse()* -tlib#date#SecondsSince1970() tlib.txt /*tlib#date#SecondsSince1970()* -tlib#date#Shift() tlib.txt /*tlib#date#Shift()* -tlib#dictionary#Rev() tlib.txt /*tlib#dictionary#Rev()* -tlib#dir#CD() tlib.txt /*tlib#dir#CD()* -tlib#dir#CanonicName() tlib.txt /*tlib#dir#CanonicName()* -tlib#dir#Ensure() tlib.txt /*tlib#dir#Ensure()* -tlib#dir#MyRuntime() tlib.txt /*tlib#dir#MyRuntime()* -tlib#dir#NativeName() tlib.txt /*tlib#dir#NativeName()* -tlib#dir#PlainName() tlib.txt /*tlib#dir#PlainName()* -tlib#dir#Pop() tlib.txt /*tlib#dir#Pop()* -tlib#dir#Push() tlib.txt /*tlib#dir#Push()* -tlib#eval#Extend() tlib.txt /*tlib#eval#Extend()* -tlib#eval#FormatValue() tlib.txt /*tlib#eval#FormatValue()* -tlib#file#Absolute() tlib.txt /*tlib#file#Absolute()* -tlib#file#Canonic() tlib.txt /*tlib#file#Canonic()* -tlib#file#Edit() tlib.txt /*tlib#file#Edit()* -tlib#file#Glob() tlib.txt /*tlib#file#Glob()* -tlib#file#Globpath() tlib.txt /*tlib#file#Globpath()* -tlib#file#Join() tlib.txt /*tlib#file#Join()* -tlib#file#Relative() tlib.txt /*tlib#file#Relative()* -tlib#file#Split() tlib.txt /*tlib#file#Split()* -tlib#file#With() tlib.txt /*tlib#file#With()* -tlib#fixes#Winpos() tlib.txt /*tlib#fixes#Winpos()* -tlib#grep#Do() tlib.txt /*tlib#grep#Do()* -tlib#grep#List() tlib.txt /*tlib#grep#List()* -tlib#grep#LocList() tlib.txt /*tlib#grep#LocList()* -tlib#grep#QuickFixList() tlib.txt /*tlib#grep#QuickFixList()* -tlib#hash#Adler32() tlib.txt /*tlib#hash#Adler32()* -tlib#hash#Adler32_tlib() tlib.txt /*tlib#hash#Adler32_tlib()* -tlib#hash#Adler32_vim() tlib.txt /*tlib#hash#Adler32_vim()* -tlib#hash#CRC32B() tlib.txt /*tlib#hash#CRC32B()* -tlib#hash#CRC32B_ruby() tlib.txt /*tlib#hash#CRC32B_ruby()* -tlib#hash#CRC32B_vim() tlib.txt /*tlib#hash#CRC32B_vim()* -tlib#hook#Run() tlib.txt /*tlib#hook#Run()* -tlib#input#CommandSelect() tlib.txt /*tlib#input#CommandSelect()* -tlib#input#Dialog() tlib.txt /*tlib#input#Dialog()* -tlib#input#Edit() tlib.txt /*tlib#input#Edit()* -tlib#input#EditList() tlib.txt /*tlib#input#EditList()* -tlib#input#List() tlib.txt /*tlib#input#List()* -tlib#input#ListD() tlib.txt /*tlib#input#ListD()* -tlib#input#ListW() tlib.txt /*tlib#input#ListW()* -tlib#input#Resume() tlib.txt /*tlib#input#Resume()* -tlib#list#All() tlib.txt /*tlib#list#All()* -tlib#list#Any() tlib.txt /*tlib#list#Any()* -tlib#list#Compact() tlib.txt /*tlib#list#Compact()* -tlib#list#Find() tlib.txt /*tlib#list#Find()* -tlib#list#FindAll() tlib.txt /*tlib#list#FindAll()* -tlib#list#Flatten() tlib.txt /*tlib#list#Flatten()* -tlib#list#Inject() tlib.txt /*tlib#list#Inject()* -tlib#list#Remove() tlib.txt /*tlib#list#Remove()* -tlib#list#RemoveAll() tlib.txt /*tlib#list#RemoveAll()* -tlib#list#ToDictionary() tlib.txt /*tlib#list#ToDictionary()* -tlib#list#Uniq() tlib.txt /*tlib#list#Uniq()* -tlib#list#Zip() tlib.txt /*tlib#list#Zip()* -tlib#loclist#Browse() tlib.txt /*tlib#loclist#Browse()* -tlib#map#PumAccept() tlib.txt /*tlib#map#PumAccept()* -tlib#normal#WithRegister() tlib.txt /*tlib#normal#WithRegister()* -tlib#notify#Echo() tlib.txt /*tlib#notify#Echo()* -tlib#notify#TrimMessage() tlib.txt /*tlib#notify#TrimMessage()* -tlib#number#ConvertBase() tlib.txt /*tlib#number#ConvertBase()* -tlib#paragraph#GetMetric() tlib.txt /*tlib#paragraph#GetMetric()* -tlib#paragraph#Move() tlib.txt /*tlib#paragraph#Move()* -tlib#persistent#Dir() tlib.txt /*tlib#persistent#Dir()* -tlib#persistent#Filename() tlib.txt /*tlib#persistent#Filename()* -tlib#persistent#Get() tlib.txt /*tlib#persistent#Get()* -tlib#persistent#MTime() tlib.txt /*tlib#persistent#MTime()* -tlib#persistent#Save() tlib.txt /*tlib#persistent#Save()* -tlib#persistent#Value() tlib.txt /*tlib#persistent#Value()* -tlib#progressbar#Display() tlib.txt /*tlib#progressbar#Display()* -tlib#progressbar#Init() tlib.txt /*tlib#progressbar#Init()* -tlib#progressbar#Restore() tlib.txt /*tlib#progressbar#Restore()* -tlib#qfl#AgentEditLine() tlib.txt /*tlib#qfl#AgentEditLine()* -tlib#qfl#AgentEditQFE() tlib.txt /*tlib#qfl#AgentEditQFE()* -tlib#qfl#AgentGotoQFE() tlib.txt /*tlib#qfl#AgentGotoQFE()* -tlib#qfl#AgentPreviewQFE() tlib.txt /*tlib#qfl#AgentPreviewQFE()* -tlib#qfl#AgentSplitBuffer() tlib.txt /*tlib#qfl#AgentSplitBuffer()* -tlib#qfl#AgentTabBuffer() tlib.txt /*tlib#qfl#AgentTabBuffer()* -tlib#qfl#AgentVSplitBuffer() tlib.txt /*tlib#qfl#AgentVSplitBuffer()* -tlib#qfl#AgentWithSelected() tlib.txt /*tlib#qfl#AgentWithSelected()* -tlib#qfl#Balloon() tlib.txt /*tlib#qfl#Balloon()* -tlib#qfl#Browse() tlib.txt /*tlib#qfl#Browse()* -tlib#qfl#EditLine() tlib.txt /*tlib#qfl#EditLine()* -tlib#qfl#FormatQFLE() tlib.txt /*tlib#qfl#FormatQFLE()* -tlib#qfl#InitListBuffer() tlib.txt /*tlib#qfl#InitListBuffer()* -tlib#qfl#QfeFilename() tlib.txt /*tlib#qfl#QfeFilename()* -tlib#qfl#QflList() tlib.txt /*tlib#qfl#QflList()* -tlib#qfl#RunCmdOnSelected() tlib.txt /*tlib#qfl#RunCmdOnSelected()* -tlib#qfl#SetFollowCursor() tlib.txt /*tlib#qfl#SetFollowCursor()* -tlib#qfl#SetSyntax() tlib.txt /*tlib#qfl#SetSyntax()* -tlib#rx#Escape() tlib.txt /*tlib#rx#Escape()* -tlib#rx#EscapeReplace() tlib.txt /*tlib#rx#EscapeReplace()* -tlib#rx#LooksLikeRegexp() tlib.txt /*tlib#rx#LooksLikeRegexp()* -tlib#rx#Suffixes() tlib.txt /*tlib#rx#Suffixes()* -tlib#scratch#CloseScratch() tlib.txt /*tlib#scratch#CloseScratch()* -tlib#scratch#UseScratch() tlib.txt /*tlib#scratch#UseScratch()* -tlib#signs#ClearAll() tlib.txt /*tlib#signs#ClearAll()* -tlib#signs#ClearBuffer() tlib.txt /*tlib#signs#ClearBuffer()* -tlib#signs#Mark() tlib.txt /*tlib#signs#Mark()* -tlib#string#Chomp() tlib.txt /*tlib#string#Chomp()* -tlib#string#Count() tlib.txt /*tlib#string#Count()* -tlib#string#Format() tlib.txt /*tlib#string#Format()* -tlib#string#Printf1() tlib.txt /*tlib#string#Printf1()* -tlib#string#RemoveBackslashes() tlib.txt /*tlib#string#RemoveBackslashes()* -tlib#string#SplitCommaList() tlib.txt /*tlib#string#SplitCommaList()* -tlib#string#Strip() tlib.txt /*tlib#string#Strip()* -tlib#string#TrimLeft() tlib.txt /*tlib#string#TrimLeft()* -tlib#string#TrimRight() tlib.txt /*tlib#string#TrimRight()* -tlib#syntax#Collect() tlib.txt /*tlib#syntax#Collect()* -tlib#syntax#Names() tlib.txt /*tlib#syntax#Names()* -tlib#sys#ConvertPath() tlib.txt /*tlib#sys#ConvertPath()* -tlib#sys#FileArgs() tlib.txt /*tlib#sys#FileArgs()* -tlib#sys#GetCmd() tlib.txt /*tlib#sys#GetCmd()* -tlib#sys#IsCygwinBin() tlib.txt /*tlib#sys#IsCygwinBin()* -tlib#sys#IsExecutable() tlib.txt /*tlib#sys#IsExecutable()* -tlib#sys#IsSpecial() tlib.txt /*tlib#sys#IsSpecial()* -tlib#sys#MaybeUseCygpath() tlib.txt /*tlib#sys#MaybeUseCygpath()* -tlib#sys#Open() tlib.txt /*tlib#sys#Open()* -tlib#sys#SystemInDir() tlib.txt /*tlib#sys#SystemInDir()* -tlib#tab#BufMap() tlib.txt /*tlib#tab#BufMap()* -tlib#tab#Set() tlib.txt /*tlib#tab#Set()* -tlib#tab#TabWinNr() tlib.txt /*tlib#tab#TabWinNr()* -tlib#tag#Collect() tlib.txt /*tlib#tag#Collect()* -tlib#tag#Format() tlib.txt /*tlib#tag#Format()* -tlib#tag#Retrieve() tlib.txt /*tlib#tag#Retrieve()* -tlib#textobjects#Init() tlib.txt /*tlib#textobjects#Init()* -tlib#time#Diff() tlib.txt /*tlib#time#Diff()* -tlib#time#DiffMSecs() tlib.txt /*tlib#time#DiffMSecs()* -tlib#time#FormatNow() tlib.txt /*tlib#time#FormatNow()* -tlib#time#MSecs() tlib.txt /*tlib#time#MSecs()* -tlib#time#Now() tlib.txt /*tlib#time#Now()* -tlib#trace#Backtrace() tlib.txt /*tlib#trace#Backtrace()* -tlib#trace#Disable() tlib.txt /*tlib#trace#Disable()* -tlib#trace#Enable() tlib.txt /*tlib#trace#Enable()* -tlib#trace#Print() tlib.txt /*tlib#trace#Print()* -tlib#trace#PrintToFile() tlib.txt /*tlib#trace#PrintToFile()* -tlib#trace#Set() tlib.txt /*tlib#trace#Set()* -tlib#type#Are() tlib.txt /*tlib#type#Are()* -tlib#type#Has() tlib.txt /*tlib#type#Has()* -tlib#type#Have() tlib.txt /*tlib#type#Have()* -tlib#type#Is() tlib.txt /*tlib#type#Is()* -tlib#type#IsDictionary() tlib.txt /*tlib#type#IsDictionary()* -tlib#type#IsFuncref() tlib.txt /*tlib#type#IsFuncref()* -tlib#type#IsList() tlib.txt /*tlib#type#IsList()* -tlib#type#IsNumber() tlib.txt /*tlib#type#IsNumber()* -tlib#type#IsString() tlib.txt /*tlib#type#IsString()* -tlib#url#Decode() tlib.txt /*tlib#url#Decode()* -tlib#url#DecodeChar() tlib.txt /*tlib#url#DecodeChar()* -tlib#url#Encode() tlib.txt /*tlib#url#Encode()* -tlib#url#EncodeChar() tlib.txt /*tlib#url#EncodeChar()* -tlib#var#EGet() tlib.txt /*tlib#var#EGet()* -tlib#var#Get() tlib.txt /*tlib#var#Get()* -tlib#var#Let() tlib.txt /*tlib#var#Let()* -tlib#var#List() tlib.txt /*tlib#var#List()* -tlib#vcs#Diff() tlib.txt /*tlib#vcs#Diff()* -tlib#vcs#Executable() tlib.txt /*tlib#vcs#Executable()* -tlib#vcs#FindVCS() tlib.txt /*tlib#vcs#FindVCS()* -tlib#vcs#GitLsPostprocess() tlib.txt /*tlib#vcs#GitLsPostprocess()* -tlib#vcs#Ls() tlib.txt /*tlib#vcs#Ls()* -tlib#vim#CopyFunction() tlib.txt /*tlib#vim#CopyFunction()* -tlib#vim#Maximize() tlib.txt /*tlib#vim#Maximize()* -tlib#vim#RestoreWindow() tlib.txt /*tlib#vim#RestoreWindow()* -tlib#win#GetLayout() tlib.txt /*tlib#win#GetLayout()* -tlib#win#List() tlib.txt /*tlib#win#List()* -tlib#win#Set() tlib.txt /*tlib#win#Set()* -tlib#win#SetLayout() tlib.txt /*tlib#win#SetLayout()* -tlib#win#Width() tlib.txt /*tlib#win#Width()* -tlib#win#WinDo() tlib.txt /*tlib#win#WinDo()* -tlib.txt tlib.txt /*tlib.txt* -v_sp tlib.txt /*v_sp* diff --git a/.vim_runtime/sources_non_forked/tlib/doc/tlib.txt b/.vim_runtime/sources_non_forked/tlib/doc/tlib.txt deleted file mode 100644 index 379dc54..0000000 --- a/.vim_runtime/sources_non_forked/tlib/doc/tlib.txt +++ /dev/null @@ -1,2497 +0,0 @@ -*tlib.txt* tlib -- A library of vim functions - Author: Tom Link, micathom at gmail com - -This library provides some utility functions. There isn't much need to -install it unless another plugin requires you to do so. - -Most of the library is included in autoload files. No autocommands are -created. With the exception of loading ../plugin/02tlib.vim at startup -the library has no impact on startup time or anything else. - -The change-log is included at the bottom of ../plugin/02tlib.vim -(move the cursor over the file name and type gfG) - -Demo of |tlib#input#List()|: -http://vimsomnia.blogspot.com/2010/11/selecting-items-from-list-with-tlibs.html - - ------------------------------------------------------------------------ -Install~ - -Edit the vba file and type: > - - :so % - -See :help vimball for details. If you have difficulties, please make -sure, you have the current version of vimball (vimscript #1502) -installed. - - -======================================================================== -Contents~ - - :TLet .................................. |:TLet| - :TScratch .............................. |:TScratch| - :TVarArg ............................... |:TVarArg| - :TBrowseOutput ......................... |:TBrowseOutput| - :TBrowseScriptnames .................... |:TBrowseScriptnames| - :Tlibtrace ............................. |:Tlibtrace| - :Tlibtraceset .......................... |:Tlibtraceset| - :Tlibassert ............................ |:Tlibassert| - Add .................................... |Add()| - TestGetArg ............................. |TestGetArg()| - TestGetArg1 ............................ |TestGetArg1()| - TestArgs ............................... |TestArgs()| - TestArgs1 .............................. |TestArgs1()| - TestArgs2 .............................. |TestArgs2()| - TestArgs3 .............................. |TestArgs3()| - g:tlib#debug ........................... |g:tlib#debug| - tlib#notify#Echo ....................... |tlib#notify#Echo()| - tlib#notify#TrimMessage ................ |tlib#notify#TrimMessage()| - g:tlib#trace#backtrace ................. |g:tlib#trace#backtrace| - g:tlib#trace#printf .................... |g:tlib#trace#printf| - tlib#trace#PrintToFile ................. |tlib#trace#PrintToFile()| - tlib#trace#Set ......................... |tlib#trace#Set()| - tlib#trace#Backtrace ................... |tlib#trace#Backtrace()| - tlib#trace#Print ....................... |tlib#trace#Print()| - tlib#trace#Enable ...................... |tlib#trace#Enable()| - tlib#trace#Disable ..................... |tlib#trace#Disable()| - tlib#dictionary#Rev .................... |tlib#dictionary#Rev()| - g:tlib_persistent ...................... |g:tlib_persistent| - tlib#persistent#Dir .................... |tlib#persistent#Dir()| - tlib#persistent#Filename ............... |tlib#persistent#Filename()| - tlib#persistent#Get .................... |tlib#persistent#Get()| - tlib#persistent#MTime .................. |tlib#persistent#MTime()| - tlib#persistent#Value .................. |tlib#persistent#Value()| - tlib#persistent#Save ................... |tlib#persistent#Save()| - g:tlib#vim#simalt_maximize ............. |g:tlib#vim#simalt_maximize| - g:tlib#vim#simalt_restore .............. |g:tlib#vim#simalt_restore| - g:tlib#vim#use_vimtweak ................ |g:tlib#vim#use_vimtweak| - tlib#vim#Maximize ...................... |tlib#vim#Maximize()| - tlib#vim#RestoreWindow ................. |tlib#vim#RestoreWindow()| - g:tlib#vim#use_wmctrl .................. |g:tlib#vim#use_wmctrl| - tlib#vim#CopyFunction .................. |tlib#vim#CopyFunction()| - tlib#progressbar#Init .................. |tlib#progressbar#Init()| - tlib#progressbar#Display ............... |tlib#progressbar#Display()| - tlib#progressbar#Restore ............... |tlib#progressbar#Restore()| - tlib#eval#FormatValue .................. |tlib#eval#FormatValue()| - tlib#eval#Extend ....................... |tlib#eval#Extend()| - tlib#list#Inject ....................... |tlib#list#Inject()| - tlib#list#Compact ...................... |tlib#list#Compact()| - tlib#list#Flatten ...................... |tlib#list#Flatten()| - tlib#list#FindAll ...................... |tlib#list#FindAll()| - tlib#list#Find ......................... |tlib#list#Find()| - tlib#list#Any .......................... |tlib#list#Any()| - tlib#list#All .......................... |tlib#list#All()| - tlib#list#Remove ....................... |tlib#list#Remove()| - tlib#list#RemoveAll .................... |tlib#list#RemoveAll()| - tlib#list#Zip .......................... |tlib#list#Zip()| - tlib#list#Uniq ......................... |tlib#list#Uniq()| - tlib#list#ToDictionary ................. |tlib#list#ToDictionary()| - tlib#cmd#OutputAsList .................. |tlib#cmd#OutputAsList()| - tlib#cmd#BrowseOutput .................. |tlib#cmd#BrowseOutput()| - tlib#cmd#BrowseOutputWithCallback ...... |tlib#cmd#BrowseOutputWithCallback()| - tlib#cmd#DefaultBrowseOutput ........... |tlib#cmd#DefaultBrowseOutput()| - tlib#cmd#ParseScriptname ............... |tlib#cmd#ParseScriptname()| - tlib#cmd#TBrowseScriptnames ............ |tlib#cmd#TBrowseScriptnames()| - tlib#cmd#UseVertical ................... |tlib#cmd#UseVertical()| - tlib#cmd#Time .......................... |tlib#cmd#Time()| - tlib#cmd#Capture ....................... |tlib#cmd#Capture()| - tlib#syntax#Collect .................... |tlib#syntax#Collect()| - tlib#syntax#Names ...................... |tlib#syntax#Names()| - tlib#balloon#Register .................. |tlib#balloon#Register()| - tlib#balloon#Remove .................... |tlib#balloon#Remove()| - tlib#balloon#Expr ...................... |tlib#balloon#Expr()| - tlib#balloon#Expand .................... |tlib#balloon#Expand()| - g:tlib#vcs#def ......................... |g:tlib#vcs#def| - g:tlib#vcs#executables ................. |g:tlib#vcs#executables| - g:tlib#vcs#check ....................... |g:tlib#vcs#check| - tlib#vcs#Executable .................... |tlib#vcs#Executable()| - tlib#vcs#FindVCS ....................... |tlib#vcs#FindVCS()| - tlib#vcs#Ls ............................ |tlib#vcs#Ls()| - tlib#vcs#Diff .......................... |tlib#vcs#Diff()| - tlib#vcs#GitLsPostprocess .............. |tlib#vcs#GitLsPostprocess()| - tlib#char#Get .......................... |tlib#char#Get()| - tlib#char#IsAvailable .................. |tlib#char#IsAvailable()| - tlib#char#GetWithTimeout ............... |tlib#char#GetWithTimeout()| - g:tlib#Filter_glob#seq ................. |g:tlib#Filter_glob#seq| - g:tlib#Filter_glob#char ................ |g:tlib#Filter_glob#char| - tlib#Filter_glob#New ................... |tlib#Filter_glob#New()| - g:tlib_scratch_pos ..................... |g:tlib_scratch_pos| - g:tlib#scratch#hidden .................. |g:tlib#scratch#hidden| - tlib#scratch#UseScratch ................ |tlib#scratch#UseScratch()| - tlib#scratch#CloseScratch .............. |tlib#scratch#CloseScratch()| - tlib#autocmdgroup#Init ................. |tlib#autocmdgroup#Init()| - g:tlib_cache ........................... |g:tlib_cache| - g:tlib#cache#purge_days ................ |g:tlib#cache#purge_days| - g:tlib#cache#purge_every_days .......... |g:tlib#cache#purge_every_days| - g:tlib#cache#script_encoding ........... |g:tlib#cache#script_encoding| - g:tlib#cache#run_script ................ |g:tlib#cache#run_script| - g:tlib#cache#verbosity ................. |g:tlib#cache#verbosity| - g:tlib#cache#dont_purge ................ |g:tlib#cache#dont_purge| - g:tlib#cache#max_filename .............. |g:tlib#cache#max_filename| - tlib#cache#Dir ......................... |tlib#cache#Dir()| - tlib#cache#Filename .................... |tlib#cache#Filename()| - tlib#cache#Save ........................ |tlib#cache#Save()| - tlib#cache#MTime ....................... |tlib#cache#MTime()| - tlib#cache#Get ......................... |tlib#cache#Get()| - tlib#cache#Value ....................... |tlib#cache#Value()| - tlib#cache#MaybePurge .................. |tlib#cache#MaybePurge()| - tlib#cache#Purge ....................... |tlib#cache#Purge()| - tlib#cache#ListFilesInCache ............ |tlib#cache#ListFilesInCache()| - tlib#normal#WithRegister ............... |tlib#normal#WithRegister()| - tlib#time#MSecs ........................ |tlib#time#MSecs()| - tlib#time#Now .......................... |tlib#time#Now()| - tlib#time#FormatNow .................... |tlib#time#FormatNow()| - tlib#time#Diff ......................... |tlib#time#Diff()| - tlib#time#DiffMSecs .................... |tlib#time#DiffMSecs()| - tlib#var#Let ........................... |tlib#var#Let()| - tlib#var#EGet .......................... |tlib#var#EGet()| - tlib#var#Get ........................... |tlib#var#Get()| - tlib#var#List .......................... |tlib#var#List()| - g:tlib_scroll_lines .................... |g:tlib_scroll_lines| - tlib#agent#Exit ........................ |tlib#agent#Exit()| - tlib#agent#CopyItems ................... |tlib#agent#CopyItems()| - tlib#agent#PageUp ...................... |tlib#agent#PageUp()| - tlib#agent#PageDown .................... |tlib#agent#PageDown()| - tlib#agent#Home ........................ |tlib#agent#Home()| - tlib#agent#End ......................... |tlib#agent#End()| - tlib#agent#Up .......................... |tlib#agent#Up()| - tlib#agent#Down ........................ |tlib#agent#Down()| - tlib#agent#UpN ......................... |tlib#agent#UpN()| - tlib#agent#DownN ....................... |tlib#agent#DownN()| - tlib#agent#ShiftLeft ................... |tlib#agent#ShiftLeft()| - tlib#agent#ShiftRight .................. |tlib#agent#ShiftRight()| - tlib#agent#Reset ....................... |tlib#agent#Reset()| - tlib#agent#ToggleRestrictView .......... |tlib#agent#ToggleRestrictView()| - tlib#agent#RestrictView ................ |tlib#agent#RestrictView()| - tlib#agent#UnrestrictView .............. |tlib#agent#UnrestrictView()| - tlib#agent#Input ....................... |tlib#agent#Input()| - tlib#agent#SuspendToParentWindow ....... |tlib#agent#SuspendToParentWindow()| - tlib#agent#Suspend ..................... |tlib#agent#Suspend()| - tlib#agent#Help ........................ |tlib#agent#Help()| - tlib#agent#OR .......................... |tlib#agent#OR()| - tlib#agent#AND ......................... |tlib#agent#AND()| - tlib#agent#ReduceFilter ................ |tlib#agent#ReduceFilter()| - tlib#agent#PopFilter ................... |tlib#agent#PopFilter()| - tlib#agent#Debug ....................... |tlib#agent#Debug()| - tlib#agent#Select ...................... |tlib#agent#Select()| - tlib#agent#SelectUp .................... |tlib#agent#SelectUp()| - tlib#agent#SelectDown .................. |tlib#agent#SelectDown()| - tlib#agent#SelectAll ................... |tlib#agent#SelectAll()| - tlib#agent#ToggleStickyList ............ |tlib#agent#ToggleStickyList()| - tlib#agent#EditItem .................... |tlib#agent#EditItem()| - tlib#agent#NewItem ..................... |tlib#agent#NewItem()| - tlib#agent#DeleteItems ................. |tlib#agent#DeleteItems()| - tlib#agent#Cut ......................... |tlib#agent#Cut()| - tlib#agent#Copy ........................ |tlib#agent#Copy()| - tlib#agent#Paste ....................... |tlib#agent#Paste()| - tlib#agent#EditReturnValue ............. |tlib#agent#EditReturnValue()| - tlib#agent#ViewFile .................... |tlib#agent#ViewFile()| - tlib#agent#EditFile .................... |tlib#agent#EditFile()| - tlib#agent#EditFileInSplit ............. |tlib#agent#EditFileInSplit()| - tlib#agent#EditFileInVSplit ............ |tlib#agent#EditFileInVSplit()| - tlib#agent#EditFileInTab ............... |tlib#agent#EditFileInTab()| - tlib#agent#ToggleScrollbind ............ |tlib#agent#ToggleScrollbind()| - tlib#agent#ShowInfo .................... |tlib#agent#ShowInfo()| - tlib#agent#PreviewLine ................. |tlib#agent#PreviewLine()| - tlib#agent#GotoLine .................... |tlib#agent#GotoLine()| - tlib#agent#DoAtLine .................... |tlib#agent#DoAtLine()| - tlib#agent#Wildcard .................... |tlib#agent#Wildcard()| - tlib#agent#Null ........................ |tlib#agent#Null()| - tlib#agent#ExecAgentByName ............. |tlib#agent#ExecAgentByName()| - tlib#agent#CompleteAgentNames .......... |tlib#agent#CompleteAgentNames()| - tlib#agent#Complete .................... |tlib#agent#Complete()| - tlib#bitwise#Num2Bits .................. |tlib#bitwise#Num2Bits()| - tlib#bitwise#Bits2Num .................. |tlib#bitwise#Bits2Num()| - tlib#bitwise#AND ....................... |tlib#bitwise#AND()| - tlib#bitwise#OR ........................ |tlib#bitwise#OR()| - tlib#bitwise#XOR ....................... |tlib#bitwise#XOR()| - tlib#bitwise#ShiftRight ................ |tlib#bitwise#ShiftRight()| - tlib#bitwise#ShiftLeft ................. |tlib#bitwise#ShiftLeft()| - tlib#bitwise#Add ....................... |tlib#bitwise#Add()| - tlib#bitwise#Sub ....................... |tlib#bitwise#Sub()| - tlib#url#Decode ........................ |tlib#url#Decode()| - tlib#url#DecodeChar .................... |tlib#url#DecodeChar()| - tlib#url#EncodeChar .................... |tlib#url#EncodeChar()| - tlib#url#Encode ........................ |tlib#url#Encode()| - tlib#signs#ClearAll .................... |tlib#signs#ClearAll()| - tlib#signs#ClearBuffer ................. |tlib#signs#ClearBuffer()| - tlib#signs#Mark ........................ |tlib#signs#Mark()| - tlib#rx#Escape ......................... |tlib#rx#Escape()| - tlib#rx#EscapeReplace .................. |tlib#rx#EscapeReplace()| - tlib#rx#Suffixes ....................... |tlib#rx#Suffixes()| - tlib#rx#LooksLikeRegexp ................ |tlib#rx#LooksLikeRegexp()| - g:tlib_tags_extra ...................... |g:tlib_tags_extra| - g:tlib_tag_substitute .................. |g:tlib_tag_substitute| - tlib#tag#Retrieve ...................... |tlib#tag#Retrieve()| - tlib#tag#Collect ....................... |tlib#tag#Collect()| - tlib#tag#Format ........................ |tlib#tag#Format()| - tlib#map#PumAccept ..................... |tlib#map#PumAccept()| - tlib#Filter_cnfd#New ................... |tlib#Filter_cnfd#New()| - g:tlib#input#sortprefs_threshold ....... |g:tlib#input#sortprefs_threshold| - g:tlib#input#livesearch_threshold ...... |g:tlib#input#livesearch_threshold| - g:tlib#input#filter_mode ............... |g:tlib#input#filter_mode| - g:tlib#input#higroup ................... |g:tlib#input#higroup| - g:tlib_pick_last_item .................. |g:tlib_pick_last_item| - g:tlib#input#and ....................... |g:tlib#input#and| - g:tlib#input#or ........................ |g:tlib#input#or| - g:tlib#input#not ....................... |g:tlib#input#not| - g:tlib#input#numeric_chars ............. |g:tlib#input#numeric_chars| - g:tlib#input#keyagents_InputList_s ..... |g:tlib#input#keyagents_InputList_s| - g:tlib#input#keyagents_InputList_m ..... |g:tlib#input#keyagents_InputList_m| - g:tlib#input#handlers_EditList ......... |g:tlib#input#handlers_EditList| - g:tlib#input#user_shortcuts ............ |g:tlib#input#user_shortcuts| - g:tlib#input#use_popup ................. |g:tlib#input#use_popup| - g:tlib#input#format_filename ........... |g:tlib#input#format_filename| - g:tlib#input#filename_padding_r ........ |g:tlib#input#filename_padding_r| - g:tlib#input#filename_max_width ........ |g:tlib#input#filename_max_width| - tlib#input#List ........................ |tlib#input#List()| - tlib#input#ListD ....................... |tlib#input#ListD()| - tlib#input#ListW ....................... |tlib#input#ListW()| - tlib#input#EditList .................... |tlib#input#EditList()| - tlib#input#Resume ...................... |tlib#input#Resume()| - tlib#input#CommandSelect ............... |tlib#input#CommandSelect()| - tlib#input#Edit ........................ |tlib#input#Edit()| - tlib#input#Dialog ...................... |tlib#input#Dialog()| - tlib#number#ConvertBase ................ |tlib#number#ConvertBase()| - g:tlib#file#drop ....................... |g:tlib#file#drop| - g:tlib#file#use_tabs ................... |g:tlib#file#use_tabs| - g:tlib#file#edit_cmds .................. |g:tlib#file#edit_cmds| - g:tlib#file#absolute_filename_rx ....... |g:tlib#file#absolute_filename_rx| - tlib#file#Split ........................ |tlib#file#Split()| - tlib#file#Join ......................... |tlib#file#Join()| - tlib#file#Relative ..................... |tlib#file#Relative()| - tlib#file#Absolute ..................... |tlib#file#Absolute()| - tlib#file#Canonic ...................... |tlib#file#Canonic()| - tlib#file#With ......................... |tlib#file#With()| - tlib#file#Edit ......................... |tlib#file#Edit()| - tlib#file#Glob ......................... |tlib#file#Glob()| - tlib#file#Globpath ..................... |tlib#file#Globpath()| - g:tlib#sys#special_protocols ........... |g:tlib#sys#special_protocols| - g:tlib#sys#special_suffixes ............ |g:tlib#sys#special_suffixes| - g:tlib#sys#system_rx ................... |g:tlib#sys#system_rx| - g:tlib#sys#system_browser .............. |g:tlib#sys#system_browser| - g:tlib#sys#windows ..................... |g:tlib#sys#windows| - g:tlib#sys#null ........................ |g:tlib#sys#null| - tlib#sys#IsCygwinBin ................... |tlib#sys#IsCygwinBin()| - tlib#sys#IsExecutable .................. |tlib#sys#IsExecutable()| - g:tlib#sys#check_cygpath ............... |g:tlib#sys#check_cygpath| - g:tlib#sys#cygwin_path_rx .............. |g:tlib#sys#cygwin_path_rx| - g:tlib#sys#cygwin_expr ................. |g:tlib#sys#cygwin_expr| - tlib#sys#GetCmd ........................ |tlib#sys#GetCmd()| - tlib#sys#MaybeUseCygpath ............... |tlib#sys#MaybeUseCygpath()| - tlib#sys#ConvertPath ................... |tlib#sys#ConvertPath()| - tlib#sys#FileArgs ...................... |tlib#sys#FileArgs()| - tlib#sys#IsSpecial ..................... |tlib#sys#IsSpecial()| - tlib#sys#Open .......................... |tlib#sys#Open()| - tlib#sys#SystemInDir ................... |tlib#sys#SystemInDir()| - tlib#paragraph#GetMetric ............... |tlib#paragraph#GetMetric()| - tlib#paragraph#Move .................... |tlib#paragraph#Move()| - g:tlib_inputlist_pct ................... |g:tlib_inputlist_pct| - g:tlib_inputlist_width_filename ........ |g:tlib_inputlist_width_filename| - g:tlib_inputlist_filename_indicators ... |g:tlib_inputlist_filename_indicators| - g:tlib_inputlist_shortmessage .......... |g:tlib_inputlist_shortmessage| - tlib#World#New ......................... |tlib#World#New()| - prototype.PrintLines - prototype.Suspend - tlib#loclist#Browse .................... |tlib#loclist#Browse()| - tlib#tab#BufMap ........................ |tlib#tab#BufMap()| - tlib#tab#TabWinNr ...................... |tlib#tab#TabWinNr()| - tlib#tab#Set ........................... |tlib#tab#Set()| - tlib#date#IsDate ....................... |tlib#date#IsDate()| - tlib#date#Format ....................... |tlib#date#Format()| - tlib#date#DiffInDays ................... |tlib#date#DiffInDays()| - tlib#date#Parse ........................ |tlib#date#Parse()| - tlib#date#SecondsSince1970 ............. |tlib#date#SecondsSince1970()| - tlib#date#Shift ........................ |tlib#date#Shift()| - tlib#type#IsNumber ..................... |tlib#type#IsNumber()| - tlib#type#IsString ..................... |tlib#type#IsString()| - tlib#type#IsFuncref .................... |tlib#type#IsFuncref()| - tlib#type#IsList ....................... |tlib#type#IsList()| - tlib#type#IsDictionary ................. |tlib#type#IsDictionary()| - tlib#type#Is ........................... |tlib#type#Is()| - tlib#type#Are .......................... |tlib#type#Are()| - tlib#type#Has .......................... |tlib#type#Has()| - tlib#type#Have ......................... |tlib#type#Have()| - tlib#Filter_fuzzy#New .................. |tlib#Filter_fuzzy#New()| - tlib#assert#Enable ..................... |tlib#assert#Enable()| - tlib#assert#Disable .................... |tlib#assert#Disable()| - tlib#assert#Assert ..................... |tlib#assert#Assert()| - tlib#assert#Map ........................ |tlib#assert#Map()| - tlib#assert#All ........................ |tlib#assert#All()| - tlib#textobjects#StandardParagraph ..... |standard-paragraph| - tlib#textobjects#Init .................. |tlib#textobjects#Init()| - v_sp ................................... |v_sp| - o_sp ................................... |o_sp| - tlib#arg#Get ........................... |tlib#arg#Get()| - tlib#arg#Let ........................... |tlib#arg#Let()| - tlib#arg#StringAsKeyArgs ............... |tlib#arg#StringAsKeyArgs()| - tlib#arg#StringAsKeyArgsEqual .......... |tlib#arg#StringAsKeyArgsEqual()| - tlib#arg#GetOpts ....................... |tlib#arg#GetOpts()| - tlib#arg#Ex ............................ |tlib#arg#Ex()| - tlib#fixes#Winpos ...................... |tlib#fixes#Winpos()| - g:tlib#dir#sep ......................... |g:tlib#dir#sep| - tlib#dir#CanonicName ................... |tlib#dir#CanonicName()| - tlib#dir#NativeName .................... |tlib#dir#NativeName()| - tlib#dir#PlainName ..................... |tlib#dir#PlainName()| - tlib#dir#Ensure ........................ |tlib#dir#Ensure()| - tlib#dir#MyRuntime ..................... |tlib#dir#MyRuntime()| - tlib#dir#CD ............................ |tlib#dir#CD()| - tlib#dir#Push .......................... |tlib#dir#Push()| - tlib#dir#Pop ........................... |tlib#dir#Pop()| - g:tlib#hash#use_crc32 .................. |g:tlib#hash#use_crc32| - g:tlib#hash#use_adler32 ................ |g:tlib#hash#use_adler32| - tlib#hash#CRC32B ....................... |tlib#hash#CRC32B()| - tlib#hash#CRC32B_ruby .................. |tlib#hash#CRC32B_ruby()| - tlib#hash#CRC32B_vim ................... |tlib#hash#CRC32B_vim()| - tlib#hash#Adler32 ...................... |tlib#hash#Adler32()| - tlib#hash#Adler32_vim .................. |tlib#hash#Adler32_vim()| - tlib#hash#Adler32_tlib ................. |tlib#hash#Adler32_tlib()| - tlib#win#Set ........................... |tlib#win#Set()| - tlib#win#GetLayout ..................... |tlib#win#GetLayout()| - tlib#win#SetLayout ..................... |tlib#win#SetLayout()| - tlib#win#List .......................... |tlib#win#List()| - tlib#win#Width ......................... |tlib#win#Width()| - tlib#win#WinDo ......................... |tlib#win#WinDo()| - tlib#comments#Comments ................. |tlib#comments#Comments()| - tlib#grep#Do ........................... |tlib#grep#Do()| - tlib#grep#LocList ...................... |tlib#grep#LocList()| - tlib#grep#QuickFixList ................. |tlib#grep#QuickFixList()| - tlib#grep#List ......................... |tlib#grep#List()| - tlib#qfl#FormatQFLE .................... |tlib#qfl#FormatQFLE()| - tlib#qfl#QfeFilename ................... |tlib#qfl#QfeFilename()| - tlib#qfl#InitListBuffer ................ |tlib#qfl#InitListBuffer()| - tlib#qfl#SetSyntax ..................... |tlib#qfl#SetSyntax()| - tlib#qfl#Balloon ....................... |tlib#qfl#Balloon()| - tlib#qfl#AgentEditQFE .................. |tlib#qfl#AgentEditQFE()| - tlib#qfl#AgentPreviewQFE ............... |tlib#qfl#AgentPreviewQFE()| - tlib#qfl#AgentGotoQFE .................. |tlib#qfl#AgentGotoQFE()| - tlib#qfl#AgentWithSelected ............. |tlib#qfl#AgentWithSelected()| - tlib#qfl#RunCmdOnSelected .............. |tlib#qfl#RunCmdOnSelected()| - tlib#qfl#AgentSplitBuffer .............. |tlib#qfl#AgentSplitBuffer()| - tlib#qfl#AgentTabBuffer ................ |tlib#qfl#AgentTabBuffer()| - tlib#qfl#AgentVSplitBuffer ............. |tlib#qfl#AgentVSplitBuffer()| - tlib#qfl#AgentEditLine ................. |tlib#qfl#AgentEditLine()| - tlib#qfl#EditLine ...................... |tlib#qfl#EditLine()| - tlib#qfl#SetFollowCursor ............... |tlib#qfl#SetFollowCursor()| - tlib#qfl#QflList ....................... |tlib#qfl#QflList()| - tlib#qfl#Browse ........................ |tlib#qfl#Browse()| - tlib#Filter_cnf#New .................... |tlib#Filter_cnf#New()| - prototype.Pretty - tlib#Object#New ........................ |tlib#Object#New()| - prototype.New - prototype.Inherit - prototype.Extend - prototype.IsA - prototype.IsRelated - prototype.RespondTo - prototype.Super - tlib#Object#Methods .................... |tlib#Object#Methods()| - g:tlib_viewline_position ............... |g:tlib_viewline_position| - tlib#buffer#EnableMRU .................. |tlib#buffer#EnableMRU()| - tlib#buffer#DisableMRU ................. |tlib#buffer#DisableMRU()| - tlib#buffer#Set ........................ |tlib#buffer#Set()| - tlib#buffer#Eval ....................... |tlib#buffer#Eval()| - tlib#buffer#GetList .................... |tlib#buffer#GetList()| - tlib#buffer#ViewLine ................... |tlib#buffer#ViewLine()| - tlib#buffer#HighlightLine .............. |tlib#buffer#HighlightLine()| - tlib#buffer#DeleteRange ................ |tlib#buffer#DeleteRange()| - tlib#buffer#ReplaceRange ............... |tlib#buffer#ReplaceRange()| - tlib#buffer#ScratchStart ............... |tlib#buffer#ScratchStart()| - tlib#buffer#ScratchEnd ................. |tlib#buffer#ScratchEnd()| - tlib#buffer#BufDo ...................... |tlib#buffer#BufDo()| - tlib#buffer#InsertText ................. |tlib#buffer#InsertText()| - tlib#buffer#InsertText0 ................ |tlib#buffer#InsertText0()| - tlib#buffer#CurrentByte ................ |tlib#buffer#CurrentByte()| - tlib#buffer#KeepCursorPosition ......... |tlib#buffer#KeepCursorPosition()| - tlib#hook#Run .......................... |tlib#hook#Run()| - tlib#string#RemoveBackslashes .......... |tlib#string#RemoveBackslashes()| - tlib#string#Chomp ...................... |tlib#string#Chomp()| - tlib#string#Format ..................... |tlib#string#Format()| - tlib#string#Printf1 .................... |tlib#string#Printf1()| - tlib#string#TrimLeft ................... |tlib#string#TrimLeft()| - tlib#string#TrimRight .................. |tlib#string#TrimRight()| - tlib#string#Strip ...................... |tlib#string#Strip()| - tlib#string#Count ...................... |tlib#string#Count()| - tlib#string#SplitCommaList ............. |tlib#string#SplitCommaList()| - - -======================================================================== -plugin/02tlib.vim~ - - *:TLet* -:TLet VAR = VALUE - Set a variable only if it doesn't already exist. - EXAMPLES: > - TLet foo = 1 - TLet foo = 2 - echo foo - => 1 -< - - *:TScratch* -:TScratch - Open a scratch buffer (a buffer without a file). - TScratch ... use split window - TScratch! ... use the whole frame - This command takes an (inner) dictionary as optional argument. - EXAMPLES: > - TScratch 'scratch': '__FOO__' - => Open a scratch buffer named __FOO__ -< - - *:TVarArg* -:TVarArg VAR1, [VAR2, DEFAULT2] ... - A convenience wrapper for |tlib#arg#Let|. - EXAMPLES: > - function! Foo(...) - TVarArg ['a', 1], 'b' - echo 'a='. a - echo 'b='. b - endf -< - - *:TBrowseOutput* -:TBrowseOutput COMMAND - Ever wondered how to efficiently browse the output of a command - without redirecting it to a file? This command takes a command as - argument and presents the output via |tlib#input#List()| so that you - can easily search for a keyword (e.g. the name of a variable or - function) and the like. - - If you press enter, the selected line will be copied to the command - line. Press ESC to cancel browsing. - - EXAMPLES: > - TBrowseOutput 20verb TeaseTheCulprit -< - - *:TBrowseScriptnames* -:TBrowseScriptnames - List all sourced script names (the output of ':scriptnames'). - - When you press enter, the selected script will be opened in the current - window. Press ESC to cancel. - - EXAMPLES: > - TBrowseScriptnames -< - - *:Tlibtrace* -:Tlibtrace GUARD, VAR1, VAR2... - Do nothing unless |tlib#trace#Enable()| was called. - - When |:Tlibtraceset| or |tlib#trace#Enable()| were called: - - If GUARD is a number that evaluates to true or if it is a string that - matches a |regexp|, which was added using Tlibtrace! (with '!'), - display the values of VAR1, VAR2 ... - - *:Tlibtraceset* -:Tlibtraceset - :Tlibtraceset +RX1, -RX2... - If |tlib#trace#Enable()| was called: With the optional , users - can add and remove GUARDs (actually a |regexp|) that should be traced. - - *:Tlibassert* -:Tlibtrace ASSERTION - - -======================================================================== -test/tlib.vim~ - - *Add()* -Add(a,b) - List - - *TestGetArg()* -TestGetArg(...) - Optional arguments - - *TestGetArg1()* -TestGetArg1(...) - - *TestArgs()* -TestArgs(...) - - *TestArgs1()* -TestArgs1(...) - - *TestArgs2()* -TestArgs2(...) - - *TestArgs3()* -TestArgs3(...) - - -======================================================================== -autoload/tlib.vim~ - - *g:tlib#debug* -g:tlib#debug - - -======================================================================== -autoload/tlib/notify.vim~ - - *tlib#notify#Echo()* -tlib#notify#Echo(text, ?style='') - Print text in the echo area. Temporarily disable 'ruler' and 'showcmd' - in order to prevent |press-enter| messages. - - *tlib#notify#TrimMessage()* -tlib#notify#TrimMessage(message) - Contributed by Erik Falor: - If the line containing the message is too long, echoing it will cause - a 'Hit ENTER' prompt to appear. This function cleans up the line so - that does not happen. - The echoed line is too long if it is wider than the width of the - window, minus cmdline space taken up by the ruler and showcmd - features. - - -======================================================================== -autoload/tlib/trace.vim~ - - *g:tlib#trace#backtrace* -g:tlib#trace#backtrace (default: 2) - The length of the backtrace that should be included in - |tlib#trace#Print()|. - - *g:tlib#trace#printf* -g:tlib#trace#printf (default: 'echom %s') - The command used for printing traces from |tlib#trace#Print()|. - - *tlib#trace#PrintToFile()* -tlib#trace#PrintToFile(filename) - Set |g:tlib#trace#printf| to make |tlib#trace#Print()| print to - `filename`. - - *tlib#trace#Set()* -tlib#trace#Set(vars) - Set the tracing |regexp|. See |:Tlibtrace|. - This will also call |tlib#trace#Enable()|. - - Examples: - call tlib#trace#Set(["+foo", "-bar"]) - call tlib#trace#Set("+foo,-bar") - - *tlib#trace#Backtrace()* -tlib#trace#Backtrace(caller) - - *tlib#trace#Print()* -tlib#trace#Print(caller, vars, values) - Print the values of vars. The first value is a "guard" (see - |:Tlibtrace|). - - *tlib#trace#Enable()* -tlib#trace#Enable() - Enable tracing via |:Tlibtrace|. - - *tlib#trace#Disable()* -tlib#trace#Disable() - Disable tracing via |:Tlibtrace|. - - -======================================================================== -autoload/tlib/dictionary.vim~ - - *tlib#dictionary#Rev()* -tlib#dictionary#Rev(dict) - - -======================================================================== -autoload/tlib/persistent.vim~ - - *g:tlib_persistent* -g:tlib_persistent (default: '') - The directory for persistent data files. If empty, use - |tlib#dir#MyRuntime|.'/share'. - - *tlib#persistent#Dir()* -tlib#persistent#Dir(?mode = 'bg') - Return the full directory name for persistent data files. - - *tlib#persistent#Filename()* -tlib#persistent#Filename(type, ?file=%, ?mkdir=0) - - *tlib#persistent#Get()* -tlib#persistent#Get(...) - - *tlib#persistent#MTime()* -tlib#persistent#MTime(cfile) - - *tlib#persistent#Value()* -tlib#persistent#Value(...) - - *tlib#persistent#Save()* -tlib#persistent#Save(cfile, dictionary) - - -======================================================================== -autoload/tlib/vim.vim~ - - *g:tlib#vim#simalt_maximize* -g:tlib#vim#simalt_maximize (default: 'x') - The alt-key for maximizing the window. - CAUTION: The value of this paramter depends on your locale and - maybe the windows version you are running. - - *g:tlib#vim#simalt_restore* -g:tlib#vim#simalt_restore (default: 'r') - The alt-key for restoring the window. - CAUTION: The value of this paramter depends on your locale and - maybe the windows version you are running. - - *g:tlib#vim#use_vimtweak* -g:tlib#vim#use_vimtweak (default: 0) - If true, use the vimtweak.dll for windows. This will enable - tlib to remove the caption for fullscreen windows. - - *tlib#vim#Maximize()* -tlib#vim#Maximize(fullscreen) - Maximize the window. - You might need to redefine |g:tlib#vim#simalt_maximize| if it doesn't - work for you. - - *tlib#vim#RestoreWindow()* -tlib#vim#RestoreWindow() - Restore the original vimsize after having called |tlib#vim#Maximize()|. - - *g:tlib#vim#use_wmctrl* -g:tlib#vim#use_wmctrl (default: executable('wmctrl')) - If true, use wmctrl for X windows to make a window - maximized/fullscreen. - - This is the preferred method for maximizing windows under X - windows. Some window managers have problem coping with the - default method of setting 'lines' and 'columns' to a large - value. - - *tlib#vim#CopyFunction()* -tlib#vim##CopyFunction(old, new, overwrite=0) - - -======================================================================== -autoload/tlib/progressbar.vim~ - - *tlib#progressbar#Init()* -tlib#progressbar#Init(max, ...) - EXAMPLE: > - call tlib#progressbar#Init(20) - try - for i in range(20) - call tlib#progressbar#Display(i) - call DoSomethingThatTakesSomeTime(i) - endfor - finally - call tlib#progressbar#Restore() - endtry -< - - *tlib#progressbar#Display()* -tlib#progressbar#Display(value, ...) - - *tlib#progressbar#Restore()* -tlib#progressbar#Restore() - - -======================================================================== -autoload/tlib/eval.vim~ - - *tlib#eval#FormatValue()* -tlib#eval#FormatValue(value, ...) - - *tlib#eval#Extend()* -tlib#eval#Extend(a, b, ...) - - -======================================================================== -autoload/tlib/list.vim~ - - *tlib#list#Inject()* -tlib#list#Inject(list, initial_value, funcref) - EXAMPLES: > - echo tlib#list#Inject([1,2,3], 0, function('Add') - => 6 -< - - *tlib#list#Compact()* -tlib#list#Compact(list) - EXAMPLES: > - tlib#list#Compact([0,1,2,3,[], {}, ""]) - => [1,2,3] -< - - *tlib#list#Flatten()* -tlib#list#Flatten(list) - EXAMPLES: > - tlib#list#Flatten([0,[1,2,[3,""]]]) - => [0,1,2,3,""] -< - - *tlib#list#FindAll()* -tlib#list#FindAll(list, filter, ?process_expr="") - Basically the same as filter() - - EXAMPLES: > - tlib#list#FindAll([1,2,3], 'v:val >= 2') - => [2, 3] -< - - *tlib#list#Find()* -tlib#list#Find(list, filter, ?default="", ?process_expr="") - - EXAMPLES: > - tlib#list#Find([1,2,3], 'v:val >= 2') - => 2 -< - - *tlib#list#Any()* -tlib#list#Any(list, expr) - EXAMPLES: > - tlib#list#Any([1,2,3], 'v:val >= 2') - => 1 -< - - *tlib#list#All()* -tlib#list#All(list, expr) - EXAMPLES: > - tlib#list#All([1,2,3], 'v:val >= 2') - => 0 -< - - *tlib#list#Remove()* -tlib#list#Remove(list, element) - EXAMPLES: > - tlib#list#Remove([1,2,1,2], 2) - => [1,1,2] -< - - *tlib#list#RemoveAll()* -tlib#list#RemoveAll(list, element) - EXAMPLES: > - tlib#list#RemoveAll([1,2,1,2], 2) - => [1,1] -< - - *tlib#list#Zip()* -tlib#list#Zip(lists, ?default='') - EXAMPLES: > - tlib#list#Zip([[1,2,3], [4,5,6]]) - => [[1,4], [2,5], [3,6]] -< - - *tlib#list#Uniq()* -tlib#list#Uniq(list, ...) - - *tlib#list#ToDictionary()* -tlib#list#ToDictionary(list, default, ...) - - -======================================================================== -autoload/tlib/cmd.vim~ - - *tlib#cmd#OutputAsList()* -tlib#cmd#OutputAsList(command) - - *tlib#cmd#BrowseOutput()* -tlib#cmd#BrowseOutput(command) - See |:TBrowseOutput|. - - *tlib#cmd#BrowseOutputWithCallback()* -tlib#cmd#BrowseOutputWithCallback(callback, command) - Execute COMMAND and present its output in a |tlib#input#List()|; - when a line is selected, execute the function named as the CALLBACK - and pass in that line as an argument. - - The CALLBACK function gives you an opportunity to massage the COMMAND output - and possibly act on it in a meaningful way. For example, if COMMAND listed - all URIs found in the current buffer, CALLBACK could validate and then open - the selected URI in the system's default browser. - - This function is meant to be a tool to help compose the implementations of - powerful commands that use |tlib#input#List()| as a common interface. See - |TBrowseScriptnames| as an example. - - EXAMPLES: > - call tlib#cmd#BrowseOutputWithCallback('tlib#cmd#ParseScriptname', 'scriptnames') -< - - *tlib#cmd#DefaultBrowseOutput()* -tlib#cmd#DefaultBrowseOutput(cmd) - - *tlib#cmd#ParseScriptname()* -tlib#cmd#ParseScriptname(line) - - *tlib#cmd#TBrowseScriptnames()* -tlib#cmd#TBrowseScriptnames() - - *tlib#cmd#UseVertical()* -tlib#cmd#UseVertical(?rx='') - Look at the history whether the command was called with vertical. If - an rx is provided check first if the last entry in the history matches - this rx. - - *tlib#cmd#Time()* -tlib#cmd#Time(cmd) - Print the time in seconds or milliseconds (if your version of VIM - has |+reltime|) a command takes. - - *tlib#cmd#Capture()* -tlib#cmd#Capture(cmd) - - -======================================================================== -autoload/tlib/syntax.vim~ - - *tlib#syntax#Collect()* -tlib#syntax#Collect() - - *tlib#syntax#Names()* -tlib#syntax#Names(?rx='') - - -======================================================================== -autoload/tlib/balloon.vim~ - - *tlib#balloon#Register()* -tlib#balloon#Register(expr) - - *tlib#balloon#Remove()* -tlib#balloon#Remove(expr) - - *tlib#balloon#Expr()* -tlib#balloon#Expr() - - *tlib#balloon#Expand()* -tlib#balloon#Expand(expr) - - -======================================================================== -autoload/tlib/vcs.vim~ - - *g:tlib#vcs#def* -g:tlib#vcs#def {...} - A dictionarie of supported VCS (currently: git, hg, svn, bzr). - - *g:tlib#vcs#executables* -g:tlib#vcs#executables {...} - A dictionary of custom executables for VCS commands. If the value is - empty, support for that VCS will be removed. If no key is present, it - is assumed that the VCS "type" is the name of the executable. - - *g:tlib#vcs#check* -g:tlib#vcs#check (default: has('win16') || has('win32') || has('win64') ? '%s.exe' : '%s') - If non-empty, use it as a format string to check whether a VCS is - installed on your computer. - - *tlib#vcs#Executable()* -tlib#vcs#Executable(type) - - *tlib#vcs#FindVCS()* -tlib#vcs#FindVCS(filename) - - *tlib#vcs#Ls()* -tlib#vcs#Ls(?filename=bufname('%'), ?vcs=[type, dir]) - Return the files under VCS. - - *tlib#vcs#Diff()* -tlib#vcs#Diff(filename, ?vcs=[type, dir]) - Return the diff for "filename" - - *tlib#vcs#GitLsPostprocess()* -tlib#vcs#GitLsPostprocess(filename) - - -======================================================================== -autoload/tlib/char.vim~ - - *tlib#char#Get()* -tlib#char#Get(?timeout=0) - Get a character. - - EXAMPLES: > - echo tlib#char#Get() - echo tlib#char#Get(5) -< - - *tlib#char#IsAvailable()* -tlib#char#IsAvailable() - - *tlib#char#GetWithTimeout()* -tlib#char#GetWithTimeout(timeout, ...) - - -======================================================================== -autoload/tlib/Filter_glob.vim~ - - *g:tlib#Filter_glob#seq* -g:tlib#Filter_glob#seq (default: '*') - A character that should be expanded to '\.\{-}'. - - *g:tlib#Filter_glob#char* -g:tlib#Filter_glob#char (default: '?') - A character that should be expanded to '\.\?'. - - *tlib#Filter_glob#New()* -tlib#Filter_glob#New(...) - The same as |tlib#Filter_cnf#New()| but a a customizable character - |see tlib#Filter_glob#seq| is expanded to '\.\{-}' and - |g:tlib#Filter_glob#char| is expanded to '\.'. - The pattern is a '/\V' very no-'/magic' regexp pattern. - - -======================================================================== -autoload/tlib/scratch.vim~ - - *g:tlib_scratch_pos* -g:tlib_scratch_pos (default: 'botright') - Scratch window position. By default the list window is opened on the - bottom. Set this variable to 'topleft' or '' to change this behaviour. - See |tlib#input#List()|. - - *g:tlib#scratch#hidden* -g:tlib#scratch#hidden (default: 'hide') - If you want the scratch buffer to be fully removed, you might want to - set this variable to 'wipe'. - See also https://github.com/tomtom/tlib_vim/pull/16 - - *tlib#scratch#UseScratch()* -tlib#scratch#UseScratch(?keyargs={}) - Display a scratch buffer (a buffer with no file). See :TScratch for an - example. - Return the scratch buffer's number. - Values for keyargs: - scratch_split ... 1: split, 0: window, -1: tab - - *tlib#scratch#CloseScratch()* -tlib#scratch#CloseScratch(keyargs, ...) - Close a scratch buffer as defined in keyargs (usually a World). - Return 1 if the scratch buffer is closed (or if it already was - closed). - - -======================================================================== -autoload/tlib/autocmdgroup.vim~ - - *tlib#autocmdgroup#Init()* -tlib#autocmdgroup#Init() - - -======================================================================== -autoload/tlib/cache.vim~ - - *g:tlib_cache* -g:tlib_cache (default: '') - The cache directory. If empty, use |tlib#dir#MyRuntime|.'/cache'. - You might want to delete old files from this directory from time to - time with a command like: > - find ~/vimfiles/cache/ -atime +31 -type f -print -delete -< - - *g:tlib#cache#purge_days* -g:tlib#cache#purge_days (default: 31) - |tlib#cache#Purge()|: Remove cache files older than N days. - - *g:tlib#cache#purge_every_days* -g:tlib#cache#purge_every_days (default: 31) - Purge the cache every N days. Disable automatic purging by setting - this value to a negative value. - - *g:tlib#cache#script_encoding* -g:tlib#cache#script_encoding (default: &enc) - The encoding used for the purge-cache script. - Default: 'enc' - - *g:tlib#cache#run_script* -g:tlib#cache#run_script (default: 1) - Whether to run the directory removal script: - 0 ... No - 1 ... Query user - 2 ... Yes - - *g:tlib#cache#verbosity* -g:tlib#cache#verbosity (default: 1) - Verbosity level: - 0 ... Be quiet - 1 ... Display informative message - 2 ... Display detailed messages - - *g:tlib#cache#dont_purge* -g:tlib#cache#dont_purge (default: ['[\/]\.last_purge$']) - A list of regexps that are matched against partial filenames of the - cached files. If a regexp matches, the file won't be removed by - |tlib#cache#Purge()|. - - *g:tlib#cache#max_filename* -g:tlib#cache#max_filename (default: 200) - If the cache filename is longer than N characters, use - |pathshorten()|. - - *tlib#cache#Dir()* -tlib#cache#Dir(?mode = 'bg') - The default cache directory. - - *tlib#cache#Filename()* -tlib#cache#Filename(type, ?file=%, ?mkdir=0, ?dir='') - - *tlib#cache#Save()* -tlib#cache#Save(cfile, dictionary, ...) - - *tlib#cache#MTime()* -tlib#cache#MTime(cfile) - - *tlib#cache#Get()* -tlib#cache#Get(cfile, ...) - - *tlib#cache#Value()* -tlib#cache#Value(cfile, generator, ftime, ?generator_args=[], ?options={}) - Get a cached value from cfile. If it is outdated (compared to ftime) - or does not exist, create it calling a generator function. - - *tlib#cache#MaybePurge()* -tlib#cache#MaybePurge() - Call |tlib#cache#Purge()| if the last purge was done before - |g:tlib#cache#purge_every_days|. - - *tlib#cache#Purge()* -tlib#cache#Purge() - Delete old files. - - *tlib#cache#ListFilesInCache()* -tlib#cache#ListFilesInCache(...) - - -======================================================================== -autoload/tlib/normal.vim~ - - *tlib#normal#WithRegister()* -tlib#normal#WithRegister(cmd, ?register='t', ?norm_cmd='norm!') - Execute a normal command while maintaining all registers. - - -======================================================================== -autoload/tlib/time.vim~ - - *tlib#time#MSecs()* -tlib#time#MSecs() - - *tlib#time#Now()* -tlib#time#Now() - - *tlib#time#FormatNow()* -tlib#time#FormatNow() - - *tlib#time#Diff()* -tlib#time#Diff(a, b, ...) - - *tlib#time#DiffMSecs()* -tlib#time#DiffMSecs(a, b, ...) - - -======================================================================== -autoload/tlib/var.vim~ - - *tlib#var#Let()* -tlib#var#Let(name, val) - Define a variable called NAME if yet undefined. - You can also use the :TLLet command. - - EXAMPLES: > - exec tlib#var#Let('g:foo', 1) - TLet g:foo = 1 -< - - *tlib#var#EGet()* -tlib#var#EGet(var, namespace, ?default='') - Retrieve a variable by searching several namespaces. - - EXAMPLES: > - let g:foo = 1 - let b:foo = 2 - let w:foo = 3 - echo eval(tlib#var#EGet('foo', 'vg')) => 1 - echo eval(tlib#var#EGet('foo', 'bg')) => 2 - echo eval(tlib#var#EGet('foo', 'wbg')) => 3 -< - - *tlib#var#Get()* -tlib#var#Get(var, namespace, ?default='') - Retrieve a variable by searching several namespaces. - - EXAMPLES: > - let g:foo = 1 - let b:foo = 2 - let w:foo = 3 - echo tlib#var#Get('foo', 'bg') => 1 - echo tlib#var#Get('foo', 'bg') => 2 - echo tlib#var#Get('foo', 'wbg') => 3 -< - - *tlib#var#List()* -tlib#var#List(rx, ?prefix='') - Get a list of variables matching rx. - EXAMPLE: - echo tlib#var#List('tlib_', 'g:') - - -======================================================================== -autoload/tlib/agent.vim~ -Various agents for use as key handlers in tlib#input#List() - - *g:tlib_scroll_lines* -g:tlib_scroll_lines (default: 10) - Number of items to move when pressing in the input list window. - - *tlib#agent#Exit()* -tlib#agent#Exit(world, selected) - - *tlib#agent#CopyItems()* -tlib#agent#CopyItems(world, selected) - - *tlib#agent#PageUp()* -tlib#agent#PageUp(world, selected) - - *tlib#agent#PageDown()* -tlib#agent#PageDown(world, selected) - - *tlib#agent#Home()* -tlib#agent#Home(world, selected) - - *tlib#agent#End()* -tlib#agent#End(world, selected) - - *tlib#agent#Up()* -tlib#agent#Up(world, selected, ...) - - *tlib#agent#Down()* -tlib#agent#Down(world, selected, ...) - - *tlib#agent#UpN()* -tlib#agent#UpN(world, selected) - - *tlib#agent#DownN()* -tlib#agent#DownN(world, selected) - - *tlib#agent#ShiftLeft()* -tlib#agent#ShiftLeft(world, selected) - - *tlib#agent#ShiftRight()* -tlib#agent#ShiftRight(world, selected) - - *tlib#agent#Reset()* -tlib#agent#Reset(world, selected) - - *tlib#agent#ToggleRestrictView()* -tlib#agent#ToggleRestrictView(world, selected) - - *tlib#agent#RestrictView()* -tlib#agent#RestrictView(world, selected) - - *tlib#agent#UnrestrictView()* -tlib#agent#UnrestrictView(world, selected) - - *tlib#agent#Input()* -tlib#agent#Input(world, selected) - - *tlib#agent#SuspendToParentWindow()* -tlib#agent#SuspendToParentWindow(world, selected) - Suspend (see |tlib#agent#Suspend|) the input loop and jump back to the - original position in the parent window. - - *tlib#agent#Suspend()* -tlib#agent#Suspend(world, selected) - Suspend lets you temporarily leave the input loop of - |tlib#input#List|. You can resume editing the list by pressing , - . , or in the suspended window. - and will immediatly select the item under the cursor. - < will select the item but the window will remain opened. - - *tlib#agent#Help()* -tlib#agent#Help(world, selected) - - *tlib#agent#OR()* -tlib#agent#OR(world, selected) - - *tlib#agent#AND()* -tlib#agent#AND(world, selected) - - *tlib#agent#ReduceFilter()* -tlib#agent#ReduceFilter(world, selected) - - *tlib#agent#PopFilter()* -tlib#agent#PopFilter(world, selected) - - *tlib#agent#Debug()* -tlib#agent#Debug(world, selected) - - *tlib#agent#Select()* -tlib#agent#Select(world, selected) - - *tlib#agent#SelectUp()* -tlib#agent#SelectUp(world, selected) - - *tlib#agent#SelectDown()* -tlib#agent#SelectDown(world, selected) - - *tlib#agent#SelectAll()* -tlib#agent#SelectAll(world, selected) - - *tlib#agent#ToggleStickyList()* -tlib#agent#ToggleStickyList(world, selected) - - *tlib#agent#EditItem()* -tlib#agent#EditItem(world, selected) - - *tlib#agent#NewItem()* -tlib#agent#NewItem(world, selected) - Insert a new item below the current one. - - *tlib#agent#DeleteItems()* -tlib#agent#DeleteItems(world, selected) - - *tlib#agent#Cut()* -tlib#agent#Cut(world, selected) - - *tlib#agent#Copy()* -tlib#agent#Copy(world, selected) - - *tlib#agent#Paste()* -tlib#agent#Paste(world, selected) - - *tlib#agent#EditReturnValue()* -tlib#agent#EditReturnValue(world, rv) - - *tlib#agent#ViewFile()* -tlib#agent#ViewFile(world, selected) - - *tlib#agent#EditFile()* -tlib#agent#EditFile(world, selected) - - *tlib#agent#EditFileInSplit()* -tlib#agent#EditFileInSplit(world, selected) - - *tlib#agent#EditFileInVSplit()* -tlib#agent#EditFileInVSplit(world, selected) - - *tlib#agent#EditFileInTab()* -tlib#agent#EditFileInTab(world, selected) - - *tlib#agent#ToggleScrollbind()* -tlib#agent#ToggleScrollbind(world, selected) - - *tlib#agent#ShowInfo()* -tlib#agent#ShowInfo(world, selected) - - *tlib#agent#PreviewLine()* -tlib#agent#PreviewLine(world, selected) - - *tlib#agent#GotoLine()* -tlib#agent#GotoLine(world, selected) - If not called from the scratch, we assume/guess that we don't have to - suspend the input-evaluation loop. - - *tlib#agent#DoAtLine()* -tlib#agent#DoAtLine(world, selected) - - *tlib#agent#Wildcard()* -tlib#agent#Wildcard(world, selected) - - *tlib#agent#Null()* -tlib#agent#Null(world, selected) - - *tlib#agent#ExecAgentByName()* -tlib#agent#ExecAgentByName(world, selected) - - *tlib#agent#CompleteAgentNames()* -tlib#agent#CompleteAgentNames(ArgLead, CmdLine, CursorPos) - - *tlib#agent#Complete()* -tlib#agent#Complete(world, selected) - - -======================================================================== -autoload/tlib/bitwise.vim~ - - *tlib#bitwise#Num2Bits()* -tlib#bitwise#Num2Bits(num) - - *tlib#bitwise#Bits2Num()* -tlib#bitwise#Bits2Num(bits, ...) - - *tlib#bitwise#AND()* -tlib#bitwise#AND(num1, num2, ...) - - *tlib#bitwise#OR()* -tlib#bitwise#OR(num1, num2, ...) - - *tlib#bitwise#XOR()* -tlib#bitwise#XOR(num1, num2, ...) - - *tlib#bitwise#ShiftRight()* -tlib#bitwise#ShiftRight(bits, n) - - *tlib#bitwise#ShiftLeft()* -tlib#bitwise#ShiftLeft(bits, n) - - *tlib#bitwise#Add()* -tlib#bitwise#Add(num1, num2, ...) - - *tlib#bitwise#Sub()* -tlib#bitwise#Sub(num1, num2, ...) - - -======================================================================== -autoload/tlib/url.vim~ - - *tlib#url#Decode()* -tlib#url#Decode(url) - Decode an encoded URL. - - *tlib#url#DecodeChar()* -tlib#url#DecodeChar(char) - Decode a single character. - - *tlib#url#EncodeChar()* -tlib#url#EncodeChar(char) - Encode a single character. - - *tlib#url#Encode()* -tlib#url#Encode(url, ...) - Encode an URL. - - -======================================================================== -autoload/tlib/signs.vim~ - - *tlib#signs#ClearAll()* -tlib#signs#ClearAll(sign) - Clear all signs with name SIGN. - - *tlib#signs#ClearBuffer()* -tlib#signs#ClearBuffer(sign, bufnr) - Clear all signs with name SIGN in buffer BUFNR. - - *tlib#signs#Mark()* -tlib#signs#Mark(sign, list) - Add signs for all locations in LIST. LIST must adhere with the - quickfix list format (see |getqflist()|; only the fields lnum and - bufnr are required). - - list:: a quickfix or location list - sign:: a sign defined with |:sign-define| - - -======================================================================== -autoload/tlib/rx.vim~ - - *tlib#rx#Escape()* -tlib#rx#Escape(text, ?magic='m') - magic can be one of: m, M, v, V - See :help 'magic' - - *tlib#rx#EscapeReplace()* -tlib#rx#EscapeReplace(text, ?magic='m') - Escape return |sub-replace-special|. - - *tlib#rx#Suffixes()* -tlib#rx#Suffixes(...) - - *tlib#rx#LooksLikeRegexp()* -tlib#rx#LooksLikeRegexp(text) - - -======================================================================== -autoload/tlib/tag.vim~ - - *g:tlib_tags_extra* -g:tlib_tags_extra (default: '') - Extra tags for |tlib#tag#Retrieve()| (see there). Can also be buffer-local. - - *g:tlib_tag_substitute* -g:tlib_tag_substitute - Filter the tag description through |substitute()| for these filetypes. - This applies only if the tag cmd field (see |taglist()|) is used. - - *tlib#tag#Retrieve()* -tlib#tag#Retrieve(rx, ?extra_tags=0) - Get all tags matching rx. Basically, this function simply calls - |taglist()|, but when extra_tags is true, the list of the tag files - (see 'tags') is temporarily expanded with |g:tlib_tags_extra|. - - Example use: - If you want to include tags for, eg, JDK, normal tags use can become - slow. You could proceed as follows: - 1. Create a tags file for the JDK sources. When creating the tags - file, make sure to include inheritance information and the like - (command-line options like --fields=+iaSm --extra=+q should be ok). - In this example, we want tags only for public methods (there are - most likely better ways to do this): > - ctags -R --fields=+iaSm --extra=+q ${JAVA_HOME}/src - head -n 6 tags > tags0 - grep access:public tags >> tags0 -< 2. Make 'tags' include project specific tags files. In - ~/vimfiles/after/ftplugin/java.vim insert: > - let b:tlib_tags_extra = $JAVA_HOME .'/tags0' -< 3. When this function is invoked as > - echo tlib#tag#Retrieve('print') -< it will return only project-local tags. If it is invoked as > - echo tlib#tag#Retrieve('print', 1) -< tags from the JDK will be included. - - *tlib#tag#Collect()* -tlib#tag#Collect(constraints, ?use_extra=1, ?match_front=1) - Retrieve tags that meet the constraints (a dictionnary of fields and - regexp, with the exception of the kind field which is a list of chars). - For the use of the optional use_extra argument see - |tlib#tag#Retrieve()|. - - *tlib#tag#Format()* -tlib#tag#Format(tag) - - -======================================================================== -autoload/tlib/map.vim~ - - *tlib#map#PumAccept()* -tlib#map#PumAccept(key) - If |pumvisible()| is true, return "\". Otherwise return a:key. - For use in maps like: > - imap tlib#map#PumAccept("\") -< - - -======================================================================== -autoload/tlib/Filter_cnfd.vim~ - - *tlib#Filter_cnfd#New()* -tlib#Filter_cnfd#New(...) - The same as |tlib#Filter_cnf#New()| but a dot is expanded to '\.\{-}'. - As a consequence, patterns cannot match dots. - The pattern is a '/\V' very no-'/magic' regexp pattern. - - -======================================================================== -autoload/tlib/input.vim~ -Input-related, select from a list etc. - - *g:tlib#input#sortprefs_threshold* -g:tlib#input#sortprefs_threshold (default: 200) - If a list is bigger than this value, don't try to be smart when - selecting an item. Be slightly faster instead. - See |tlib#input#List()|. - - *g:tlib#input#livesearch_threshold* -g:tlib#input#livesearch_threshold (default: 1000) - If a list contains more items, |tlib#input#List()| does not perform an - incremental "live search" but uses |input()| to query the user for a - filter. This is useful on slower machines or with very long lists. - - *g:tlib#input#filter_mode* -g:tlib#input#filter_mode (default: 'glob') - Determine how |tlib#input#List()| and related functions work. - Can be "glob", "cnf", "cnfd", "seq", or "fuzzy". See: - glob ... Like cnf but "*" and "?" (see |g:tlib#Filter_glob#seq|, - |g:tlib#Filter_glob#char|) are interpreted as glob-like - |wildcards| (this is the default method) - - Examples: - - "f*o" matches "fo", "fxo", and "fxxxoo", but doesn't match - "far". - - Otherwise it is a derivate of the cnf method (see below). - - See also |tlib#Filter_glob#New()|. - cnfd ... Like cnf but "." is interpreted as a wildcard, i.e. it is - expanded to "\.\{-}" - - A period character (".") acts as a wildcard as if ".\{-}" (see - |/\{-|) were entered. - - Examples: - - "f.o" matches "fo", "fxo", and "fxxxoo", but doesn't match - "far". - - Otherwise it is a derivate of the cnf method (see below). - - See also |tlib#Filter_cnfd#New()|. - cnf .... Match substrings - - A blank creates an AND conjunction, i.e. the next pattern has to - match too. - - A pipe character ("|") creates an OR conjunction, either this or - the next next pattern has to match. - - Patterns are very 'nomagic' |regexp| with a |\V| prefix. - - A pattern starting with "-" makes the filter exclude items - matching that pattern. - - Examples: - - "foo bar" matches items that contain the strings "foo" AND - "bar". - - "foo|bar boo|far" matches items that contain either ("foo" OR - "bar") AND ("boo" OR "far"). - - See also |tlib#Filter_cnf#New()|. - seq .... Match sequences of characters - - |tlib#Filter_seq#New()| - fuzzy .. Match fuzzy character sequences - - |tlib#Filter_fuzzy#New()| - - *g:tlib#input#higroup* -g:tlib#input#higroup (default: 'IncSearch') - The highlight group to use for showing matches in the input list - window. - See |tlib#input#List()|. - - *g:tlib_pick_last_item* -g:tlib_pick_last_item (default: 1) - When 1, automatically select the last remaining item only if the list - had only one item to begin with. - When 2, automatically select a last remaining item after applying - any filters. - See |tlib#input#List()|. - - -Keys for |tlib#input#List|~ - - *g:tlib#input#and* -g:tlib#input#and (default: ' ') - - *g:tlib#input#or* -g:tlib#input#or (default: '|') - - *g:tlib#input#not* -g:tlib#input#not (default: '-') - - *g:tlib#input#numeric_chars* -g:tlib#input#numeric_chars - When editing a list with |tlib#input#List|, typing these numeric chars - (as returned by getchar()) will select an item based on its index, not - based on its name. I.e. in the default setting, typing a "4" will - select the fourth item, not the item called "4". - In order to make keys 0-9 filter the items in the list and make - select an item by its index, remove the keys 48 to 57 from - this dictionary. - Format: [KEY] = BASE ... the number is calculated as KEY - BASE. - - *g:tlib#input#keyagents_InputList_s* -g:tlib#input#keyagents_InputList_s - The default key bindings for single-item-select list views. - - This variable is best customized via the variable - g:tlib_extend_keyagents_InputList_s. If you want to use , - to move the cursor up and down, add these two lines to your |vimrc| - file: - - let g:tlib_extend_keyagents_InputList_s = { - \ 10: 'tlib#agent#Down', - \ 11: 'tlib#agent#Up' - \ } - - *g:tlib#input#keyagents_InputList_m* -g:tlib#input#keyagents_InputList_m - - *g:tlib#input#handlers_EditList* -g:tlib#input#handlers_EditList - - *g:tlib#input#user_shortcuts* -g:tlib#input#user_shortcuts (default: {}) - A dictionary KEY => {'agent': AGENT, 'key_name': KEY_NAME} to - customize keyboard shortcuts in the list view. - - *g:tlib#input#use_popup* -g:tlib#input#use_popup (default: has('menu') && (has('gui_gtk') || has('gui_gtk2') || has('gui_win32'))) - If true, define a popup menu for |tlib#input#List()| and related - functions. - - *g:tlib#input#format_filename* -g:tlib#input#format_filename (default: 'l') - How to format filenames: - l ... Show basenames on the left side, separated from the - directory names - r ... Show basenames on the right side - - *g:tlib#input#filename_padding_r* -g:tlib#input#filename_padding_r (default: '&co / 10') - If g:tlib#input#format_filename == 'r', how much space should be kept - free on the right side. - - *g:tlib#input#filename_max_width* -g:tlib#input#filename_max_width (default: '&co / 2') - If g:tlib#input#format_filename == 'l', an expression that - |eval()|uates to the maximum display width of filenames. - - *tlib#input#List()* -tlib#input#List(type. ?query='', ?list=[], ?handlers=[], ?default="", ?timeout=0) - Select a single or multiple items from a list. Return either the list - of selected elements or its indexes. - - By default, typing numbers will select an item by its index. See - |g:tlib#input#numeric_chars| to find out how to change this. - - The item is automatically selected if the numbers typed equals the - number of digits of the list length. I.e. if a list contains 20 items, - typing 1 will first highlight item 1 but it won't select/use it - because 1 is an ambiguous input in this context. If you press enter, - the first item will be selected. If you press another digit (e.g. 0), - item 10 will be selected. Another way to select item 1 would be to - type 01. If the list contains only 9 items, typing 1 would select the - first item right away. - - type can be: - s ... Return one selected element - si ... Return the index of the selected element - m ... Return a list of selected elements - mi ... Return a list of indexes - - Several pattern matching styles are supported. See - |g:tlib#input#filter_mode|. - - Users can type to complete the current filter with the longest - match. - - EXAMPLES: > - echo tlib#input#List('s', 'Select one item', [100,200,300]) - echo tlib#input#List('si', 'Select one item', [100,200,300]) - echo tlib#input#List('m', 'Select one or more item(s)', [100,200,300]) - echo tlib#input#List('mi', 'Select one or more item(s)', [100,200,300]) - -< See ../samples/tlib/input/tlib_input_list.vim (move the cursor over - the filename and press gf) for a more elaborated example. - - *tlib#input#ListD()* -tlib#input#ListD(dict) - A wrapper for |tlib#input#ListW()| that builds |tlib#World#New| from - dict. - - *tlib#input#ListW()* -tlib#input#ListW(world, ?command='') - The second argument (command) is meant for internal use only. - The same as |tlib#input#List| but the arguments are packed into world - (an instance of tlib#World as returned by |tlib#World#New|). - - *tlib#input#EditList()* -tlib#input#EditList(query, list, ?timeout=0) - Edit a list. - - EXAMPLES: > - echo tlib#input#EditList('Edit:', [100,200,300]) -< - - *tlib#input#Resume()* -tlib#input#Resume(name, pick, bufnr) - - *tlib#input#CommandSelect()* -tlib#input#CommandSelect(command, ?keyargs={}) - Take a command, view the output, and let the user select an item from - its output. - - EXAMPLE: > - command! TMarks exec 'norm! `'. matchstr(tlib#input#CommandSelect('marks'), '^ \+\zs.') - command! TAbbrevs exec 'norm i'. matchstr(tlib#input#CommandSelect('abbrev'), '^\S\+\s\+\zs\S\+') -< - - *tlib#input#Edit()* -tlib#input#Edit(name, value, callback, ?cb_args=[]) - - Edit a value (asynchronously) in a scratch buffer. Use name for - identification. Call callback when done (or on cancel). - In the scratch buffer: - Press or to enter the new value, c to cancel - editing. - EXAMPLES: > - fun! FooContinue(success, text) - if a:success - let b:var = a:text - endif - endf - call tlib#input#Edit('foo', b:var, 'FooContinue') -< - - *tlib#input#Dialog()* -tlib#input#Dialog(text, options, default) - - -======================================================================== -autoload/tlib/number.vim~ - - *tlib#number#ConvertBase()* -tlib#number#ConvertBase(num, base, ...) - - -======================================================================== -autoload/tlib/file.vim~ - - *g:tlib#file#drop* -g:tlib#file#drop (default: has('gui')) - If true, use |:drop| to edit loaded buffers (only available with GUI). - - *g:tlib#file#use_tabs* -g:tlib#file#use_tabs (default: 0) - - *g:tlib#file#edit_cmds* -g:tlib#file#edit_cmds (default: g:tlib#file#use_tabs ? {'buffer': 'tab split | buffer', 'edit': 'tabedit'} : {}) - - *g:tlib#file#absolute_filename_rx* -g:tlib#file#absolute_filename_rx (default: '^\~\?[\/]') - - *tlib#file#Split()* -tlib#file#Split(filename) - EXAMPLES: > - tlib#file#Split('foo/bar/filename.txt') - => ['foo', 'bar', 'filename.txt'] -< - - *tlib#file#Join()* -tlib#file#Join(filename_parts, ?strip_slashes=1, ?maybe_absolute=0) - EXAMPLES: > - tlib#file#Join(['foo', 'bar', 'filename.txt']) - => 'foo/bar/filename.txt' -< - - *tlib#file#Relative()* -tlib#file#Relative(filename, basedir) - EXAMPLES: > - tlib#file#Relative('foo/bar/filename.txt', 'foo') - => 'bar/filename.txt' -< - - *tlib#file#Absolute()* -tlib#file#Absolute(filename, ...) - - *tlib#file#Canonic()* -tlib#file#Canonic(filename, ...) - - *tlib#file#With()* -tlib#file#With(fcmd, bcmd, files, ?world={}) - - *tlib#file#Edit()* -tlib#file#Edit(fileid) - Return 0 if the file isn't readable/doesn't exist. - Otherwise return 1. - - *tlib#file#Glob()* -tlib#file#Glob(pattern) - - *tlib#file#Globpath()* -tlib#file#Globpath(path, pattern) - - -======================================================================== -autoload/tlib/sys.vim~ - - *g:tlib#sys#special_protocols* -g:tlib#sys#special_protocols (default: ['https\?', 'nntp', 'mailto']) - A list of |regexp|s matching protocol names that should be handled - by |g:tlib#sys#system_browser|. - CAVEAT: Must be a |\V| |regexp|. - - *g:tlib#sys#special_suffixes* -g:tlib#sys#special_suffixes (default: ['xlsx\?', 'docx\?', 'pptx\?', 'accdb', 'mdb', 'sqlite', 'pdf', 'jpg', 'png', 'gif']) - A list of |regexp|s matching suffixes that should be handled by - |g:tlib#sys#system_browser|. - CAVEAT: Must be a |\V| |regexp|. - - *g:tlib#sys#system_rx* -g:tlib#sys#system_rx (default: printf('\V\%(\^\%(%s\):\|.\%(%s\)\)', join(g:tlib#sys#special_protocols, '\|'), join(g:tlib#sys#special_suffixes, '\|'))) - Open links matching this |regexp| with |g:tlib#sys#system_browser|. - CAVEAT: Must be a |\V| |regexp|. - - *g:tlib#sys#system_browser* -g:tlib#sys#system_browser (default: ...) - Open files in the system browser. - - *g:tlib#sys#windows* -g:tlib#sys#windows (default: &shell !~ 'sh' && (has('win16') || has('win32') || has('win64'))) - - *g:tlib#sys#null* -g:tlib#sys#null (default: g:tlib#sys#windows ? 'NUL' : (filereadable('/dev/null') ? '/dev/null' : '')) - - *tlib#sys#IsCygwinBin()* -tlib#sys#IsCygwinBin(cmd) - - *tlib#sys#IsExecutable()* -tlib#sys#IsExecutable(cmd, ...) - - *g:tlib#sys#check_cygpath* -g:tlib#sys#check_cygpath (default: g:tlib#sys#windows && tlib#sys#IsExecutable('cygpath', 1)) - If true, check whether we have to convert a path via cyppath -- - see |tlib#sys#MaybeUseCygpath| - - *g:tlib#sys#cygwin_path_rx* -g:tlib#sys#cygwin_path_rx (default: '/cygwin/') - If a full windows filename (with slashes instead of backslashes) - matches this |regexp|, it is assumed to be a cygwin executable. - - *g:tlib#sys#cygwin_expr* -g:tlib#sys#cygwin_expr (default: '"bash -c ''". escape(%s, "''\\") ."''"') - For cygwin binaries, convert command calls using this vim - expression. - - *tlib#sys#GetCmd()* -tlib#sys#GetCmd(cmd) - - *tlib#sys#MaybeUseCygpath()* -tlib#sys#MaybeUseCygpath(cmd) - If cmd seems to be a cygwin executable, use cygpath to convert - filenames. This assumes that cygwin's which command returns full - filenames for non-cygwin executables. - - *tlib#sys#ConvertPath()* -tlib#sys#ConvertPath(converter, filename) - - *tlib#sys#FileArgs()* -tlib#sys#FileArgs(cmd, files) - - *tlib#sys#IsSpecial()* -tlib#sys#IsSpecial(filename) - Check whether filename matches |g:tlib#sys#system_rx|, i.e. whether it - is a special file that should not be opened in vim. - - *tlib#sys#Open()* -tlib#sys#Open(filename) - Open filename with the default OS application (see - |g:tlib#sys#system_browser|), if |tlib#sys#IsSpecial()| return 1. - Returns 1 if successful or 0 otherwise. - - *tlib#sys#SystemInDir()* -tlib#sys#SystemInDir(dir, expr, ?input='') - - -======================================================================== -autoload/tlib/paragraph.vim~ - - *tlib#paragraph#GetMetric()* -tlib#paragraph#GetMetric() - Return an object describing a |paragraph|. - - *tlib#paragraph#Move()* -tlib#paragraph#Move(direction, count) - This function can be used with the tinymode plugin to move around - paragraphs. - - Example configuration: > - - call tinymode#EnterMap("para_move", "gp") - call tinymode#ModeMsg("para_move", "Move paragraph: j/k") - call tinymode#Map("para_move", "j", "silent call tlib#paragraph#Move('Down', '[N]')") - call tinymode#Map("para_move", "k", "silent call tlib#paragraph#Move('Up', '[N]')") - call tinymode#ModeArg("para_move", "owncount", 1) -< - - -======================================================================== -autoload/tlib/World.vim~ -A prototype used by |tlib#input#List|. -Inherits from |tlib#Object#New|. - - *g:tlib_inputlist_pct* -g:tlib_inputlist_pct (default: 50) - Size of the input list window (in percent) from the main size (of &lines). - See |tlib#input#List()|. - - *g:tlib_inputlist_width_filename* -g:tlib_inputlist_width_filename (default: '&co / 3') - Size of filename columns when listing filenames. - See |tlib#input#List()|. - - *g:tlib_inputlist_filename_indicators* -g:tlib_inputlist_filename_indicators (default: 0) - If true, |tlib#input#List()| will show some indicators about the - status of a filename (e.g. buflisted(), bufloaded() etc.). - This is disabled by default because vim checks also for the file on - disk when doing this. - - *g:tlib_inputlist_shortmessage* -g:tlib_inputlist_shortmessage (default: 0) - If not null, display only a short info about the filter. - - *tlib#World#New()* -tlib#World#New(...) - -prototype.PrintLines - -prototype.Suspend - - -======================================================================== -autoload/tlib/loclist.vim~ - - *tlib#loclist#Browse()* -tlib#loclist#Browse(...) - - -======================================================================== -autoload/tlib/tab.vim~ - - *tlib#tab#BufMap()* -tlib#tab#BufMap() - Return a dictionary of bufnumbers => [[tabpage, winnr] ...] - - *tlib#tab#TabWinNr()* -tlib#tab#TabWinNr(buffer) - Find a buffer's window at some tab page. - - *tlib#tab#Set()* -tlib#tab#Set(tabnr) - - -======================================================================== -autoload/tlib/date.vim~ - - *tlib#date#IsDate()* -tlib#date#IsDate(text) - - *tlib#date#Format()* -tlib#date#Format(secs1970) - - *tlib#date#DiffInDays()* -tlib#date#DiffInDays(date1, ?date2=localtime(), ?allow_zero=0) - - *tlib#date#Parse()* -tlib#date#Parse(date, ?allow_zero=0) "{{{3 - - *tlib#date#SecondsSince1970()* -tlib#date#SecondsSince1970(date, ...) - tlib#date#SecondsSince1970(date, ?daysshift=0, ?allow_zero=0) - - *tlib#date#Shift()* -tlib#date#Shift(date, shift) - - -======================================================================== -autoload/tlib/type.vim~ - - *tlib#type#IsNumber()* -tlib#type#IsNumber(expr) - - *tlib#type#IsString()* -tlib#type#IsString(expr) - - *tlib#type#IsFuncref()* -tlib#type#IsFuncref(expr) - - *tlib#type#IsList()* -tlib#type#IsList(expr) - - *tlib#type#IsDictionary()* -tlib#type#IsDictionary(expr) - - *tlib#type#Is()* -tlib#type#Is(val, type) - - *tlib#type#Are()* -tlib#type#Are(vals, type) - - *tlib#type#Has()* -tlib#type#Has(val, lst) - - *tlib#type#Have()* -tlib#type#Have(vals, lst) - - -======================================================================== -autoload/tlib/Filter_fuzzy.vim~ - - *tlib#Filter_fuzzy#New()* -tlib#Filter_fuzzy#New(...) - Support for "fuzzy" pattern matching in |tlib#input#List()|. - Patterns are interpreted as if characters were connected with '.\{-}'. - - In "fuzzy" mode, the pretty printing of filenames is disabled. - - -======================================================================== -autoload/tlib/assert.vim~ - - *tlib#assert#Enable()* -tlib#assert#Enable() - Enable tracing via |:Tlibassert|. - - *tlib#assert#Disable()* -tlib#assert#Disable() - Disable tracing via |:Tlibassert|. - - *tlib#assert#Assert()* -tlib#assert#Assert(caller, check, vals) - - *tlib#assert#Map()* -tlib#assert#Map(vals, expr) - - *tlib#assert#All()* -tlib#assert#All(vals) - - -======================================================================== -autoload/tlib/textobjects.vim~ - - *standard-paragraph* -tlib#textobjects#StandardParagraph() - Select a "Standard Paragraph", i.e. a text block followed by blank - lines. Other than |ap|, the last paragraph in a document is handled - just the same. - - The |text-object| can be accessed as "sp". Example: > - - vsp ... select the current standard paragraph - -< Return 1, if the paragraph is the last one in the document. - - *tlib#textobjects#Init()* -tlib#textobjects#Init() - - *v_sp* -v_sp ... :call tlib#textobjects#StandardParagraph() - sp ... Standard paragraph (for use as |text-objects|). - - *o_sp* -o_sp ... :normal Vsp - - -======================================================================== -autoload/tlib/arg.vim~ - - *tlib#arg#Get()* -tlib#arg#Get(n, var, ?default="", ?test='') - Set a positional argument from a variable argument list. - See tlib#string#RemoveBackslashes() for an example. - - *tlib#arg#Let()* -tlib#arg#Let(list, ?default='') - Set a positional arguments from a variable argument list. - See tlib#input#List() for an example. - - *tlib#arg#StringAsKeyArgs()* -tlib#arg#StringAsKeyArgs(string, ?keys=[], ?evaluate=0, ?sep=':', ?booleans=0) - - *tlib#arg#StringAsKeyArgsEqual()* -tlib#arg#StringAsKeyArgsEqual(string) - - *tlib#arg#GetOpts()* -tlib#arg#GetOpts(args, ?def={}) - Convert a list of strings of command-line arguments into a dictonary. - - The main use case is to pass [], i.e. the command-line - arguments of a command as list, from a command definition to this - function. - - Example: - ['-h'] - => If def contains a 'help' key, invoke |:help| on its value. - - ['-ab', '--foo', '--bar=BAR', 'bla', bla'] - => {'a': 1, 'b': 1, 'foo': 1, 'bar': 'BAR', '__rest__': ['bla', 'bla']} - - ['-ab', '--', '--foo', '--bar=BAR'] - => {'a': 1, 'b': 1, '__rest__': ['--foo', '--bar=BAR']} - - *tlib#arg#Ex()* -tlib#arg#Ex(arg, ?chars='%#! ') - Escape some characters in a string. - - Use |fnamescape()| if available. - - EXAMPLES: > - exec 'edit '. tlib#arg#Ex('foo%#bar.txt') -< - - -======================================================================== -autoload/tlib/fixes.vim~ - - *tlib#fixes#Winpos()* -tlib#fixes#Winpos() - - -======================================================================== -autoload/tlib/dir.vim~ - - *g:tlib#dir#sep* -g:tlib#dir#sep (default: exists('+shellslash') && !&shellslash ? '\' : '/') - TLet g:tlib#dir#sep = '/' - - *tlib#dir#CanonicName()* -tlib#dir#CanonicName(dirname) - EXAMPLES: > - tlib#dir#CanonicName('foo/bar') - => 'foo/bar/' -< - - *tlib#dir#NativeName()* -tlib#dir#NativeName(dirname) - EXAMPLES: > - tlib#dir#NativeName('foo/bar/') - On Windows: - => 'foo\bar\' - On Linux: - => 'foo/bar/' -< - - *tlib#dir#PlainName()* -tlib#dir#PlainName(dirname) - EXAMPLES: > - tlib#dir#PlainName('foo/bar/') - => 'foo/bar' -< - - *tlib#dir#Ensure()* -tlib#dir#Ensure(dir) - Create a directory if it doesn't already exist. - - *tlib#dir#MyRuntime()* -tlib#dir#MyRuntime() - Return the first directory in &rtp. - - *tlib#dir#CD()* -tlib#dir#CD(dir, ?locally=0) - - *tlib#dir#Push()* -tlib#dir#Push(dir, ?locally=0) - - *tlib#dir#Pop()* -tlib#dir#Pop() - - -======================================================================== -autoload/tlib/hash.vim~ - - *g:tlib#hash#use_crc32* -g:tlib#hash#use_crc32 (default: '') - - *g:tlib#hash#use_adler32* -g:tlib#hash#use_adler32 (default: '') - - *tlib#hash#CRC32B()* -tlib#hash#CRC32B(chars) - - *tlib#hash#CRC32B_ruby()* -tlib#hash#CRC32B_ruby(chars) - - *tlib#hash#CRC32B_vim()* -tlib#hash#CRC32B_vim(chars) - - *tlib#hash#Adler32()* -tlib#hash#Adler32(chars) - - *tlib#hash#Adler32_vim()* -tlib#hash#Adler32_vim(chars) - - *tlib#hash#Adler32_tlib()* -tlib#hash#Adler32_tlib(chars) - - -======================================================================== -autoload/tlib/win.vim~ - - *tlib#win#Set()* -tlib#win#Set(winnr) - Return vim code to jump back to the original window. - - *tlib#win#GetLayout()* -tlib#win#GetLayout(?save_view=0) - - *tlib#win#SetLayout()* -tlib#win#SetLayout(layout) - - *tlib#win#List()* -tlib#win#List() - - *tlib#win#Width()* -tlib#win#Width(wnr) - - *tlib#win#WinDo()* -tlib#win#WinDo(ex) - - -======================================================================== -autoload/tlib/comments.vim~ - - *tlib#comments#Comments()* -tlib#comments#Comments(...) - function! tlib#comments#Comments(?rx='') - - -======================================================================== -autoload/tlib/grep.vim~ - - *tlib#grep#Do()* -tlib#grep#Do(cmd, rx, files) - - *tlib#grep#LocList()* -tlib#grep#LocList(rx, files) - - *tlib#grep#QuickFixList()* -tlib#grep#QuickFixList(rx, files) - - *tlib#grep#List()* -tlib#grep#List(rx, files) - - -======================================================================== -autoload/tlib/qfl.vim~ - - *tlib#qfl#FormatQFLE()* -tlib#qfl#FormatQFLE(qfe) - - *tlib#qfl#QfeFilename()* -tlib#qfl#QfeFilename(qfe) - - *tlib#qfl#InitListBuffer()* -tlib#qfl#InitListBuffer(world) - - *tlib#qfl#SetSyntax()* -tlib#qfl#SetSyntax() - - *tlib#qfl#Balloon()* -tlib#qfl#Balloon() - - *tlib#qfl#AgentEditQFE()* -tlib#qfl#AgentEditQFE(world, selected, ...) - - *tlib#qfl#AgentPreviewQFE()* -tlib#qfl#AgentPreviewQFE(world, selected) - - *tlib#qfl#AgentGotoQFE()* -tlib#qfl#AgentGotoQFE(world, selected) - - *tlib#qfl#AgentWithSelected()* -tlib#qfl#AgentWithSelected(world, selected, ...) - - *tlib#qfl#RunCmdOnSelected()* -tlib#qfl#RunCmdOnSelected(world, selected, cmd, ...) - - *tlib#qfl#AgentSplitBuffer()* -tlib#qfl#AgentSplitBuffer(world, selected) - - *tlib#qfl#AgentTabBuffer()* -tlib#qfl#AgentTabBuffer(world, selected) - - *tlib#qfl#AgentVSplitBuffer()* -tlib#qfl#AgentVSplitBuffer(world, selected) - - *tlib#qfl#AgentEditLine()* -tlib#qfl#AgentEditLine(world, selected) - - *tlib#qfl#EditLine()* -tlib#qfl#EditLine(lnum) - - *tlib#qfl#SetFollowCursor()* -tlib#qfl#SetFollowCursor(world, selected) - - *tlib#qfl#QflList()* -tlib#qfl#QflList(list, ...) - - *tlib#qfl#Browse()* -tlib#qfl#Browse(...) - - -======================================================================== -autoload/tlib/Filter_cnf.vim~ - - *tlib#Filter_cnf#New()* -tlib#Filter_cnf#New(...) - The search pattern for |tlib#input#List()| is in conjunctive normal - form: (P1 OR P2 ...) AND (P3 OR P4 ...) ... - The pattern is a '/\V' very no-'/magic' regexp pattern. - - Pressing joins two patterns with AND. - Pressing | joins two patterns with OR. - I.e. In order to get "lala AND (foo OR bar)", you type - "lala foo|bar". - - This is also the base class for other filters. - -prototype.Pretty - - -======================================================================== -autoload/tlib/Object.vim~ -Provides a prototype plus some OO-like methods. - - *tlib#Object#New()* -tlib#Object#New(?fields={}) - This function creates a prototype that provides some kind of - inheritance mechanism and a way to call parent/super methods. - - The usage demonstrated in the following example works best when every - class/prototype is defined in a file of its own. - - The reason for why there is a dedicated constructor function is that - this layout facilitates the use of templates and that methods are - hidden from the user. Other solutions are possible. - - EXAMPLES: > - let s:prototype = tlib#Object#New({ - \ '_class': ['FooBar'], - \ 'foo': 1, - \ 'bar': 2, - \ }) - " Constructor - function! FooBar(...) - let object = s:prototype.New(a:0 >= 1 ? a:1 : {}) - return object - endf - function! s:prototype.babble() { - echo "I think, therefore I am ". (self.foo * self.bar) ." months old." - } - -< This could now be used like this: > - let myfoo = FooBar({'foo': 3}) - call myfoo.babble() - => I think, therefore I am 6 months old. - echo myfoo.IsA('FooBar') - => 1 - echo myfoo.IsA('object') - => 1 - echo myfoo.IsA('Foo') - => 0 - echo myfoo.RespondTo('babble') - => 1 - echo myfoo.RespondTo('speak') - => 0 -< - -prototype.New - -prototype.Inherit - -prototype.Extend - -prototype.IsA - -prototype.IsRelated - -prototype.RespondTo - -prototype.Super - - *tlib#Object#Methods()* -tlib#Object#Methods(object, ...) - - -======================================================================== -autoload/tlib/buffer.vim~ - - *g:tlib_viewline_position* -g:tlib_viewline_position (default: 'zz') - Where to display the line when using |tlib#buffer#ViewLine|. - For possible values for position see |scroll-cursor|. - - *tlib#buffer#EnableMRU()* -tlib#buffer#EnableMRU() - - *tlib#buffer#DisableMRU()* -tlib#buffer#DisableMRU() - - *tlib#buffer#Set()* -tlib#buffer#Set(buffer) - Set the buffer to buffer and return a command as string that can be - evaluated by |:execute| in order to restore the original view. - - *tlib#buffer#Eval()* -tlib#buffer#Eval(buffer, code) - Evaluate CODE in BUFFER. - - EXAMPLES: > - call tlib#buffer#Eval('foo.txt', 'echo b:bar') -< - - *tlib#buffer#GetList()* -tlib#buffer#GetList(?show_hidden=0, ?show_number=0, " ?order='bufnr') - Possible values for the "order" argument: - bufnr :: Default behaviour - mru :: Sort buffers according to most recent use - basename :: Sort by the file's basename (last component) - - NOTE: MRU order works on second invocation only. If you want to always - use MRU order, call tlib#buffer#EnableMRU() in your ~/.vimrc file. - - *tlib#buffer#ViewLine()* -tlib#buffer#ViewLine(line, ?position='z') - line is either a number or a string that begins with a number. - For possible values for position see |scroll-cursor|. - See also |g:tlib_viewline_position|. - - *tlib#buffer#HighlightLine()* -tlib#buffer#HighlightLine(...) - - *tlib#buffer#DeleteRange()* -tlib#buffer#DeleteRange(line1, line2) - Delete the lines in the current buffer. Wrapper for |:delete|. - - *tlib#buffer#ReplaceRange()* -tlib#buffer#ReplaceRange(line1, line2, lines) - Replace a range of lines. - - *tlib#buffer#ScratchStart()* -tlib#buffer#ScratchStart() - Initialize some scratch area at the bottom of the current buffer. - - *tlib#buffer#ScratchEnd()* -tlib#buffer#ScratchEnd() - Remove the in-buffer scratch area. - - *tlib#buffer#BufDo()* -tlib#buffer#BufDo(exec) - Run exec on all buffers via bufdo and return to the original buffer. - - *tlib#buffer#InsertText()* -tlib#buffer#InsertText(text, keyargs) - Keyargs: - 'shift': 0|N - 'col': col('.')|N - 'lineno': line('.')|N - 'indent': 0|1 - 'pos': 'e'|'s' ... Where to locate the cursor (somewhat like s and e in {offset}) - Insert text (a string) in the buffer. - - *tlib#buffer#InsertText0()* -tlib#buffer#InsertText0(text, ...) - - *tlib#buffer#CurrentByte()* -tlib#buffer#CurrentByte() - - *tlib#buffer#KeepCursorPosition()* -tlib#buffer#KeepCursorPosition(cmd) - Evaluate cmd while maintaining the cursor position and jump registers. - - -======================================================================== -autoload/tlib/hook.vim~ - - *tlib#hook#Run()* -tlib#hook#Run(hook, ?dict={}) - Execute dict[hook], w:{hook}, b:{hook}, or g:{hook} if existent. - - -======================================================================== -autoload/tlib/string.vim~ - - *tlib#string#RemoveBackslashes()* -tlib#string#RemoveBackslashes(text, ?chars=' ') - Remove backslashes from text (but only in front of the characters in - chars). - - *tlib#string#Chomp()* -tlib#string#Chomp(string, ?max=0) - - *tlib#string#Format()* -tlib#string#Format(template, dict) - - *tlib#string#Printf1()* -tlib#string#Printf1(format, string) - This function deviates from |printf()| in certain ways. - Additional items: - %{rx} ... insert escaped regexp - %{fuzzyrx} ... insert typo-tolerant regexp - - *tlib#string#TrimLeft()* -tlib#string#TrimLeft(string) - - *tlib#string#TrimRight()* -tlib#string#TrimRight(string) - - *tlib#string#Strip()* -tlib#string#Strip(string) - - *tlib#string#Count()* -tlib#string#Count(string, rx) - - *tlib#string#SplitCommaList()* -tlib#string#SplitCommaList(text, ...) - - - -vim:tw=78:fo=w2croql:isk=!-~,^*,^|,^":ts=8:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/tlib/plugin/02tlib.vim b/.vim_runtime/sources_non_forked/tlib/plugin/02tlib.vim deleted file mode 100644 index cc2c3ca..0000000 --- a/.vim_runtime/sources_non_forked/tlib/plugin/02tlib.vim +++ /dev/null @@ -1,102 +0,0 @@ -" @Author: Tom Link (micathom AT gmail com?subject=[vim]) -" @Created: 2007-04-10. -" @Last Change: 2015-11-23. -" @License: GPL (see http://www.gnu.org/licenses/gpl.txt) -" @Revision: 808 -" @Website: http://www.vim.org/account/profile.php?user_id=4037 -" GetLatestVimScripts: 1863 1 tlib.vim -" tlib.vim -- Some utility functions - -if &cp || exists("g:loaded_tlib") - finish -endif -if v:version < 700 "{{{2 - echoerr "tlib requires Vim >= 7" - finish -endif -let g:loaded_tlib = 117 - -let s:save_cpo = &cpo -set cpo&vim - - -" :display: :TLet VAR = VALUE -" Set a variable only if it doesn't already exist. -" EXAMPLES: > -" TLet foo = 1 -" TLet foo = 2 -" echo foo -" => 1 -command! -nargs=+ TLet if !exists(matchstr(, '^[^=[:space:]]\+')) | exec 'let '. | endif - - -" Open a scratch buffer (a buffer without a file). -" TScratch ... use split window -" TScratch! ... use the whole frame -" This command takes an (inner) dictionary as optional argument. -" EXAMPLES: > -" TScratch 'scratch': '__FOO__' -" => Open a scratch buffer named __FOO__ -command! -bar -nargs=* -bang TScratch call tlib#scratch#UseScratch({'scratch_split': empty(''), }) - - -" :display: :TVarArg VAR1, [VAR2, DEFAULT2] ... -" A convenience wrapper for |tlib#arg#Let|. -" EXAMPLES: > -" function! Foo(...) -" TVarArg ['a', 1], 'b' -" echo 'a='. a -" echo 'b='. b -" endf -command! -nargs=+ TVarArg exec tlib#arg#Let([]) - - -" :display: :TBrowseOutput COMMAND -" Ever wondered how to efficiently browse the output of a command -" without redirecting it to a file? This command takes a command as -" argument and presents the output via |tlib#input#List()| so that you -" can easily search for a keyword (e.g. the name of a variable or -" function) and the like. -" -" If you press enter, the selected line will be copied to the command -" line. Press ESC to cancel browsing. -" -" EXAMPLES: > -" TBrowseOutput 20verb TeaseTheCulprit -command! -nargs=1 -complete=command TBrowseOutput call tlib#cmd#BrowseOutput() - - -" :display: :TBrowseScriptnames -" List all sourced script names (the output of ':scriptnames'). -" -" When you press enter, the selected script will be opened in the current -" window. Press ESC to cancel. -" -" EXAMPLES: > -" TBrowseScriptnames -command! -nargs=0 -complete=command TBrowseScriptnames call tlib#cmd#TBrowseScriptnames() - - -" :display: :Tlibtrace GUARD, VAR1, VAR2... -" Do nothing unless |tlib#trace#Enable()| was called. -" -" When |:Tlibtraceset| or |tlib#trace#Enable()| were called: -" -" If GUARD is a number that evaluates to true or if it is a string that -" matches a |regexp|, which was added using Tlibtrace! (with '!'), -" display the values of VAR1, VAR2 ... -command! -nargs=+ -bang -bar Tlibtrace : - - -" :Tlibtraceset +RX1, -RX2... -" If |tlib#trace#Enable()| was called: With the optional , users -" can add and remove GUARDs (actually a |regexp|) that should be traced. -command! -nargs=+ -bang -bar Tlibtraceset call tlib#trace#Set() - - -" :display: :Tlibtrace ASSERTION -command! -nargs=+ -bang -bar Tlibassert : - - -let &cpo = s:save_cpo -unlet s:save_cpo diff --git a/.vim_runtime/sources_non_forked/tlib/test/tlib.vim b/.vim_runtime/sources_non_forked/tlib/test/tlib.vim deleted file mode 100644 index 2277d36..0000000 --- a/.vim_runtime/sources_non_forked/tlib/test/tlib.vim +++ /dev/null @@ -1,219 +0,0 @@ -" tLib.vim -" @Author: Thomas Link (mailto:micathom AT gmail com?subject=vim-tLib) -" @Website: http://www.vim.org/account/profile.php?user_id=4037 -" @License: GPL (see http://www.gnu.org/licenses/gpl.txt) -" @Created: 2006-12-17. -" @Last Change: 2008-11-23. -" @Revision: 129 - -if !exists("loaded_tassert") - echoerr 'tAssert (vimscript #1730) is required' -endif - - -TAssertBegin! "tlib" - - -" List {{{2 -fun! Add(a,b) - return a:a + a:b -endf -TAssert IsEqual(tlib#list#Inject([], 0, function('Add')), 0) -TAssert IsEqual(tlib#list#Inject([1,2,3], 0, function('Add')), 6) -delfunction Add - -TAssert IsEqual(tlib#list#Compact([]), []) -TAssert IsEqual(tlib#list#Compact([0,1,2,3,[], {}, ""]), [1,2,3]) - -TAssert IsEqual(tlib#list#Flatten([]), []) -TAssert IsEqual(tlib#list#Flatten([1,2,3]), [1,2,3]) -TAssert IsEqual(tlib#list#Flatten([1,2, [1,2,3], 3]), [1,2,1,2,3,3]) -TAssert IsEqual(tlib#list#Flatten([0,[1,2,[3,""]]]), [0,1,2,3,""]) - -TAssert IsEqual(tlib#list#FindAll([1,2,3], 'v:val >= 2'), [2,3]) -TAssert IsEqual(tlib#list#FindAll([1,2,3], 'v:val >= 2', 'v:val * 10'), [20,30]) - -TAssert IsEqual(tlib#list#Find([1,2,3], 'v:val >= 2'), 2) -TAssert IsEqual(tlib#list#Find([1,2,3], 'v:val >= 2', 0, 'v:val * 10'), 20) -TAssert IsEqual(tlib#list#Find([1,2,3], 'v:val >= 5', 10), 10) - -TAssert IsEqual(tlib#list#Any([1,2,3], 'v:val >= 2'), 1) -TAssert IsEqual(tlib#list#Any([1,2,3], 'v:val >= 5'), 0) - -TAssert IsEqual(tlib#list#All([1,2,3], 'v:val < 5'), 1) -TAssert IsEqual(tlib#list#All([1,2,3], 'v:val >= 2'), 0) - -TAssert IsEqual(tlib#list#Remove([1,2,1,2], 2), [1,1,2]) -TAssert IsEqual(tlib#list#RemoveAll([1,2,1,2], 2), [1,1]) - -TAssert IsEqual(tlib#list#Zip([[1,2,3], [4,5,6]]), [[1,4], [2,5], [3,6]]) -TAssert IsEqual(tlib#list#Zip([[1,2,3], [4,5,6,7]]), [[1,4], [2,5], [3,6], ['', 7]]) -TAssert IsEqual(tlib#list#Zip([[1,2,3], [4,5,6,7]], -1), [[1,4], [2,5], [3,6], [-1,7]]) -TAssert IsEqual(tlib#list#Zip([[1,2,3,7], [4,5,6]], -1), [[1,4], [2,5], [3,6], [7,-1]]) - - -" Vars {{{2 -let g:foo = 1 -let g:bar = 2 -let b:bar = 3 -let s:bar = 4 - -TAssert IsEqual(tlib#var#Get('bar', 'bg'), 3) -TAssert IsEqual(tlib#var#Get('bar', 'g'), 2) -TAssert IsEqual(tlib#var#Get('foo', 'bg'), 1) -TAssert IsEqual(tlib#var#Get('foo', 'g'), 1) -TAssert IsEqual(tlib#var#Get('none', 'l'), '') - -TAssert IsEqual(eval(tlib#var#EGet('bar', 'bg')), 3) -TAssert IsEqual(eval(tlib#var#EGet('bar', 'g')), 2) -" TAssert IsEqual(eval(tlib#var#EGet('bar', 'sg')), 4) -TAssert IsEqual(eval(tlib#var#EGet('foo', 'bg')), 1) -TAssert IsEqual(eval(tlib#var#EGet('foo', 'g')), 1) -TAssert IsEqual(eval(tlib#var#EGet('none', 'l')), '') - -unlet g:foo -unlet g:bar -unlet b:bar - - - -" Filenames {{{2 -TAssert IsEqual(tlib#file#Split('foo/bar/filename.txt'), ['foo', 'bar', 'filename.txt']) -TAssert IsEqual(tlib#file#Split('/foo/bar/filename.txt'), ['', 'foo', 'bar', 'filename.txt']) -TAssert IsEqual(tlib#file#Split('ftp://foo/bar/filename.txt'), ['ftp:/', 'foo', 'bar', 'filename.txt']) - -TAssert IsEqual(tlib#file#Join(['foo', 'bar', 'filename.txt']), 'foo/bar/filename.txt') -TAssert IsEqual(tlib#file#Join(['', 'foo', 'bar', 'filename.txt']), '/foo/bar/filename.txt') -TAssert IsEqual(tlib#file#Join(['ftp:/', 'foo', 'bar', 'filename.txt']), 'ftp://foo/bar/filename.txt') - -TAssert IsEqual(tlib#file#Relative('foo/bar/filename.txt', 'foo'), 'bar/filename.txt') -TAssert IsEqual(tlib#file#Relative('foo/bar/filename.txt', 'foo/base'), '../bar/filename.txt') -TAssert IsEqual(tlib#file#Relative('filename.txt', 'foo/base'), '../../filename.txt') -TAssert IsEqual(tlib#file#Relative('/foo/bar/filename.txt', '/boo/base'), '../../foo/bar/filename.txt') -TAssert IsEqual(tlib#file#Relative('/bar/filename.txt', '/boo/base'), '../../bar/filename.txt') -TAssert IsEqual(tlib#file#Relative('/foo/bar/filename.txt', '/base'), '../foo/bar/filename.txt') -TAssert IsEqual(tlib#file#Relative('c:/bar/filename.txt', 'x:/boo/base'), 'c:/bar/filename.txt') - - - -" Prototype-based programming {{{2 -let test = tlib#Test#New() -TAssert test.IsA('Test') -TAssert !test.IsA('foo') -TAssert test.RespondTo('RespondTo') -TAssert !test.RespondTo('RespondToNothing') -let test1 = tlib#Test#New() -TAssert test.IsRelated(test1) -let testworld = tlib#World#New() -TAssert !test.IsRelated(testworld) - -let testc = tlib#TestChild#New() -TAssert IsEqual(testc.Dummy(), 'TestChild.vim') -TAssert IsEqual(testc.Super('Dummy', []), 'Test.vim') - - - -" Optional arguments {{{2 -function! TestGetArg(...) "{{{3 - exec tlib#arg#Get(1, 'foo', 1) - return foo -endf - -function! TestGetArg1(...) "{{{3 - exec tlib#arg#Get(1, 'foo', 1, '!= ""') - return foo -endf - -TAssert IsEqual(TestGetArg(), 1) -TAssert IsEqual(TestGetArg(''), '') -TAssert IsEqual(TestGetArg(2), 2) -TAssert IsEqual(TestGetArg1(), 1) -TAssert IsEqual(TestGetArg1(''), 1) -TAssert IsEqual(TestGetArg1(2), 2) - -function! TestArgs(...) "{{{3 - exec tlib#arg#Let([['foo', "o"], ['bar', 2]]) - return repeat(foo, bar) -endf -TAssert IsEqual(TestArgs(), 'oo') -TAssert IsEqual(TestArgs('a'), 'aa') -TAssert IsEqual(TestArgs('a', 3), 'aaa') - -function! TestArgs1(...) "{{{3 - exec tlib#arg#Let(['foo', ['bar', 2]]) - return repeat(foo, bar) -endf -TAssert IsEqual(TestArgs1(), '') -TAssert IsEqual(TestArgs1('a'), 'aa') -TAssert IsEqual(TestArgs1('a', 3), 'aaa') - -function! TestArgs2(...) "{{{3 - exec tlib#arg#Let(['foo', 'bar'], 1) - return repeat(foo, bar) -endf -TAssert IsEqual(TestArgs2(), '1') -TAssert IsEqual(TestArgs2('a'), 'a') -TAssert IsEqual(TestArgs2('a', 3), 'aaa') - -function! TestArgs3(...) - TVarArg ['a', 1], 'b' - return a . b -endf -TAssert IsEqual(TestArgs3(), '1') -TAssert IsEqual(TestArgs3('a'), 'a') -TAssert IsEqual(TestArgs3('a', 3), 'a3') - -delfunction TestGetArg -delfunction TestGetArg1 -delfunction TestArgs -delfunction TestArgs1 -delfunction TestArgs2 -delfunction TestArgs3 - - - -" Strings {{{2 -TAssert IsString(tlib#string#RemoveBackslashes('foo bar')) -TAssert IsEqual(tlib#string#RemoveBackslashes('foo bar'), 'foo bar') -TAssert IsEqual(tlib#string#RemoveBackslashes('foo\ bar'), 'foo bar') -TAssert IsEqual(tlib#string#RemoveBackslashes('foo\ \\bar'), 'foo \\bar') -TAssert IsEqual(tlib#string#RemoveBackslashes('foo\ \\bar', '\ '), 'foo \bar') - - - -" Regexp {{{2 -for c in split('^$.*+\()|{}[]~', '\zs') - let s = printf('%sfoo%sbar%s', c, c, c) - TAssert (s =~ '\m^'. tlib#rx#Escape(s, 'm') .'$') - TAssert (s =~ '\M^'. tlib#rx#Escape(s, 'M') .'$') - TAssert (s =~ '\v^'. tlib#rx#Escape(s, 'v') .'$') - TAssert (s =~ '\V\^'. tlib#rx#Escape(s, 'V') .'\$') -endfor - - -" Encode, decode -TAssert IsEqual(tlib#url#Decode('http://example.com/foo+bar%25bar'), 'http://example.com/foo bar%bar') -TAssert IsEqual(tlib#url#Decode('Hello%20World.%20%20Good%2c%20bye.'), 'Hello World. Good, bye.') - -TAssert IsEqual(tlib#url#Encode('foo bar%bar'), 'foo+bar%%bar') -TAssert IsEqual(tlib#url#Encode('Hello World. Good, bye.'), 'Hello+World.+Good%2c+bye.') - -TAssertEnd test test1 testc testworld - - -TAssert IsEqual(tlib#string#Count("fooo", "o"), 3) -TAssert IsEqual(tlib#string#Count("***", "\\*"), 3) -TAssert IsEqual(tlib#string#Count("***foo", "\\*"), 3) -TAssert IsEqual(tlib#string#Count("foo***", "\\*"), 3) - - -finish "{{{1 - - -" Input {{{2 -echo tlib#input#List('s', 'Test', ['barfoobar', 'barFoobar']) -echo tlib#input#List('s', 'Test', ['barfoobar', 'bar foo bar', 'barFoobar']) -echo tlib#input#List('s', 'Test', ['barfoobar', 'bar1Foo1bar', 'barFoobar']) -echo tlib#input#EditList('Test', ['bar1', 'bar2', 'bar3', 'foo1', 'foo2', 'foo3']) - - diff --git a/.vim_runtime/sources_non_forked/typescript-vim/README.md b/.vim_runtime/sources_non_forked/typescript-vim/README.md deleted file mode 100644 index f6949c8..0000000 --- a/.vim_runtime/sources_non_forked/typescript-vim/README.md +++ /dev/null @@ -1,118 +0,0 @@ - -README.md

Typescript Syntax for Vim

- -

Syntax file and other settings for TypeScript. The -syntax file is taken from this blog -post.

- -

Checkout Tsuquyomi for omni-completion -and other features for TypeScript editing.

- -

Install

- -

From Vim 8 onward, the plugin can be installed as simply as (Unix/Mac):

- -
git clone https://github.com/leafgarland/typescript-vim.git ~/.vim/pack/typescript/start/typescript-vim
- -

On Windows/Powershell, use the following:

- -
git clone https://github.com/leafgarland/typescript-vim.git $home/vimfiles/pack/typescript/start/typescript-vim
- -

For older versions of Vim, the simplest way to install is via a Vim add-in manager such as -Plug, -Vundle or -Pathogen.

- -

See the Installation Wiki

- -

Pathogen

- -
git clone https://github.com/leafgarland/typescript-vim.git ~/.vim/bundle/typescript-vim
- -

If you want to install manually then you need to copy the files from this -repository into your vim path, see the vim docs for :help -runtimepath -for more information. This might be as simple as copying the files and -directories to ~/.vim/ but it depends on your Vim install and operating -system.

- -

Usage

- -

Once the files are installed the syntax highlighting and other settings will be -automatically enabled anytime you edit a .ts file.

- -

Indenting

- -

This plugin includes a custom indenter (based on pangloss/vim-javascript’s -indenter), -it works pretty well but there are cases where it fails. If these bother you or -want to use other indent settings you can disable it by setting a flag in your -.vimrc:

- -
let g:typescript_indent_disable = 1
- -

If you want the indenter to automatically indent chained method calls as you type.

- -
something
-    .foo()
-    .bar();
-
- -

Then add something like setlocal indentkeys+=0. to your .vimrc, see :help -'indentkeys' in vim for more information.

- -

If you use the = operator to re-indent code it will always indent -chained method calls - this can be disabled by changing the regex the -indent script uses to identify indented lines. In this case removing ‘.’ -from the regex means that it wont indent lines starting with ‘.’. Note, -this is not ideal as the regex may change making your setting out of date.

- -
let g:typescript_opfirst='\%([<>=,?^%|*/&]\|\([-:+]\)\1\@!\|!=\|in\%(stanceof\)\=\>\)'
- -

Compiler settings

- -

This plugin contains compiler settings to set makeprg and errorformat. -The compiler settings enable you to call the tsc compiler directly from Vim -and display any errors or warnings in Vim’s QuickFix window.

- -

To run the compiler, enter :make, this will run tsc against the last saved -version of your currently edited file.

- -

The default for makeprg is tsc $* %. You can enter other compiler options into your :make -command line and they will be inserted in place of $*.

- -

There are options to change the compiler name and to insert default options.

- -
let g:typescript_compiler_binary = 'tsc'
-let g:typescript_compiler_options = ''
- -

These options will be passed to the binary as command arguments. For example, -if g:typescript_compiler_binary = 'tsc' and g:typescript_compiler_options = '--lib es6', -l:makeprg will be: tsc --lib es6 $* %.

- -

You can completely override this plugin’s compiler settings with something like -this in your .vimrc, where you can set makeprg to whatever you want.

- -
  autocmd FileType typescript :set makeprg=tsc
- -

Note, this plugin’s compiler settings are not used by Syntastic which has its own -way of changing the options. See https://github.com/scrooloose/syntastic#faqargs.

- -

You can use something like this in your .vimrc to make the QuickFix -window automatically appear if :make has any errors.

- -
autocmd QuickFixCmdPost [^l]* nested cwindow
-autocmd QuickFixCmdPost    l* nested lwindow
- -

Syntax highlighting

- -

Syntax highlighting for TypeScript can be customized by following variables.

- -
    -
  • g:typescript_ignore_typescriptdoc: When this variable is defined, doccomments will not be -highlighted.
  • -
  • g:typescript_ignore_browserwords: When this variable is set to 1, browser API names such as -window or document will not be highlighted. (default to 0)
  • -
- -

Obligatory screenshot

diff --git a/.vim_runtime/sources_non_forked/typescript-vim/compiler/typescript.vim b/.vim_runtime/sources_non_forked/typescript-vim/compiler/typescript.vim deleted file mode 100644 index 77121eb..0000000 --- a/.vim_runtime/sources_non_forked/typescript-vim/compiler/typescript.vim +++ /dev/null @@ -1,30 +0,0 @@ -if exists("current_compiler") - finish -endif -let current_compiler = "typescript" - -if !exists("g:typescript_compiler_binary") - let g:typescript_compiler_binary = "tsc" -endif - -if !exists("g:typescript_compiler_options") - let g:typescript_compiler_options = "" -endif - -if exists(":CompilerSet") != 2 - command! -nargs=* CompilerSet setlocal -endif - -let s:cpo_save = &cpo -set cpo-=C - -execute 'CompilerSet makeprg=' - \ . escape(g:typescript_compiler_binary, ' ') - \ . '\ ' - \ . escape(g:typescript_compiler_options, ' ') - \ . '\ $*\ %' - -CompilerSet errorformat=%+A\ %#%f\ %#(%l\\\,%c):\ %m,%C%m - -let &cpo = s:cpo_save -unlet s:cpo_save diff --git a/.vim_runtime/sources_non_forked/typescript-vim/ftdetect/typescript.vim b/.vim_runtime/sources_non_forked/typescript-vim/ftdetect/typescript.vim deleted file mode 100644 index 7c10206..0000000 --- a/.vim_runtime/sources_non_forked/typescript-vim/ftdetect/typescript.vim +++ /dev/null @@ -1,4 +0,0 @@ -" use `set filetype` to override default filetype=xml for *.ts files -autocmd BufNewFile,BufRead *.ts set filetype=typescript -" use `setfiletype` to not override any other plugins like ianks/vim-tsx -autocmd BufNewFile,BufRead *.tsx setfiletype typescript diff --git a/.vim_runtime/sources_non_forked/typescript-vim/ftplugin/typescript.vim b/.vim_runtime/sources_non_forked/typescript-vim/ftplugin/typescript.vim deleted file mode 100644 index da4b1e8..0000000 --- a/.vim_runtime/sources_non_forked/typescript-vim/ftplugin/typescript.vim +++ /dev/null @@ -1,21 +0,0 @@ -if exists("b:did_ftplugin") - finish -endif -let b:did_ftplugin = 1 - -let s:cpo_save = &cpo -set cpo-=C - -compiler typescript -setlocal commentstring=//\ %s - -" Set 'formatoptions' to break comment lines but not other lines, -" " and insert the comment leader when hitting or using "o". -setlocal formatoptions-=t formatoptions+=croql - -setlocal suffixesadd+=.ts,.tsx - -let b:undo_ftplugin = "setl fo< ofu< com< cms<" - -let &cpo = s:cpo_save -unlet s:cpo_save diff --git a/.vim_runtime/sources_non_forked/typescript-vim/indent/typescript.vim b/.vim_runtime/sources_non_forked/typescript-vim/indent/typescript.vim deleted file mode 100644 index 3ee9aa0..0000000 --- a/.vim_runtime/sources_non_forked/typescript-vim/indent/typescript.vim +++ /dev/null @@ -1,360 +0,0 @@ -" Vim indent file -" Language: Typescript -" Acknowledgement: Almost direct copy from https://github.com/pangloss/vim-javascript - -" Only load this indent file when no other was loaded. -if exists('b:did_indent') || get(g:, 'typescript_indent_disable', 0) - finish -endif -let b:did_indent = 1 - -" Now, set up our indentation expression and keys that trigger it. -setlocal indentexpr=GetTypescriptIndent() -setlocal autoindent nolisp nosmartindent -setlocal indentkeys+=0],0) - -let b:undo_indent = 'setlocal indentexpr< smartindent< autoindent< indentkeys<' - -" Only define the function once. -if exists('*GetTypescriptIndent') - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -" Get shiftwidth value -if exists('*shiftwidth') - function s:sw() - return shiftwidth() - endfunction -else - function s:sw() - return &sw - endfunction -endif - -" searchpair() wrapper -if has('reltime') - function s:GetPair(start,end,flags,skip,time,...) - return searchpair('\m'.a:start,'','\m'.a:end,a:flags,a:skip,max([prevnonblank(v:lnum) - 2000,0] + a:000),a:time) - endfunction -else - function s:GetPair(start,end,flags,skip,...) - return searchpair('\m'.a:start,'','\m'.a:end,a:flags,a:skip,max([prevnonblank(v:lnum) - 1000,get(a:000,1)])) - endfunction -endif - -" Regex of syntax group names that are or delimit string or are comments. -let s:syng_strcom = 'string\|comment\|regex\|special\|doc\|template\%(braces\)\@!' -let s:syng_str = 'string\|template\|special' -let s:syng_com = 'comment\|doc' -" Expression used to check whether we should skip a match with searchpair(). -let s:skip_expr = "synIDattr(synID(line('.'),col('.'),0),'name') =~? '".s:syng_strcom."'" - -function s:skip_func() - if !s:free || search('\m`\|\${\|\*\/','nW',s:looksyn) - let s:free = !eval(s:skip_expr) - let s:looksyn = line('.') - return !s:free - endif - let s:looksyn = line('.') - return getline('.') =~ '\%<'.col('.').'c\/.\{-}\/\|\%>'.col('.').'c[''"]\|\\$' && - \ eval(s:skip_expr) -endfunction - -function s:alternatePair(stop) - let pos = getpos('.')[1:2] - while search('\m[][(){}]','bW',a:stop) - if !s:skip_func() - let idx = stridx('])}',s:looking_at()) - if idx + 1 - if s:GetPair(['\[','(','{'][idx], '])}'[idx],'bW','s:skip_func()',2000,a:stop) <= 0 - break - endif - else - return - endif - endif - endwhile - call call('cursor',pos) -endfunction - -function s:save_pos(f,...) - let l:pos = getpos('.')[1:2] - let ret = call(a:f,a:000) - call call('cursor',l:pos) - return ret -endfunction - -function s:syn_at(l,c) - return synIDattr(synID(a:l,a:c,0),'name') -endfunction - -function s:looking_at() - return getline('.')[col('.')-1] -endfunction - -function s:token() - return s:looking_at() =~ '\k' ? expand('') : s:looking_at() -endfunction - -function s:previous_token() - let l:n = line('.') - if (s:looking_at() !~ '\k' || search('\m\<','cbW')) && search('\m\S','bW') - if (getline('.')[col('.')-2:col('.')-1] == '*/' || line('.') != l:n && - \ getline('.') =~ '\%<'.col('.').'c\/\/') && s:syn_at(line('.'),col('.')) =~? s:syng_com - while search('\m\/\ze[/*]','cbW') - if !search('\m\S','bW') - break - elseif s:syn_at(line('.'),col('.')) !~? s:syng_com - return s:token() - endif - endwhile - else - return s:token() - endif - endif - return '' -endfunction - -function s:others(p) - return "((line2byte(line('.')) + col('.')) <= ".(line2byte(a:p[0]) + a:p[1]).") || ".s:skip_expr -endfunction - -function s:tern_skip(p) - return s:GetPair('{','}','nbW',s:others(a:p),200,a:p[0]) > 0 -endfunction - -function s:tern_col(p) - return s:GetPair('?',':\@ 0 -endfunction - -function s:label_col() - let pos = getpos('.')[1:2] - let [s:looksyn,s:free] = pos - call s:alternatePair(0) - if s:save_pos('s:IsBlock') - let poss = getpos('.')[1:2] - return call('cursor',pos) || !s:tern_col(poss) - elseif s:looking_at() == ':' - return !s:tern_col([0,0]) - endif -endfunction - -" configurable regexes that define continuation lines, not including (, {, or [. -let s:opfirst = '^' . get(g:,'typescript_opfirst', - \ '\%([<>=,?^%|*/&]\|\([-.:+]\)\1\@!\|!=\|in\%(stanceof\)\=\>\)') -let s:continuation = get(g:,'typescript_continuation', - \ '\%([-+<>=,.~!?/*^%|&:]\|\<\%(typeof\|delete\|void\|in\|instanceof\)\)') . '$' - -function s:continues(ln,con) - return !cursor(a:ln, match(' '.a:con,s:continuation)) && - \ eval( (['s:syn_at(line("."),col(".")) !~? "regex"'] + - \ repeat(['getline(".")[col(".")-2] != tr(s:looking_at(),">","=")'],3) + - \ repeat(['s:previous_token() != "."'],5) + [1])[ - \ index(split('/ > - + typeof in instanceof void delete'),s:token())]) -endfunction - -" get the line of code stripped of comments and move cursor to the last -" non-comment char. -function s:Trim(ln) - call cursor(a:ln+1,1) - call s:previous_token() - return strpart(getline('.'),0,col('.')) -endfunction - -" Find line above 'lnum' that isn't empty or in a comment -function s:PrevCodeLine(lnum) - let l:n = prevnonblank(a:lnum) - while l:n - if getline(l:n) =~ '^\s*\/[/*]' - if (stridx(getline(l:n),'`') > 0 || getline(l:n-1)[-1:] == '\') && - \ s:syn_at(l:n,1) =~? s:syng_str - return l:n - endif - let l:n = prevnonblank(l:n-1) - elseif getline(l:n) =~ '\([/*]\)\1\@![/*]' && s:syn_at(l:n,1) =~? s:syng_com - let l:n = s:save_pos('eval', - \ 'cursor('.l:n.',1) + search(''\m\/\*'',"bW")') - else - return l:n - endif - endwhile -endfunction - -" Check if line 'lnum' has a balanced amount of parentheses. -function s:Balanced(lnum) - let l:open = 0 - let l:line = getline(a:lnum) - let pos = match(l:line, '[][(){}]', 0) - while pos != -1 - if s:syn_at(a:lnum,pos + 1) !~? s:syng_strcom - let l:open += match(' ' . l:line[pos],'[[({]') - if l:open < 0 - return - endif - endif - let pos = match(l:line, '[][(){}]', pos + 1) - endwhile - return !l:open -endfunction - -function s:OneScope(lnum) - let pline = s:Trim(a:lnum) - let kw = 'else do' - if pline[-1:] == ')' && s:GetPair('(', ')', 'bW', s:skip_expr, 100) > 0 - call s:previous_token() - let kw = 'for if let while with' - if index(split('await each'),s:token()) + 1 - call s:previous_token() - let kw = 'for' - endif - endif - return pline[-2:] == '=>' || index(split(kw),s:token()) + 1 && - \ s:save_pos('s:previous_token') != '.' -endfunction - -" returns braceless levels started by 'i' and above lines * &sw. 'num' is the -" lineNr which encloses the entire context, 'cont' if whether line 'i' + 1 is -" a continued expression, which could have started in a braceless context -function s:iscontOne(i,num,cont) - let [l:i, l:num, bL] = [a:i, a:num + !a:num, 0] - let pind = a:num ? indent(l:num) + s:W : 0 - let ind = indent(l:i) + (a:cont ? 0 : s:W) - while l:i >= l:num && (ind > pind || l:i == l:num) - if indent(l:i) < ind && s:OneScope(l:i) - let bL += s:W - let l:i = line('.') - elseif !a:cont || bL || ind < indent(a:i) - break - endif - let ind = min([ind, indent(l:i)]) - let l:i = s:PrevCodeLine(l:i - 1) - endwhile - return bL -endfunction - -" https://github.com/sweet-js/sweet.js/wiki/design#give-lookbehind-to-the-reader -function s:IsBlock() - if s:looking_at() == '{' - let l:n = line('.') - let char = s:previous_token() - if match(s:stack,'xml\|jsx') + 1 && s:syn_at(line('.'),col('.')-1) =~? 'xml\|jsx' - return char != '{' - elseif char =~ '\k' - return index(split('return const let import export yield default delete var await void typeof throw case new in instanceof') - \ ,char) < (line('.') != l:n) || s:previous_token() == '.' - elseif char == '>' - return getline('.')[col('.')-2] == '=' || s:syn_at(line('.'),col('.')) =~? '^jsflow' - elseif char == ':' - return getline('.')[col('.')-2] != ':' && s:label_col() - elseif char == '/' - return s:syn_at(line('.'),col('.')) =~? 'regex' - endif - return char !~ '[=~!<*,?^%|&([]' && - \ (char !~ '[-+]' || l:n != line('.') && getline('.')[col('.')-2] == char) - endif -endfunction - -function GetTypescriptIndent() - let b:js_cache = get(b:,'js_cache',[0,0,0]) - " Get the current line. - call cursor(v:lnum,1) - let l:line = getline('.') - " use synstack as it validates syn state and works in an empty line - let s:stack = synstack(v:lnum,1) - let syns = synIDattr(get(s:stack,-1),'name') - - " start with strings,comments,etc. - if syns =~? s:syng_com - if l:line =~ '^\s*\*' - return cindent(v:lnum) - elseif l:line !~ '^\s*\/[/*]' - return -1 - endif - elseif syns =~? s:syng_str && l:line !~ '^[''"]' - if b:js_cache[0] == v:lnum - 1 && s:Balanced(v:lnum-1) - let b:js_cache[0] = v:lnum - endif - return -1 - endif - let l:lnum = s:PrevCodeLine(v:lnum - 1) - if !l:lnum - return - endif - - let l:line = substitute(l:line,'^\s*','','') - if l:line[:1] == '/*' - let l:line = substitute(l:line,'^\%(\/\*.\{-}\*\/\s*\)*','','') - endif - if l:line =~ '^\/[/*]' - let l:line = '' - endif - - " the containing paren, bracket, curly, or closing '>'. - " Many hacks for performance - let idx = index([']',')','}','>'],l:line[0]) - if b:js_cache[0] >= l:lnum && b:js_cache[0] < v:lnum && - \ (b:js_cache[0] > l:lnum || s:Balanced(l:lnum)) - call call('cursor',b:js_cache[1:]) - else - let [s:looksyn, s:free, top] = [v:lnum - 1, 1, (!indent(l:lnum) && - \ s:syn_at(l:lnum,1) !~? s:syng_str) * l:lnum] - if idx + 1 - call s:GetPair(['\[','(','{'][idx],'])}'[idx],'bW','s:skip_func()',2000,top) - elseif getline(v:lnum) !~ '^\S' && syns =~? 'block' - call s:GetPair('{','}','bW','s:skip_func()',2000,top) - else - call s:alternatePair(top) - endif - endif - - let b:js_cache = [v:lnum] + (line('.') == v:lnum ? [0,0] : getpos('.')[1:2]) - let num = b:js_cache[1] - - let [s:W, isOp, bL, switch_offset] = [s:sw(),0,0,0] - if !num || s:IsBlock() - let ilnum = line('.') - let pline = s:save_pos('s:Trim',l:lnum) - if num && s:looking_at() == ')' && s:GetPair('(', ')', 'bW', s:skip_expr, 100) > 0 - let num = ilnum == num ? line('.') : num - if idx < 0 && s:previous_token() ==# 'switch' && s:previous_token() != '.' - if &cino !~ ':' - let switch_offset = s:W - else - let cinc = matchlist(&cino,'.*:\zs\(-\)\=\(\d*\)\(\.\d\+\)\=\(s\)\=\C') - let switch_offset = max([cinc[0] is '' ? 0 : (cinc[1].1) * - \ ((strlen(cinc[2].cinc[3]) ? str2nr(cinc[2].str2nr(cinc[3][1])) : 10) * - \ (cinc[4] is '' ? 1 : s:W)) / 10, -indent(num)]) - endif - if pline[-1:] != '.' && l:line =~# '^\%(default\|case\)\>' - return indent(num) + switch_offset - endif - endif - endif - if idx < 0 && pline !~ '[{;]$' - if pline =~# ':\@" -hi link shebang Comment - -"" typescript comments"{{{ -syn keyword typescriptCommentTodo TODO FIXME XXX TBD contained -syn match typescriptLineComment "\/\/.*" contains=@Spell,typescriptCommentTodo,typescriptRef -syn match typescriptRefComment /\/\/\/<\(reference\|amd-\(dependency\|module\)\)\s\+.*\/>$/ contains=typescriptRefD,typescriptRefS -syn region typescriptRefD start=+"+ skip=+\\\\\|\\"+ end=+"\|$+ -syn region typescriptRefS start=+'+ skip=+\\\\\|\\'+ end=+'\|$+ - -syn match typescriptCommentSkip "^[ \t]*\*\($\|[ \t]\+\)" -syn region typescriptComment start="/\*" end="\*/" contains=@Spell,typescriptCommentTodo extend -"}}} -"" JSDoc support start"{{{ -if !exists("typescript_ignore_typescriptdoc") - syntax case ignore - -" syntax coloring for JSDoc comments (HTML) -"unlet b:current_syntax - - syntax region typescriptDocComment start="/\*\*\s*$" end="\*/" contains=typescriptDocTags,typescriptCommentTodo,typescriptCvsTag,@typescriptHtml,@Spell fold extend - syntax match typescriptDocTags contained "@\(param\|argument\|requires\|exception\|throws\|type\|class\|extends\|see\|link\|member\|module\|method\|title\|namespace\|optional\|default\|base\|file\|returns\=\)\>" nextgroup=typescriptDocParam,typescriptDocSeeTag skipwhite - syntax match typescriptDocTags contained "@\(beta\|deprecated\|description\|fileoverview\|author\|license\|version\|constructor\|private\|protected\|final\|ignore\|addon\|exec\)\>" - syntax match typescriptDocParam contained "\%(#\|\w\|\.\|:\|\/\)\+" - syntax region typescriptDocSeeTag contained matchgroup=typescriptDocSeeTag start="{" end="}" contains=typescriptDocTags - - syntax case match -endif "" JSDoc end -"}}} -syntax case match - -"" Syntax in the typescript code"{{{ -syn match typescriptSpecial "\\\d\d\d\|\\x\x\{2\}\|\\u\x\{4\}" contained containedin=typescriptStringD,typescriptStringS,typescriptStringB display -syn region typescriptStringD start=+"+ skip=+\\\\\|\\"+ end=+"\|$+ contains=typescriptSpecial,@htmlPreproc extend -syn region typescriptStringS start=+'+ skip=+\\\\\|\\'+ end=+'\|$+ contains=typescriptSpecial,@htmlPreproc extend -syn region typescriptStringB start=+`+ skip=+\\\\\|\\`+ end=+`+ contains=typescriptInterpolation,typescriptSpecial,@htmlPreproc extend - -syn region typescriptInterpolation matchgroup=typescriptInterpolationDelimiter - \ start=/${/ end=/}/ contained - \ contains=@typescriptExpression - -syn match typescriptNumber "-\=\<\d[0-9_]*L\=\>" display -syn match typescriptNumber "-\=\<0[xX][0-9a-fA-F][0-9a-fA-F_]*\>" display -syn match typescriptNumber "-\=\<0[bB][01][01_]*\>" display -syn match typescriptNumber "-\=\<0[oO]\o[0-7_]*\>" display -syn region typescriptRegexpString start=+/[^/*]+me=e-1 skip=+\\\\\|\\/+ end=+/[gi]\{0,2\}\s*$+ end=+/[gi]\{0,2\}\s*[;.,)\]}]+me=e-1 contains=@htmlPreproc oneline -" syntax match typescriptSpecial "\\\d\d\d\|\\x\x\{2\}\|\\u\x\{4\}\|\\." -" syntax region typescriptStringD start=+"+ skip=+\\\\\|\\$"+ end=+"+ contains=typescriptSpecial,@htmlPreproc -" syntax region typescriptStringS start=+'+ skip=+\\\\\|\\$'+ end=+'+ contains=typescriptSpecial,@htmlPreproc -" syntax region typescriptRegexpString start=+/\(\*\|/\)\@!+ skip=+\\\\\|\\/+ end=+/[gim]\{,3}+ contains=typescriptSpecial,@htmlPreproc oneline -" syntax match typescriptNumber /\<-\=\d\+L\=\>\|\<0[xX]\x\+\>/ -syntax match typescriptFloat /\<-\=\%(\d[0-9_]*\.\d[0-9_]*\|\d[0-9_]*\.\|\.\d[0-9]*\)\%([eE][+-]\=\d[0-9_]*\)\=\>/ -" syntax match typescriptLabel /\(?\s*\)\@/ -"}}} -"" typescript Prototype"{{{ -syntax keyword typescriptPrototype contained prototype -"}}} -" DOM, Browser and Ajax Support {{{ -"""""""""""""""""""""""" -if get(g:, 'typescript_ignore_browserwords', 0) - syntax keyword typescriptBrowserObjects window navigator screen history location - - syntax keyword typescriptDOMObjects document event HTMLElement Anchor Area Base Body Button Form Frame Frameset Image Link Meta Option Select Style Table TableCell TableRow Textarea - syntax keyword typescriptDOMMethods contained createTextNode createElement insertBefore replaceChild removeChild appendChild hasChildNodes cloneNode normalize isSupported hasAttributes getAttribute setAttribute removeAttribute getAttributeNode setAttributeNode removeAttributeNode getElementsByTagName hasAttribute getElementById adoptNode close compareDocumentPosition createAttribute createCDATASection createComment createDocumentFragment createElementNS createEvent createExpression createNSResolver createProcessingInstruction createRange createTreeWalker elementFromPoint evaluate getBoxObjectFor getElementsByClassName getSelection getUserData hasFocus importNode - syntax keyword typescriptDOMProperties contained nodeName nodeValue nodeType parentNode childNodes firstChild lastChild previousSibling nextSibling attributes ownerDocument namespaceURI prefix localName tagName - - syntax keyword typescriptAjaxObjects XMLHttpRequest - syntax keyword typescriptAjaxProperties contained readyState responseText responseXML statusText - syntax keyword typescriptAjaxMethods contained onreadystatechange abort getAllResponseHeaders getResponseHeader open send setRequestHeader - - syntax keyword typescriptPropietaryObjects ActiveXObject - syntax keyword typescriptPropietaryMethods contained attachEvent detachEvent cancelBubble returnValue - - syntax keyword typescriptHtmlElemProperties contained className clientHeight clientLeft clientTop clientWidth dir href id innerHTML lang length offsetHeight offsetLeft offsetParent offsetTop offsetWidth scrollHeight scrollLeft scrollTop scrollWidth style tabIndex target title - - syntax keyword typescriptEventListenerKeywords contained blur click focus mouseover mouseout load item - - syntax keyword typescriptEventListenerMethods contained scrollIntoView addEventListener dispatchEvent removeEventListener preventDefault stopPropagation -endif -" }}} -"" Programm Keywords"{{{ -syntax keyword typescriptSource import export from as -syntax keyword typescriptIdentifier arguments this void -syntax keyword typescriptStorageClass let var const -syntax keyword typescriptOperator delete new instanceof typeof -syntax keyword typescriptBoolean true false -syntax keyword typescriptNull null undefined -syntax keyword typescriptMessage alert confirm prompt status -syntax keyword typescriptGlobal self top parent -syntax keyword typescriptDeprecated escape unescape all applets alinkColor bgColor fgColor linkColor vlinkColor xmlEncoding -"}}} -"" Statement Keywords"{{{ -syntax keyword typescriptConditional if else switch -syntax keyword typescriptRepeat do while for in of -syntax keyword typescriptBranch break continue yield await -syntax keyword typescriptLabel case default async readonly -syntax keyword typescriptStatement return with - -syntax keyword typescriptGlobalObjects Array Boolean Date Function Infinity JSON Math Number NaN Object Packages RegExp String Symbol netscape - -syntax keyword typescriptExceptions try catch throw finally Error EvalError RangeError ReferenceError SyntaxError TypeError URIError - -syntax keyword typescriptReserved constructor declare as interface module abstract enum int short export interface static byte extends long super char final native synchronized class float package throws goto private transient debugger implements protected volatile double import public type namespace from get set keyof -"}}} -"" typescript/DOM/HTML/CSS specified things"{{{ - -" typescript Objects"{{{ - syn match typescriptFunction "(super\s*|constructor\s*)" contained nextgroup=typescriptVars - syn region typescriptVars start="(" end=")" contained contains=typescriptParameters transparent keepend - syn match typescriptParameters "([a-zA-Z0-9_?.$][\w?.$]*)\s*:\s*([a-zA-Z0-9_?.$][\w?.$]*)" contained skipwhite -"}}} -" DOM2 Objects"{{{ - syntax keyword typescriptType DOMImplementation DocumentFragment Node NodeList NamedNodeMap CharacterData Attr Element Text Comment CDATASection DocumentType Notation Entity EntityReference ProcessingInstruction void any string boolean number symbol never object unknown - syntax keyword typescriptExceptions DOMException -"}}} -" DOM2 CONSTANT"{{{ - syntax keyword typescriptDomErrNo INDEX_SIZE_ERR DOMSTRING_SIZE_ERR HIERARCHY_REQUEST_ERR WRONG_DOCUMENT_ERR INVALID_CHARACTER_ERR NO_DATA_ALLOWED_ERR NO_MODIFICATION_ALLOWED_ERR NOT_FOUND_ERR NOT_SUPPORTED_ERR INUSE_ATTRIBUTE_ERR INVALID_STATE_ERR SYNTAX_ERR INVALID_MODIFICATION_ERR NAMESPACE_ERR INVALID_ACCESS_ERR - syntax keyword typescriptDomNodeConsts ELEMENT_NODE ATTRIBUTE_NODE TEXT_NODE CDATA_SECTION_NODE ENTITY_REFERENCE_NODE ENTITY_NODE PROCESSING_INSTRUCTION_NODE COMMENT_NODE DOCUMENT_NODE DOCUMENT_TYPE_NODE DOCUMENT_FRAGMENT_NODE NOTATION_NODE -"}}} -" HTML events and internal variables"{{{ - syntax case ignore - syntax keyword typescriptHtmlEvents onblur onclick oncontextmenu ondblclick onfocus onkeydown onkeypress onkeyup onmousedown onmousemove onmouseout onmouseover onmouseup onresize onload onsubmit - syntax case match -"}}} - -" Follow stuff should be highligh within a special context -" While it can't be handled with context depended with Regex based highlight -" So, turn it off by default -if exists("typescript_enable_domhtmlcss") - -" DOM2 things"{{{ - syntax match typescriptDomElemAttrs contained /\%(nodeName\|nodeValue\|nodeType\|parentNode\|childNodes\|firstChild\|lastChild\|previousSibling\|nextSibling\|attributes\|ownerDocument\|namespaceURI\|prefix\|localName\|tagName\)\>/ - syntax match typescriptDomElemFuncs contained /\%(insertBefore\|replaceChild\|removeChild\|appendChild\|hasChildNodes\|cloneNode\|normalize\|isSupported\|hasAttributes\|getAttribute\|setAttribute\|removeAttribute\|getAttributeNode\|setAttributeNode\|removeAttributeNode\|getElementsByTagName\|getAttributeNS\|setAttributeNS\|removeAttributeNS\|getAttributeNodeNS\|setAttributeNodeNS\|getElementsByTagNameNS\|hasAttribute\|hasAttributeNS\)\>/ nextgroup=typescriptParen skipwhite -"}}} -" HTML things"{{{ - syntax match typescriptHtmlElemAttrs contained /\%(className\|clientHeight\|clientLeft\|clientTop\|clientWidth\|dir\|id\|innerHTML\|lang\|length\|offsetHeight\|offsetLeft\|offsetParent\|offsetTop\|offsetWidth\|scrollHeight\|scrollLeft\|scrollTop\|scrollWidth\|style\|tabIndex\|title\)\>/ - syntax match typescriptHtmlElemFuncs contained /\%(blur\|click\|focus\|scrollIntoView\|addEventListener\|dispatchEvent\|removeEventListener\|item\)\>/ nextgroup=typescriptParen skipwhite -"}}} -" CSS Styles in typescript"{{{ - syntax keyword typescriptCssStyles contained color font fontFamily fontSize fontSizeAdjust fontStretch fontStyle fontVariant fontWeight letterSpacing lineBreak lineHeight quotes rubyAlign rubyOverhang rubyPosition - syntax keyword typescriptCssStyles contained textAlign textAlignLast textAutospace textDecoration textIndent textJustify textJustifyTrim textKashidaSpace textOverflowW6 textShadow textTransform textUnderlinePosition - syntax keyword typescriptCssStyles contained unicodeBidi whiteSpace wordBreak wordSpacing wordWrap writingMode - syntax keyword typescriptCssStyles contained bottom height left position right top width zIndex - syntax keyword typescriptCssStyles contained border borderBottom borderLeft borderRight borderTop borderBottomColor borderLeftColor borderTopColor borderBottomStyle borderLeftStyle borderRightStyle borderTopStyle borderBottomWidth borderLeftWidth borderRightWidth borderTopWidth borderColor borderStyle borderWidth borderCollapse borderSpacing captionSide emptyCells tableLayout - syntax keyword typescriptCssStyles contained margin marginBottom marginLeft marginRight marginTop outline outlineColor outlineStyle outlineWidth padding paddingBottom paddingLeft paddingRight paddingTop - syntax keyword typescriptCssStyles contained listStyle listStyleImage listStylePosition listStyleType - syntax keyword typescriptCssStyles contained background backgroundAttachment backgroundColor backgroundImage backgroundPosition backgroundPositionX backgroundPositionY backgroundRepeat - syntax keyword typescriptCssStyles contained clear clip clipBottom clipLeft clipRight clipTop content counterIncrement counterReset cssFloat cursor direction display filter layoutGrid layoutGridChar layoutGridLine layoutGridMode layoutGridType - syntax keyword typescriptCssStyles contained marks maxHeight maxWidth minHeight minWidth opacity MozOpacity overflow overflowX overflowY verticalAlign visibility zoom cssText - syntax keyword typescriptCssStyles contained scrollbar3dLightColor scrollbarArrowColor scrollbarBaseColor scrollbarDarkShadowColor scrollbarFaceColor scrollbarHighlightColor scrollbarShadowColor scrollbarTrackColor -"}}} -endif "DOM/HTML/CSS - -" Highlight ways"{{{ -syntax match typescriptDotNotation "\." nextgroup=typescriptPrototype,typescriptDomElemAttrs,typescriptDomElemFuncs,typescriptDOMMethods,typescriptDOMProperties,typescriptHtmlElemAttrs,typescriptHtmlElemFuncs,typescriptHtmlElemProperties,typescriptAjaxProperties,typescriptAjaxMethods,typescriptPropietaryMethods,typescriptEventListenerMethods skipwhite skipnl -syntax match typescriptDotNotation "\.style\." nextgroup=typescriptCssStyles -"}}} - -"" end DOM/HTML/CSS specified things""}}} - - -"" Code blocks -syntax cluster typescriptAll contains=typescriptComment,typescriptLineComment,typescriptDocComment,typescriptStringD,typescriptStringS,typescriptStringB,typescriptRegexpString,typescriptNumber,typescriptFloat,typescriptDecorators,typescriptLabel,typescriptSource,typescriptType,typescriptOperator,typescriptBoolean,typescriptNull,typescriptFuncKeyword,typescriptConditional,typescriptGlobal,typescriptRepeat,typescriptBranch,typescriptStatement,typescriptGlobalObjects,typescriptMessage,typescriptIdentifier,typescriptStorageClass,typescriptExceptions,typescriptReserved,typescriptDeprecated,typescriptDomErrNo,typescriptDomNodeConsts,typescriptHtmlEvents,typescriptDotNotation,typescriptBrowserObjects,typescriptDOMObjects,typescriptAjaxObjects,typescriptPropietaryObjects,typescriptDOMMethods,typescriptHtmlElemProperties,typescriptDOMProperties,typescriptEventListenerKeywords,typescriptEventListenerMethods,typescriptAjaxProperties,typescriptAjaxMethods,typescriptFuncArg - -if main_syntax == "typescript" - syntax sync clear - syntax sync ccomment typescriptComment minlines=200 -" syntax sync match typescriptHighlight grouphere typescriptBlock /{/ -endif - -syntax keyword typescriptFuncKeyword function -"syntax region typescriptFuncDef start="function" end="\(.*\)" contains=typescriptFuncKeyword,typescriptFuncArg keepend -"syntax match typescriptFuncArg "\(([^()]*)\)" contains=typescriptParens,typescriptFuncComma contained -"syntax match typescriptFuncComma /,/ contained -" syntax region typescriptFuncBlock contained matchgroup=typescriptFuncBlock start="{" end="}" contains=@typescriptAll,typescriptParensErrA,typescriptParensErrB,typescriptParen,typescriptBracket,typescriptBlock fold - -syn match typescriptBraces "[{}\[\]]" -syn match typescriptParens "[()]" -syn match typescriptOpSymbols "=\{1,3}\|!==\|!=\|<\|>\|>=\|<=\|++\|+=\|--\|-=" -syn match typescriptEndColons "[;,]" -syn match typescriptLogicSymbols "\(&&\)\|\(||\)\|\(!\)" - -" typescriptFold Function {{{ - -" function! typescriptFold() - -" skip curly braces inside RegEx's and comments -syn region foldBraces start=/{/ skip=/\(\/\/.*\)\|\(\/.*\/\)/ end=/}/ transparent fold keepend extend - -" setl foldtext=FoldText() -" endfunction - -" au FileType typescript call typescriptFold() - -" }}} - -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already by this script -" For version 5.8 and later: only when an item doesn't have highlighting yet -" For version 8.1.1486 and later: only when not done already by this script (need to override vim's new typescript support) -if version >= 508 || !exists("did_typescript_syn_inits") - if version < 508 || has('patch-8.1.1486') - let did_typescript_syn_inits = 1 - command -nargs=+ HiLink hi link - else - command -nargs=+ HiLink hi def link - endif - - "typescript highlighting - HiLink typescriptParameters Operator - HiLink typescriptSuperBlock Operator - - HiLink typescriptEndColons Exception - HiLink typescriptOpSymbols Operator - HiLink typescriptLogicSymbols Boolean - HiLink typescriptBraces Function - HiLink typescriptParens Operator - HiLink typescriptComment Comment - HiLink typescriptLineComment Comment - HiLink typescriptRefComment Include - HiLink typescriptRefS String - HiLink typescriptRefD String - HiLink typescriptDocComment Comment - HiLink typescriptCommentTodo Todo - HiLink typescriptCvsTag Function - HiLink typescriptDocTags Special - HiLink typescriptDocSeeTag Function - HiLink typescriptDocParam Function - HiLink typescriptStringS String - HiLink typescriptStringD String - HiLink typescriptStringB String - HiLink typescriptInterpolationDelimiter Delimiter - HiLink typescriptRegexpString String - HiLink typescriptGlobal Constant - HiLink typescriptCharacter Character - HiLink typescriptPrototype Type - HiLink typescriptConditional Conditional - HiLink typescriptBranch Conditional - HiLink typescriptIdentifier Identifier - HiLink typescriptStorageClass StorageClass - HiLink typescriptRepeat Repeat - HiLink typescriptStatement Statement - HiLink typescriptFuncKeyword Keyword - HiLink typescriptMessage Keyword - HiLink typescriptDeprecated Exception - HiLink typescriptError Error - HiLink typescriptParensError Error - HiLink typescriptParensErrA Error - HiLink typescriptParensErrB Error - HiLink typescriptParensErrC Error - HiLink typescriptReserved Keyword - HiLink typescriptOperator Operator - HiLink typescriptType Type - HiLink typescriptNull Type - HiLink typescriptNumber Number - HiLink typescriptFloat Number - HiLink typescriptDecorators Special - HiLink typescriptBoolean Boolean - HiLink typescriptLabel Label - HiLink typescriptSpecial Special - HiLink typescriptSource Special - HiLink typescriptGlobalObjects Special - HiLink typescriptExceptions Special - - HiLink typescriptDomErrNo Constant - HiLink typescriptDomNodeConsts Constant - HiLink typescriptDomElemAttrs Label - HiLink typescriptDomElemFuncs PreProc - - HiLink typescriptHtmlElemAttrs Label - HiLink typescriptHtmlElemFuncs PreProc - - HiLink typescriptCssStyles Label - - " Ajax Highlighting - HiLink typescriptBrowserObjects Constant - - HiLink typescriptDOMObjects Constant - HiLink typescriptDOMMethods Function - HiLink typescriptDOMProperties Special - - HiLink typescriptAjaxObjects Constant - HiLink typescriptAjaxMethods Function - HiLink typescriptAjaxProperties Special - - HiLink typescriptFuncDef Title - HiLink typescriptFuncArg Special - HiLink typescriptFuncComma Operator - - HiLink typescriptHtmlEvents Special - HiLink typescriptHtmlElemProperties Special - - HiLink typescriptEventListenerKeywords Keyword - - HiLink typescriptNumber Number - HiLink typescriptPropietaryObjects Constant - - delcommand HiLink -endif - -" Define the htmltypescript for HTML syntax html.vim -"syntax clear htmltypescript -"syntax clear typescriptExpression -syntax cluster htmltypescript contains=@typescriptAll,typescriptBracket,typescriptParen,typescriptBlock,typescriptParenError -syntax cluster typescriptExpression contains=@typescriptAll,typescriptBracket,typescriptParen,typescriptBlock,typescriptParenError,@htmlPreproc - -let b:current_syntax = "typescript" -if main_syntax == 'typescript' - unlet main_syntax -endif - -" vim: ts=4 diff --git a/.vim_runtime/sources_non_forked/typescript-vim/vimshot01.png b/.vim_runtime/sources_non_forked/typescript-vim/vimshot01.png deleted file mode 100644 index 7c2627f..0000000 Binary files a/.vim_runtime/sources_non_forked/typescript-vim/vimshot01.png and /dev/null differ diff --git a/.vim_runtime/sources_non_forked/vim-abolish/.github/FUNDING.yml b/.vim_runtime/sources_non_forked/vim-abolish/.github/FUNDING.yml deleted file mode 100644 index e2a49d1..0000000 --- a/.vim_runtime/sources_non_forked/vim-abolish/.github/FUNDING.yml +++ /dev/null @@ -1,2 +0,0 @@ -github: tpope -custom: ["https://www.paypal.me/vimpope"] diff --git a/.vim_runtime/sources_non_forked/vim-abolish/.gitignore b/.vim_runtime/sources_non_forked/vim-abolish/.gitignore deleted file mode 100644 index 0a56e3f..0000000 --- a/.vim_runtime/sources_non_forked/vim-abolish/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/doc/tags diff --git a/.vim_runtime/sources_non_forked/vim-abolish/CONTRIBUTING.markdown b/.vim_runtime/sources_non_forked/vim-abolish/CONTRIBUTING.markdown deleted file mode 100644 index 81e2c37..0000000 --- a/.vim_runtime/sources_non_forked/vim-abolish/CONTRIBUTING.markdown +++ /dev/null @@ -1 +0,0 @@ -CONTRIBUTING.markdown

See the contribution guidelines for pathogen.vim.

diff --git a/.vim_runtime/sources_non_forked/vim-abolish/README.markdown b/.vim_runtime/sources_non_forked/vim-abolish/README.markdown deleted file mode 100644 index 10f2ce0..0000000 --- a/.vim_runtime/sources_non_forked/vim-abolish/README.markdown +++ /dev/null @@ -1,150 +0,0 @@ - -README.markdown

abolish.vim

- -

I sat on this plugin for 3 years before releasing it, primarily -because it’s so gosh darn hard to explain. It’s three superficially -unrelated plugins in one that share a common theme: working with -variants of a word.

- -

Abbreviation

- -

I know how to spell “separate”. I know how to spell “desperate”. My -fingers, however, have trouble distinguishing between the two, and I -invariably have a 50 percent chance of typing “seperate” or “desparate” -each time one of these comes up. At first, I tried abbreviations:

- -
:iabbrev  seperate  separate
-:iabbrev desparate desperate
- -

But this falls short at the beginning of a sentence.

- -
:iabbrev  Seperate  Separate
-:iabbrev Desparate Desperate
- -

To be really thorough, we need uppercase too!

- -
:iabbrev  SEPERATE  SEPARATE
-:iabbrev DESPARATE DESPERATE
- -

Oh, but consider the noun form, and the adverb form!

- -
:iabbrev  seperation  separation
-:iabbrev desparation desperation
-:iabbrev  seperately  separately
-:iabbrev desparately desperately
-:iabbrev  Seperation  separation
-:iabbrev Desparation Desperation
-:iabbrev  Seperately  Separately
-:iabbrev Desparately Desperately
-:iabbrev  SEPERATION  SEPARATION
-:iabbrev DESPARATION DESPERATION
-:iabbrev  SEPERATELY  SEPARATELY
-:iabbrev DESPARATELY DESPERATELY
- -

Wait, there’s also “separates”, “separated”, “separating”, -“separations”, “separator”…

- -

Abolish.vim provides a simpler way. The following one command produces -48 abbreviations including all of the above.

- -
:Abolish {despa,sepe}rat{e,es,ed,ing,ely,ion,ions,or}  {despe,sepa}rat{}
- -

My current configuration has 25 Abolish commands that create hundreds of -corrections my fingers refuse to learn.

- -

Substitution

- -

One time I had an application with a domain model called -“facility” that needed to be renamed to “building”. So, a simple -search and replace, right?

- -
:%s/facility/building/g
- -

Oh, but the case variants!

- -
:%s/Facility/Building/g
-:%s/FACILITY/BUILDING/g
- -

Wait, the plural is more than “s” so we need to get that too!

- -
:%s/facilities/buildings/g
-:%s/Facilities/Buildings/g
-:%s/FACILITIES/BUILDINGS/g
- -

Abolish.vim has your back. One command to do all six, and you can -repeat it with & too!

- -
:%Subvert/facilit{y,ies}/building{,s}/g
- -

From a conceptual level, one way to think about how this substitution -works is to imagine that in the braces you are declaring the -requirements for turning that word from singular to plural. In -the facility example, the same base letters in both the singular -and plural form of the word are facilit To turn “facility” to a -plural word you must change the y to ies so you specify -{y,ies} in the braces.

- -

To convert the word “building” from singular to plural, again -look at the common letters between the singular and plural forms: -building. In this case you do not need to remove any letter -from building to turn it into plural form and you need to -add an s so the braces should be {,s}.

- -

A few more examples:

- -

Address to Reference

- -
:Subvert/address{,es}/reference{,s}/g
- -

Blog to Post (you can just do this with a regular :s also)

- -
:Subvert/blog{,s}/post{,s}/g
- -

Child to Adult

- -
:Subvert/child{,ren}/adult{,s}/g
- -

Be amazed as it correctly turns the word children into the word adults!

- -

Die to Spinner

- -
:Subvert/di{e,ce}/spinner{,s}/g
- -

You can abbreviate it as :S, and it accepts the full range of flags -including things like c (confirm).

- -

There’s also a variant for searching and a variant for grepping.

- -

Coercion

- -

Want to turn fooBar into foo_bar? Press crs (coerce to -snake_case). MixedCase (crm), camelCase (crc), snake_case -(crs), UPPER_CASE (cru), dash-case (cr-), dot.case (cr.), -space case (cr<space>), and Title Case (crt) are all just 3 -keystrokes away.

- -

Installation

- -

If you don’t have a preferred installation method, I recommend -installing pathogen.vim, and -then simply copy and paste:

- -
cd ~/.vim/bundle
-git clone git://github.com/tpope/vim-abolish.git
- -

Once help tags have been generated, you can view the manual with -:help abolish.

- -

Self-Promotion

- -

Like abolish.vim? Follow the repository on -GitHub and vote for it on -vim.org. And if -you’re feeling especially charitable, follow tpope on -Twitter and -GitHub.

- -

License

- -

Copyright © Tim Pope. Distributed under the same terms as Vim itself. -See :help license.

diff --git a/.vim_runtime/sources_non_forked/vim-abolish/doc/abolish.txt b/.vim_runtime/sources_non_forked/vim-abolish/doc/abolish.txt deleted file mode 100644 index 91f24da..0000000 --- a/.vim_runtime/sources_non_forked/vim-abolish/doc/abolish.txt +++ /dev/null @@ -1,181 +0,0 @@ -*abolish.txt* Language friendly searches, substitutions, and abbreviations - -Author: Tim Pope -License: Same terms as Vim itself (see |license|) - -This plugin is only available if 'compatible' is not set. - -INTRODUCTION *abolish* *:Abolish* *:Subvert* - -Abolish lets you quickly find, substitute, and abbreviate several variations -of a word at once. By default, three case variants (foo, Foo, and FOO) are -operated on by every command. - -Two commands are provided. :Abolish is the most general interface. -:Subvert provides an alternative, more concise syntax for searching and -substituting. -> - :Abolish [options] {abbreviation} {replacement} - :Abolish -delete [options] {abbreviation} - - :Abolish -search [options] {pattern} - :Subvert/{pattern}[/flags] - :Abolish!-search [options] {pattern} - :Subvert?{pattern}[?flags] - - :Abolish -search [options] {pattern} {grep-arguments} - :Subvert /{pattern}/[flags] {grep-options} - :Abolish!-search [options] {pattern} {grep-arguments} - :Subvert!/{pattern}/[flags] {grep-options} - - :[range]Abolish -substitute [options] {pattern} {replacement} - :[range]Subvert/{pattern}/{replacement}[/flags] -< - *:S* -In addition to the :Subvert command, a :S synonym is provided if not -already defined. This will be used in examples below. - -PATTERNS *abolish-patterns* - -Patterns can include brace pairs that contain comma separated alternatives: - - box{,es} => box, boxes, Box, Boxes, BOX, BOXES - -For commands with a replacement, corresponding brace pairs are used in both -halves. If the replacement should be identical to the pattern, an empty -brace pair may be used. If fewer replacements are given than were given in -the pattern, they are looped. That is, {a,b} on the replacement side is the -same as {a,b,a,b,a,b,...} repeated indefinitely. - -The following replaces several different misspellings of "necessary": -> - :%S/{,un}nec{ce,ces,e}sar{y,ily}/{}nec{es}sar{}/g -< -ABBREVIATING *abolish-abbrev* - -By default :Abolish creates abbreviations, which replace words automatically -as you type. This is good for words you frequently misspell, or as -shortcuts for longer words. Since these are just Vim abbreviations, only -whole words will match. -> - :Abolish anomol{y,ies} anomal{} - :Abolish {,in}consistant{,ly} {}consistent{} - :Abolish Tqbf The quick, brown fox jumps over the lazy dog -< -Accepts the following options: - - -buffer: buffer local - -cmdline: work in command line in addition to insert mode - -A good place to define abbreviations is "after/plugin/abolish.vim", -relative to ~\vimfiles on Windows and ~/.vim everywhere else. - -With a bang (:Abolish!) the abbreviation is also appended to the file in -g:abolish_save_file. The default is "after/plugin/abolish.vim", relative -to the install directory. - -Abbreviations can be removed with :Abolish -delete: -> - Abolish -delete -buffer -cmdline anomol{y,ies} -< -SEARCHING *abolish-search* - -The -search command does a search in a manner similar to / key. -search. After searching, you can use |n| and |N| as you would with a normal -search. - -The following will search for box, Box, and BOX: -> - :Abolish -search box -< -When given a single word to operate on, :Subvert defaults to doing a -search as well: -> - :S/box/ -< -This one searches for box, boxes, boxed, boxing, Box, Boxes, Boxed, Boxing, -BOX, BOXES, BOXED, and BOXING: -> - :S/box{,es,ed,ing}/ -< -The following syntaxes search in reverse. -> - :Abolish! -search box - :S?box? -< -Flags can be given with the -flags= option to :Abolish, or by appending them -after the separator to :Subvert. The flags trigger the following behaviors: - - I: Disable case variations (box, Box, BOX) - v: Match inside variable names (match my_box, myBox, but not mybox) - w: Match whole words (like surrounding with \< and \>) - -A |search-offset| may follow the flags. -> - :Abolish -search -flags=avs+1 box - :S?box{,es,ed,ing}?we -< -GREPPING *abolish-grep* - -Grepping works similar to searching, and is invoked when additional options -are given. These options are passed directly to the :grep command. -> - :Abolish -search box{,es} - :S /box{,es}/ * - :S /box/aw *.txt *.html -< -The slash delimiters must both be present if used with :Subvert. They may -both be omitted if no flags are used. - -Both an external grepprg and vimgrep (via grepprg=internal) are supported. -With an external grep, the "v" flag behaves less intelligently, due to the -lack of look ahead and look behind support in grep regexps. - -SUBSTITUTING *abolish-substitute* - -Giving a range switches :Subvert into substitute mode. This command will -change box -> bag, boxes -> bags, Box -> Bag, Boxes -> Bags, BOX -> BAG, -BOXES -> BAGS across the entire document: -> - :%Abolish -substitute -flags=g box{,es} bag{,s} - :%S/box{,es}/bag{,s}/g -< -The "c", "e", "g", and "n" flags can be used from the substitute command -|:s_flags|, along with the "a", "I", "v", and "w" flags from searching. - -COERCION *abolish-coercion* *cr* - -Abolish's case mutating algorithms can be applied to the word under the cursor -using the cr mapping (mnemonic: CoeRce) followed by one of the following -characters: - - c: camelCase - m: MixedCase - _: snake_case - s: snake_case - u: SNAKE_UPPERCASE - U: SNAKE_UPPERCASE - -: dash-case (not usually reversible; see |abolish-coercion-reversible|) - k: kebab-case (not usually reversible; see |abolish-coercion-reversible|) - .: dot.case (not usually reversible; see |abolish-coercion-reversible|) - : space case (not usually reversible; see |abolish-coercion-reversible|) - t: Title Case (not usually reversible; see |abolish-coercion-reversible|) - -For example, cru on a lowercase word is a slightly easier to type equivalent -to gUiw. - -COERCION REVERSIBILITY *abolish-coercion-reversible* - -Some separators, such as "-" and ".", are listed as "not usually reversible". -The reason is that these are not "keyword characters", so vim (and -abolish.vim) will treat them as breaking a word. - -For example: "key_word" is a single keyword. The dash-case version, -"key-word", is treated as two keywords, "key" and "word". - -This behaviour is governed by the 'iskeyword' option. If a separator appears -in 'iskeyword', the corresponding coercion will be reversible. For instance, -dash-case is reversible in 'lisp' files, and dot-case is reversible in R -files. - - vim:tw=78:ts=8:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/vim-abolish/plugin/abolish.vim b/.vim_runtime/sources_non_forked/vim-abolish/plugin/abolish.vim deleted file mode 100644 index 3b71f94..0000000 --- a/.vim_runtime/sources_non_forked/vim-abolish/plugin/abolish.vim +++ /dev/null @@ -1,639 +0,0 @@ -" abolish.vim - Language friendly searches, substitutions, and abbreviations -" Maintainer: Tim Pope -" Version: 1.1 -" GetLatestVimScripts: 1545 1 :AutoInstall: abolish.vim - -" Initialization {{{1 - -if exists("g:loaded_abolish") || &cp || v:version < 700 - finish -endif -let g:loaded_abolish = 1 - -if !exists("g:abolish_save_file") - if isdirectory(expand("~/.vim")) - let g:abolish_save_file = expand("~/.vim/after/plugin/abolish.vim") - elseif isdirectory(expand("~/vimfiles")) || has("win32") - let g:abolish_save_file = expand("~/vimfiles/after/plugin/abolish.vim") - else - let g:abolish_save_file = expand("~/.vim/after/plugin/abolish.vim") - endif -endif - -" }}}1 -" Utility functions {{{1 - -function! s:function(name) - return function(substitute(a:name,'^s:',matchstr(expand(''), '\d\+_'),'')) -endfunction - -function! s:send(self,func,...) - if type(a:func) == type('') || type(a:func) == type(0) - let l:Func = get(a:self,a:func,'') - else - let l:Func = a:func - endif - let s = type(a:self) == type({}) ? a:self : {} - if type(Func) == type(function('tr')) - return call(Func,a:000,s) - elseif type(Func) == type({}) && has_key(Func,'apply') - return call(Func.apply,a:000,Func) - elseif type(Func) == type({}) && has_key(Func,'call') - return call(Func.call,a:000,s) - elseif type(Func) == type('') && Func == '' && has_key(s,'function missing') - return call('s:send',[s,'function missing',a:func] + a:000) - else - return Func - endif -endfunction - -let s:object = {} -function! s:object.clone(...) - let sub = deepcopy(self) - return a:0 ? extend(sub,a:1) : sub -endfunction - -if !exists("g:Abolish") - let Abolish = {} -endif -call extend(Abolish, s:object, 'force') -call extend(Abolish, {'Coercions': {}}, 'keep') - -function! s:throw(msg) - let v:errmsg = a:msg - throw "Abolish: ".a:msg -endfunction - -function! s:words() - let words = [] - let lnum = line('w0') - while lnum <= line('w$') - let line = getline(lnum) - let col = 0 - while match(line,'\<\k\k\+\>',col) != -1 - let words += [matchstr(line,'\<\k\k\+\>',col)] - let col = matchend(line,'\<\k\k\+\>',col) - endwhile - let lnum += 1 - endwhile - return words -endfunction - -function! s:extractopts(list,opts) - let i = 0 - while i < len(a:list) - if a:list[i] =~ '^-[^=]' && has_key(a:opts,matchstr(a:list[i],'-\zs[^=]*')) - let key = matchstr(a:list[i],'-\zs[^=]*') - let value = matchstr(a:list[i],'=\zs.*') - if type(get(a:opts,key)) == type([]) - let a:opts[key] += [value] - elseif type(get(a:opts,key)) == type(0) - let a:opts[key] = 1 - else - let a:opts[key] = value - endif - else - let i += 1 - continue - endif - call remove(a:list,i) - endwhile - return a:opts -endfunction - -" }}}1 -" Dictionary creation {{{1 - -function! s:mixedcase(word) - return substitute(s:camelcase(a:word),'^.','\u&','') -endfunction - -function! s:camelcase(word) - let word = substitute(a:word, '-', '_', 'g') - if word !~# '_' && word =~# '\l' - return substitute(word,'^.','\l&','') - else - return substitute(word,'\C\(_\)\=\(.\)','\=submatch(1)==""?tolower(submatch(2)) : toupper(submatch(2))','g') - endif -endfunction - -function! s:snakecase(word) - let word = substitute(a:word,'::','/','g') - let word = substitute(word,'\(\u\+\)\(\u\l\)','\1_\2','g') - let word = substitute(word,'\(\l\|\d\)\(\u\)','\1_\2','g') - let word = substitute(word,'[.-]','_','g') - let word = tolower(word) - return word -endfunction - -function! s:uppercase(word) - return toupper(s:snakecase(a:word)) -endfunction - -function! s:dashcase(word) - return substitute(s:snakecase(a:word),'_','-','g') -endfunction - -function! s:spacecase(word) - return substitute(s:snakecase(a:word),'_',' ','g') -endfunction - -function! s:dotcase(word) - return substitute(s:snakecase(a:word),'_','.','g') -endfunction - -function! s:titlecase(word) - return substitute(s:spacecase(a:word), '\(\<\w\)','\=toupper(submatch(1))','g') -endfunction - -call extend(Abolish, { - \ 'camelcase': s:function('s:camelcase'), - \ 'mixedcase': s:function('s:mixedcase'), - \ 'snakecase': s:function('s:snakecase'), - \ 'uppercase': s:function('s:uppercase'), - \ 'dashcase': s:function('s:dashcase'), - \ 'dotcase': s:function('s:dotcase'), - \ 'spacecase': s:function('s:spacecase'), - \ 'titlecase': s:function('s:titlecase') - \ }, 'keep') - -function! s:create_dictionary(lhs,rhs,opts) - let dictionary = {} - let i = 0 - let expanded = s:expand_braces({a:lhs : a:rhs}) - for [lhs,rhs] in items(expanded) - if get(a:opts,'case',1) - let dictionary[s:mixedcase(lhs)] = s:mixedcase(rhs) - let dictionary[tolower(lhs)] = tolower(rhs) - let dictionary[toupper(lhs)] = toupper(rhs) - endif - let dictionary[lhs] = rhs - endfor - let i += 1 - return dictionary -endfunction - -function! s:expand_braces(dict) - let new_dict = {} - for [key,val] in items(a:dict) - if key =~ '{.*}' - let redo = 1 - let [all,kbefore,kmiddle,kafter;crap] = matchlist(key,'\(.\{-\}\){\(.\{-\}\)}\(.*\)') - let [all,vbefore,vmiddle,vafter;crap] = matchlist(val,'\(.\{-\}\){\(.\{-\}\)}\(.*\)') + ["","","",""] - if all == "" - let [vbefore,vmiddle,vafter] = [val, ",", ""] - endif - let targets = split(kmiddle,',',1) - let replacements = split(vmiddle,',',1) - if replacements == [""] - let replacements = targets - endif - for i in range(0,len(targets)-1) - let new_dict[kbefore.targets[i].kafter] = vbefore.replacements[i%len(replacements)].vafter - endfor - else - let new_dict[key] = val - endif - endfor - if exists("redo") - return s:expand_braces(new_dict) - else - return new_dict - endif -endfunction - -" }}}1 -" Abolish Dispatcher {{{1 - -function! s:SubComplete(A,L,P) - if a:A =~ '^[/?]\k\+$' - let char = strpart(a:A,0,1) - return join(map(s:words(),'char . v:val'),"\n") - elseif a:A =~# '^\k\+$' - return join(s:words(),"\n") - endif -endfunction - -function! s:Complete(A,L,P) - " Vim bug: :Abolish - calls this function with a:A equal to 0 - if a:A =~# '^[^/?-]' && type(a:A) != type(0) - return join(s:words(),"\n") - elseif a:L =~# '^\w\+\s\+\%(-\w*\)\=$' - return "-search\n-substitute\n-delete\n-buffer\n-cmdline\n" - elseif a:L =~# ' -\%(search\|substitute\)\>' - return "-flags=" - else - return "-buffer\n-cmdline" - endif -endfunction - -let s:commands = {} -let s:commands.abstract = s:object.clone() - -function! s:commands.abstract.dispatch(bang,line1,line2,count,args) - return self.clone().go(a:bang,a:line1,a:line2,a:count,a:args) -endfunction - -function! s:commands.abstract.go(bang,line1,line2,count,args) - let self.bang = a:bang - let self.line1 = a:line1 - let self.line2 = a:line2 - let self.count = a:count - return self.process(a:bang,a:line1,a:line2,a:count,a:args) -endfunction - -function! s:dispatcher(bang,line1,line2,count,args) - let i = 0 - let args = copy(a:args) - let command = s:commands.abbrev - while i < len(args) - if args[i] =~# '^-\w\+$' && has_key(s:commands,matchstr(args[i],'-\zs.*')) - let command = s:commands[matchstr(args[i],'-\zs.*')] - call remove(args,i) - break - endif - let i += 1 - endwhile - try - return command.dispatch(a:bang,a:line1,a:line2,a:count,args) - catch /^Abolish: / - echohl ErrorMsg - echo v:errmsg - echohl NONE - return "" - endtry -endfunction - -" }}}1 -" Subvert Dispatcher {{{1 - -function! s:subvert_dispatcher(bang,line1,line2,count,args) - try - return s:parse_subvert(a:bang,a:line1,a:line2,a:count,a:args) - catch /^Subvert: / - echohl ErrorMsg - echo v:errmsg - echohl NONE - return "" - endtry -endfunction - -function! s:parse_subvert(bang,line1,line2,count,args) - if a:args =~ '^\%(\w\|$\)' - let args = (a:bang ? "!" : "").a:args - else - let args = a:args - endif - let separator = matchstr(args,'^.') - let split = split(args,separator,1)[1:] - if a:count || split == [""] - return s:parse_substitute(a:bang,a:line1,a:line2,a:count,split) - elseif len(split) == 1 - return s:find_command(separator,"",split[0]) - elseif len(split) == 2 && split[1] =~# '^[A-Za-z]*n[A-Za-z]*$' - return s:parse_substitute(a:bang,a:line1,a:line2,a:count,[split[0],"",split[1]]) - elseif len(split) == 2 && split[1] =~# '^[A-Za-z]*\%([+-]\d\+\)\=$' - return s:find_command(separator,split[1],split[0]) - elseif len(split) >= 2 && split[1] =~# '^[A-Za-z]* ' - let flags = matchstr(split[1],'^[A-Za-z]*') - let rest = matchstr(join(split[1:],separator),' \zs.*') - return s:grep_command(rest,a:bang,flags,split[0]) - elseif len(split) >= 2 && separator == ' ' - return s:grep_command(join(split[1:],' '),a:bang,"",split[0]) - else - return s:parse_substitute(a:bang,a:line1,a:line2,a:count,split) - endif -endfunction - -function! s:normalize_options(flags) - if type(a:flags) == type({}) - let opts = a:flags - let flags = get(a:flags,"flags","") - else - let opts = {} - let flags = a:flags - endif - if flags =~# 'w' - let opts.boundaries = 2 - elseif flags =~# 'v' - let opts.boundaries = 1 - elseif !has_key(opts,'boundaries') - let opts.boundaries = 0 - endif - let opts.case = (flags !~# 'I' ? get(opts,'case',1) : 0) - let opts.flags = substitute(flags,'\C[avIiw]','','g') - return opts -endfunction - -" }}}1 -" Searching {{{1 - -function! s:subesc(pattern) - return substitute(a:pattern,'[][\\/.*+?~%()&]','\\&','g') -endfunction - -function! s:sort(a,b) - if a:a ==? a:b - return a:a == a:b ? 0 : a:a > a:b ? 1 : -1 - elseif strlen(a:a) == strlen(a:b) - return a:a >? a:b ? 1 : -1 - else - return strlen(a:a) < strlen(a:b) ? 1 : -1 - endif -endfunction - -function! s:pattern(dict,boundaries) - if a:boundaries == 2 - let a = '<' - let b = '>' - elseif a:boundaries - let a = '%(<|_@<=|[[:lower:]]@<=[[:upper:]]@=)' - let b = '%(>|_@=|[[:lower:]]@<=[[:upper:]]@=)' - else - let a = '' - let b = '' - endif - return '\v\C'.a.'%('.join(map(sort(keys(a:dict),function('s:sort')),'s:subesc(v:val)'),'|').')'.b -endfunction - -function! s:egrep_pattern(dict,boundaries) - if a:boundaries == 2 - let a = '\<' - let b = '\>' - elseif a:boundaries - let a = '(\<\|_)' - let b = '(\>\|_\|[[:upper:]][[:lower:]])' - else - let a = '' - let b = '' - endif - return a.'('.join(map(sort(keys(a:dict),function('s:sort')),'s:subesc(v:val)'),'\|').')'.b -endfunction - -function! s:c() - call histdel('search',-1) - return "" -endfunction - -function! s:find_command(cmd,flags,word) - let opts = s:normalize_options(a:flags) - let dict = s:create_dictionary(a:word,"",opts) - " This is tricky. If we use :/pattern, the search drops us at the - " beginning of the line, and we can't use position flags (e.g., /foo/e). - " If we use :norm /pattern, we leave ourselves vulnerable to "press enter" - " prompts (even with :silent). - let cmd = (a:cmd =~ '[?!]' ? '?' : '/') - let @/ = s:pattern(dict,opts.boundaries) - if opts.flags == "" || !search(@/,'n') - return "norm! ".cmd."\" - elseif opts.flags =~ ';[/?]\@!' - call s:throw("E386: Expected '?' or '/' after ';'") - else - return "exe 'norm! ".cmd.cmd.opts.flags."\'|call histdel('search',-1)" - return "" - endif -endfunction - -function! s:grep_command(args,bang,flags,word) - let opts = s:normalize_options(a:flags) - let dict = s:create_dictionary(a:word,"",opts) - if &grepprg == "internal" - let lhs = "'".s:pattern(dict,opts.boundaries)."'" - else - let lhs = "-E '".s:egrep_pattern(dict,opts.boundaries)."'" - endif - return "grep".(a:bang ? "!" : "")." ".lhs." ".a:args -endfunction - -let s:commands.search = s:commands.abstract.clone() -let s:commands.search.options = {"word": 0, "variable": 0, "flags": ""} - -function! s:commands.search.process(bang,line1,line2,count,args) - call s:extractopts(a:args,self.options) - if self.options.word - let self.options.flags .= "w" - elseif self.options.variable - let self.options.flags .= "v" - endif - let opts = s:normalize_options(self.options) - if len(a:args) > 1 - return s:grep_command(join(a:args[1:]," "),a:bang,opts,a:args[0]) - elseif len(a:args) == 1 - return s:find_command(a:bang ? "!" : " ",opts,a:args[0]) - else - call s:throw("E471: Argument required") - endif -endfunction - -" }}}1 -" Substitution {{{1 - -function! Abolished() - return get(g:abolish_last_dict,submatch(0),submatch(0)) -endfunction - -function! s:substitute_command(cmd,bad,good,flags) - let opts = s:normalize_options(a:flags) - let dict = s:create_dictionary(a:bad,a:good,opts) - let lhs = s:pattern(dict,opts.boundaries) - let g:abolish_last_dict = dict - return a:cmd.'/'.lhs.'/\=Abolished()'."/".opts.flags -endfunction - -function! s:parse_substitute(bang,line1,line2,count,args) - if get(a:args,0,'') =~ '^[/?'']' - let separator = matchstr(a:args[0],'^.') - let args = split(join(a:args,' '),separator,1) - call remove(args,0) - else - let args = a:args - endif - if len(args) < 2 - call s:throw("E471: Argument required") - elseif len(args) > 3 - call s:throw("E488: Trailing characters") - endif - let [bad,good,flags] = (args + [""])[0:2] - if a:count == 0 - let cmd = "substitute" - else - let cmd = a:line1.",".a:line2."substitute" - endif - return s:substitute_command(cmd,bad,good,flags) -endfunction - -let s:commands.substitute = s:commands.abstract.clone() -let s:commands.substitute.options = {"word": 0, "variable": 0, "flags": "g"} - -function! s:commands.substitute.process(bang,line1,line2,count,args) - call s:extractopts(a:args,self.options) - if self.options.word - let self.options.flags .= "w" - elseif self.options.variable - let self.options.flags .= "v" - endif - let opts = s:normalize_options(self.options) - if len(a:args) <= 1 - call s:throw("E471: Argument required") - else - let good = join(a:args[1:],"") - let cmd = a:bang ? "." : "%" - return s:substitute_command(cmd,a:args[0],good,self.options) - endif -endfunction - -" }}}1 -" Abbreviations {{{1 - -function! s:badgood(args) - let words = filter(copy(a:args),'v:val !~ "^-"') - call filter(a:args,'v:val =~ "^-"') - if empty(words) - call s:throw("E471: Argument required") - elseif !empty(a:args) - call s:throw("Unknown argument: ".a:args[0]) - endif - let [bad; words] = words - return [bad, join(words," ")] -endfunction - -function! s:abbreviate_from_dict(cmd,dict) - for [lhs,rhs] in items(a:dict) - exe a:cmd lhs rhs - endfor -endfunction - -let s:commands.abbrev = s:commands.abstract.clone() -let s:commands.abbrev.options = {"buffer":0,"cmdline":0,"delete":0} -function! s:commands.abbrev.process(bang,line1,line2,count,args) - let args = copy(a:args) - call s:extractopts(a:args,self.options) - if self.options.delete - let cmd = "unabbrev" - let good = "" - else - let cmd = "noreabbrev" - endif - if !self.options.cmdline - let cmd = "i" . cmd - endif - if self.options.delete - let cmd = "silent! ".cmd - endif - if self.options.buffer - let cmd = cmd . " " - endif - let [bad, good] = s:badgood(a:args) - if substitute(bad, '[{},]', '', 'g') !~# '^\k*$' - call s:throw("E474: Invalid argument (not a keyword: ".string(bad).")") - endif - if !self.options.delete && good == "" - call s:throw("E471: Argument required".a:args[0]) - endif - let dict = s:create_dictionary(bad,good,self.options) - call s:abbreviate_from_dict(cmd,dict) - if a:bang - let i = 0 - let str = "Abolish ".join(args," ") - let file = g:abolish_save_file - if !isdirectory(fnamemodify(file,':h')) - call mkdir(fnamemodify(file,':h'),'p') - endif - - if filereadable(file) - let old = readfile(file) - else - let old = ["\" Exit if :Abolish isn't available.","if !exists(':Abolish')"," finish","endif",""] - endif - call writefile(old + [str],file) - endif - return "" -endfunction - -let s:commands.delete = s:commands.abbrev.clone() -let s:commands.delete.options.delete = 1 - -" }}}1 -" Maps {{{1 - -function! s:unknown_coercion(letter,word) - return a:word -endfunction - -call extend(Abolish.Coercions, { - \ 'c': Abolish.camelcase, - \ 'm': Abolish.mixedcase, - \ 's': Abolish.snakecase, - \ '_': Abolish.snakecase, - \ 'u': Abolish.uppercase, - \ 'U': Abolish.uppercase, - \ '-': Abolish.dashcase, - \ 'k': Abolish.dashcase, - \ '.': Abolish.dotcase, - \ ' ': Abolish.spacecase, - \ 't': Abolish.titlecase, - \ "function missing": s:function("s:unknown_coercion") - \}, "keep") - -function! s:coerce(type) abort - if a:type !~# '^\%(line\|char\|block\)' - let s:transformation = a:type - let &opfunc = matchstr(expand(''), '\w*') - return 'g@' - endif - let selection = &selection - let clipboard = &clipboard - try - set selection=inclusive clipboard-=unnamed clipboard-=unnamedplus - let regbody = getreg('"') - let regtype = getregtype('"') - let c = v:count1 - while c > 0 - let c -= 1 - if a:type ==# 'line' - let move = "'[V']" - elseif a:type ==# 'block' - let move = "`[\`]" - else - let move = "`[v`]" - endif - silent exe 'normal!' move.'y' - let word = @@ - let @@ = s:send(g:Abolish.Coercions,s:transformation,word) - if !exists('begin') - let begin = getpos("'[") - endif - if word !=# @@ - let changed = 1 - exe 'normal!' move.'p' - endif - endwhile - call setreg('"',regbody,regtype) - call setpos("'[",begin) - call setpos(".",begin) - finally - let &selection = selection - let &clipboard = clipboard - endtry -endfunction - -nnoremap (abolish-coerce) coerce(nr2char(getchar())) -nnoremap (abolish-coerce) coerce(nr2char(getchar())) -nnoremap (abolish-coerce-word) coerce(nr2char(getchar())).'iw' - -" }}}1 - -if !exists("g:abolish_no_mappings") || ! g:abolish_no_mappings - nmap cr (abolish-coerce-word) -endif - -command! -nargs=+ -bang -bar -range=0 -complete=custom,s:Complete Abolish - \ :exec s:dispatcher(0,,,,[]) -command! -nargs=1 -bang -bar -range=0 -complete=custom,s:SubComplete Subvert - \ :exec s:subvert_dispatcher(0,,,,) -if exists(':S') != 2 - command -nargs=1 -bang -bar -range=0 -complete=custom,s:SubComplete S - \ :exec s:subvert_dispatcher(0,,,,) -endif - -" vim:set ft=vim sw=2 sts=2: diff --git a/.vim_runtime/sources_non_forked/vim-addon-mw-utils/.gitignore b/.vim_runtime/sources_non_forked/vim-addon-mw-utils/.gitignore deleted file mode 100644 index 926ccaa..0000000 --- a/.vim_runtime/sources_non_forked/vim-addon-mw-utils/.gitignore +++ /dev/null @@ -1 +0,0 @@ -doc/tags diff --git a/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/buf_utils.vim b/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/buf_utils.vim deleted file mode 100644 index d14d404..0000000 --- a/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/buf_utils.vim +++ /dev/null @@ -1,24 +0,0 @@ -" buf_identifier is either a buf_nr or a filename -" If any window shows the buffer move to the buffer -" If not show it in current window (by c-w s c^ you can always -" reshow the last buffer -" -" Example: buf_utils#GotoBuf("/tmp/tfile.txt", {'create': 1}) -" returns: The command which was used to switch to the buffer -fun! buf_utils#GotoBuf(buf_identifier, opts) - let buf_nr = bufnr(a:buf_identifier) - if buf_nr == -1 && ( get(a:opts, 'create', 0) || has_key(a:opts, 'create_cmd')) - exec get(a:opts,'create_cmd','e').' '.fnameescape(a:buf_identifier) - return "e" - else - let win_nr = bufwinnr(buf_nr) - if win_nr == -1 - exec 'b '.buf_nr - return "b" - else - exec win_nr.'wincmd w' - return "w" - endif - wincmd w" - endif -endf diff --git a/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/cached_file_contents.vim b/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/cached_file_contents.vim deleted file mode 100644 index 3fc3ce4..0000000 --- a/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/cached_file_contents.vim +++ /dev/null @@ -1,104 +0,0 @@ -" cached_file_contents.vim -" @License: GPL (see http://www.gnu.org/licenses/gpl.txt) -" @Last Change: 2010-01-03. -" @Revision: 0.3.0 - -"exec vam#DefineAndBind('s:c','g:cache_dir_options','{}') -if !exists('g:cache_dir_options') | let g:cache_dir_options = {} | endif | let s:c = g:cache_dir_options - -let s:c['cache_dir'] = get(s:c, 'cache_dir', expand('$HOME').'/.vim-cache') -let s:c['scanned_files'] = get(s:c, 'scanned_files', {}) -let s:scanned_files = s:c['scanned_files'] - - -let s:define_cache_file = "let this_dir = s:c['cache_dir'].'/cached-file-contents' | let cache_file = expand(this_dir.'/'.substitute(string([func_as_string, a:file]),'[[\\]{}:/\\,''\"# ]\\+','_','g'))" - -" read a file, run function to extract contents and cache the result returned -" by that function in memory. Optionally the result can be cached on disk as -" because VimL can be slow! -" -" file : the file to be read -" func: { 'func': function which will be called by funcref#Call -" , 'version' : if this version changes cache will be invalidate automatically -" , 'ftime_check': optional, default 1. if set to 0 cache isn't updated when file changes and file is in cache -" } -" -" default: what to return if file doesn't exist -" think twice about adding lines. This function is called many times. -function! cached_file_contents#CachedFileContents(file, func, ...) abort - let ignore_ftime = a:0 > 0 ? a:1 : 0 - " using string for default so that is evaluated when needed only - let use_file_cache = get(a:func, 'use_file_cache', 0) - - " simple kind of normalization. necessary when using file caching - " this seems to be slower: - " let file = fnamemodify(a:file, ':p') " simple kind of normalization. necessary when using file caching - " / = assume its an absolute path - " let file = a:file[0] == '/' ? a:file : expand(a:file, ':p') - let file = a:file[0] == '/' ? a:file : fnamemodify(a:file, ':p') " simple kind of normalization. necessary when using file caching - let func_as_string = string(a:func['func']) - - if (!has_key(s:scanned_files, func_as_string)) - let s:scanned_files[func_as_string] = {} - endif - let dict = s:scanned_files[func_as_string] - if use_file_cache && !has_key(dict, a:file) - exec s:define_cache_file - if filereadable(cache_file) - let dict[file] = eval(readfile(cache_file,'b')[0]) - endif - endif - if has_key(dict, a:file) - let d = dict[a:file] - if use_file_cache - \ && (ignore_ftime || getftime(a:file) <= d['ftime']) - \ && d['version'] == a:func['version'] - return dict[a:file]['scan_result'] - endif - endif - let scan_result = funcref#Call(a:func['func'], [a:file] ) - let dict[a:file] = {"ftime": getftime(a:file), 'version': a:func['version'], "scan_result": scan_result } - if use_file_cache - if !exists('cache_file') | exec s:define_cache_file | endif - if !isdirectory(this_dir) | call mkdir(this_dir,'p',0700) | endif - call writefile([string(dict[a:file])], cache_file) - endif - return scan_result -endfunction - -fun! cached_file_contents#ClearScanCache() - let s:c['scanned_files'] = {} - - " Don't run rm -fr. Ask user to run it. It cache_dir may have been set to - " $HOME ! (should nevere be the case but who knows - echoe "run manually in your shell: rm -fr ".shellescape(s:c['cache_dir'])."/*" -endf - -fun! cached_file_contents#Test() - - " usually you use a global option so that the function can be reused - let my_interpreting_func = {'func' : funcref#Function('return len(readfile(ARGS[0]))'), 'version': 2, 'use_file_cache':1} - let my_interpreting_func2 = {'func' : funcref#Function('return ARGS[0]') , 'version': 2, 'use_file_cache':1} - - let tmp = tempname() - call writefile(['some text','2nd line'], tmp) - - let r = [ cached_file_contents#CachedFileContents(tmp, my_interpreting_func) - \ , cached_file_contents#CachedFileContents(tmp, my_interpreting_func2) ] - if r != [2, tmp] - throw "test failed 1, got ".string(r) - endif - unlet r - - sleep 3 - - " now let's change contents - call writefile(['some text','2nd line','3rd line'], tmp) - - let r = cached_file_contents#CachedFileContents(tmp, my_interpreting_func) - if 3 != r - throw "test failed 2, got ".string(r) - endif - - echo "test passed" -endf diff --git a/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/env_reload.vim b/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/env_reload.vim deleted file mode 100644 index d8af33a..0000000 --- a/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/env_reload.vim +++ /dev/null @@ -1,12 +0,0 @@ -" in sh/bash you can type export to get a list of environment variables -" This function assigns those env vars to Vim. -" Does not delete env vars yet -" Example: env_reload#ReloadEnv(system("sh -c 'export'") -fun! env_reload#ReloadEnv(bash_export_command_output) - for i in split(a:bash_export_command_output,"\n") - let m = matchlist(i, 'export \([^=]\+\)="\(.*\)"') - if empty(m) | continue | endif - " don't care about quoted values right now. - exec 'let $'.m[1].'='.string(m[2]) - endfor -endf diff --git a/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/funcref.vim b/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/funcref.vim deleted file mode 100644 index 20eec54..0000000 --- a/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/funcref.vim +++ /dev/null @@ -1,95 +0,0 @@ -" funcref.vim -" @License: GPL (see http://www.gnu.org/licenses/gpl.txt) -" @Last Change: 2010-01-03. -" @Revision: 0.1.0 - -" documentation see doc/funcref.txt - -" usage: -" funcref#Function("filename#Function") -" optionally pass arguments: -" funcref#Function("filename#Function",{'args': [2]}) -" optionally define self: -" funcref#Function("filename#Function",{'self': object}) -function! funcref#Function(name,...) - let d = a:0 > 0 ? a:1 : {} - let d['faked_function_reference'] = a:name - return d -endfunction - -" args : same as used for call(f,[args], self) -" f must be either -" - a string which can be evaled (use "return 'value'" to return a value) -" - a Vim function reference created by function('..') -" - a faked function reference created by funcref#Function(..) -" -" the last "self" argument can be overriden by the function reference -" You can pass arguments in a closure like style -function! funcref#Call(...) - let args = copy(a:000) - - " add parameters: - if (len(args) < 2) - call add(args, []) - endif - - - let isDict = type(args[0]) == type({}) - - " prepend parameters which were passed by faked function reference: - if isDict && has_key(args[0], 'args') - let args[1] = args[0]['args']+args[1] - endif - - " always pass self. this way you can call functions from dictionaries not - " refering to self - if (len(args) < 3) - call add(args, {}) - endif - - " the funcref overrides self: - if isDict && has_key(args[0], 'self') - let args[2] = args[0]['self'] - endif - - if type(a:1) == 2 - " funcref: function must have been laoded - return call(function('call'), args) - elseif isDict && has_key(args[0], 'faked_function_reference') - let Fun = args[0]['faked_function_reference'] - if type(Fun) == type('') - \ && (Fun[:len('return ')-1] == 'return ' - \ || Fun[:len('call ')-1] == 'call ' - \ || Fun[:len('if ')-1] == 'if ' - \ || Fun[:len('let ')-1] == 'let ' - \ || Fun[:len('echo ')-1] == 'echo ' - \ || Fun[:len('exec ')-1] == 'exec ' - \ || Fun[:len('debug ')-1] == 'debug ') - " it doesn't make sense to list all vim commands here - " So if you want to execute another action consider using - " funcref#Function('exec '.string('aw')) or such - - " function is a String, call exec - let ARGS = args[1] - let SELF = args[2] - exec Fun - else - " pseudo function, let's load it.. - if type(Fun) == 1 - if !exists('*'.Fun) - " lazily load function - let file = substitute(substitute(Fun,'#[^#]*$','',''),'#','/','g') - exec 'runtime /autoload/'.file.'.vim' - endif - let Fun2 = function(Fun) - else - let Fun2 = Fun - endif - let args[0] = Fun - return call(function('call'), args) - endif - else - " no function, return the value - return args[0] - endif -endfunction diff --git a/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/glob.vim b/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/glob.vim deleted file mode 100644 index 9a0f79a..0000000 --- a/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/glob.vim +++ /dev/null @@ -1,27 +0,0 @@ -exec vam#DefineAndBind('s:c','g:glob_like', '{}') - -" ignore vcs stuff, Don't think you want those.. -let s:c['regex_ignore_directory'] = '\<\%([_.]darcs\|\.git\|.svn\|.hg\|.cvs\|.bzr\)\>' -let s:c['glob_cache'] = get(s:c, 'glob_cache', {}) -let s:glob_cache = s:c['glob_cache'] - -fun! glob#Glob(pattern, ...) - let pattern = a:pattern - if pattern[0] == '~' - let pattern = $HOME.pattern[1:] - endif - let opts = a:0 > 0 ? a:1 : {} - " never cache current directory. You're very likely to edit files in it. - - let c = getcwd() - let cachable = get(opts, 'cachable', 0) && pattern[:len(c)-1] != c - if cachable && has_key(s:glob_cache, pattern) - return s:glob_cache[pattern] - endif - - " FIXME: don't recurse into \.git directory (thus reimplement glob in vimL!) - let r = filter(split(glob(pattern),"\n"),'v:val !~ '.string(s:c['regex_ignore_directory'])) - if cachable | let s:glob_cache[pattern] = r | endif - return r -endf - diff --git a/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/glob_linux.vim b/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/glob_linux.vim deleted file mode 100644 index e93820c..0000000 --- a/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/glob_linux.vim +++ /dev/null @@ -1,43 +0,0 @@ - -" TODO refactor: create glob function -" noremap \og :callglob_linux#FileByGlobCurrentDir('**/*'.input('glob open '),"\\.git\\\\.hg\\node_modules\\\\.pyc" ) -" noremap \og :callglob_linux#FileByGlobCurrentDir('**/*'.input('glob open '),"default" ) -function! glob_linux#FileByGlobCurrentDir(glob, exclude_pattern, ...) - let opts = a:0 > 0 ? a:1 : {} - if a:exclude_pattern == "default" - let exclude_pattern = '\.git\|\.hg\|node_modules\|\.pyc' - else - let exclude_pattern = a:exclude_pattern - endif - - " let files = split(glob(a:glob),"\n") - let g = a:glob - let replace = {'**': '.*','*': '[^/\]*','.': '\.'} - let g = substitute(g, '\(\*\*\|\*\|\.\)', '\='.string(replace).'[submatch(1)]','g') - - let exclude = exclude_pattern == '' ? '' : ' | grep -v -e '.shellescape(exclude_pattern) - - let cmd = get(opts, 'cmd_find', 'find'). ' . | grep -e '.shellescape(g).exclude - let files = split(system(cmd),"\n") - " for nom in a:excludes - " call filter(files,nom) - " endfor - if len(files) > 1000 - echoe "more than ".2000." files - would be too slow. Open the file in another way" - else - if empty(files) - echoe "no file found" - elseif len(files) == 1 - exec 'e '.fnameescape(files[0]) - else - let g:abc=7 - call tovl#ui#filter_list#ListView({ - \ 'number' : 1, - \ 'selectByIdOrFilter' : 1, - \ 'Continuation' : funcref#Function('exec "e ".fnameescape(ARGS[0])'), - \ 'items' : files, - \ 'cmds' : ['wincmd J'] - \ }) - endif - endif -endfunction diff --git a/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/tiny_cmd.vim b/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/tiny_cmd.vim deleted file mode 100644 index 052bbe0..0000000 --- a/.vim_runtime/sources_non_forked/vim-addon-mw-utils/autoload/tiny_cmd.vim +++ /dev/null @@ -1,19 +0,0 @@ -" vim suffers: - -exec vam#DefineAndBind('s:c','g:vim_tiny_cmd', '{}') - -fun! tiny_cmd#Put(a) - let new = get(s:c,'next',0) +1 - let s:c['next'] = new - let s:c[new] = a:a - return new -endf - -fun! tiny_cmd#Get(nr) - return s:c[a:nr] -endf - -" Get and remove item -fun! tiny_cmd#Pop(nr) - let r = s:c[a:nr] | unlet s:c[a:nr] | return r -endf diff --git a/.vim_runtime/sources_non_forked/vim-addon-mw-utils/doc/cached_file_contents.txt b/.vim_runtime/sources_non_forked/vim-addon-mw-utils/doc/cached_file_contents.txt deleted file mode 100644 index a47a8cf..0000000 --- a/.vim_runtime/sources_non_forked/vim-addon-mw-utils/doc/cached_file_contents.txt +++ /dev/null @@ -1,7 +0,0 @@ -*cached_file_contents* read contents of a file then cache extracted data - Author: Marc Weber, marco-oweber@gmx.de - ------------------------------------------------------------------------ -HOWTO~ - - see cached_file_contents#Test() diff --git a/.vim_runtime/sources_non_forked/vim-addon-mw-utils/doc/funcref.txt b/.vim_runtime/sources_non_forked/vim-addon-mw-utils/doc/funcref.txt deleted file mode 100644 index cb366d0..0000000 --- a/.vim_runtime/sources_non_forked/vim-addon-mw-utils/doc/funcref.txt +++ /dev/null @@ -1,35 +0,0 @@ -*funcref* create lazier function references. Pass arguments to create closure - like function calls - Author: Marc Weber, marco-oweber@gmx.de - ------------------------------------------------------------------------ -HOWTO~ - -Use *funcref#Function* to create a special dict called -*faked-function-reference* which can be called by *funcref#Call* -> - { 'faked_function_reference': 'file#FuncName' } -< passing some arguments and / or self: > - { 'faked_function_reference': 'MyFunc', 'args': [1,2], 'self' : { a object ] } -< You can also create lambda like functions which will be evaled: > - { 'faked_function_reference': 'return ARGS[1]' } - -REASONS ~ - Creating a Vim funcref pointing to an autoload function will make Vim source - that file. This is not lazy enough. (Seems to be no longer true? Has this changed?) - - A Vim function reference neither allows attaching arguments nor self. - - Don't care about case of variables. Normally when using Vim function - references you have to use variable names starting with an upper case letter - (E704) - -Example: ~ -> - let f = funcref#Function('return ARGS[0].ARGS[1].SELF["key"]',{'args':[3], 'self':{'key': 'value'} }) - echo funcref#Call(f, [2]) - " prints "32value" - - echo funcref#Call('no value') -< - echo funcref#Call(f, [2]) diff --git a/.vim_runtime/sources_non_forked/vim-addon-mw-utils/doc/tiny_cmd.txt b/.vim_runtime/sources_non_forked/vim-addon-mw-utils/doc/tiny_cmd.txt deleted file mode 100644 index bc6e002..0000000 --- a/.vim_runtime/sources_non_forked/vim-addon-mw-utils/doc/tiny_cmd.txt +++ /dev/null @@ -1,18 +0,0 @@ -*tiny-cmd* make long commands short so that they hopefully no longer trigger "press Enter .. [ok]" - Author: Marc Weber, marco-oweber@gmx.de - ------------------------------------------------------------------------ -HOWTO~ - -Problem: > - exec 'map :silent! let g:g="'.repeat('foobar ',200).'"' -Now run the mapping by pressing and you notice what I'm talking about - -Solution (Example): - - -Example usage: > - let nr = tiny_cmd#Put('let g:g="'.repeat('foobar ',200).'"') - exec 'map :exec tiny_cmd#Get('.nr.')' -< -Use Pop instead of Get if you use this command once only diff --git a/.vim_runtime/sources_non_forked/vim-addon-mw-utils/vim-addon-mw-utils-addon-info.txt b/.vim_runtime/sources_non_forked/vim-addon-mw-utils/vim-addon-mw-utils-addon-info.txt deleted file mode 100644 index 0b20bb3..0000000 --- a/.vim_runtime/sources_non_forked/vim-addon-mw-utils/vim-addon-mw-utils-addon-info.txt +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name" : "vim-addon-mw-utils", - "version" : "0.0", - "author" : "Marc Weber ", - "maintainer" : "Marc Weber ", - "repository" : {"type": "git", "url": "git://github.com/MarcWeber/vim-addon-manager-known-repositories.git"}, - "dependencies" : {}, - "description" : "various utils such as caching interpreted contents of files or advanced glob like things" -} diff --git a/.vim_runtime/sources_non_forked/vim-bundle-mako/README.md b/.vim_runtime/sources_non_forked/vim-bundle-mako/README.md deleted file mode 100644 index b89f17a..0000000 --- a/.vim_runtime/sources_non_forked/vim-bundle-mako/README.md +++ /dev/null @@ -1,25 +0,0 @@ -README.md

This project is a colleciton of vim scripts that relate to the Mako templating -engine for python. Most of thse are not at all written by me, just packaged -here from the vim-script site. The purpose is to make them easy to use with -pathogen.vim.

- -

Useful configuration variables:

- -
    -
  • g:mako_detect_lang_from_ext: when set to 1 (the default), the ftdetect -script will attempt to figure out the “outer” filetype of the file by -stripping the “.mako” extension (eg: index.html.mako will be treated as HTML, -while script.cpp.mako will be treated as C++). Set to 0 to prevent this -detection.
  • -
  • g:mako_default_outer_lang: if ftdetect cannot detect the “outer” filetype of -the file, this sets the default filetype used. If not set, defaults to “html”.
  • -
- -

About mako: http://www.makotemplates.org/

- -

Externally sourced scripts:

- - diff --git a/.vim_runtime/sources_non_forked/vim-bundle-mako/ftdetect/mako.vim b/.vim_runtime/sources_non_forked/vim-bundle-mako/ftdetect/mako.vim deleted file mode 100644 index 3051a43..0000000 --- a/.vim_runtime/sources_non_forked/vim-bundle-mako/ftdetect/mako.vim +++ /dev/null @@ -1,11 +0,0 @@ -if !exists("g:mako_detect_lang_from_ext") - let g:mako_detect_lang_from_ext = 1 -endif -if g:mako_detect_lang_from_ext - au BufNewFile *.*.mako execute "do BufNewFile filetypedetect " . expand(":r") | let b:mako_outer_lang = &filetype - " it's important to get this before any of the normal BufRead autocmds execute - " for this file, otherwise a mako tag at the start of the file can cause the - " filetype to be set to mason - au BufReadPre *.*.mako execute "do BufRead filetypedetect " . expand(":r") | let b:mako_outer_lang = &filetype -endif -au BufRead,BufNewFile *.mako set filetype=mako diff --git a/.vim_runtime/sources_non_forked/vim-bundle-mako/ftplugin/mako.vim b/.vim_runtime/sources_non_forked/vim-bundle-mako/ftplugin/mako.vim deleted file mode 100644 index 565defc..0000000 --- a/.vim_runtime/sources_non_forked/vim-bundle-mako/ftplugin/mako.vim +++ /dev/null @@ -1,19 +0,0 @@ -" Vim filetype plugin file -" Language: Mako -" Maintainer: Randy Stauner -" Last Change: 2019-09-06 -" Version: 0.2 - -if exists("b:did_ftplugin") | finish | endif -let b:did_ftplugin = 1 - -setlocal comments=:## -setlocal commentstring=##%s - -if exists("loaded_matchit") - let b:match_ignorecase = 1 - let b:match_words = "<:>," . - \ "<\@<=[ou]l\>[^>]*\%(>\|$\):<\@<=li\>:<\@<=/[ou]l>," . - \ "<\@<=dl\>[^>]*\%(>\|$\):<\@<=d[td]\>:<\@<=/dl>," . - \ "<\@<=\([^/][^ \t>]*\)[^>]*\%(>\|$\):<\@<=/\1>" -endif diff --git a/.vim_runtime/sources_non_forked/vim-bundle-mako/indent/mako.vim b/.vim_runtime/sources_non_forked/vim-bundle-mako/indent/mako.vim deleted file mode 100644 index f1f9482..0000000 --- a/.vim_runtime/sources_non_forked/vim-bundle-mako/indent/mako.vim +++ /dev/null @@ -1,428 +0,0 @@ -" Vim indent file -" Language: Mako -" Author: Scott Torborg -" Version: 0.4 -" License: Do What The Fuck You Want To Public License (WTFPL) -" -" --------------------------------------------------------------------------- -" -" DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE -" Version 2, December 2004 -" -" Copyright (C) 2004 Sam Hocevar -" -" Everyone is permitted to copy and distribute verbatim or modified -" copies of this license document, and changing it is allowed as long -" as the name is changed. -" -" DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE -" TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION -" -" 0. You just DO WHAT THE FUCK YOU WANT TO. -" -" --------------------------------------------------------------------------- -" -" This script does more useful indenting for Mako HTML templates. It indents -" inside of control blocks, defs, etc. Note that this indenting style will -" sacrifice readability of the output text for the sake of readability of the -" template. -" -" We'll use HTML indenting globally, python inside <% %> blocks. Inspired by -" the excellent PHP + HTML indentation files such as php.vim by Pim Snel. -" -" Changelog: -" 0.4 - 5 March 2010 -" - Added license information -" 0.3 - 15 September 2009 -" - Added explicit indenting for ## comments, fixed unindenting count, -" thanks to Mike Lewis (@MikeRLewis) for this -" 0.2 - 15 June 2009 -" - Fixed issue where opening and closing mako tags on the same line -" would cause incorrect indenting -" 0.1 - 06 June 2009 -" - Initial public release of mako indent file - -if exists("b:did_indent") - finish -endif -let b:did_indent = 1 - -setlocal nosmartindent -setlocal noautoindent -setlocal nocindent -setlocal nolisp -setlocal expandtab -setlocal softtabstop=2 -setlocal shiftwidth=2 - -setlocal indentexpr=GetMakoIndent() -setlocal indentkeys+=*,<>>,,end,: - -" Only define the function once. -if exists("*GetMakoIndent") - finish -endif - -if exists('g:html_indent_tags') - unlet g:html_indent_tags -endif - -function IsInsidePythonBlock(startline) - " Loop until we get a line that's either <% or %> - let lnum = a:startline - while getline(lnum) !~ '\(%>\|<%\)$' && lnum > 0 - let lnum = lnum - 1 - endwhile - - " lnum points to the last control. If it's a <% then we're inside an - " embedded python block, otherwise we're not. - return getline(lnum) =~ '<%$' -endfunction - -function GetMakoIndent() - " Find a non-empty line above the current line - let lnum = prevnonblank(v:lnum - 1) - - " Hit the start of the file, use zero indent. - if lnum == 0 - return 0 - endif - - let line = getline(lnum) " last line - let cline = getline(v:lnum) " current line - let pline = getline(lnum - 1) " previous to last line - let ind = indent(lnum) - if line =~ '^\s*##' - return indent(lnum) - end - - let restore_ic=&ic - let &ic=1 " ignore case - - let ind = HtmlIndentSum(lnum, -1) - let ind = HtmlIndentSum(lnum, -1) - let ind = ind + HtmlIndentSum(v:lnum, 0) - - let &ic=restore_ic - - let ind = indent(lnum) + (&sw * ind) - - " Indent after %anything: or <%anything NOT ending in /> - if line =~ '^\s*%.*:\s*$' - let ind = ind + &sw - endif - - " Unindent before %end* or $' - let scanlnum = lnum - " Scan backwards until we find the beginning of this python block. - while getline(scanlnum) !~ '<%$' && scanlnum > 0 - let scanlnum = scanlnum - 1 - endwhile - let ind = indent(scanlnum) - endif - - " If we're inside a python block and the previous line ends in a colon, - " indent. - if IsInsidePythonBlock(lnum - 1) - " Indent after : - if line =~ '\:$' - let ind = ind + &sw - endif - endif - - return ind -endfunction - - -" [-- helper function to assemble tag list --] -fun! HtmlIndentPush(tag) - if exists('g:html_indent_tags') - let g:html_indent_tags = g:html_indent_tags.'\|'.a:tag - else - let g:html_indent_tags = a:tag - endif -endfun - -fun! MakoIndentPush(tag) - if exists('g:mako_indent_tags') - let g:mako_indent_tags = g:mako_indent_tags.'\|'.a:tag - else - let g:mako_indent_tags = a:tag - endif -endfun - -" [-- --] -call HtmlIndentPush('a') -call HtmlIndentPush('abbr') -call HtmlIndentPush('address') -call HtmlIndentPush('applet') -call HtmlIndentPush('article') -call HtmlIndentPush('aside') -call HtmlIndentPush('audio') -call HtmlIndentPush('b') -call HtmlIndentPush('bdi') -call HtmlIndentPush('bdo') -call HtmlIndentPush('blockquote') -call HtmlIndentPush('button') -call HtmlIndentPush('canvas') -call HtmlIndentPush('caption') -call HtmlIndentPush('cite') -call HtmlIndentPush('code') -call HtmlIndentPush('colgroup') -call HtmlIndentPush('content') -call HtmlIndentPush('data') -call HtmlIndentPush('datalist') -call HtmlIndentPush('del') -call HtmlIndentPush('details') -call HtmlIndentPush('dfn') -call HtmlIndentPush('dialog') -call HtmlIndentPush('dir') -call HtmlIndentPush('div') -call HtmlIndentPush('dl') -call HtmlIndentPush('element') -call HtmlIndentPush('em') -call HtmlIndentPush('fieldset') -call HtmlIndentPush('figcaption') -call HtmlIndentPush('figure') -call HtmlIndentPush('footer') -call HtmlIndentPush('form') -call HtmlIndentPush('h1') -call HtmlIndentPush('h2') -call HtmlIndentPush('h3') -call HtmlIndentPush('h4') -call HtmlIndentPush('h5') -call HtmlIndentPush('h6') -call HtmlIndentPush('header') -call HtmlIndentPush('hgroup') -call HtmlIndentPush('i') -call HtmlIndentPush('iframe') -call HtmlIndentPush('ins') -call HtmlIndentPush('kbd') -call HtmlIndentPush('label') -call HtmlIndentPush('legend') -call HtmlIndentPush('li') -call HtmlIndentPush('main') -call HtmlIndentPush('map') -call HtmlIndentPush('mark') -call HtmlIndentPush('MediaStream') -call HtmlIndentPush('menu') -call HtmlIndentPush('menuitem') -call HtmlIndentPush('meter') -call HtmlIndentPush('nav') -call HtmlIndentPush('noembed') -call HtmlIndentPush('noscript') -call HtmlIndentPush('object') -call HtmlIndentPush('ol') -call HtmlIndentPush('optgroup') -call HtmlIndentPush('option') -call HtmlIndentPush('output') -call HtmlIndentPush('picture') -call HtmlIndentPush('pre') -call HtmlIndentPush('progress') -call HtmlIndentPush('q') -call HtmlIndentPush('rb') -call HtmlIndentPush('rp') -call HtmlIndentPush('rt') -call HtmlIndentPush('rtc') -call HtmlIndentPush('ruby') -call HtmlIndentPush('s') -call HtmlIndentPush('samp') -call HtmlIndentPush('script') -call HtmlIndentPush('section') -call HtmlIndentPush('select') -call HtmlIndentPush('shadow') -call HtmlIndentPush('slot') -call HtmlIndentPush('small') -call HtmlIndentPush('span') -call HtmlIndentPush('strong') -call HtmlIndentPush('style') -call HtmlIndentPush('sub') -call HtmlIndentPush('summary') -call HtmlIndentPush('sup') -call HtmlIndentPush('table') -call HtmlIndentPush('template') -call HtmlIndentPush('textarea') -call HtmlIndentPush('time') -call HtmlIndentPush('title') -call HtmlIndentPush('tt') -call HtmlIndentPush('u') -call HtmlIndentPush('ul') -call HtmlIndentPush('var') -call HtmlIndentPush('video') - -" For some reason the default HTML indentation script doesn't consider these -" elements to be worthy of indentation. -call HtmlIndentPush('p') -call HtmlIndentPush('dt') -call HtmlIndentPush('dd') - - -" [-- --] -if !exists('g:html_indent_strict') - call HtmlIndentPush('body') - call HtmlIndentPush('head') - call HtmlIndentPush('html') - call HtmlIndentPush('tbody') -endif - - -" [-- --] -if !exists('g:html_indent_strict_table') - call HtmlIndentPush('th') - call HtmlIndentPush('td') - call HtmlIndentPush('tr') - call HtmlIndentPush('tfoot') - call HtmlIndentPush('thead') -endif - -" [-- --] -call HtmlIndentPush('abbr') -call HtmlIndentPush('acronym') -call HtmlIndentPush('applet') -call HtmlIndentPush('audio') -call HtmlIndentPush('basefont') -call HtmlIndentPush('bgsound') -call HtmlIndentPush('big') -call HtmlIndentPush('blink') -call HtmlIndentPush('center') -call HtmlIndentPush('command') -call HtmlIndentPush('content') -call HtmlIndentPush('dir') -call HtmlIndentPush('element') -call HtmlIndentPush('embed') -call HtmlIndentPush('font') -call HtmlIndentPush('frame') -call HtmlIndentPush('frameset') -call HtmlIndentPush('image') -call HtmlIndentPush('img') -call HtmlIndentPush('isindex') -call HtmlIndentPush('keygen') -call HtmlIndentPush('listing') -call HtmlIndentPush('marquee') -call HtmlIndentPush('menuitem') -call HtmlIndentPush('multicol') -call HtmlIndentPush('nextid') -call HtmlIndentPush('nobr') -call HtmlIndentPush('noembed') -call HtmlIndentPush('noframes') -call HtmlIndentPush('object') -call HtmlIndentPush('plaintext') -call HtmlIndentPush('shadow') -call HtmlIndentPush('spacer') -call HtmlIndentPush('strike') -call HtmlIndentPush('tt') -call HtmlIndentPush('xmp') - -" [-- --] -call MakoIndentPush('%def') -call MakoIndentPush('%block') -call MakoIndentPush('%call') -call MakoIndentPush('%doc') -call MakoIndentPush('%text') -call MakoIndentPush('%.\+:.\+') - -delfun HtmlIndentPush -delfun MakoIndentPush - -set cpo-=C - -" [-- get number of regex matches in a string --] -fun! MatchCount(expr, pat) - let mpos = 0 - let mcount = 0 - let expr = a:expr - while (mpos > -1) - let mend = matchend(expr, a:pat) - if mend > -1 - let mcount = mcount + 1 - endif - if mend == mpos - let mpos = mpos + 1 - else - let mpos = mend - endif - let expr = strpart(expr, mpos) - endwhile - return mcount -endfun - -" [-- count indent-increasing tags of line a:lnum --] -fun! HtmlIndentOpen(lnum) - let s = substitute('x'.getline(a:lnum), - \ '.\{-}\(\(<\)\('.g:html_indent_tags.'\)\>\)', "\1", 'g') - let s = substitute(s, "[^\1].*$", '', '') - return strlen(s) -endfun - -" [-- count indent-decreasing tags of line a:lnum --] -fun! HtmlIndentClose(lnum) - let s = substitute('x'.getline(a:lnum), - \ '.\{-}\(\(<\)/\('.g:html_indent_tags.'\)\>>\)', "\1", 'g') - let s = substitute(s, "[^\1].*$", '', '') - return strlen(s) -endfun - -" [-- count indent-increasing mako tags of line a:lnum --] -fun! MakoIndentOpen(lnum) - let s = substitute('x'.getline(a:lnum), - \ '.\{-}\(\(<\)\('.g:mako_indent_tags.'\)\>\)', "\1", 'g') - let s = substitute(s, "[^\1].*$", '', '') - return strlen(s) -endfun - -" [-- count indent-decreasing mako tags of line a:lnum --] -fun! MakoIndentClose(lnum) - let mcount = MatchCount(getline(a:lnum), '') - let mcount = mcount + MatchCount(getline(a:lnum), '<\('.g:mako_indent_tags.'\)[^>]*/>') - return mcount -endfun - -" [-- count indent-increasing '{' of (java|css) line a:lnum --] -fun! HtmlIndentOpenAlt(lnum) - return strlen(substitute(getline(a:lnum), '[^{]\+', '', 'g')) -endfun - -" [-- count indent-decreasing '}' of (java|css) line a:lnum --] -fun! HtmlIndentCloseAlt(lnum) - return strlen(substitute(getline(a:lnum), '[^}]\+', '', 'g')) -endfun - -" [-- return the sum of indents respecting the syntax of a:lnum --] -fun! HtmlIndentSum(lnum, style) - let open = HtmlIndentOpen(a:lnum) + MakoIndentOpen(a:lnum) - let close = HtmlIndentClose(a:lnum) + MakoIndentClose(a:lnum) - if a:style == match(getline(a:lnum), '^\s*HtmlIndentOpenAlt(a:lnum) - HtmlIndentCloseAlt(a:lnum) - endif - endif - return 0 -endfun - -" vim: set ts=4 sw=4: diff --git a/.vim_runtime/sources_non_forked/vim-bundle-mako/syntax/mako.vim b/.vim_runtime/sources_non_forked/vim-bundle-mako/syntax/mako.vim deleted file mode 100644 index 8373699..0000000 --- a/.vim_runtime/sources_non_forked/vim-bundle-mako/syntax/mako.vim +++ /dev/null @@ -1,103 +0,0 @@ -" Vim syntax file -" Language: Mako -" Maintainer: Armin Ronacher -" URL: http://lucumr.pocoo.org/ -" Last Change: 2013-05-01 -" Version: 0.6.1+ -" -" Thanks to Brine Rue who noticed a bug in the -" delimiter handling. -" -" Known Limitations -" the <%text> block does not have correct attributes - -" For version 5.x: Clear all syntax items -" For version 6.x: Quit when a syntax file was already loaded -if version < 600 - syntax clear -elseif exists("b:current_syntax") - finish -endif - -if !exists("b:mako_outer_lang") - if exists("g:mako_default_outer_lang") - let b:mako_outer_lang = g:mako_default_outer_lang - else - let b:mako_outer_lang = "html" - endif -endif -if !exists("main_syntax") - let main_syntax = b:mako_outer_lang -endif - -"Source the outer syntax file -execute "ru! syntax/" . b:mako_outer_lang . ".vim" -if exists("b:current_syntax") - unlet b:current_syntax -endif - -if b:mako_outer_lang == "html" - " tell html.vim what syntax groups should take precedence (see :help html.vim) - syn cluster htmlPreproc add=makoLine,makoVariable,makoTag,makoDocComment,makoDefEnd,makoText,makoDelim,makoEnd,makoComment,makoEscape -endif - -"Put the python syntax file in @pythonTop -syn include @pythonTop syntax/python.vim - -" End keywords -syn keyword makoEnd contained endfor endwhile endif endtry enddef - -" Block rules -syn region makoLine matchgroup=makoDelim start=#^\s*%# end=#$# keepend contains=@pythonTop,makoEnd -syn region makoBlock matchgroup=makoDelim start=#<%!\?# end=#%># keepend contains=@pythonTop,makoEnd - -" Variables -syn region makoNested start="{" end="}" transparent display contained contains=makoNested,@pythonTop -syn region makoVariable matchgroup=makoDelim start=#\${# end=#}# contains=makoNested,@pythonTop - -" Comments -syn region makoComment start="^\s*##" end="$" -syn region makoDocComment matchgroup=makoDelim start="<%doc>" end="" keepend - -" Literal Blocks -syn region makoText matchgroup=makoDelim start="<%text[^>]*>" end="" - -" Attribute Sublexing -syn match makoAttributeKey containedin=makoTag contained "[a-zA-Z_][a-zA-Z0-9_]*=" -syn region makoAttributeValue containedin=makoTag contained start=/"/ skip=/\\"/ end=/"/ -syn region makoAttributeValue containedin=MakoTag contained start=/'/ skip=/\\'/ end=/'/ - -" Tags -syn region makoTag matchgroup=makoDelim start="<%\(def\|call\|page\|include\|namespace\|inherit\|block\|[a-zA-Z_][a-zA-Z0-9_]*:[a-zA-Z_][a-zA-Z0-9_]*\)\>" end="/\?>" -syn match makoDelim "" - -syn region makoJavaScript matchgroup=makoDelim start=+<%block .*js.*>+ keepend end=++ contains=@htmlJavaScript,htmlCssStyleComment,htmlScriptTag,@htmlPreproc,makoLine,makoBlock,makoVariable -syn region makoCssStyle matchgroup=makoDelim start=+<%block .*css.*>+ keepend end=++ contains=@htmlCss,htmlTag,htmlEndTag,htmlCssStyleComment,@htmlPreproc,makoLine,makoBlock,makoVariable - -" Newline Escapes -syn match makoEscape /\\$/ - -" Default highlighting links -if version >= 508 || !exists("did_mako_syn_inits") - if version < 508 - let did_mako_syn_inits = 1 - com -nargs=+ HiLink hi link - else - com -nargs=+ HiLink hi def link - endif - - HiLink makoDocComment makoComment - HiLink makoDefEnd makoDelim - - HiLink makoAttributeKey Type - HiLink makoAttributeValue String - HiLink makoText Normal - HiLink makoDelim Preproc - HiLink makoEnd Keyword - HiLink makoComment Comment - HiLink makoEscape Special - - delc HiLink -endif - -let b:current_syntax = b:mako_outer_lang diff --git a/.vim_runtime/sources_non_forked/vim-coffee-script/.gitignore b/.vim_runtime/sources_non_forked/vim-coffee-script/.gitignore deleted file mode 100644 index 1ff7b05..0000000 --- a/.vim_runtime/sources_non_forked/vim-coffee-script/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -.*.sw[a-z] -.*.un~ -doc/tags - diff --git a/.vim_runtime/sources_non_forked/vim-coffee-script/Copying.md b/.vim_runtime/sources_non_forked/vim-coffee-script/Copying.md deleted file mode 100644 index 0b882d6..0000000 --- a/.vim_runtime/sources_non_forked/vim-coffee-script/Copying.md +++ /dev/null @@ -1,54 +0,0 @@ - -Copying.md

All files except:

- -

ftdetect/vim-literate-coffeescript.vim -indent/litcoffee.vim -syntax/litcoffee.vim -test/test.coffee.md -test/test.litcoffee -test/test.png

- -

Issued under WTFPL:

- -
            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
-                    Version 2, December 2004
-
- Copyright (C) 2010 to 2014 Mick Koch <mick@kochm.co>
-
- Everyone is permitted to copy and distribute verbatim or modified
- copies of this license document, and changing it is allowed as long
- as the name is changed.
-
-            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. You just DO WHAT THE FUCK YOU WANT TO.
- -

These files issed under this license:

- -

ftdetect/vim-literate-coffeescript.vim -indent/litcoffee.vim -syntax/litcoffee.vim -test/test.coffee.md -test/test.litcoffee -test/test.png

- -

Copyright © 2013 Michael Smith

- -

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/.vim_runtime/sources_non_forked/vim-coffee-script/Makefile b/.vim_runtime/sources_non_forked/vim-coffee-script/Makefile deleted file mode 100644 index e6ef409..0000000 --- a/.vim_runtime/sources_non_forked/vim-coffee-script/Makefile +++ /dev/null @@ -1,25 +0,0 @@ -REF = HEAD -VERSION = $(shell git describe --always $(REF)) - -ARCHIVE = vim-coffee-script-$(VERSION).zip -ARCHIVE_DIRS = after autoload compiler doc ftdetect ftplugin indent syntax - -# Don't do anything by default. -all: - -# Make vim.org zipball. -archive: - git archive $(REF) -o $(ARCHIVE) -- $(ARCHIVE_DIRS) - -# Remove zipball. -clean: - -rm -f $(ARCHIVE) - -# Build the list of syntaxes for @coffeeAll. -coffeeAll: - @grep -E 'syn (match|region)' syntax/coffee.vim |\ - grep -v 'contained' |\ - awk '{print $$3}' |\ - uniq - -.PHONY: all archive clean hash coffeeAll diff --git a/.vim_runtime/sources_non_forked/vim-coffee-script/News.md b/.vim_runtime/sources_non_forked/vim-coffee-script/News.md deleted file mode 100644 index ebac8b3..0000000 --- a/.vim_runtime/sources_non_forked/vim-coffee-script/News.md +++ /dev/null @@ -1,24 +0,0 @@ -News.md

Version 003 (October 10, 2014)

- -

Almost 3 years’ worth of fixes and (hopefully) improvements.

- -

Version 002 (December 5, 2011)

- -

Added binary numbers (0b0101) and fixed some bugs (#9, #62, #63, #65).

- -

Version 001 (October 18, 2011)

- -

Removed deprecated coffee_folding option, added coffee_compile_vert option, -split out compiler, fixed indentation and syntax bugs, and added Haml support -and omnicompletion.

- -
    -
  • The coffee compiler is now a proper vim compiler that can be loaded with -:compiler coffee.
  • -
  • The coffee_compile_vert option can now be set to split the CoffeeCompile -buffer vertically by default.
  • -
  • CoffeeScript is now highlighted inside the :coffeescript filter in Haml.
  • -
  • Omnicompletion (:help compl-omni) now uses JavaScript’s dictionary to -complete words.
  • -
  • We now have a fancy version number.
  • -
diff --git a/.vim_runtime/sources_non_forked/vim-coffee-script/Readme.md b/.vim_runtime/sources_non_forked/vim-coffee-script/Readme.md deleted file mode 100644 index c304c80..0000000 --- a/.vim_runtime/sources_non_forked/vim-coffee-script/Readme.md +++ /dev/null @@ -1,588 +0,0 @@ - -Readme.md

This project adds CoffeeScript support to vim. It covers syntax, indenting, -compiling, and more.

- -

Screenshot

- -

Table of Contents

- - - -

Requirements

- -
    -
  • vim 7.4 or later
  • -
  • coffee 1.2.0 or later
  • -
- -

Install using Pathogen

- -

This project uses rolling releases based on git commits, so pathogen is a -natural fit for it. If you’re already using pathogen, you can skip to step 4.

- -
    -
  1. Install pathogen.vim into ~/.vim/autoload/ (see pathogen’s -readme for more information.)
  2. -
- -
    -
  1. Enable pathogen in your vimrc. Here’s a bare-minimum vimrc that enables -all the features of vim-coffee-script:
  2. -
- -
   call pathogen#infect()
-   syntax enable
-   filetype plugin indent on
- -

If you already have a vimrc built up, just make sure it contains these calls, - in this order.

- -
    -
  1. Create the directory ~/.vim/bundle/:

    - -
    mkdir ~/.vim/bundle
  2. - -
  3. Clone the vim-coffee-script repo into ~/.vim/bundle/:

    - -
    git clone https://github.com/kchmck/vim-coffee-script.git ~/.vim/bundle/vim-coffee-script/
  4. -
- -

Updating takes two steps:

- -
    -
  1. Change into ~/.vim/bundle/vim-coffee-script/:

    - -
    cd ~/.vim/bundle/vim-coffee-script
  2. - -
  3. Pull in the latest changes:

    - -
    git pull
  4. -
- -

Install using Vundle

- -
    -
  1. Install Vundle into ~/.vim/bundle/.
  2. -
- -
    -
  1. Configure your vimrc for Vundle. Here’s a bare-minimum vimrc that enables all -the features of vim-coffee-script:
  2. -
- -
   set nocompatible
-   filetype off
-
-   set rtp+=~/.vim/bundle/vundle/
-   call vundle#rc()
-
-   Plugin 'kchmck/vim-coffee-script'
-
-   syntax enable
-   filetype plugin indent on
- -

If you’re adding Vundle to a built-up vimrc, just make sure all these calls - are in there and that they occur in this order.

- -
    -
  1. Open vim and run :PluginInstall.
  2. -
- -

To update, open vim and run :PluginInstall! (notice the bang!)

- -

Install from a Zip File

- -
    -
  1. Download the latest zip file from vim.org.

  2. - -
  3. Extract the archive into ~/.vim/:

    - -
    unzip -od ~/.vim/ ARCHIVE.zip
  4. -
- -

This should create the files ~/.vim/autoload/coffee.vim, - ~/.vim/compiler/coffee.vim, etc.

- -

You can update the plugin using the same steps.

- -

Compile to JavaScript

- -

A coffee wrapper for use with :make is enabled automatically for coffee -files if no other compiler is loaded. To enable it manually, run

- -
:compiler coffee
- -

The :make command is then configured to use the coffee compiler and -recognize its errors. I’ve included a quick reference here but be sure to check -out :help :make for a full reference of the command.

- -

make

- -

make Result

- -

Consider the full signature of a :make call as

- -
:[silent] make[!] [COFFEE-OPTIONS]...
- -

By default :make shows all compiler output and jumps to the first line -reported as an error. Compiler output can be hidden with a leading :silent:

- -
:silent make
- -

Line-jumping can be turned off by adding a bang:

- -
:make!
- -

COFFEE-OPTIONS given to :make are passed along to coffee (see also -coffee_make_options):

- -
:make --bare --output /some/dir
- -

See the full table of options for a -list of all the options that coffee recognizes.

- -

Configuration: coffee_compiler, -coffee_make_options

- -

The quickfix window

- -

Compiler errors are added to the quickfix list by :make, but the quickfix -window isn’t automatically shown. The :cwindow command will pop up -the quickfix window if there are any errors:

- -
:make
-:cwindow
- -

This is usually the desired behavior, so you may want to add an autocmd to your -vimrc to do this automatically:

- -
autocmd QuickFixCmdPost * nested cwindow | redraw!
- -

The redraw! command is needed to fix a redrawing quirk in terminal vim, but -can removed for gVim.

- -

Recompile on write

- -

To recompile a file when it’s written, add a BufWritePost autocmd to your -vimrc:

- -
autocmd BufWritePost *.coffee silent make!
- -

Cake and Cakefiles

- -

A cake compiler is also available with the call

- -
:compiler cake
- -

You can then use :make as above to run your Cakefile and capture any coffee -errors:

- -
:silent make build
- -

It runs within the current directory, so make sure you’re in the directory of -your Cakefile before calling it.

- -

Configuration: coffee_cake, -coffee_cake_options

- -

CoffeeCompile: Compile CoffeeScript Snippets

- -

CoffeeCompile shows how the current file or a snippet of CoffeeScript is -compiled to JavaScript.

- -
:[RANGE] CoffeeCompile [vert[ical]] [WINDOW-SIZE]
- -

Calling :CoffeeCompile without a range compiles the whole file:

- -

CoffeeCompile

- -

CoffeeCompile Result

- -

Calling it with a range, like in visual mode, compiles only the selected snippet -of CoffeeScript:

- -

CoffeeCompile Snippet

- -

Compiled Snippet

- -

Each file gets its own CoffeeCompile buffer, and the same buffer is used for all -future calls of :CoffeeCompile on that file. It can be quickly closed by -hitting q in normal mode.

- -

Using vert opens the CoffeeCompile buffer vertically instead of horizontally -(see also coffee_compile_vert):

- -
:CoffeeCompile vert
- -

By default the CoffeeCompile buffer splits the source buffer in half, but this -can be overridden by passing in a WINDOW-SIZE:

- -
:CoffeeCompile 4
- -

Configuration: coffee_compiler, -coffee_compile_vert

- -

Quick syntax checking

- -

If compiling a snippet results in a compiler error, CoffeeCompile adds that -error to the quickfix list.

- -

Syntax Checking

- -

Syntax Checking Result

- -

You can use this to quickly check the syntax of a snippet.

- -

CoffeeWatch: Live Preview Compiling

- -

CoffeeWatch emulates using the Try CoffeeScript preview box on the CoffeeScript -homepage.

- -

CoffeeWatch

- -

CoffeeWatch Result

- -

CoffeeWatch takes the same options as CoffeeCompile:

- -
:CoffeeWatch [vert[ical]] [WINDOW-SIZE]
- -

After a source buffer is watched, leaving insert mode or saving the file fires -off a recompile of the CoffeeScript:

- -

Insert Mode

- -

Recompile

- -

You can force recompilation by calling :CoffeeWatch.

- -

To get synchronized scrolling of the source buffer and CoffeeWatch buffer, set -'scrollbind' -on each:

- -
:setl scrollbind
- -

Configuration: coffee_compiler, -coffee_watch_vert

- -

CoffeeRun: Run CoffeeScript Snippets

- -

CoffeeRun compiles the current file or selected snippet and runs the resulting -JavaScript.

- -

CoffeeRun

- -

CoffeeRun Output

- -

The command has two forms:

- -
:CoffeeRun [PROGRAM-OPTIONS]...
- -

This form applies when no RANGE is given or when the given range is 1,$ -(first line to last line). It allows passing PROGRAM-OPTIONS to your compiled -program. The filename is passed directly to coffee so you must save the file -for your changes to take effect.

- -
:RANGE CoffeeRun [COFFEE-OPTIONS]...
- -

This form applies with all other ranges. It compiles and runs the lines within -the given RANGE and any extra COFFEE-OPTIONS are passed to coffee.

- -

Configuration: coffee_compiler, -coffee_run_vert

- -

CoffeeLint: Lint your CoffeeScript

- -

CoffeeLint runs coffeelint (version 1.4.0 or later -required) on the current file and adds any issues to the quickfix list.

- -

CoffeeLint

- -

CoffeeLint Result

- -
:[RANGE] CoffeeLint[!] [COFFEELINT-OPTIONS]... [ | cwindow]
- -

If a RANGE is given, only those lines are piped to coffeelint. Options given -in COFFEELINT-OPTIONS are passed to coffeelint (see also -coffee_lint_options):

- -
:CoffeeLint -f lint.json
- -

It behaves very similar to :make, described above.

- -
:CoffeeLint! | cwindow
- -

Configuration: coffee_linter, -coffee_lint_options

- -

Literate CoffeeScript

- -

Literate CoffeeScript syntax and indent support is now built in! The Coffee -commands detect when they’re running on a litcoffee file and pass the ---literate flag to their respective tools.

- -

Literate CoffeeScript syntax and indent support was written by @mintplant -(Michael Smith). A standalone repo -exists, but you’ll -need to copy the ftplugin/litcoffee.vim file or set up an autocmd to get the -Coffee commands to be automatically loaded for litcoffee files.

- -

CoffeeScript in HTML

- -

CoffeeScript is highlighted and indented within

- -
<script type="text/coffeescript">
-</script>
- -

blocks in html files.

- -

CoffeeScript in Haml

- -

CoffeeScript is highlighted within the :coffeescript filter in haml files:

- -
:coffeescript
-  console.log "hullo"
- -

At this time, coffee indenting doesn’t work in these blocks.

- -

Custom Autocmds

- -

You can define commands to be ran automatically on these -custom events.

- -

In all cases, the name of the command running the event (CoffeeCompile, -CoffeeWatch, or CoffeeRun) is matched by the {pat} argument. -You can match all commands with a * or only specific commands by separating -them with a comma: CoffeeCompile,CoffeeWatch.

- -

CoffeeBufNew

- -

CoffeeBufNew is ran when a new scratch buffer is created. It’s called from the -new buffer, so it can be used to do additional set up.

- -
augroup CoffeeBufNew
-  autocmd User * set wrap
-augroup END
- -

Used By: CoffeeCompile, CoffeeWatch, CoffeeRun

- -

CoffeeBufUpdate

- -

CoffeeBufUpdate is ran when a scratch buffer is updated with output from -coffee. It’s called from the scratch buffer, so it can be used to alter the -compiled output.

- -
" Switch back to the source buffer after updating.
-augroup CoffeeBufUpdate
-  autocmd User CoffeeCompile,CoffeeRun exec bufwinnr(b:coffee_src_buf) 'wincmd w'
-augroup END
- -

For example, to strip off the “Generated by” comment on the first line, put this -in your vimrc:

- -
function! s:RemoveGeneratedBy()
-  " If there was an error compiling, there's no comment to remove.
-  if v:shell_error
-    return
-  endif
-
-  " Save cursor position.
-  let pos = getpos('.')
-
-  " Remove first line.
-  set modifiable
-  1 delete _
-  set nomodifiable
-
-  " Restore cursor position.
-  call setpos('.', pos)
-endfunction
-
-augroup CoffeeBufUpdate
-  autocmd User CoffeeCompile,CoffeeWatch call s:RemoveGeneratedBy()
-augroup END
- -

Used By: CoffeeCompile, CoffeeWatch, CoffeeRun

- -

Configuration Variables

- -

This is the full list of configuration variables available, with example -settings and default values. Use these in your vimrc to control the default -behavior.

- -

coffee_indent_keep_current

- -

By default, the indent function matches the indent of the previous line if it -doesn’t find a reason to indent or outdent. To change this behavior so it -instead keeps the current indent of the cursor, use

- -
let coffee_indent_keep_current = 1
- -

Default: unlet coffee_indent_keep_current

- -

Note that if you change this after a coffee file has been loaded, you’ll have to -reload the indent script for the change to take effect:

- -
unlet b:did_indent | runtime indent/coffee.vim
- -

coffee_compiler

- -

Path to the coffee executable used by the Coffee commands:

- -
let coffee_compiler = '/usr/bin/coffee'
- -

Default: 'coffee' (search $PATH for executable)

- -

coffee_make_options

- -

Options to pass to coffee with :make:

- -
let coffee_make_options = '--bare'
- -

Default: '' (nothing)

- -

Note that coffee_make_options is embedded into 'makeprg', so :compiler -coffee must be ran after changing coffee_make_options for the changes to take -effect.

- -

coffee_cake

- -

Path to the cake executable:

- -
let coffee_cake = '/opt/bin/cake'
- -

Default: 'cake' (search $PATH for executable)

- -

coffee_cake_options

- -

Options to pass to cake with :make:

- -
let coffee_cake_options = 'build'
- -

Default: '' (nothing)

- -

coffee_linter

- -

Path to the coffeelint executable:

- -
let coffee_linter = '/opt/bin/coffeelint'
- -

Default: 'coffeelint' (search $PATH for executable)

- -

coffee_lint_options

- -

Options to pass to coffeelint:

- -
let coffee_lint_options = '-f lint.json'
- -

Default: '' (nothing)

- -

coffee_compile_vert

- -

Open the CoffeeCompile buffer with a vertical split instead of a horizontal -one:

- -
let coffee_compile_vert = 1
- -

Default: unlet coffee_compile_vert

- -

coffee_watch_vert

- -

Open the CoffeeWatch buffer with a vertical split instead of a horizontal -one:

- -
let coffee_watch_vert = 1
- -

Default: unlet coffee_watch_vert

- -

coffee_run_vert

- -

Open the CoffeeRun buffer with a vertical split instead of a horizontal -one:

- -
let coffee_run_vert = 1
- -

Default: unlet coffee_run_vert

- -

Configure Syntax Highlighting

- -

Add these lines to your vimrc to disable the relevant syntax group.

- -

Disable trailing whitespace error

- -

Trailing whitespace is highlighted as an error by default. This can be disabled -with:

- -
hi link coffeeSpaceError NONE
- -

Disable trailing semicolon error

- -

Trailing semicolons are considered an error (for help transitioning from -JavaScript.) This can be disabled with:

- -
hi link coffeeSemicolonError NONE
- -

Disable reserved words error

- -

Reserved words like function and var are highlighted as an error where -they’re not allowed in CoffeeScript. This can be disabled with:

- -
hi link coffeeReservedError NONE
- -

Tune Vim for CoffeeScript

- -

Changing these core settings can make vim more CoffeeScript friendly.

- -

Fold by indentation

- -

Folding by indentation works well for CoffeeScript functions and classes:

- -

Folding

- -

To fold by indentation in CoffeeScript files, add this line to your vimrc:

- -
autocmd BufNewFile,BufReadPost *.coffee setl foldmethod=indent nofoldenable
- -

With this, folding is disabled by default but can be quickly toggled per-file -by hitting zi. To enable folding by default, remove nofoldenable:

- -
autocmd BufNewFile,BufReadPost *.coffee setl foldmethod=indent
- -

Two-space indentation

- -

To get standard two-space indentation in CoffeeScript files, add this line to -your vimrc:

- -
autocmd BufNewFile,BufReadPost *.coffee setl shiftwidth=2 expandtab
diff --git a/.vim_runtime/sources_non_forked/vim-coffee-script/Thanks.md b/.vim_runtime/sources_non_forked/vim-coffee-script/Thanks.md deleted file mode 100644 index 95123ae..0000000 --- a/.vim_runtime/sources_non_forked/vim-coffee-script/Thanks.md +++ /dev/null @@ -1,45 +0,0 @@ - -Thanks.md

Thanks to all bug reporters, and special thanks to those who have contributed -code:

- -
Brian Egan (brianegan):
-      Initial compiling support
-
-Ches Martin (ches):
-      Initial vim docs
-
-Chris Hoffman (cehoffman):
-      Add new keywoards from, to, and do
-      Highlight the - in negative integers
-      Add here regex highlighting, increase fold level for here docs
-
-David Wilhelm (bigfish):
-      CoffeeRun command
-
-Jay Adkisson (jayferd):
-      Support for eco templates
-
-Karl Guertin (grayrest)
-      Cakefiles are coffeescript
-
-Maciej Konieczny (narfdotpl):
-      Fix funny typo
-
-Matt Sacks (mattsa):
-      Javascript omni-completion
-      coffee_compile_vert option
-
-Nick Stenning (nickstenning):
-      Fold by indentation for coffeescript
-
-Simon Lipp (sloonz):
-      Trailing spaces are not error on lines containing only spaces
-
-Stéphan Kochen (stephank):
-      Initial HTML CoffeeScript highlighting
-
-Sven Felix Oberquelle (Svelix):
-      Haml CoffeeScript highlighting
-
-Wei Dai (clvv):
-      Fix the use of Vim built-in make command.
diff --git a/.vim_runtime/sources_non_forked/vim-coffee-script/Todo.md b/.vim_runtime/sources_non_forked/vim-coffee-script/Todo.md deleted file mode 100644 index 74861ed..0000000 --- a/.vim_runtime/sources_non_forked/vim-coffee-script/Todo.md +++ /dev/null @@ -1,3 +0,0 @@ -Todo.md

    -
  • Don’t highlight bad operator combinations
  • -
diff --git a/.vim_runtime/sources_non_forked/vim-coffee-script/autoload/coffee.vim b/.vim_runtime/sources_non_forked/vim-coffee-script/autoload/coffee.vim deleted file mode 100644 index 8d72795..0000000 --- a/.vim_runtime/sources_non_forked/vim-coffee-script/autoload/coffee.vim +++ /dev/null @@ -1,54 +0,0 @@ -" Language: CoffeeScript -" Maintainer: Mick Koch -" URL: http://github.com/kchmck/vim-coffee-script -" License: WTFPL - -" Set up some common global/buffer variables. -function! coffee#CoffeeSetUpVariables() - " Path to coffee executable - if !exists('g:coffee_compiler') - let g:coffee_compiler = 'coffee' - endif - - " Options passed to coffee with make - if !exists('g:coffee_make_options') - let g:coffee_make_options = '' - endif - - " Path to cake executable - if !exists('g:coffee_cake') - let g:coffee_cake = 'cake' - endif - - " Extra options passed to cake - if !exists('g:coffee_cake_options') - let g:coffee_cake_options = '' - endif - - " Path to coffeelint executable - if !exists('g:coffee_linter') - let g:coffee_linter = 'coffeelint' - endif - - " Options passed to CoffeeLint - if !exists('g:coffee_lint_options') - let g:coffee_lint_options = '' - endif - - " Pass the litcoffee flag to tools in this buffer if a litcoffee file is open. - " Let the variable be overwritten so it can be updated if a different filetype - " is set. - if &filetype == 'litcoffee' - let b:coffee_litcoffee = '--literate' - else - let b:coffee_litcoffee = '' - endif -endfunction - -function! coffee#CoffeeSetUpErrorFormat() - CompilerSet errorformat=Error:\ In\ %f\\,\ %m\ on\ line\ %l, - \Error:\ In\ %f\\,\ Parse\ error\ on\ line\ %l:\ %m, - \SyntaxError:\ In\ %f\\,\ %m, - \%f:%l:%c:\ error:\ %m, - \%-G%.%# -endfunction diff --git a/.vim_runtime/sources_non_forked/vim-coffee-script/compiler/cake.vim b/.vim_runtime/sources_non_forked/vim-coffee-script/compiler/cake.vim deleted file mode 100644 index b49638e..0000000 --- a/.vim_runtime/sources_non_forked/vim-coffee-script/compiler/cake.vim +++ /dev/null @@ -1,15 +0,0 @@ -" Language: CoffeeScript -" Maintainer: Mick Koch -" URL: http://github.com/kchmck/vim-coffee-script -" License: WTFPL - -if exists('current_compiler') - finish -endif - -let current_compiler = 'cake' -call coffee#CoffeeSetUpVariables() - -exec 'CompilerSet makeprg=' . escape(g:coffee_cake . ' ' . -\ g:coffee_cake_options . ' $*', ' ') -call coffee#CoffeeSetUpErrorFormat() diff --git a/.vim_runtime/sources_non_forked/vim-coffee-script/compiler/coffee.vim b/.vim_runtime/sources_non_forked/vim-coffee-script/compiler/coffee.vim deleted file mode 100644 index 5a91457..0000000 --- a/.vim_runtime/sources_non_forked/vim-coffee-script/compiler/coffee.vim +++ /dev/null @@ -1,82 +0,0 @@ -" Language: CoffeeScript -" Maintainer: Mick Koch -" URL: http://github.com/kchmck/vim-coffee-script -" License: WTFPL - -" All this is needed to support compiling filenames with spaces, quotes, and -" such. The filename is escaped and embedded into the `makeprg` setting. -" -" Because of this, `makeprg` must be updated on every file rename. And because -" of that, `CompilerSet` can't be used because it doesn't exist when the -" rename autocmd is ran. So, we have to do some checks to see whether `compiler` -" was called locally or globally, and respect that in the rest of the script. - -if exists('current_compiler') - finish -endif - -let current_compiler = 'coffee' -call coffee#CoffeeSetUpVariables() - -" Pattern to check if coffee is the compiler -let s:pat = '^' . current_compiler - -" Get a `makeprg` for the current filename. -function! s:GetMakePrg() - return g:coffee_compiler . - \ ' -c' . - \ ' ' . b:coffee_litcoffee . - \ ' ' . g:coffee_make_options . - \ ' $*' . - \ ' ' . fnameescape(expand('%')) -endfunction - -" Set `makeprg` and return 1 if coffee is still the compiler, else return 0. -function! s:SetMakePrg() - if &l:makeprg =~ s:pat - let &l:makeprg = s:GetMakePrg() - elseif &g:makeprg =~ s:pat - let &g:makeprg = s:GetMakePrg() - else - return 0 - endif - - return 1 -endfunction - -" Set a dummy compiler so we can check whether to set locally or globally. -exec 'CompilerSet makeprg=' . current_compiler -" Then actually set the compiler. -call s:SetMakePrg() -call coffee#CoffeeSetUpErrorFormat() - -function! s:CoffeeMakeDeprecated(bang, args) - echoerr 'CoffeeMake is deprecated! Please use :make instead, its behavior ' . - \ 'is identical.' - sleep 5 - exec 'make' . a:bang a:args -endfunction - -" Compile the current file. -command! -bang -bar -nargs=* CoffeeMake -\ call s:CoffeeMakeDeprecated(, ) - -" Set `makeprg` on rename since we embed the filename in the setting. -augroup CoffeeUpdateMakePrg - autocmd! - - " Update `makeprg` if coffee is still the compiler, else stop running this - " function. - function! s:UpdateMakePrg() - if !s:SetMakePrg() - autocmd! CoffeeUpdateMakePrg - endif - endfunction - - " Set autocmd locally if compiler was set locally. - if &l:makeprg =~ s:pat - autocmd BufWritePre,BufFilePost call s:UpdateMakePrg() - else - autocmd BufWritePre,BufFilePost call s:UpdateMakePrg() - endif -augroup END diff --git a/.vim_runtime/sources_non_forked/vim-coffee-script/doc/coffee-script.txt b/.vim_runtime/sources_non_forked/vim-coffee-script/doc/coffee-script.txt deleted file mode 100644 index 1b43cf3..0000000 --- a/.vim_runtime/sources_non_forked/vim-coffee-script/doc/coffee-script.txt +++ /dev/null @@ -1,4 +0,0 @@ -Please see the project readme for up-to-date docs: -https://github.com/kchmck/vim-coffee-script - - vim:tw=78:ts=8:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/vim-coffee-script/ftdetect/coffee.vim b/.vim_runtime/sources_non_forked/vim-coffee-script/ftdetect/coffee.vim deleted file mode 100644 index e6c4d69..0000000 --- a/.vim_runtime/sources_non_forked/vim-coffee-script/ftdetect/coffee.vim +++ /dev/null @@ -1,17 +0,0 @@ -" Language: CoffeeScript -" Maintainer: Mick Koch -" URL: http://github.com/kchmck/vim-coffee-script -" License: WTFPL - -autocmd BufNewFile,BufRead *.coffee set filetype=coffee -autocmd BufNewFile,BufRead *Cakefile set filetype=coffee -autocmd BufNewFile,BufRead *.coffeekup,*.ck set filetype=coffee -autocmd BufNewFile,BufRead *._coffee set filetype=coffee - -function! s:DetectCoffee() - if getline(1) =~ '^#!.*\' - set filetype=coffee - endif -endfunction - -autocmd BufNewFile,BufRead * call s:DetectCoffee() diff --git a/.vim_runtime/sources_non_forked/vim-coffee-script/ftdetect/vim-literate-coffeescript.vim b/.vim_runtime/sources_non_forked/vim-coffee-script/ftdetect/vim-literate-coffeescript.vim deleted file mode 100644 index 7f66624..0000000 --- a/.vim_runtime/sources_non_forked/vim-coffee-script/ftdetect/vim-literate-coffeescript.vim +++ /dev/null @@ -1,8 +0,0 @@ -" Language: Literate CoffeeScript -" Maintainer: Michael Smith -" URL: https://github.com/mintplant/vim-literate-coffeescript -" License: MIT - -autocmd BufNewFile,BufRead *.litcoffee set filetype=litcoffee -autocmd BufNewFile,BufRead *.coffee.md set filetype=litcoffee - diff --git a/.vim_runtime/sources_non_forked/vim-coffee-script/ftplugin/coffee.vim b/.vim_runtime/sources_non_forked/vim-coffee-script/ftplugin/coffee.vim deleted file mode 100644 index 3f9cd77..0000000 --- a/.vim_runtime/sources_non_forked/vim-coffee-script/ftplugin/coffee.vim +++ /dev/null @@ -1,405 +0,0 @@ -" Language: CoffeeScript -" Maintainer: Mick Koch -" URL: http://github.com/kchmck/vim-coffee-script -" License: WTFPL - -if exists('b:did_ftplugin') - finish -endif - -let b:did_ftplugin = 1 -call coffee#CoffeeSetUpVariables() - -setlocal formatoptions-=t formatoptions+=croql -setlocal comments=:# commentstring=#\ %s -setlocal omnifunc=javascriptcomplete#CompleteJS -setlocal suffixesadd+=.coffee - -" Create custom augroups. -augroup CoffeeBufUpdate | augroup END -augroup CoffeeBufNew | augroup END - -" Enable coffee compiler if a compiler isn't set already. -if !len(&l:makeprg) - compiler coffee -endif - -" Switch to the window for buf. -function! s:SwitchWindow(buf) - exec bufwinnr(a:buf) 'wincmd w' -endfunction - -" Create a new scratch buffer and return the bufnr of it. After the function -" returns, vim remains in the scratch buffer so more set up can be done. -function! s:ScratchBufBuild(src, vert, size) - if a:size <= 0 - if a:vert - let size = winwidth(bufwinnr(a:src)) / 2 - else - let size = winheight(bufwinnr(a:src)) / 2 - endif - endif - - if a:vert - vertical belowright new - exec 'vertical resize' size - else - belowright new - exec 'resize' size - endif - - setlocal bufhidden=wipe buftype=nofile nobuflisted noswapfile nomodifiable - nnoremap q :hide - - return bufnr('%') -endfunction - -" Replace buffer contents with text and delete the last empty line. -function! s:ScratchBufUpdate(buf, text) - " Move to the scratch buffer. - call s:SwitchWindow(a:buf) - - " Double check we're in the scratch buffer before overwriting. - if bufnr('%') != a:buf - throw 'unable to change to scratch buffer' - endif - - setlocal modifiable - silent exec '% delete _' - silent put! =a:text - silent exec '$ delete _' - setlocal nomodifiable -endfunction - -" Parse the output of coffee into a qflist entry for src buffer. -function! s:ParseCoffeeError(output, src, startline) - " Coffee error is always on first line? - let match = matchlist(a:output, - \ '^\(\f\+\|\[stdin\]\):\(\d\):\(\d\): error: \(.\{-}\)' . "\n") - - if !len(match) - return - endif - - " Consider the line number from coffee as relative and add it to the beginning - " line number of the range the command was called on, then subtract one for - " zero-based relativity. - call setqflist([{'bufnr': a:src, 'lnum': a:startline + str2nr(match[2]) - 1, - \ 'type': 'E', 'col': str2nr(match[3]), 'text': match[4]}], 'r') -endfunction - -" Reset source buffer variables. -function! s:CoffeeCompileResetVars() - " Variables defined in source buffer: - " b:coffee_compile_buf: bufnr of output buffer - " Variables defined in output buffer: - " b:coffee_src_buf: bufnr of source buffer - " b:coffee_compile_pos: previous cursor position in output buffer - - let b:coffee_compile_buf = -1 -endfunction - -function! s:CoffeeWatchResetVars() - " Variables defined in source buffer: - " b:coffee_watch_buf: bufnr of output buffer - " Variables defined in output buffer: - " b:coffee_src_buf: bufnr of source buffer - " b:coffee_watch_pos: previous cursor position in output buffer - - let b:coffee_watch_buf = -1 -endfunction - -function! s:CoffeeRunResetVars() - " Variables defined in CoffeeRun source buffer: - " b:coffee_run_buf: bufnr of output buffer - " Variables defined in CoffeeRun output buffer: - " b:coffee_src_buf: bufnr of source buffer - " b:coffee_run_pos: previous cursor position in output buffer - - let b:coffee_run_buf = -1 -endfunction - -" Clean things up in the source buffers. -function! s:CoffeeCompileClose() - " Switch to the source buffer if not already in it. - silent! call s:SwitchWindow(b:coffee_src_buf) - call s:CoffeeCompileResetVars() -endfunction - -function! s:CoffeeWatchClose() - silent! call s:SwitchWindow(b:coffee_src_buf) - silent! autocmd! CoffeeAuWatch * - call s:CoffeeWatchResetVars() -endfunction - -function! s:CoffeeRunClose() - silent! call s:SwitchWindow(b:coffee_src_buf) - call s:CoffeeRunResetVars() -endfunction - -" Compile the lines between startline and endline and put the result into buf. -function! s:CoffeeCompileToBuf(buf, startline, endline) - let src = bufnr('%') - let input = join(getline(a:startline, a:endline), "\n") - - " Coffee doesn't like empty input. - if !len(input) - " Function should still return within output buffer. - call s:SwitchWindow(a:buf) - return - endif - - " Pipe lines into coffee. - let output = system(g:coffee_compiler . - \ ' -scb' . - \ ' ' . b:coffee_litcoffee . - \ ' 2>&1', input) - - " Paste output into output buffer. - call s:ScratchBufUpdate(a:buf, output) - - " Highlight as JavaScript if there were no compile errors. - if v:shell_error - call s:ParseCoffeeError(output, src, a:startline) - setlocal filetype= - else - " Clear the quickfix list. - call setqflist([], 'r') - setlocal filetype=javascript - endif -endfunction - -" Peek at compiled CoffeeScript in a scratch buffer. We handle ranges like this -" to prevent the cursor from being moved (and its position saved) before the -" function is called. -function! s:CoffeeCompile(startline, endline, args) - if a:args =~ '\' - echoerr 'CoffeeCompile watch is deprecated! Please use CoffeeWatch instead' - sleep 5 - call s:CoffeeWatch(a:args) - return - endif - - " Switch to the source buffer if not already in it. - silent! call s:SwitchWindow(b:coffee_src_buf) - - " Bail if not in source buffer. - if !exists('b:coffee_compile_buf') - return - endif - - " Build the output buffer if it doesn't exist. - if bufwinnr(b:coffee_compile_buf) == -1 - let src = bufnr('%') - - let vert = exists('g:coffee_compile_vert') || a:args =~ '\' - let size = str2nr(matchstr(a:args, '\<\d\+\>')) - - " Build the output buffer and save the source bufnr. - let buf = s:ScratchBufBuild(src, vert, size) - let b:coffee_src_buf = src - - " Set the buffer name. - exec 'silent! file [CoffeeCompile ' . src . ']' - - " Clean up the source buffer when the output buffer is closed. - autocmd BufWipeout call s:CoffeeCompileClose() - " Save the cursor when leaving the output buffer. - autocmd BufLeave let b:coffee_compile_pos = getpos('.') - - " Run user-defined commands on new buffer. - silent doautocmd CoffeeBufNew User CoffeeCompile - - " Switch back to the source buffer and save the output bufnr. This also - " triggers BufLeave above. - call s:SwitchWindow(src) - let b:coffee_compile_buf = buf - endif - - " Fill the scratch buffer. - call s:CoffeeCompileToBuf(b:coffee_compile_buf, a:startline, a:endline) - " Reset cursor to previous position. - call setpos('.', b:coffee_compile_pos) - - " Run any user-defined commands on the scratch buffer. - silent doautocmd CoffeeBufUpdate User CoffeeCompile -endfunction - -" Update the scratch buffer and switch back to the source buffer. -function! s:CoffeeWatchUpdate() - call s:CoffeeCompileToBuf(b:coffee_watch_buf, 1, '$') - call setpos('.', b:coffee_watch_pos) - silent doautocmd CoffeeBufUpdate User CoffeeWatch - call s:SwitchWindow(b:coffee_src_buf) -endfunction - -" Continually compile a source buffer. -function! s:CoffeeWatch(args) - silent! call s:SwitchWindow(b:coffee_src_buf) - - if !exists('b:coffee_watch_buf') - return - endif - - if bufwinnr(b:coffee_watch_buf) == -1 - let src = bufnr('%') - - let vert = exists('g:coffee_watch_vert') || a:args =~ '\' - let size = str2nr(matchstr(a:args, '\<\d\+\>')) - - let buf = s:ScratchBufBuild(src, vert, size) - let b:coffee_src_buf = src - - exec 'silent! file [CoffeeWatch ' . src . ']' - - autocmd BufWipeout call s:CoffeeWatchClose() - autocmd BufLeave let b:coffee_watch_pos = getpos('.') - - silent doautocmd CoffeeBufNew User CoffeeWatch - - call s:SwitchWindow(src) - let b:coffee_watch_buf = buf - endif - - " Make sure only one watch autocmd is defined on this buffer. - silent! autocmd! CoffeeAuWatch * - - augroup CoffeeAuWatch - autocmd InsertLeave call s:CoffeeWatchUpdate() - autocmd BufWritePost call s:CoffeeWatchUpdate() - augroup END - - call s:CoffeeWatchUpdate() -endfunction - -" Run a snippet of CoffeeScript between startline and endline. -function! s:CoffeeRun(startline, endline, args) - silent! call s:SwitchWindow(b:coffee_src_buf) - - if !exists('b:coffee_run_buf') - return - endif - - if bufwinnr(b:coffee_run_buf) == -1 - let src = bufnr('%') - - let buf = s:ScratchBufBuild(src, exists('g:coffee_run_vert'), 0) - let b:coffee_src_buf = src - - exec 'silent! file [CoffeeRun ' . src . ']' - - autocmd BufWipeout call s:CoffeeRunClose() - autocmd BufLeave let b:coffee_run_pos = getpos('.') - - silent doautocmd CoffeeBufNew User CoffeeRun - - call s:SwitchWindow(src) - let b:coffee_run_buf = buf - endif - - if a:startline == 1 && a:endline == line('$') - let output = system(g:coffee_compiler . - \ ' ' . b:coffee_litcoffee . - \ ' ' . fnameescape(expand('%')) . - \ ' ' . a:args) - else - let input = join(getline(a:startline, a:endline), "\n") - - if !len(input) - return - endif - - let output = system(g:coffee_compiler . - \ ' -s' . - \ ' ' . b:coffee_litcoffee . - \ ' ' . a:args, input) - endif - - call s:ScratchBufUpdate(b:coffee_run_buf, output) - call setpos('.', b:coffee_run_pos) - - silent doautocmd CoffeeBufUpdate User CoffeeRun -endfunction - -" Run coffeelint on a file, and add any errors between startline and endline -" to the quickfix list. -function! s:CoffeeLint(startline, endline, bang, args) - let input = join(getline(a:startline, a:endline), "\n") - - if !len(input) - return - endif - - let output = system(g:coffee_linter . - \ ' -s --reporter csv' . - \ ' ' . b:coffee_litcoffee . - \ ' ' . g:coffee_lint_options . - \ ' ' . a:args . - \ ' 2>&1', input) - - " Convert output into an array and strip off the csv header. - let lines = split(output, "\n")[1:] - let buf = bufnr('%') - let qflist = [] - - for line in lines - let match = matchlist(line, '^stdin,\(\d\+\),\d*,\(error\|warn\),\(.\+\)$') - - " Ignore unmatched lines. - if !len(match) - continue - endif - - " The 'type' will result in either 'E' or 'W'. - call add(qflist, {'bufnr': buf, 'lnum': a:startline + str2nr(match[1]) - 1, - \ 'type': toupper(match[2][0]), 'text': match[3]}) - endfor - - " Replace the quicklist with our items. - call setqflist(qflist, 'r') - - " If not given a bang, jump to first error. - if !len(a:bang) - silent! cc 1 - endif -endfunction - -" Complete arguments for Coffee* commands. -function! s:CoffeeComplete(cmd, cmdline, cursor) - let args = ['vertical'] - - " If no partial command, return all possibilities. - if !len(a:cmd) - return args - endif - - let pat = '^' . a:cmd - - for arg in args - if arg =~ pat - return [arg] - endif - endfor -endfunction - -" Set initial state variables if they don't exist -if !exists('b:coffee_compile_buf') - call s:CoffeeCompileResetVars() -endif - -if !exists('b:coffee_watch_buf') - call s:CoffeeWatchResetVars() -endif - -if !exists('b:coffee_run_buf') - call s:CoffeeRunResetVars() -endif - -command! -buffer -range=% -bar -nargs=* -complete=customlist,s:CoffeeComplete -\ CoffeeCompile call s:CoffeeCompile(, , ) -command! -buffer -bar -nargs=* -complete=customlist,s:CoffeeComplete -\ CoffeeWatch call s:CoffeeWatch() -command! -buffer -range=% -bar -nargs=* CoffeeRun -\ call s:CoffeeRun(, , ) -command! -buffer -range=% -bang -bar -nargs=* CoffeeLint -\ call s:CoffeeLint(, , , ) diff --git a/.vim_runtime/sources_non_forked/vim-coffee-script/ftplugin/litcoffee.vim b/.vim_runtime/sources_non_forked/vim-coffee-script/ftplugin/litcoffee.vim deleted file mode 100644 index febc730..0000000 --- a/.vim_runtime/sources_non_forked/vim-coffee-script/ftplugin/litcoffee.vim +++ /dev/null @@ -1 +0,0 @@ -runtime ftplugin/coffee.vim diff --git a/.vim_runtime/sources_non_forked/vim-coffee-script/indent/coffee.vim b/.vim_runtime/sources_non_forked/vim-coffee-script/indent/coffee.vim deleted file mode 100644 index 4f4570a..0000000 --- a/.vim_runtime/sources_non_forked/vim-coffee-script/indent/coffee.vim +++ /dev/null @@ -1,428 +0,0 @@ -" Language: CoffeeScript -" Maintainer: Mick Koch -" URL: http://github.com/kchmck/vim-coffee-script -" License: WTFPL - -if exists('b:did_indent') - finish -endif - -let b:did_indent = 1 - -setlocal autoindent -setlocal indentexpr=GetCoffeeIndent(v:lnum) -" Make sure GetCoffeeIndent is run when these are typed so they can be -" indented or outdented. -setlocal indentkeys+=0],0),0.,=else,=when,=catch,=finally - -" If no indenting or outdenting is needed, either keep the indent of the cursor -" (use autoindent) or match the indent of the previous line. -if exists('g:coffee_indent_keep_current') - let s:DEFAULT_LEVEL = '-1' -else - let s:DEFAULT_LEVEL = 'indent(prevnlnum)' -endif - -" Only define the function once. -if exists('*GetCoffeeIndent') - finish -endif - -" Keywords that begin a block -let s:BEGIN_BLOCK_KEYWORD = '\C^\%(if\|unless\|else\|for\|while\|until\|' -\ . 'loop\|switch\|when\|try\|catch\|finally\|' -\ . 'class\)\>\%(\s*:\)\@!' - -" An expression that uses the result of a statement -let s:COMPOUND_EXPRESSION = '\C\%([^-]-\|[^+]+\|[^/]/\|[:=*%&|^<>]\)\s*' -\ . '\%(if\|unless\|for\|while\|until\|loop\|switch\|' -\ . 'try\|class\)\>' - -" Combine the two above -let s:BEGIN_BLOCK = s:BEGIN_BLOCK_KEYWORD . '\|' . s:COMPOUND_EXPRESSION - -" Operators that begin a block but also count as a continuation -let s:BEGIN_BLOCK_OP = '[([{:=]$' - -" Begins a function block -let s:FUNCTION = '[-=]>$' - -" Operators that continue a line onto the next line -let s:CONTINUATION_OP = '\C\%(\<\%(is\|isnt\|and\|or\)\>\|' -\ . '[^-]-\|[^+]+\|[^-=]>\|[^.]\.\|[<*/%&|^,]\)$' - -" Ancestor operators that prevent continuation indenting -let s:CONTINUATION = s:CONTINUATION_OP . '\|' . s:BEGIN_BLOCK_OP - -" A closing bracket by itself on a line followed by a continuation -let s:BRACKET_CONTINUATION = '^\s*[}\])]\s*' . s:CONTINUATION_OP - -" A continuation dot access -let s:DOT_ACCESS = '^\.' - -" Keywords that break out of a block -let s:BREAK_BLOCK_OP = '\C^\%(return\|break\|continue\|throw\)\>' - -" A condition attached to the end of a statement -let s:POSTFIX_CONDITION = '\C\S\s\+\zs\<\%(if\|unless\|when\|while\|until\)\>' - -" A then contained in brackets -let s:CONTAINED_THEN = '\C[(\[].\{-}\.\{-\}[)\]]' - -" An else with a condition attached -let s:ELSE_COND = '\C^\s*else\s\+\<\%(if\|unless\)\>' - -" A single-line else statement (without a condition attached) -let s:SINGLE_LINE_ELSE = '\C^else\s\+\%(\<\%(if\|unless\)\>\)\@!' - -" Pairs of starting and ending keywords, with an initial pattern to match -let s:KEYWORD_PAIRS = [ -\ ['\C^else\>', '\C\<\%(if\|unless\|when\|else\s\+\%(if\|unless\)\)\>', -\ '\C\'], -\ ['\C^catch\>', '\C\', '\C\'], -\ ['\C^finally\>', '\C\', '\C\'] -\] - -" Pairs of starting and ending brackets -let s:BRACKET_PAIRS = {']': '\[', '}': '{', ')': '('} - -" Max lines to look back for a match -let s:MAX_LOOKBACK = 50 - -" Syntax names for strings -let s:SYNTAX_STRING = 'coffee\%(String\|AssignString\|Embed\|Regex\|Heregex\|' -\ . 'Heredoc\)' - -" Syntax names for comments -let s:SYNTAX_COMMENT = 'coffee\%(Comment\|BlockComment\|HeregexComment\)' - -" Syntax names for strings and comments -let s:SYNTAX_STRING_COMMENT = s:SYNTAX_STRING . '\|' . s:SYNTAX_COMMENT - -" Compatibility code for shiftwidth() as recommended by the docs, but modified -" so there isn't as much of a penalty if shiftwidth() exists. -if exists('*shiftwidth') - let s:ShiftWidth = function('shiftwidth') -else - function! s:ShiftWidth() - return &shiftwidth - endfunction -endif - -" Get the linked syntax name of a character. -function! s:SyntaxName(lnum, col) - return synIDattr(synID(a:lnum, a:col, 1), 'name') -endfunction - -" Check if a character is in a comment. -function! s:IsComment(lnum, col) - return s:SyntaxName(a:lnum, a:col) =~ s:SYNTAX_COMMENT -endfunction - -" Check if a character is in a string. -function! s:IsString(lnum, col) - return s:SyntaxName(a:lnum, a:col) =~ s:SYNTAX_STRING -endfunction - -" Check if a character is in a comment or string. -function! s:IsCommentOrString(lnum, col) - return s:SyntaxName(a:lnum, a:col) =~ s:SYNTAX_STRING_COMMENT -endfunction - -" Search a line for a regex until one is found outside a string or comment. -function! s:SearchCode(lnum, regex) - " Start at the first column and look for an initial match (including at the - " cursor.) - call cursor(a:lnum, 1) - let pos = search(a:regex, 'c', a:lnum) - - while pos - if !s:IsCommentOrString(a:lnum, col('.')) - return 1 - endif - - " Move to the match and continue searching (don't accept matches at the - " cursor.) - let pos = search(a:regex, '', a:lnum) - endwhile - - return 0 -endfunction - -" Search for the nearest previous line that isn't a comment. -function! s:GetPrevNormalLine(startlnum) - let curlnum = a:startlnum - - while curlnum - let curlnum = prevnonblank(curlnum - 1) - - " Return the line if the first non-whitespace character isn't a comment. - if !s:IsComment(curlnum, indent(curlnum) + 1) - return curlnum - endif - endwhile - - return 0 -endfunction - -function! s:SearchPair(startlnum, lookback, skip, open, close) - " Go to the first column so a:close will be matched even if it's at the - " beginning of the line. - call cursor(a:startlnum, 1) - return searchpair(a:open, '', a:close, 'bnW', a:skip, max([1, a:lookback])) -endfunction - -" Skip if a match -" - is in a string or comment -" - is a single-line statement that isn't immediately -" adjacent -" - has a postfix condition and isn't an else statement or compound -" expression -function! s:ShouldSkip(startlnum, lnum, col) - return s:IsCommentOrString(a:lnum, a:col) || - \ s:SearchCode(a:lnum, '\C\') && a:startlnum - a:lnum > 1 || - \ s:SearchCode(a:lnum, s:POSTFIX_CONDITION) && - \ getline(a:lnum) !~ s:ELSE_COND && - \ !s:SearchCode(a:lnum, s:COMPOUND_EXPRESSION) -endfunction - -" Search for the nearest and farthest match for a keyword pair. -function! s:SearchMatchingKeyword(startlnum, open, close) - let skip = 's:ShouldSkip(' . a:startlnum . ", line('.'), line('.'))" - - " Search for the nearest match. - let nearestlnum = s:SearchPair(a:startlnum, a:startlnum - s:MAX_LOOKBACK, - \ skip, a:open, a:close) - - if !nearestlnum - return [] - endif - - " Find the nearest previous line with indent less than or equal to startlnum. - let ind = indent(a:startlnum) - let lookback = s:GetPrevNormalLine(a:startlnum) - - while lookback && indent(lookback) > ind - let lookback = s:GetPrevNormalLine(lookback) - endwhile - - " Search for the farthest match. If there are no other matches, then the - " nearest match is also the farthest one. - let matchlnum = nearestlnum - - while matchlnum - let lnum = matchlnum - let matchlnum = s:SearchPair(matchlnum, lookback, skip, a:open, a:close) - endwhile - - return [nearestlnum, lnum] -endfunction - -" Strip a line of a trailing comment and surrounding whitespace. -function! s:GetTrimmedLine(lnum) - " Try to find a comment starting at the first column. - call cursor(a:lnum, 1) - let pos = search('#', 'c', a:lnum) - - " Keep searching until a comment is found or search returns 0. - while pos - if s:IsComment(a:lnum, col('.')) - break - endif - - let pos = search('#', '', a:lnum) - endwhile - - if !pos - " No comment was found so use the whole line. - let line = getline(a:lnum) - else - " Subtract 1 to get to the column before the comment and another 1 for - " column indexing -> zero-based indexing. - let line = getline(a:lnum)[:col('.') - 2] - endif - - return substitute(substitute(line, '^\s\+', '', ''), - \ '\s\+$', '', '') -endfunction - -" Get the indent policy when no special rules are used. -function! s:GetDefaultPolicy(curlnum) - " Check whether equalprg is being ran on existing lines. - if strlen(getline(a:curlnum)) == indent(a:curlnum) - " If not indenting an existing line, use the default policy. - return s:DEFAULT_LEVEL - else - " Otherwise let autoindent determine what to do with an existing line. - return '-1' - endif -endfunction - -function! GetCoffeeIndent(curlnum) - " Get the previous non-blank line (may be a comment.) - let prevlnum = prevnonblank(a:curlnum - 1) - - " Bail if there's no code before. - if !prevlnum - return -1 - endif - - " Bail if inside a multiline string. - if s:IsString(a:curlnum, 1) - let prevnlnum = prevlnum - exec 'return' s:GetDefaultPolicy(a:curlnum) - endif - - " Get the code part of the current line. - let curline = s:GetTrimmedLine(a:curlnum) - " Get the previous non-comment line. - let prevnlnum = s:GetPrevNormalLine(a:curlnum) - - " Check if the current line is the closing bracket in a bracket pair. - if has_key(s:BRACKET_PAIRS, curline[0]) - " Search for a matching opening bracket. - let matchlnum = s:SearchPair(a:curlnum, a:curlnum - s:MAX_LOOKBACK, - \ "s:IsCommentOrString(line('.'), col('.'))", - \ s:BRACKET_PAIRS[curline[0]], curline[0]) - - if matchlnum - " Match the indent of the opening bracket. - return indent(matchlnum) - else - " No opening bracket found (bad syntax), so bail. - exec 'return' s:GetDefaultPolicy(a:curlnum) - endif - endif - - " Check if the current line is the closing keyword in a keyword pair. - for pair in s:KEYWORD_PAIRS - if curline =~ pair[0] - " Find the nearest and farthest matches within the same indent level. - let matches = s:SearchMatchingKeyword(a:curlnum, pair[1], pair[2]) - - if len(matches) - " Don't force indenting/outdenting as long as line is already lined up - " with a valid match - return max([min([indent(a:curlnum), indent(matches[0])]), - \ indent(matches[1])]) - else - " No starting keyword found (bad syntax), so bail. - exec 'return' s:GetDefaultPolicy(a:curlnum) - endif - endif - endfor - - " Check if the current line is a `when` and not the first in a switch block. - if curline =~ '\C^when\>' && !s:SearchCode(prevnlnum, '\C\') - " Look back for a `when`. - while prevnlnum - if getline(prevnlnum) =~ '\C^\s*when\>' - " Indent to match the found `when`, but don't force indenting (for when - " indenting nested switch blocks.) - return min([indent(a:curlnum), indent(prevnlnum)]) - endif - - let prevnlnum = s:GetPrevNormalLine(prevnlnum) - endwhile - - " No matching `when` found (bad syntax), so bail. - exec 'return' s:GetDefaultPolicy(a:curlnum) - endif - - " If the previous line is a comment, use its indentation, but don't force - " indenting. - if prevlnum != prevnlnum - return min([indent(a:curlnum), indent(prevlnum)]) - endif - - let prevline = s:GetTrimmedLine(prevnlnum) - - " Always indent after these operators. - if prevline =~ s:BEGIN_BLOCK_OP - return indent(prevnlnum) + s:ShiftWidth() - endif - - " Indent if the previous line starts a function block, but don't force - " indenting if the line is non-blank (for empty function bodies.) - if prevline =~ s:FUNCTION - if strlen(getline(a:curlnum)) > indent(a:curlnum) - return min([indent(prevnlnum) + s:ShiftWidth(), indent(a:curlnum)]) - else - return indent(prevnlnum) + s:ShiftWidth() - endif - endif - - " Check if continuation indenting is needed. If the line ends in a slash, make - " sure it isn't a regex. - if prevline =~ s:CONTINUATION_OP && - \ !(prevline =~ '/$' && s:IsString(prevnlnum, col([prevnlnum, '$']) - 1)) - " Don't indent if the continuation follows a closing bracket. - if prevline =~ s:BRACKET_CONTINUATION - exec 'return' s:GetDefaultPolicy(a:curlnum) - endif - - let prevprevnlnum = s:GetPrevNormalLine(prevnlnum) - - " Don't indent if not the first continuation. - if prevprevnlnum && s:GetTrimmedLine(prevprevnlnum) =~ s:CONTINUATION - exec 'return' s:GetDefaultPolicy(a:curlnum) - endif - - " Continuation indenting seems to vary between programmers, so if the line - " is non-blank, don't override the indentation - if strlen(getline(a:curlnum)) > indent(a:curlnum) - exec 'return' s:GetDefaultPolicy(a:curlnum) - endif - - " Otherwise indent a level. - return indent(prevnlnum) + s:ShiftWidth() - endif - - " Check if the previous line starts with a keyword that begins a block. - if prevline =~ s:BEGIN_BLOCK - " Indent if the current line doesn't start with `then` and the previous line - " isn't a single-line statement. - if curline !~ '\C^\' && !s:SearchCode(prevnlnum, '\C\') && - \ prevline !~ s:SINGLE_LINE_ELSE - return indent(prevnlnum) + s:ShiftWidth() - else - exec 'return' s:GetDefaultPolicy(a:curlnum) - endif - endif - - " Indent a dot access if it's the first. - if curline =~ s:DOT_ACCESS - if prevline !~ s:DOT_ACCESS - return indent(prevnlnum) + s:ShiftWidth() - else - exec 'return' s:GetDefaultPolicy(a:curlnum) - endif - endif - - " Outdent if a keyword breaks out of a block as long as it doesn't have a - " postfix condition (and the postfix condition isn't a single-line statement.) - if prevline =~ s:BREAK_BLOCK_OP - if !s:SearchCode(prevnlnum, s:POSTFIX_CONDITION) || - \ s:SearchCode(prevnlnum, '\C\') && - \ !s:SearchCode(prevnlnum, s:CONTAINED_THEN) - " Don't force indenting. - return min([indent(a:curlnum), indent(prevnlnum) - s:ShiftWidth()]) - else - exec 'return' s:GetDefaultPolicy(a:curlnum) - endif - endif - - " Check if inside brackets. - let matchlnum = s:SearchPair(a:curlnum, a:curlnum - s:MAX_LOOKBACK, - \ "s:IsCommentOrString(line('.'), col('.'))", - \ '\[\|(\|{', '\]\|)\|}') - - " If inside brackets, indent relative to the brackets, but don't outdent an - " already indented line. - if matchlnum - return max([indent(a:curlnum), indent(matchlnum) + s:ShiftWidth()]) - endif - - " No special rules applied, so use the default policy. - exec 'return' s:GetDefaultPolicy(a:curlnum) -endfunction diff --git a/.vim_runtime/sources_non_forked/vim-coffee-script/indent/litcoffee.vim b/.vim_runtime/sources_non_forked/vim-coffee-script/indent/litcoffee.vim deleted file mode 100644 index 599cbea..0000000 --- a/.vim_runtime/sources_non_forked/vim-coffee-script/indent/litcoffee.vim +++ /dev/null @@ -1,22 +0,0 @@ -if exists('b:did_indent') - finish -endif - -runtime! indent/coffee.vim - -let b:did_indent = 1 - -setlocal indentexpr=GetLitCoffeeIndent() - -if exists('*GetLitCoffeeIndent') - finish -endif - -function GetLitCoffeeIndent() - if searchpair('^ \|\t', '', '$', 'bWnm') > 0 - return GetCoffeeIndent(v:lnum) - else - return -1 - endif -endfunc - diff --git a/.vim_runtime/sources_non_forked/vim-coffee-script/syntax/coffee.vim b/.vim_runtime/sources_non_forked/vim-coffee-script/syntax/coffee.vim deleted file mode 100644 index bd8de58..0000000 --- a/.vim_runtime/sources_non_forked/vim-coffee-script/syntax/coffee.vim +++ /dev/null @@ -1,221 +0,0 @@ -" Language: CoffeeScript -" Maintainer: Mick Koch -" URL: http://github.com/kchmck/vim-coffee-script -" License: WTFPL - -" Bail if our syntax is already loaded. -if exists('b:current_syntax') && b:current_syntax == 'coffee' - finish -endif - -" Include JavaScript for coffeeEmbed. -syn include @coffeeJS syntax/javascript.vim -silent! unlet b:current_syntax - -" Highlight long strings. -syntax sync fromstart - -" These are `matches` instead of `keywords` because vim's highlighting -" priority for keywords is higher than matches. This causes keywords to be -" highlighted inside matches, even if a match says it shouldn't contain them -- -" like with coffeeAssign and coffeeDot. -syn match coffeeStatement /\<\%(return\|break\|continue\|throw\)\>/ display -hi def link coffeeStatement Statement - -syn match coffeeRepeat /\<\%(for\|while\|until\|loop\)\>/ display -hi def link coffeeRepeat Repeat - -syn match coffeeConditional /\<\%(if\|else\|unless\|switch\|when\|then\)\>/ -\ display -hi def link coffeeConditional Conditional - -syn match coffeeException /\<\%(try\|catch\|finally\)\>/ display -hi def link coffeeException Exception - -syn match coffeeKeyword /\<\%(new\|in\|of\|from\|by\|and\|or\|not\|is\|isnt\|class\|extends\|super\|do\|yield\|debugger\|import\|export\|default\|await\)\>/ -\ display -" The `own` keyword is only a keyword after `for`. -syn match coffeeKeyword /\/ contained containedin=coffeeRepeat -\ display -hi def link coffeeKeyword Keyword - -syn match coffeeOperator /\<\%(instanceof\|typeof\|delete\)\>/ display -hi def link coffeeOperator Operator - -" The first case matches symbol operators only if they have an operand before. -syn match coffeeExtendedOp /\%(\S\s*\)\@<=[+\-*/%&|\^=!<>?.]\{-1,}\|[-=]>\|--\|++\|:/ -\ display -syn match coffeeExtendedOp /\<\%(and\|or\)=/ display -hi def link coffeeExtendedOp coffeeOperator - -" This is separate from `coffeeExtendedOp` to help differentiate commas from -" dots. -syn match coffeeSpecialOp /[,;]/ display -hi def link coffeeSpecialOp SpecialChar - -syn match coffeeBoolean /\<\%(true\|on\|yes\|false\|off\|no\)\>/ display -hi def link coffeeBoolean Boolean - -syn match coffeeGlobal /\<\%(null\|undefined\)\>/ display -hi def link coffeeGlobal Type - -" A special variable -syn match coffeeSpecialVar /\<\%(this\|prototype\|arguments\)\>/ display -hi def link coffeeSpecialVar Special - -" An @-variable -syn match coffeeSpecialIdent /@\%(\%(\I\|\$\)\%(\i\|\$\)*\)\?/ display -hi def link coffeeSpecialIdent Identifier - -" A class-like name that starts with a capital letter -syn match coffeeObject /\<\u\w*\>/ display -hi def link coffeeObject Structure - -" A constant-like name in SCREAMING_CAPS -syn match coffeeConstant /\<\u[A-Z0-9_]\+\>/ display -hi def link coffeeConstant Constant - -" A variable name -syn cluster coffeeIdentifier contains=coffeeSpecialVar,coffeeSpecialIdent, -\ coffeeObject,coffeeConstant - -" A non-interpolated string -syn cluster coffeeBasicString contains=@Spell,coffeeEscape -" An interpolated string -syn cluster coffeeInterpString contains=@coffeeBasicString,coffeeInterp - -" Regular strings -syn region coffeeString start=/"/ skip=/\\\\\|\\"/ end=/"/ -\ contains=@coffeeInterpString -syn region coffeeString start=/'/ skip=/\\\\\|\\'/ end=/'/ -\ contains=@coffeeBasicString -hi def link coffeeString String - -" A integer, including a leading plus or minus -syn match coffeeNumber /\%(\i\|\$\)\@/ display -syn match coffeeNumber /\<0[bB][01]\+\>/ display -syn match coffeeNumber /\<0[oO][0-7]\+\>/ display -syn match coffeeNumber /\<\%(Infinity\|NaN\)\>/ display -hi def link coffeeNumber Number - -" A floating-point number, including a leading plus or minus -syn match coffeeFloat /\%(\i\|\$\)\@/ -\ display -hi def link coffeeReservedError Error - -" A normal object assignment -syn match coffeeObjAssign /@\?\%(\I\|\$\)\%(\i\|\$\)*\s*\ze::\@!/ contains=@coffeeIdentifier display -hi def link coffeeObjAssign Identifier - -syn keyword coffeeTodo TODO FIXME XXX contained -hi def link coffeeTodo Todo - -syn match coffeeComment /#.*/ contains=@Spell,coffeeTodo -hi def link coffeeComment Comment - -syn region coffeeBlockComment start=/####\@!/ end=/###/ -\ contains=@Spell,coffeeTodo -hi def link coffeeBlockComment coffeeComment - -" A comment in a heregex -syn region coffeeHeregexComment start=/#/ end=/\ze\/\/\/\|$/ contained -\ contains=@Spell,coffeeTodo -hi def link coffeeHeregexComment coffeeComment - -" Embedded JavaScript -syn region coffeeEmbed matchgroup=coffeeEmbedDelim -\ start=/`/ skip=/\\\\\|\\`/ end=/`/ keepend -\ contains=@coffeeJS -hi def link coffeeEmbedDelim Delimiter - -syn region coffeeInterp matchgroup=coffeeInterpDelim start=/#{/ end=/}/ contained -\ contains=@coffeeAll -hi def link coffeeInterpDelim PreProc - -" A string escape sequence -syn match coffeeEscape /\\\d\d\d\|\\x\x\{2\}\|\\u\x\{4\}\|\\./ contained display -hi def link coffeeEscape SpecialChar - -" A regex -- must not follow a parenthesis, number, or identifier, and must not -" be followed by a number -syn region coffeeRegex start=#\%(\%()\|\%(\i\|\$\)\@ -" URL: https://github.com/mintplant/vim-literate-coffeescript -" License: MIT - -if exists('b:current_syntax') && b:current_syntax == 'litcoffee' - finish -endif - -syn include @markdown syntax/markdown.vim -syn include @coffee syntax/coffee.vim - -" Partition the file into notCoffee and inlineCoffee. Each line will match -" exactly one of these regions. notCoffee matches with a zero-width -" look-behind. -syn region notCoffee start='^\%( \|\t\)\@> #{ == { { { } } } == } << " -" >> #{ == { abc: { def: 42 } } == } << " diff --git a/.vim_runtime/sources_non_forked/vim-coffee-script/test/test-ops.coffee b/.vim_runtime/sources_non_forked/vim-coffee-script/test/test-ops.coffee deleted file mode 100644 index 54be8db..0000000 --- a/.vim_runtime/sources_non_forked/vim-coffee-script/test/test-ops.coffee +++ /dev/null @@ -1,90 +0,0 @@ -# Various operators -abc instanceof def -typeof abc -delete abc -abc::def - -abc + def -abc - def -abc * def -abc / def -abc % def -abc & def -abc | def -abc ^ def -abc >> def -abc << def -abc >>> def -abc ? def -abc && def -abc and def -abc || def -abc or def - -abc += def -abc -= def -abc *= def -abc /= def -abc %= def -abc &= def -abc |= def -abc ^= def -abc >>= def -abc <<= def -abc >>>= def -abc ?= def -abc &&= def -abc ||= def - -abc and= def -abc or= def - -abc.def.ghi -abc?.def?.ghi - -abc < def -abc > def -abc = def -abc == def -abc != def -abc <= def -abc >= def - -abc++ -abc-- -++abc ---abc - -# Nested operators -abc[def] = ghi -abc[def[ghi: jkl]] = 42 -@abc[def] = ghi - -abc["#{def = 42}"] = 42 -abc["#{def.ghi = 42}"] = 42 -abc["#{def[ghi] = 42}"] = 42 -abc["#{def['ghi']}"] = 42 - -# Object assignments -abc = - def: 123 - DEF: 123 - @def: 123 - Def: 123 - 'def': 123 - 42: 123 - -# Operators shouldn't be highlighted -vector= -wand= - -abc+++ -abc--- -abc ** def -abc &&& def -abc ^^ def -abc ===== def -abc <==== def -abc >==== def -abc +== def -abc =^= def diff --git a/.vim_runtime/sources_non_forked/vim-coffee-script/test/test-reserved.coffee b/.vim_runtime/sources_non_forked/vim-coffee-script/test/test-reserved.coffee deleted file mode 100644 index b841760..0000000 --- a/.vim_runtime/sources_non_forked/vim-coffee-script/test/test-reserved.coffee +++ /dev/null @@ -1,27 +0,0 @@ -# Should be an error -function = 42 -var = 42 - -# Shouldn't be an error -abc.with = 42 -function: 42 -var: 42 - -# Keywords shouldn't be highlighted -abc.function -abc.do -abc.break -abc.true - -abc::function -abc::do -abc::break -abc::true - -abc:: function -abc. function - -# Numbers should be highlighted -def.42 -def .42 -def::42 diff --git a/.vim_runtime/sources_non_forked/vim-coffee-script/test/test.coffee.md b/.vim_runtime/sources_non_forked/vim-coffee-script/test/test.coffee.md deleted file mode 100644 index d1c30c8..0000000 --- a/.vim_runtime/sources_non_forked/vim-coffee-script/test/test.coffee.md +++ /dev/null @@ -1,117 +0,0 @@ - -test.coffee.md

The Scope class regulates lexical scoping within CoffeeScript. As you -generate code, you create a tree of scopes in the same shape as the nested -function bodies. Each scope knows about the variables declared within it, -and has a reference to its parent enclosing scope. In this way, we know which -variables are new and need to be declared with var, and which are shared -with external scopes.

- -

Import the helpers we plan to use.

- -
{extend, last} = require './helpers'
-
-exports.Scope = class Scope
- -

The root is the top-level Scope object for a given file.

- -
  @root: null
- -

Initialize a scope with its parent, for lookups up the chain, -as well as a reference to the Block node it belongs to, which is -where it should declare its variables, and a reference to the function that -it belongs to.

- -
  constructor: (@parent, @expressions, @method) ->
-    @variables = [{name: 'arguments', type: 'arguments'}]
-    @positions = {}
-    Scope.root = this unless @parent
- -

Adds a new variable or overrides an existing one.

- -
  add: (name, type, immediate) ->
-    return @parent.add name, type, immediate if @shared and not immediate
-    if Object::hasOwnProperty.call @positions, name
-      @variables[@positions[name]].type = type
-    else
-      @positions[name] = @variables.push({name, type}) - 1
- -

When super is called, we need to find the name of the current method we’re -in, so that we know how to invoke the same method of the parent class. This -can get complicated if super is being called from an inner function. -namedMethod will walk up the scope tree until it either finds the first -function object that has a name filled in, or bottoms out.

- -
  namedMethod: ->
-    return @method if @method.name or !@parent
-    @parent.namedMethod()
- -

Look up a variable name in lexical scope, and declare it if it does not -already exist.

- -
  find: (name) ->
-    return yes if @check name
-    @add name, 'var'
-    no
- -

Reserve a variable name as originating from a function parameter for this -scope. No var required for internal references.

- -
  parameter: (name) ->
-    return if @shared and @parent.check name, yes
-    @add name, 'param'
- -

Just check to see if a variable has already been declared, without reserving, -walks up to the root scope.

- -
  check: (name) ->
-    !!(@type(name) or @parent?.check(name))
- -

Generate a temporary variable name at the given index.

- -
  temporary: (name, index) ->
-    if name.length > 1
-      '_' + name + if index > 1 then index - 1 else ''
-    else
-      '_' + (index + parseInt name, 36).toString(36).replace /\d/g, 'a'
- -

Gets the type of a variable.

- -
  type: (name) ->
-    return v.type for v in @variables when v.name is name
-    null
- -

If we need to store an intermediate result, find an available name for a -compiler-generated variable. _var, _var2, and so on…

- -
  freeVariable: (name, reserve=true) ->
-    index = 0
-    index++ while @check((temp = @temporary name, index))
-    @add temp, 'var', yes if reserve
-    temp
- -

Ensure that an assignment is made at the top of this scope -(or at the top-level scope, if requested).

- -
  assign: (name, value) ->
-    @add name, {value, assigned: yes}, yes
-    @hasAssignments = yes
- -

Does this scope have any declared variables?

- -
  hasDeclarations: ->
-    !!@declaredVariables().length
- -

Return the list of variables first declared in this scope.

- -
  declaredVariables: ->
-    realVars = []
-    tempVars = []
-    for v in @variables when v.type is 'var'
-      (if v.name.charAt(0) is '_' then tempVars else realVars).push v.name
-    realVars.sort().concat tempVars.sort()
- -

Return the list of assignments that are supposed to be made at the top -of this scope.

- -
  assignedVariables: ->
-    "#{v.name} = #{v.type.value}" for v in @variables when v.type.assigned
diff --git a/.vim_runtime/sources_non_forked/vim-coffee-script/test/test.haml b/.vim_runtime/sources_non_forked/vim-coffee-script/test/test.haml deleted file mode 100644 index ae19fba..0000000 --- a/.vim_runtime/sources_non_forked/vim-coffee-script/test/test.haml +++ /dev/null @@ -1,3 +0,0 @@ -:coffeescript - class Hello - # test diff --git a/.vim_runtime/sources_non_forked/vim-coffee-script/test/test.html b/.vim_runtime/sources_non_forked/vim-coffee-script/test/test.html deleted file mode 100644 index 0da7b62..0000000 --- a/.vim_runtime/sources_non_forked/vim-coffee-script/test/test.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - diff --git a/.vim_runtime/sources_non_forked/vim-coffee-script/test/test.litcoffee b/.vim_runtime/sources_non_forked/vim-coffee-script/test/test.litcoffee deleted file mode 100644 index 62b99b7..0000000 --- a/.vim_runtime/sources_non_forked/vim-coffee-script/test/test.litcoffee +++ /dev/null @@ -1,117 +0,0 @@ -The **Scope** class regulates lexical scoping within CoffeeScript. As you -generate code, you create a tree of scopes in the same shape as the nested -function bodies. Each scope knows about the variables declared within it, -and has a reference to its parent enclosing scope. In this way, we know which -variables are new and need to be declared with `var`, and which are shared -with external scopes. - -Import the helpers we plan to use. - - {extend, last} = require './helpers' - - exports.Scope = class Scope - -The `root` is the top-level **Scope** object for a given file. - - @root: null - -Initialize a scope with its parent, for lookups up the chain, -as well as a reference to the **Block** node it belongs to, which is -where it should declare its variables, and a reference to the function that -it belongs to. - - constructor: (@parent, @expressions, @method) -> - @variables = [{name: 'arguments', type: 'arguments'}] - @positions = {} - Scope.root = this unless @parent - -Adds a new variable or overrides an existing one. - - add: (name, type, immediate) -> - return @parent.add name, type, immediate if @shared and not immediate - if Object::hasOwnProperty.call @positions, name - @variables[@positions[name]].type = type - else - @positions[name] = @variables.push({name, type}) - 1 - -When `super` is called, we need to find the name of the current method we're -in, so that we know how to invoke the same method of the parent class. This -can get complicated if super is being called from an inner function. -`namedMethod` will walk up the scope tree until it either finds the first -function object that has a name filled in, or bottoms out. - - namedMethod: -> - return @method if @method.name or !@parent - @parent.namedMethod() - -Look up a variable name in lexical scope, and declare it if it does not -already exist. - - find: (name) -> - return yes if @check name - @add name, 'var' - no - -Reserve a variable name as originating from a function parameter for this -scope. No `var` required for internal references. - - parameter: (name) -> - return if @shared and @parent.check name, yes - @add name, 'param' - -Just check to see if a variable has already been declared, without reserving, -walks up to the root scope. - - check: (name) -> - !!(@type(name) or @parent?.check(name)) - -Generate a temporary variable name at the given index. - - temporary: (name, index) -> - if name.length > 1 - '_' + name + if index > 1 then index - 1 else '' - else - '_' + (index + parseInt name, 36).toString(36).replace /\d/g, 'a' - -Gets the type of a variable. - - type: (name) -> - return v.type for v in @variables when v.name is name - null - -If we need to store an intermediate result, find an available name for a -compiler-generated variable. `_var`, `_var2`, and so on... - - freeVariable: (name, reserve=true) -> - index = 0 - index++ while @check((temp = @temporary name, index)) - @add temp, 'var', yes if reserve - temp - -Ensure that an assignment is made at the top of this scope -(or at the top-level scope, if requested). - - assign: (name, value) -> - @add name, {value, assigned: yes}, yes - @hasAssignments = yes - -Does this scope have any declared variables? - - hasDeclarations: -> - !!@declaredVariables().length - -Return the list of variables first declared in this scope. - - declaredVariables: -> - realVars = [] - tempVars = [] - for v in @variables when v.type is 'var' - (if v.name.charAt(0) is '_' then tempVars else realVars).push v.name - realVars.sort().concat tempVars.sort() - -Return the list of assignments that are supposed to be made at the top -of this scope. - - assignedVariables: -> - "#{v.name} = #{v.type.value}" for v in @variables when v.type.assigned - diff --git a/.vim_runtime/sources_non_forked/vim-colors-solarized/README.mkd b/.vim_runtime/sources_non_forked/vim-colors-solarized/README.mkd deleted file mode 100644 index a163b02..0000000 --- a/.vim_runtime/sources_non_forked/vim-colors-solarized/README.mkd +++ /dev/null @@ -1,267 +0,0 @@ ---- -Title: Solarized Colorscheme for Vim -Description: Precision colors for machines and people -Author: Ethan Schoonover -Colors: light yellow -Created: 2011 Mar 15 -Modified: 2011 Apr 16 - ---- - -Solarized Colorscheme for Vim -============================= - -Developed by Ethan Schoonover - -Visit the [Solarized homepage] ------------------------------- - -See the [Solarized homepage] for screenshots, -details and colorscheme versions for Vim, Mutt, popular terminal emulators and -other applications. - -Screenshots ------------ - -![solarized dark](https://github.com/altercation/solarized/raw/master/img/solarized-vim.png) - -Downloads ---------- - -If you have come across this colorscheme via the [Vim-only repository] on -github, or the [vim.org script] page see the link above to the Solarized -homepage or visit the main [Solarized repository]. - -The [Vim-only repository] is kept in sync with the main [Solarized repository] -and is for installation convenience only (with [Pathogen] or [Vundle], for -instance). Issues, bug reports, changelogs are centralized at the main -[Solarized repository]. - -[Solarized homepage]: http://ethanschoonover.com/solarized -[Solarized repository]: https://github.com/altercation/solarized -[Vim-only repository]: https://github.com/altercation/vim-colors-solarized -[vimorg-script]: http://vim.org/script -[Pathogen]: https://github.com/tpope/vim-pathogen -[Vundle]: https://github.com/gmarik/vundle - -Installation ------------- - -### Option 1: Manual installation - -1. Move `solarized.vim` to your `.vim/colors` directory. After downloading the - vim script or package: - - $ cd vim-colors-solarized/colors - $ mv solarized.vim ~/.vim/colors/ - -### Option 2: Pathogen installation ***(recommended)*** - -1. Download and install Tim Pope's [Pathogen]. - -2. Next, move or clone the `vim-colors-solarized` directory so that it is - a subdirectory of the `.vim/bundle` directory. - - a. **Clone:** - - $ cd ~/.vim/bundle - $ git clone git://github.com/altercation/vim-colors-solarized.git - - b. **Move:** - - In the parent directory of vim-colors-solarized: - - $ mv vim-colors-solarized ~/.vim/bundle/ - -### Modify .vimrc - -After either Option 1 or Option 2 above, put the following two lines in your -.vimrc: - - syntax enable - set background=dark - colorscheme solarized - -or, for the light background mode of Solarized: - - syntax enable - set background=light - colorscheme solarized - -I like to have a different background in GUI and terminal modes, so I can use -the following if-then. However, I find vim's background autodetection to be -pretty good and, at least with MacVim, I can leave this background value -assignment out entirely and get the same results. - - if has('gui_running') - set background=light - else - set background=dark - endif - -See the [Solarized homepage] for screenshots which will help you -select either the light or dark background. - -### IMPORTANT NOTE FOR TERMINAL USERS: - -If you are going to use Solarized in Terminal mode (i.e. not in a GUI version -like gvim or macvim), **please please please** consider setting your terminal -emulator's colorscheme to used the Solarized palette. I've included palettes -for some popular terminal emulator as well as Xdefaults in the official -Solarized download available from [Solarized homepage]. If you use -Solarized *without* these colors, Solarized will need to be told to degrade its -colorscheme to a set compatible with the limited 256 terminal palette (whereas -by using the terminal's 16 ansi color values, you can set the correct, specific -values for the Solarized palette). - -If you do use the custom terminal colors, solarized.vim should work out of the -box for you. If you are using a terminal emulator that supports 256 colors and -don't want to use the custom Solarized terminal colors, you will need to use -the degraded 256 colorscheme. To do so, simply add the following line *before* -the `colorschem solarized` line: - - let g:solarized_termcolors=256 - -Again, I recommend just changing your terminal colors to Solarized values -either manually or via one of the many terminal schemes available for import. - -Advanced Configuration ----------------------- - -Solarized will work out of the box with just the two lines specified above but -does include several other options that can be set in your .vimrc file. - -Set these in your vimrc file prior to calling the colorscheme. -" - option name default optional - ------------------------------------------------ - g:solarized_termcolors= 16 | 256 - g:solarized_termtrans = 0 | 1 - g:solarized_degrade = 0 | 1 - g:solarized_bold = 1 | 0 - g:solarized_underline = 1 | 0 - g:solarized_italic = 1 | 0 - g:solarized_contrast = "normal"| "high" or "low" - g:solarized_visibility= "normal"| "high" or "low" - ------------------------------------------------ - -### Option Details - -* g:solarized_termcolors - - This is set to *16* by default, meaning that Solarized will attempt to use - the standard 16 colors of your terminal emulator. You will need to set - those colors to the correct Solarized values either manually or by - importing one of the many colorscheme available for popular terminal - emulators and Xdefaults. - -* g:solarized_termtrans - - If you use a terminal emulator with a transparent background and Solarized - isn't displaying the background color transparently, set this to 1 and - Solarized will use the default (transparent) background of the terminal - emulator. *urxvt* required this in my testing; iTerm2 did not. - - Note that on Mac OS X Terminal.app, solarized_termtrans is set to 1 by - default as this is almost always the best option. The only exception to - this is if the working terminfo file supports 256 colors (xterm-256color). - -* g:solarized_degrade - - For test purposes only; forces Solarized to use the 256 degraded color mode - to test the approximate color values for accuracy. - -* g:solarized_bold | g:solarized_underline | g:solarized_italic - - If you wish to stop Solarized from displaying bold, underlined or - italicized typefaces, simply assign a zero value to the appropriate - variable, for example: `let g:solarized_italic=0` - -* g:solarized_contrast - - Stick with normal! It's been carefully tested. Setting this option to high - or low does use the same Solarized palette but simply shifts some values up - or down in order to expand or compress the tonal range displayed. - -* g:solarized_visibility - - Special characters such as trailing whitespace, tabs, newlines, when - displayed using `:set list` can be set to one of three levels depending on - your needs. Default value is `normal` with `high` and `low` options. - -Toggle Background Function --------------------------- - -Solarized comes with a Toggle Background plugin that by default will map to - if that mapping is available. If it is not available you will need to -either map the function manually or change your current mapping to -something else. - -To set your own mapping in your .vimrc file, simply add the following line to -support normal, insert and visual mode usage, changing the "" value to the -key or key combination you wish to use: - - call togglebg#map("") - -Note that you'll want to use a single function key or equivalent if you want -the plugin to work in all modes (normal, insert, visual). - -Code Notes ----------- - -Use folding to view the `solarized.vim` script with `foldmethod=marker` turned -on. - -I have attempted to modularize the creation of Vim colorschemes in this script -and, while it could be refactored further, it should be a good foundation for -the creation of any color scheme. By simply changing the sixteen values in the -GUI section and testing in gvim (or mvim) you can rapidly prototype new -colorschemes without diving into the weeds of line-item editing each syntax -highlight declaration. - -The Values ----------- - -L\*a\*b values are canonical (White D65, Reference D50), other values are -matched in sRGB space. - - SOLARIZED HEX 16/8 TERMCOL XTERM/HEX L*A*B sRGB HSB - --------- ------- ---- ------- ----------- ---------- ----------- ----------- - base03 #002b36 8/4 brblack 234 #1c1c1c 15 -12 -12 0 43 54 193 100 21 - base02 #073642 0/4 black 235 #262626 20 -12 -12 7 54 66 192 90 26 - base01 #586e75 10/7 brgreen 240 #4e4e4e 45 -07 -07 88 110 117 194 25 46 - base00 #657b83 11/7 bryellow 241 #585858 50 -07 -07 101 123 131 195 23 51 - base0 #839496 12/6 brblue 244 #808080 60 -06 -03 131 148 150 186 13 59 - base1 #93a1a1 14/4 brcyan 245 #8a8a8a 65 -05 -02 147 161 161 180 9 63 - base2 #eee8d5 7/7 white 254 #d7d7af 92 -00 10 238 232 213 44 11 93 - base3 #fdf6e3 15/7 brwhite 230 #ffffd7 97 00 10 253 246 227 44 10 99 - yellow #b58900 3/3 yellow 136 #af8700 60 10 65 181 137 0 45 100 71 - orange #cb4b16 9/3 brred 166 #d75f00 50 50 55 203 75 22 18 89 80 - red #dc322f 1/1 red 160 #d70000 50 65 45 220 50 47 1 79 86 - magenta #d33682 5/5 magenta 125 #af005f 50 65 -05 211 54 130 331 74 83 - violet #6c71c4 13/5 brmagenta 61 #5f5faf 50 15 -45 108 113 196 237 45 77 - blue #268bd2 4/4 blue 33 #0087ff 55 -10 -45 38 139 210 205 82 82 - cyan #2aa198 6/6 cyan 37 #00afaf 60 -35 -05 42 161 152 175 74 63 - green #859900 2/2 green 64 #5f8700 60 -20 65 133 153 0 68 100 60 - -License -------- -Copyright (c) 2011 Ethan Schoonover - -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/.vim_runtime/sources_non_forked/vim-colors-solarized/autoload/togglebg.vim b/.vim_runtime/sources_non_forked/vim-colors-solarized/autoload/togglebg.vim deleted file mode 100644 index 108511f..0000000 --- a/.vim_runtime/sources_non_forked/vim-colors-solarized/autoload/togglebg.vim +++ /dev/null @@ -1,55 +0,0 @@ -" Toggle Background -" Modified: 2011 Apr 29 -" Maintainer: Ethan Schoonover -" License: OSI approved MIT license - -if exists("g:loaded_togglebg") - finish -endif -let g:loaded_togglebg = 1 - -" noremap is a bit misleading here if you are unused to vim mapping. -" in fact, there is remapping, but only of script locally defined remaps, in -" this case TogBG. The

See the contribution guidelines for pathogen.vim.

diff --git a/.vim_runtime/sources_non_forked/vim-commentary/README.markdown b/.vim_runtime/sources_non_forked/vim-commentary/README.markdown deleted file mode 100644 index 977d504..0000000 --- a/.vim_runtime/sources_non_forked/vim-commentary/README.markdown +++ /dev/null @@ -1,52 +0,0 @@ - -README.markdown

commentary.vim

- -

Comment stuff out. Use gcc to comment out a line (takes a count), -gc to comment out the target of a motion (for example, gcap to -comment out a paragraph), gc in visual mode to comment out the selection, -and gc in operator pending mode to target a comment. You can also use -it as a command, either with a range like :7,17Commentary, or as part of a -:global invocation like with :g/TODO/Commentary. That’s it.

- -

I wrote this because 5 years after Vim added support for mapping an -operator, I still couldn’t find a commenting plugin that leveraged that -feature (I overlooked -tcomment.vim). Striving for -minimalism, it weighs in at under 100 lines of code.

- -

Oh, and it uncomments, too. The above maps actually toggle, and gcgc -uncomments a set of adjacent commented lines.

- -

Installation

- -

Install using your favorite package manager, or use Vim’s built-in package -support:

- -
mkdir -p ~/.vim/pack/tpope/start
-cd ~/.vim/pack/tpope/start
-git clone https://tpope.io/vim/commentary.git
-vim -u NONE -c "helptags commentary/doc" -c q
- -

FAQ

- -
-

My favorite file type isn’t supported!

-
- -

Relax! You just have to adjust 'commentstring':

- -
autocmd FileType apache setlocal commentstring=#\ %s
- -

Self-Promotion

- -

Like commentary.vim? Follow the repository on -GitHub and vote for it on -vim.org. And if -you’re feeling especially charitable, follow tpope on -Twitter and -GitHub.

- -

License

- -

Copyright © Tim Pope. Distributed under the same terms as Vim itself. -See :help license.

diff --git a/.vim_runtime/sources_non_forked/vim-commentary/doc/commentary.txt b/.vim_runtime/sources_non_forked/vim-commentary/doc/commentary.txt deleted file mode 100644 index 01f73da..0000000 --- a/.vim_runtime/sources_non_forked/vim-commentary/doc/commentary.txt +++ /dev/null @@ -1,35 +0,0 @@ -*commentary.txt* Comment stuff out - -Author: Tim Pope -License: Same terms as Vim itself (see |license|) - -Comment stuff out. Then uncomment it later. Relies on 'commentstring' to be -correctly set, or uses b:commentary_format if it is set. - -Assign b:commentary_startofline to insert comment characters at column 1 -regardless of indentation. - - *gc* -gc{motion} Comment or uncomment lines that {motion} moves over. - - *gcc* -gcc Comment or uncomment [count] lines. - - *v_gc* -{Visual}gc Comment or uncomment the highlighted lines. - - *o_gc* -gc Text object for a comment (operator pending mode - only.) - - *gcgc* *gcu* -gcgc Uncomment the current and adjacent commented lines. -gcu - - *:Commentary* -:[range]Commentary Comment or uncomment [range] lines - -The |User| CommentaryPost autocommand fires after a successful operation and -can be used for advanced customization. - - vim:tw=78:et:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/vim-commentary/plugin/commentary.vim b/.vim_runtime/sources_non_forked/vim-commentary/plugin/commentary.vim deleted file mode 100644 index 17c285b..0000000 --- a/.vim_runtime/sources_non_forked/vim-commentary/plugin/commentary.vim +++ /dev/null @@ -1,117 +0,0 @@ -" commentary.vim - Comment stuff out -" Maintainer: Tim Pope -" Version: 1.3 -" GetLatestVimScripts: 3695 1 :AutoInstall: commentary.vim - -if exists("g:loaded_commentary") || v:version < 700 - finish -endif -let g:loaded_commentary = 1 - -function! s:surroundings() abort - return split(get(b:, 'commentary_format', substitute(substitute(substitute( - \ &commentstring, '^$', '%s', ''), '\S\zs%s',' %s', '') ,'%s\ze\S', '%s ', '')), '%s', 1) -endfunction - -function! s:strip_white_space(l,r,line) abort - let [l, r] = [a:l, a:r] - if l[-1:] ==# ' ' && stridx(a:line,l) == -1 && stridx(a:line,l[0:-2]) == 0 - let l = l[:-2] - endif - if r[0] ==# ' ' && a:line[-strlen(r):] != r && a:line[1-strlen(r):] == r[1:] - let r = r[1:] - endif - return [l, r] -endfunction - -function! s:go(...) abort - if !a:0 - let &operatorfunc = matchstr(expand(''), '[^. ]*$') - return 'g@' - elseif a:0 > 1 - let [lnum1, lnum2] = [a:1, a:2] - else - let [lnum1, lnum2] = [line("'["), line("']")] - endif - - let [l, r] = s:surroundings() - let uncomment = 2 - for lnum in range(lnum1,lnum2) - let line = matchstr(getline(lnum),'\S.*\s\@ 2 && l.r !~# '\\' - let line = substitute(line, - \'\M' . substitute(l, '\ze\S\s*$', '\\zs\\d\\*\\ze', '') . '\|' . substitute(r, '\S\zs', '\\zs\\d\\*\\ze', ''), - \'\=substitute(submatch(0)+1-uncomment,"^0$\\|^-\\d*$","","")','g') - endif - if uncomment - let line = substitute(line,'\S.*\s\@,) -xnoremap Commentary go() -nnoremap Commentary go() -nnoremap CommentaryLine go() . '_' -onoremap Commentary :call textobject(get(v:, 'operator', '') ==# 'c') -nnoremap ChangeCommentary c:call textobject(1) -nmap CommentaryUndo :echoerr "Change your CommentaryUndo map to CommentaryCommentary" - -if !hasmapto('Commentary') || maparg('gc','n') ==# '' - xmap gc Commentary - nmap gc Commentary - omap gc Commentary - nmap gcc CommentaryLine - if maparg('c','n') ==# '' && !exists('v:operator') - nmap cgc ChangeCommentary - endif - nmap gcu CommentaryCommentary -endif - -" vim:set et sw=2: diff --git a/.vim_runtime/sources_non_forked/vim-expand-region/MIT-LICENSE.txt b/.vim_runtime/sources_non_forked/vim-expand-region/MIT-LICENSE.txt deleted file mode 100644 index dade7aa..0000000 --- a/.vim_runtime/sources_non_forked/vim-expand-region/MIT-LICENSE.txt +++ /dev/null @@ -1,20 +0,0 @@ -Copyright 2013 Terry Ma - -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/.vim_runtime/sources_non_forked/vim-expand-region/README.md b/.vim_runtime/sources_non_forked/vim-expand-region/README.md deleted file mode 100644 index 47fcd74..0000000 --- a/.vim_runtime/sources_non_forked/vim-expand-region/README.md +++ /dev/null @@ -1,87 +0,0 @@ - -README.md

vim-expand-region

- -

About

- -

vim-expand-region is a Vim plugin that allows you to visually select increasingly larger regions of text using the same key combination. It is similar to features from other editors:

- - - -

- vim-expand-region -

- -

Installation

- -

Install using Pathogen, Vundle, Neobundle, or your favorite Vim package manager.

- -

Quick Start

- -

Press + to expand the visual selection and _ to shrink it.

- -

Mapping

- -

Customize the key mapping if you don’t like the default.

- -
map K <Plug>(expand_region_expand)
-map J <Plug>(expand_region_shrink)
- -

Setting

- -

Customize selected regions

- -

The plugin uses your own text objects to determine the expansion. You can customize the text objects the plugin knows about with g:expand_region_text_objects.

- -
" Default settings. (NOTE: Remove comments in dictionary before sourcing)
-let g:expand_region_text_objects = {
-      \ 'iw'  :0,
-      \ 'iW'  :0,
-      \ 'i"'  :0,
-      \ 'i''' :0,
-      \ 'i]'  :1, " Support nesting of square brackets
-      \ 'ib'  :1, " Support nesting of parentheses
-      \ 'iB'  :1, " Support nesting of braces
-      \ 'il'  :0, " 'inside line'. Available through https://github.com/kana/vim-textobj-line
-      \ 'ip'  :0,
-      \ 'ie'  :0, " 'entire file'. Available through https://github.com/kana/vim-textobj-entire
-      \ }
- -

You can extend the global default dictionary by calling expand_region#custom_text_objects:

- -
" Extend the global default (NOTE: Remove comments in dictionary before sourcing)
-call expand_region#custom_text_objects({
-      \ "\/\\n\\n\<CR>": 1, " Motions are supported as well. Here's a search motion that finds a blank line
-      \ 'a]' :1, " Support nesting of 'around' brackets
-      \ 'ab' :1, " Support nesting of 'around' parentheses
-      \ 'aB' :1, " Support nesting of 'around' braces
-      \ 'ii' :0, " 'inside indent'. Available through https://github.com/kana/vim-textobj-indent
-      \ 'ai' :0, " 'around indent'. Available through https://github.com/kana/vim-textobj-indent
-      \ })
- -

You can further customize the text objects dictionary on a per filetype basis by defining global variables like g:expand_region_text_objects_{ft}.

- -
" Use the following setting for ruby. (NOTE: Remove comments in dictionary  before sourcing)
-let g:expand_region_text_objects_ruby = {
-      \ 'im' :0, " 'inner method'. Available through https://github.com/vim-ruby/vim-ruby
-      \ 'am' :0, " 'around method'. Available through https://github.com/vim-ruby/vim-ruby
-      \ }
- -

Note that this completely replaces the default dictionary. To extend the default on a per filetype basis, you can call expand_region#custom_text_objects by passing in the filetype in the first argument:

- -
" Use the global default + the following for ruby
-call expand_region#custom_text_objects('ruby', {
-      \ 'im' :0,
-      \ 'am' :0,
-      \ })
- -

Customize selection mode

- -

By default, after an expansion, the plugin leaves you in visual mode. If your selectmode(h:selectmode)) contains cmd, then the plugin will respect that setting and leave you in select mode. If you don’t have selectmode set, but would like to default the expansion in select mode, you can use the global setting below:

- -
let g:expand_region_use_select_mode = 1
- -

Bitdeli Badge

diff --git a/.vim_runtime/sources_non_forked/vim-expand-region/autoload/expand_region.vim b/.vim_runtime/sources_non_forked/vim-expand-region/autoload/expand_region.vim deleted file mode 100644 index 3bf2f70..0000000 --- a/.vim_runtime/sources_non_forked/vim-expand-region/autoload/expand_region.vim +++ /dev/null @@ -1,350 +0,0 @@ -" ============================================================================== -" File: expand_region.vim -" Author: Terry Ma -" Last Modified: March 30, 2013 -" ============================================================================== - -let s:save_cpo = &cpo -set cpo&vim - -" ============================================================================== -" Settings -" ============================================================================== - -" Init global vars -function! expand_region#init() - if exists('g:expand_region_init') && g:expand_region_init - return - endif - let g:expand_region_init = 1 - - " Dictionary of text objects that are supported by default. Note that some of - " the text objects are not available in vanilla vim. '1' indicates that the - " text object is recursive (think of nested parens or brackets) - let g:expand_region_text_objects = get(g:, 'expand_region_text_objects', { - \ 'iw' :0, - \ 'iW' :0, - \ 'i"' :0, - \ 'i''' :0, - \ 'i]' :1, - \ 'ib' :1, - \ 'iB' :1, - \ 'il' :0, - \ 'ip' :0, - \ 'ie' :0, - \}) - - " Option to default to the select mode when selecting a new region - let g:expand_region_use_select_mode = get(g:, 'expand_region_use_select_mode', 0) -endfunction -call expand_region#init() - -" ============================================================================== -" Global Functions -" ============================================================================== - -" Allow user to customize the global dictionary, or the per file type dictionary -function! expand_region#custom_text_objects(...) - if a:0 == 1 - call extend(g:expand_region_text_objects, a:1) - elseif a:0 == 2 - if !exists("g:expand_region_text_objects_".a:1) - let g:expand_region_text_objects_{a:1} = {} - call extend(g:expand_region_text_objects_{a:1}, g:expand_region_text_objects) - endif - call extend(g:expand_region_text_objects_{a:1}, a:2) - endif -endfunction - -" Returns whether we should perform the region highlighting use visual mode or -" select mode -function! expand_region#use_select_mode() - return g:expand_region_use_select_mode || index(split(s:saved_selectmode, ','), 'cmd') != -1 -endfunction - -" Main function -function! expand_region#next(mode, direction) - call s:expand_region(a:mode, a:direction) -endfunction - -" ============================================================================== -" Variables -" ============================================================================== - -" The saved cursor position when user initiates expand. This is the position we -" use to calcuate the region for all of our text objects. This is also used to -" restore the original cursor position when the region is completely shrinked. -let s:saved_pos = [] - -" Index into the list of filtered text objects(s:candidates), the text object -" this points to is the currently selected region. -let s:cur_index = -1 - -" The list of filtered text objects used to expand/shrink the visual selection. -" This is computed when expand-region is called the first time. -" Each item is a dictionary containing the following: -" text_object: The actual text object string -" start_pos: The result of getpos() on the starting position of the text object -" end_pos: The result of getpos() on the ending position of the text object -" length: The number of characters for the text object -let s:candidates = [] - -" This is used to save the user's selectmode setting. If the user's selectmode -" contains 'cmd', then our expansion should result in the region selected under -" select mode. -let s:saved_selectmode = &selectmode - -" ============================================================================== -" Functions -" ============================================================================== - -" Sort the text object by length in ascending order -function! s:sort_text_object(l, r) - return a:l.length - a:r.length -endfunction - -" Compare two position arrays. Each input is the result of getpos(). Return a -" negative value if lhs occurs before rhs, positive value if after, and 0 if -" they are the same. -function! s:compare_pos(l, r) - " If number lines are the same, compare columns - return a:l[1] ==# a:r[1] ? a:l[2] - a:r[2] : a:l[1] - a:r[1] -endfunction - -" Boundary check on the cursor position to make sure it's inside the text object -" region. Return 1 if the cursor is within range, 0 otherwise. -function! s:is_cursor_inside(pos, region) - if s:compare_pos(a:pos, a:region.start_pos) < 0 - return 0 - endif - if s:compare_pos(a:pos, a:region.end_pos) > 0 - return 0 - endif - return 1 -endfunction - -" Remove duplicates from the candidate list. Two candidates are duplicates if -" they cover the exact same region (same length and same starting position) -function! s:remove_duplicate(input) - let i = len(a:input) - 1 - while i >= 1 - if a:input[i].length ==# a:input[i-1].length && - \ a:input[i].start_pos ==# a:input[i-1].start_pos - call remove(a:input, i) - endif - let i-=1 - endwhile -endfunction - -" Return a single candidate dictionary. Each dictionary contains the following: -" text_object: The actual text object string -" start_pos: The result of getpos() on the starting position of the text object -" end_pos: The result of getpos() on the ending position of the text object -" length: The number of characters for the text object -function! s:get_candidate_dict(text_object) - " Store the current view so we can restore it at the end - let winview = winsaveview() - - " Use ! as much as possible - exec 'normal! v' - exec 'silent! normal '.a:text_object - " The double quote is important - exec "normal! \" - - let selection = s:get_visual_selection() - let ret = { - \ "text_object": a:text_object, - \ "start_pos": selection.start_pos, - \ "end_pos": selection.end_pos, - \ "length": selection.length, - \} - - " Restore peace - call winrestview(winview) - return ret -endfunction - - -" Return dictionary of text objects that are to be used for the current -" filetype. Filetype-specific dictionaries will be loaded if they exist -" and the global dictionary will be used as a fallback. -function! s:get_configuration() - let configuration = {} - for ft in split(&ft, '\.') - if exists("g:expand_region_text_objects_".ft) - call extend(configuration, g:expand_region_text_objects_{ft}) - endif - endfor - - if empty(configuration) - call extend(configuration, g:expand_region_text_objects) - endif - - return configuration -endfunction - -" Return list of candidate dictionary. Each dictionary contains the following: -" text_object: The actual text object string -" start_pos: The result of getpos() on the starting position of the text object -" length: The number of characters for the text object -function! s:get_candidate_list() - " Turn off wrap to allow recursive search to work without triggering errors - let save_wrapscan = &wrapscan - set nowrapscan - - let config = s:get_configuration() - - " Generate the candidate list for every defined text object - let candidates = keys(config) - call map(candidates, "s:get_candidate_dict(v:val)") - - " For the ones that are recursive, generate them until they no longer match - " any region - let recursive_candidates = [] - for i in candidates - " Continue if not recursive - if !config[i.text_object] - continue - endif - " If the first level is already empty, no point in going any further - if i.length ==# 0 - continue - endif - let l:count = 2 - let previous = i.length - while 1 - let test = l:count.i.text_object - let candidate = s:get_candidate_dict(test) - if candidate.length ==# 0 - break - endif - " If we're not producing larger regions, end early - if candidate.length ==# previous - break - endif - call add(recursive_candidates, candidate) - let l:count+=1 - let previous = candidate.length - endwhile - endfor - - " Restore wrapscan - let &wrapscan = save_wrapscan - - return extend(candidates, recursive_candidates) -endfunction - -" Return a dictionary containing the start position, end position and length of -" the current visual selection. -function! s:get_visual_selection() - let start_pos = getpos("'<") - let end_pos = getpos("'>") - let [lnum1, col1] = start_pos[1:2] - let [lnum2, col2] = end_pos[1:2] - let lines = getline(lnum1, lnum2) - let lines[-1] = lines[-1][: col2 - 1] - let lines[0] = lines[0][col1 - 1:] - return { - \ 'start_pos': start_pos, - \ 'end_pos': end_pos, - \ 'length': len(join(lines, "\n")) - \} -endfunction - -" Figure out whether we should compute the candidate text objects, or we're in -" the middle of an expand/shrink. -function! s:should_compute_candidates(mode) - if a:mode ==# 'v' - " Check that current visual selection is idential to our last expanded - " region - if s:cur_index >= 0 - let selection = s:get_visual_selection() - if s:candidates[s:cur_index].start_pos ==# selection.start_pos - \ && s:candidates[s:cur_index].length ==# selection.length - return 0 - endif - endif - endif - return 1 -endfunction - -" Computes the list of text object candidates to be used given the current -" cursor position. -function! s:compute_candidates(cursor_pos) - " Reset index into the candidates list - let s:cur_index = -1 - - " Save the current cursor position so we can restore it later - let s:saved_pos = a:cursor_pos - - " Compute a list of candidate regions - let s:candidates = s:get_candidate_list() - - " Sort them and remove the ones with 0 or 1 length - call filter(sort(s:candidates, "s:sort_text_object"), 'v:val.length > 1') - - " Filter out the ones where the cursor falls outside of its region. i" and i' - " can start after the cursor position, and ib can start before, so both checks - " are needed - call filter(s:candidates, 's:is_cursor_inside(s:saved_pos, v:val)') - - " Remove duplicates - call s:remove_duplicate(s:candidates) -endfunction - -" Perform the visual selection at the end. If the user wants to be left in -" select mode, do so -function! s:select_region() - exec 'normal! v' - exec 'normal '.s:candidates[s:cur_index].text_object - if expand_region#use_select_mode() - exec "normal! \" - endif -endfunction - -" Expand or shrink the visual selection to the next candidate in the text object -" list. -function! s:expand_region(mode, direction) - " Save the selectmode setting, and remove the setting so our 'v' command do - " not get interfered - let s:saved_selectmode = &selectmode - let &selectmode="" - - if s:should_compute_candidates(a:mode) - call s:compute_candidates(getpos('.')) - else - call setpos('.', s:saved_pos) - endif - - if a:direction ==# '+' - " Expanding - if s:cur_index ==# len(s:candidates) - 1 - normal! gv - else - let s:cur_index+=1 - " Associate the window view with the text object - let s:candidates[s:cur_index].prev_winview = winsaveview() - call s:select_region() - endif - else - "Shrinking - if s:cur_index <=# 0 - " In visual mode, doing nothing here will return us to normal mode. For - " select mode, the following is needed. - if expand_region#use_select_mode() - exec "normal! gV" - endif - else - " Restore the window view - call winrestview(s:candidates[s:cur_index].prev_winview) - let s:cur_index-=1 - call s:select_region() - endif - endif - - " Restore the selectmode setting - let &selectmode = s:saved_selectmode -endfunction - -let &cpo = s:save_cpo -unlet s:save_cpo diff --git a/.vim_runtime/sources_non_forked/vim-expand-region/doc/expand_region.txt b/.vim_runtime/sources_non_forked/vim-expand-region/doc/expand_region.txt deleted file mode 100644 index 109dd72..0000000 --- a/.vim_runtime/sources_non_forked/vim-expand-region/doc/expand_region.txt +++ /dev/null @@ -1,126 +0,0 @@ -*vim-expand-region.txt* Incremental visual selection - - __ _ - ___ _ ______ ____ _____ ____/ / ________ ____ _(_)___ ____ - / _ \| |/_/ __ \/ __ `/ __ \/ __ / / ___/ _ \/ __ `/ / __ \/ __ \ - / __/> - - map K (expand_region_expand) - map J (expand_region_shrink) -< - -============================================================================== -4. Global Options *expand-region-global-options* - - *expand_region_text_objects* -Default: See below -Dictionary containing the text objects the plugin uses to search for the -available regions to expand/shrink to. The value corresponding to each plugin -indicates whether text object is recursive. A recursive text object is -continually expanded until the region no longer gets larger. > - - " Default settings. (NOTE: Remove comments in dictionary before sourcing) - let g:expand_region_text_objects = { - \ 'iw' :0, - \ 'iW' :0, - \ 'i"' :0, - \ 'i''' :0, - \ 'i]' :1, " Support nesting of square brackets - \ 'ib' :1, " Support nesting of parentheses - \ 'iB' :1, " Support nesting of braces - \ 'il' :0, " 'inside line'. Available through https://github.com/kana/vim-textobj-line - \ 'ip' :0, - \ 'ie' :0, " 'entire file'. Available through https://github.com/kana/vim-textobj-entire - \ } -< - -You can extend the global default dictionary by calling -'expand_region#custom_text_objects'. > - - " Extend the global default (NOTE: Remove comments in dictionary before sourcing) - call expand_region#custom_text_objects({ - \ "\/\\n\\n\": 1, " Motions are supported as well. Here's a search motion that finds a blank line - \ 'a]' :1, " Support nesting of 'around' brackets - \ 'ab' :1, " Support nesting of 'around' parentheses - \ 'aB' :1, " Support nesting of 'around' braces - \ 'ii' :0, " 'inside indent'. Available through https://github.com/kana/vim-textobj-indent - \ 'ai' :0, " 'around indent'. Available through https://github.com/kana/vim-textobj-indent - \ }) -< - -You can further customize the text objects dictionary on a per filetype basis -by defining global variables like 'g:expand_region_text_objects_{ft}'. > - - " Use the following setting for ruby. (NOTE: Remove comments in dictionary before sourcing) - let g:expand_region_text_objects_ruby = { - \ 'im' :0, " 'inner method'. Available through https://github.com/vim-ruby/vim-ruby - \ 'am' :0, " 'around method'. Available through https://github.com/vim-ruby/vim-ruby - \ } -< - -Note that this completely replaces the default dictionary. To extend the -default on a per filetype basis, you can call -'expand_region#custom_text_objects' by passing in the filetype in the first -argument: > - - " Use the global default + the following for ruby - call expand_region#custom_text_objects('ruby', { - \ 'im' :0, - \ 'am' :0, - \ }) -< - *expand_region_use_select_mode* -Default: 0 -By default, after an expansion, the plugin leaves you in visual mode. If your -'selectmode' contains "cmd", then the plugin will respect that setting and -leave you in select mode. If you don't have 'selectmode' set, but would -like to default the expansion in select mode, you can use the global setting -below: > - - let g:expand_region_use_select_mode = 1 -< - -============================================================================== -5. About *expand-region-about* -============================================================================== - -Find the latest version of the plugin here: - http://github.com/terryma/vim-expand-region - - vim:tw=78:sw=4:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/vim-expand-region/doc/tags b/.vim_runtime/sources_non_forked/vim-expand-region/doc/tags deleted file mode 100644 index 402a0c4..0000000 --- a/.vim_runtime/sources_non_forked/vim-expand-region/doc/tags +++ /dev/null @@ -1,10 +0,0 @@ -expand-region-about expand_region.txt /*expand-region-about* -expand-region-contents expand_region.txt /*expand-region-contents* -expand-region-global-options expand_region.txt /*expand-region-global-options* -expand-region-intro expand_region.txt /*expand-region-intro* -expand-region-mappings expand_region.txt /*expand-region-mappings* -expand-region-usage expand_region.txt /*expand-region-usage* -expand_region_text_objects expand_region.txt /*expand_region_text_objects* -expand_region_use_select_mode expand_region.txt /*expand_region_use_select_mode* -vim-expand-region.txt expand_region.txt /*vim-expand-region.txt* -vim-expand-regions expand_region.txt /*vim-expand-regions* diff --git a/.vim_runtime/sources_non_forked/vim-expand-region/expand-region.gif b/.vim_runtime/sources_non_forked/vim-expand-region/expand-region.gif deleted file mode 100644 index 00aa5b3..0000000 Binary files a/.vim_runtime/sources_non_forked/vim-expand-region/expand-region.gif and /dev/null differ diff --git a/.vim_runtime/sources_non_forked/vim-expand-region/plugin/expand_region.vim b/.vim_runtime/sources_non_forked/vim-expand-region/plugin/expand_region.vim deleted file mode 100644 index 18db51a..0000000 --- a/.vim_runtime/sources_non_forked/vim-expand-region/plugin/expand_region.vim +++ /dev/null @@ -1,43 +0,0 @@ -" ============================================================================== -" File: expand_region.vim -" Author: Terry Ma -" Description: Incrementally select larger regions of text in visual mode by -" repeating the same key combination -" Last Modified: March 30, 2013 -" ============================================================================== - -let s:save_cpo = &cpo -set cpo&vim - -" Init global vars -call expand_region#init() - -" ============================================================================== -" Mappings -" ============================================================================== -if !hasmapto('(expand_region_expand)') - nmap + (expand_region_expand) - vmap + (expand_region_expand) -endif -if !hasmapto('(expand_region_shrink)') - vmap _ (expand_region_shrink) - nmap _ (expand_region_shrink) -endif - -nnoremap (expand_region_expand) - \ :call expand_region#next('n', '+') -" Map keys differently depending on which mode is desired -if expand_region#use_select_mode() - snoremap (expand_region_expand) - \ :call expand_region#next('v', '+') - snoremap (expand_region_shrink) - \ :call expand_region#next('v', '-') -else - xnoremap (expand_region_expand) - \ :call expand_region#next('v', '+') - xnoremap (expand_region_shrink) - \ :call expand_region#next('v', '-') -endif - -let &cpo = s:save_cpo -unlet s:save_cpo diff --git a/.vim_runtime/sources_non_forked/vim-flake8/LICENSE b/.vim_runtime/sources_non_forked/vim-flake8/LICENSE deleted file mode 100644 index 4380242..0000000 --- a/.vim_runtime/sources_non_forked/vim-flake8/LICENSE +++ /dev/null @@ -1,24 +0,0 @@ -Copyright (c) 2014, Vincent Driessen -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (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/.vim_runtime/sources_non_forked/vim-flake8/README.mdown b/.vim_runtime/sources_non_forked/vim-flake8/README.mdown deleted file mode 100644 index 338e445..0000000 --- a/.vim_runtime/sources_non_forked/vim-flake8/README.mdown +++ /dev/null @@ -1,199 +0,0 @@ -vim-flake8 -========== -`vim-flake8` is a Vim plugin that runs the currently open file through Flake8, -a static syntax and style checker for Python source code. It supersedes both -[vim-pyflakes](https://github.com/nvie/vim-pyflakes) and -[vim-pep8](https://github.com/nvie/vim-pep8). - -[Flake8](https://pypi.python.org/pypi/flake8/) is a wrapper around PyFlakes -(static syntax checker), PEP8 (style checker) and Ned's MacCabe script -(complexity checker). - - -Installation ------------- - -Make sure you've installed the -[flake8](https://pypi.python.org/pypi/flake8/) package. - -If you use vim >= 8, install this plugin with: -``` -mkdir -p ~/.vim/pack/flake8/start/ -cd ~/.vim/pack/flake8/start/ -git clone https://github.com/nvie/vim-flake8.git -``` - -Otherwise, install [vim-pathogen](https://github.com/tpope/vim-pathogen) -if you're not using it already. Then, simply put the -contents of this repository in your `~/.vim/bundle` directory. - -Usage ------ -1. Open a Python file -2. Press `` to run `flake8` on it - -It shows the errors inside a quickfix window, which will allow your to quickly -jump to the error locations by simply pressing [Enter]. - -If any of `g:flake8_show_in_gutter` or `g:flake8_show_in_file` are set to `1`, call: - - call flake8#Flake8UnplaceMarkers() - -To remove all markers. No default mapping is provided. - -Customization -------------- -If you don't want to use the `` key for flake8-checking, simply remap it to -another key. It autodetects whether it has been remapped and won't register -the `` key if so. For example, to remap it to `` instead, use: - - autocmd FileType python map :call flake8#Flake8() - -For flake8 configuration options please consult the following page: - -http://flake8.pycqa.org/en/latest/user/configuration.html - -To customize the location of your flake8 binary, set `g:flake8_cmd`: - - let g:flake8_cmd="/opt/strangebin/flake8000" - -To customize the location of quick fix window, set `g:flake8_quickfix_location`: - - let g:flake8_quickfix_location="topleft" - -To customize the height of quick fix window, set `g:flake8_quickfix_height`: - - let g:flake8_quickfix_height=7 - -To customize whether the quickfix window opens, set `g:flake8_show_quickfix`: - - let g:flake8_show_quickfix=0 " don't show - let g:flake8_show_quickfix=1 " show (default) - -To customize whether the show signs in the gutter, set `g:flake8_show_in_gutter`: - - let g:flake8_show_in_gutter=0 " don't show (default) - let g:flake8_show_in_gutter=1 " show - -To customize whether the show marks in the file, set `g:flake8_show_in_file`: - - let g:flake8_show_in_file=0 " don't show (default) - let g:flake8_show_in_file=1 " show - -To customize the number of marks to show, set `g:flake8_max_markers`: - - let g:flake8_max_markers=500 " (default) - -To customize the gutter markers, set any of `flake8_error_marker`, `flake8_warning_marker`, -`flake8_pyflake_marker`, `flake8_complexity_marker`, `flake8_naming_marker`. Setting one to -the empty string disables it. Ex.: - - flake8_error_marker='EE' " set error marker to 'EE' - flake8_warning_marker='WW' " set warning marker to 'WW' - flake8_pyflake_marker='' " disable PyFlakes warnings - flake8_complexity_marker='' " disable McCabe complexity warnings - flake8_naming_marker='' " disable naming warnings - -To customize the colors used for markers, define the highlight groups, `Flake8_Error`, -`Flake8_Warning`, `Flake8_PyFlake`, `Flake8_Complexity`, `Flake8_Naming`: - - " to use colors defined in the colorscheme - highlight link Flake8_Error Error - highlight link Flake8_Warning WarningMsg - highlight link Flake8_Complexity WarningMsg - highlight link Flake8_Naming WarningMsg - highlight link Flake8_PyFlake WarningMsg - -To show the error message of the current line in the ruler, call `flake8#ShowError()`: - - " add binding to call the function - nnoremap :call flake8#Flake8ShowError() - - -Tips ----- -A tip might be to run the Flake8 check every time you write a Python file, to -enable this, add the following line to your `.vimrc` file (thanks -[Godefroid](https://github.com/gotcha)!): - - autocmd BufWritePost *.py call flake8#Flake8() - -This plugin goes well together with the following plugin: - -- [PyUnit](https://github.com/nvie/vim-pyunit) (unit test helper under `` - and ``) - - -Max line lengths ----------------- - -One particular customization a lot of people like to make is relaxing the -maximum line length default. This is a config setting that should be set in -flake8 itself. (vim-flake8 "just" invokes it and deals with showing the output -in Vim's quickfix window.) - -To do so, put the following into your `~/.config/flake8` file: - - [flake8] - max-line-length = 120 - - -History -------- -1.6: Deprecated configuring flake8 options through Vim settings. Instead, -advise users to use the `~/.config/flake8` config file. - - - Decprecated options: - - `g:flake8_builtins` - - `g:flake8_ignore` - - `g:flake8_max_line_length` - - `g:flake8_max_complexity` - - - New options: - - `g:flake8_quickfix_height` - -1.5: Added markers and the option to don't show the quickfix window, also split -functions into a autoload file. Added: - - - Options: - - `g:flake8_show_quickfix` - - `g:flake8_show_in_gutter` - - `g:flake8_show_in_file` - - `g:flake8_max_markers` - - `flake8_error_marker` - - `flake8_warning_marker` - - `flake8_pyflake_marker` - - `flake8_complexity_marker` - - `flake8_naming_marker` - - Functions: - - `flake8#Flake8UnplaceMarkers()` - - `flake8#Flake8()` - - Highlighting: - - `Flake8_Error` - - `Flake8_Warning` - - `Flake8_Complexity` - - `Flake8_Naming` - - `Flake8_PyFlake` - -1.4: Suppress output to stdout. - -1.3: Added the following options: - - - `g:flake8_builtins="_,apply"` - - `g:flake8_max_complexity=10` - -1.2: Added the following options: - - - `g:flake8_cmd="/opt/strangebin/flake8000"` - - `g:flake8_max_line_length=120` - - `g:flake8_ignore="E501,W293"` - -1.1: Added `g:flake8_ignore` option. - -1.0: Initial version. - - -License -------- - -Liberally licensed under BSD terms. diff --git a/.vim_runtime/sources_non_forked/vim-flake8/autoload/flake8.vim b/.vim_runtime/sources_non_forked/vim-flake8/autoload/flake8.vim deleted file mode 100644 index 180bcad..0000000 --- a/.vim_runtime/sources_non_forked/vim-flake8/autoload/flake8.vim +++ /dev/null @@ -1,298 +0,0 @@ -" -" Python filetype plugin for running flake8 -" Language: Python (ft=python) -" Maintainer: Vincent Driessen -" Version: Vim 7 (may work with lower Vim versions, but not tested) -" URL: http://github.com/nvie/vim-flake8 - -let s:save_cpo = &cpo -set cpo&vim - -"" ** external ** {{{ - -function! flake8#Flake8() - call s:Flake8() - call s:Warnings() -endfunction - -function! flake8#Flake8UnplaceMarkers() - call s:UnplaceMarkers() - call s:Warnings() -endfunction - -function! flake8#Flake8ShowError() - call s:ShowErrorMessage() -endfunction - -"" }}} - -"" ** internal ** {{{ - -"" warnings - -let s:displayed_warnings = 0 -function s:Warnings() - if !s:displayed_warnings - let l:show_website_url = 0 - - let l:msg = "has been deprecated in favour of flake8 config files" - for setting_name in ['g:flake8_ignore', 'g:flake8_builtins', 'g:flake8_max_line_length', 'g:flake8_max_complexity'] - if exists(setting_name) - echohl WarningMsg | echom setting_name l:msg | echohl None - let l:show_website_url = 1 - endif - endfor - - if l:show_website_url - let l:url = "http://flake8.readthedocs.org/en/latest/config.html" - echohl WarningMsg | echom l:url | echohl None - endif - let s:displayed_warnings = 1 - endif -endfunction - -"" config - -function! s:DeclareOption(name, globalPrefix, default) " {{{ - if !exists('g:'.a:name) - if a:default != '' - execute 'let s:'.a:name.'='.a:default - else - execute 'let s:'.a:name.'=""' - endif - else - execute 'let l:global="g:".a:name' - if l:global != '' - execute 'let s:'.a:name.'="'.a:globalPrefix.'".g:'.a:name - else - execute 'let s:'.a:name.'=""' - endif - endif -endfunction " }}} - -function! s:Setup() " {{{ - "" read options - - " flake8 command - call s:DeclareOption('flake8_cmd', '', '"flake8"') - " quickfix - call s:DeclareOption('flake8_quickfix_location', '', '"belowright"') - call s:DeclareOption('flake8_quickfix_height', '', 5) - call s:DeclareOption('flake8_show_quickfix', '', 1) - " markers to show - call s:DeclareOption('flake8_show_in_gutter', '', 0) - call s:DeclareOption('flake8_show_in_file', '', 0) - call s:DeclareOption('flake8_max_markers', '', 500) - " marker signs - call s:DeclareOption('flake8_error_marker', '', '"E>"') - call s:DeclareOption('flake8_warning_marker', '', '"W>"') - call s:DeclareOption('flake8_pyflake_marker', '', '"F>"') - call s:DeclareOption('flake8_complexity_marker', '', '"C>"') - call s:DeclareOption('flake8_naming_marker', '', '"N>"') - - "" setup markerdata - - if !exists('s:markerdata') - let s:markerdata = {} - let s:markerdata['E'] = {'name': 'Flake8_Error'} - let s:markerdata['W'] = {'name': 'Flake8_Warning'} - let s:markerdata['F'] = {'name': 'Flake8_PyFlake'} - let s:markerdata['C'] = {'name': 'Flake8_Complexity'} - let s:markerdata['N'] = {'name': 'Flake8_Nameing'} - endif - let s:markerdata['E'].marker = s:flake8_error_marker - let s:markerdata['W'].marker = s:flake8_warning_marker - let s:markerdata['F'].marker = s:flake8_pyflake_marker - let s:markerdata['C'].marker = s:flake8_complexity_marker - let s:markerdata['N'].marker = s:flake8_naming_marker - -endfunction " }}} - -"" do flake8 - -function! s:Flake8() " {{{ - " read config - call s:Setup() - - let l:executable = split(s:flake8_cmd)[0] - - if !executable(l:executable) - echoerr "File " . l:executable . " not found. Please install it first." - return - endif - - " clear old - call s:UnplaceMarkers() - let s:matchids = [] - let s:signids = [] - - " store old grep settings (to restore later) - let l:old_gfm=&grepformat - let l:old_gp=&grepprg - let l:old_shellpipe=&shellpipe - let l:old_t_ti=&t_ti - let l:old_t_te=&t_te - - " write any changes before continuing - if &readonly == 0 - update - endif - - set lazyredraw " delay redrawing - - " prevent terminal from blinking - set shellpipe=> - set t_ti= - set t_te= - - " perform the grep itself - let &grepformat="%f:%l:%c: %m\,%f:%l: %m" - let &grepprg=s:flake8_cmd - silent! grep! "%" - " close any existing cwindows, - " placed after 'grep' in case quickfix is open on autocmd QuickFixCmdPost - cclose - - " restore grep settings - let &grepformat=l:old_gfm - let &grepprg=l:old_gp - let &shellpipe=l:old_shellpipe - let &t_ti=l:old_t_ti - let &t_te=l:old_t_te - " store mapping of line number to error string - - " process results - let s:resultDict = {} - - let l:results=getqflist() - let l:has_results=results != [] - if l:has_results - " save line number of each error message - for result in l:results - let linenum = result.lnum - let s:resultDict[linenum] = result.text - endfor - - " markers - if !s:flake8_show_in_gutter == 0 || !s:flake8_show_in_file == 0 - call s:PlaceMarkers(l:results) - endif - " quickfix - if !s:flake8_show_quickfix == 0 - " open cwindow - execute s:flake8_quickfix_location." copen".s:flake8_quickfix_height - setlocal wrap - nnoremap c :cclose - nnoremap q :cclose - endif - endif - - set nolazyredraw - redraw! - - " Show status - if l:has_results == 0 - echon "Flake8 check OK" - else - echon "Flake8 found issues" - endif -endfunction " }}} - - - -"" markers -function! s:PlaceMarkers(results) " {{{ - " in gutter? - if !s:flake8_show_in_gutter == 0 - " define signs - for val in values(s:markerdata) - if val.marker != '' - execute "sign define ".val.name." text=".val.marker." texthl=".val.name - endif - endfor - endif - - " place - let l:index0 = 100 - let l:index = l:index0 - for result in a:results - if l:index >= (s:flake8_max_markers+l:index0) - break - endif - let l:type = strpart(result.text, 0, 1) - if has_key(s:markerdata, l:type) && s:markerdata[l:type].marker != '' - " file markers - if !s:flake8_show_in_file == 0 - if !has_key(s:markerdata[l:type], 'matchstr') - let s:markerdata[l:type].matchstr = '\%(' - else - let s:markerdata[l:type].matchstr .= '\|' - endif - let s:markerdata[l:type].matchstr .= '\%'.result.lnum.'l\%'.result.col.'c' - endif - " gutter markers - if !s:flake8_show_in_gutter == 0 - execute ":sign place ".index." name=".s:markerdata[l:type].name - \ . " line=".result.lnum." file=".expand("%:p") - let s:signids += [l:index] - endif - let l:index += 1 - endif - endfor - - " in file? - if !s:flake8_show_in_file == 0 - for l:val in values(s:markerdata) - if l:val.marker != '' && has_key(l:val, 'matchstr') - let l:val.matchid = matchadd(l:val.name, l:val.matchstr.'\)') - endif - endfor - endif -endfunction " }}} - -function! s:UnplaceMarkers() " {{{ - " gutter markers - if exists('s:signids') - for i in s:signids - execute ":sign unplace ".i - endfor - unlet s:signids - endif - " file markers - for l:val in values(s:markerdata) - if has_key(l:val, 'matchid') - call matchdelete(l:val.matchid) - unlet l:val.matchid - unlet l:val.matchstr - endif - endfor -endfunction " }}} - -function! s:ShowErrorMessage() " {{{ - let l:cursorPos = getpos(".") - if !exists('s:resultDict') - return - endif - - " if there is a message on the current line, - " then echo it - if has_key(s:resultDict, l:cursorPos[1]) - let l:errorText = get(s:resultDict, l:cursorPos[1]) - echo strpart(l:errorText, 0, &columns-1) - let b:showing_message = 1 - endif - - " if a message is already being shown, - " then clear it - if !b:showing_message == 0 - echo - let b:showing_message = 0 - endif - -endfunction " }}} - -"" }}} - -let &cpo = s:save_cpo -unlet s:save_cpo - diff --git a/.vim_runtime/sources_non_forked/vim-flake8/ftplugin/python_flake8.vim b/.vim_runtime/sources_non_forked/vim-flake8/ftplugin/python_flake8.vim deleted file mode 100644 index dd062d9..0000000 --- a/.vim_runtime/sources_non_forked/vim-flake8/ftplugin/python_flake8.vim +++ /dev/null @@ -1,55 +0,0 @@ -" -" Python filetype plugin for running flake8 -" Language: Python (ft=python) -" Maintainer: Vincent Driessen -" Version: Vim 7 (may work with lower Vim versions, but not tested) -" URL: http://github.com/nvie/vim-flake8 -" -" Only do this when not done yet for this buffer -if exists("b:loaded_flake8_ftplugin") - finish -endif -let b:loaded_flake8_ftplugin=1 - -let s:save_cpo = &cpo -set cpo&vim - -"" Highlight groups for errors -" pep8 errors -highlight default Flake8_Error - \ ctermbg=DarkRed ctermfg=Red cterm=bold - \ guibg=DarkRed guifg=Red gui=bold -" pep8 warnings -highlight default Flake8_Warning - \ ctermbg=Yellow ctermfg=DarkYellow cterm=bold - \ guibg=Yellow guifg=DarkYellow gui=bold -" PyFlakes codes -highlight default Flake8_PyFlake - \ ctermbg=DarkBlue ctermfg=Blue cterm=bold - \ guibg=DarkBlue guifg=Blue gui=bold -" McCabe complexity warnings -highlight default Flake8_Complexity - \ ctermbg=DarkBlue ctermfg=Blue cterm=bold - \ guibg=DarkBlue guifg=Blue gui=bold -" naming conventions -highlight default Flake8_Naming - \ ctermbg=DarkBlue ctermfg=Blue cterm=bold - \ guibg=DarkBlue guifg=Blue gui=bold - -" to not break with old versions -function! Flake8() - call flake8#Flake8() -endfunction - -" Add mappings, unless the user didn't want this. -" The default mapping is registered under to by default, unless the user -" remapped it already (or a mapping exists already for ) -if !exists("no_plugin_maps") && !exists("no_flake8_maps") - if !hasmapto('Flake8(') && !hasmapto('flake8#Flake8(') - noremap :call flake8#Flake8() - endif -endif - -let &cpo = s:save_cpo -unlet s:save_cpo - diff --git a/.vim_runtime/sources_non_forked/vim-fugitive/autoload/fugitive.vim b/.vim_runtime/sources_non_forked/vim-fugitive/autoload/fugitive.vim deleted file mode 100644 index 1106aea..0000000 --- a/.vim_runtime/sources_non_forked/vim-fugitive/autoload/fugitive.vim +++ /dev/null @@ -1,6422 +0,0 @@ -" Location: autoload/fugitive.vim -" Maintainer: Tim Pope - -if exists('g:autoloaded_fugitive') - finish -endif -let g:autoloaded_fugitive = 1 - -if !exists('g:fugitive_git_executable') - let g:fugitive_git_executable = 'git' -elseif g:fugitive_git_executable =~# '^\w\+=' - let g:fugitive_git_executable = 'env ' . g:fugitive_git_executable -endif - -" Section: Utility - -function! s:function(name) abort - return function(substitute(a:name,'^s:',matchstr(expand(''), '.*\zs\d\+_'),'')) -endfunction - -function! s:sub(str,pat,rep) abort - return substitute(a:str,'\v\C'.a:pat,a:rep,'') -endfunction - -function! s:gsub(str,pat,rep) abort - return substitute(a:str,'\v\C'.a:pat,a:rep,'g') -endfunction - -function! s:Uniq(list) abort - let i = 0 - let seen = {} - while i < len(a:list) - let str = string(a:list[i]) - if has_key(seen, str) - call remove(a:list, i) - else - let seen[str] = 1 - let i += 1 - endif - endwhile - return a:list -endfunction - -function! s:winshell() abort - return has('win32') && &shellcmdflag !~# '^-' -endfunction - -function! s:WinShellEsc(arg) abort - if type(a:arg) == type([]) - return join(map(copy(a:arg), 's:shellesc(v:val)')) - elseif a:arg =~# '^[A-Za-z0-9_/:.-]\+$' - return a:arg - else - return '"' . s:gsub(s:gsub(a:arg, '"', '""'), '\%', '"%"') . '"' - endif -endfunction - -function! s:shellesc(arg) abort - if type(a:arg) == type([]) - return join(map(copy(a:arg), 's:shellesc(v:val)')) - elseif a:arg =~# '^[A-Za-z0-9_/:.-]\+$' - return a:arg - elseif s:winshell() - return '"' . s:gsub(s:gsub(a:arg, '"', '""'), '\%', '"%"') . '"' - else - return shellescape(a:arg) - endif -endfunction - -let s:fnameescape = " \t\n*?[{`$\\%#'\"|!<" -function! s:fnameescape(file) abort - if type(a:file) == type([]) - return join(map(copy(a:file), 's:fnameescape(v:val)')) - elseif exists('*fnameescape') - return fnameescape(a:file) - else - return escape(a:file, s:fnameescape) - endif -endfunction - -function! s:throw(string) abort - throw 'fugitive: '.a:string -endfunction - -function! s:DirCheck(...) abort - if !empty(a:0 ? s:Dir(a:1) : s:Dir()) - return '' - elseif empty(bufname('')) - return 'return ' . string('echoerr "fugitive: working directory does not belong to a Git repository"') - else - return 'return ' . string('echoerr "fugitive: file does not belong to a Git repository"') - endif -endfunction - -function! s:Mods(mods, ...) abort - let mods = substitute(a:mods, '\C', '', '') - let mods = mods =~# '\S$' ? mods . ' ' : mods - if a:0 && mods !~# '\<\%(aboveleft\|belowright\|leftabove\|rightbelow\|topleft\|botright\|tab\)\>' - let mods = a:1 . ' ' . mods - endif - return substitute(mods, '\s\+', ' ', 'g') -endfunction - -function! s:Slash(path) abort - if exists('+shellslash') - return tr(a:path, '\', '/') - else - return a:path - endif -endfunction - -function! s:Resolve(path) abort - let path = resolve(a:path) - if has('win32') - let path = FugitiveVimPath(fnamemodify(fnamemodify(path, ':h'), ':p') . fnamemodify(path, ':t')) - endif - return path -endfunction - -function! s:FileIgnoreCase(for_completion) abort - return (exists('+fileignorecase') && &fileignorecase) - \ || (a:for_completion && exists('+wildignorecase') && &wildignorecase) -endfunction - -function! s:cpath(path, ...) abort - if s:FileIgnoreCase(0) - let path = FugitiveVimPath(tolower(a:path)) - else - let path = FugitiveVimPath(a:path) - endif - return a:0 ? path ==# s:cpath(a:1) : path -endfunction - -let s:executables = {} - -function! s:executable(binary) abort - if !has_key(s:executables, a:binary) - let s:executables[a:binary] = executable(a:binary) - endif - return s:executables[a:binary] -endfunction - -if !exists('s:temp_scripts') - let s:temp_scripts = {} -endif -function! s:TempScript(...) abort - let body = join(a:000, "\n") - if !has_key(s:temp_scripts, body) - let temp = tempname() . '.sh' - call writefile(['#!/bin/sh'] + a:000, temp) - let s:temp_scripts[body] = temp - endif - return FugitiveGitPath(s:temp_scripts[body]) -endfunction - -function! s:DoAutocmd(cmd) abort - if v:version >= 704 || (v:version == 703 && has('patch442')) - return 'doautocmd ' . a:cmd - elseif &modelines > 0 - return 'try|set modelines=0|doautocmd ' . a:cmd . '|finally|set modelines=' . &modelines . '|endtry' - else - return 'doautocmd ' . a:cmd - endif -endfunction - -let s:nowait = v:version >= 704 ? '' : '' - -function! s:Map(mode, lhs, rhs, ...) abort - for mode in split(a:mode, '\zs') - let flags = (a:0 ? a:1 : '') . (a:rhs =~# '' ? '' : '

Gist.vim

- -

This is a vimscript for creating gists (http://gist.github.com).

- -

For the latest version please see https://github.com/mattn/vim-gist.

- -

Usage:

- -
    -
  • Post current buffer to gist, using default privacy option.

    - -
    :Gist
  • - -
  • Post selected text to gist, using default privacy option. -This applies to all permutations listed below (except multi).

    - -
    :'<,'>Gist
  • - -
  • Create a private gist.

    - -
    :Gist -p
  • - -
  • Create a public gist. -(Only relevant if you’ve set gists to be private by default.)

    - -
    :Gist -P
  • -
- -
-

This is only relevant if you’ve set gists to be private by default; -if you get an empty gist list, try “:Gist –abandon”.

-
- -
    -
  • Create a gist anonymously.

    - -
    :Gist -a
  • - -
  • Create a gist with all open buffers.

    - -
    :Gist -m
  • - -
  • Edit the gist (you need to have opened the gist buffer first). -You can update the gist with the “:w” command within the gist buffer.

    - -
    :Gist -e
  • - -
  • Edit the gist with name ‘foo.js’ (you need to have opened the gist buffer -first).

    - -
    :Gist -e foo.js
  • - -
  • Post/Edit with the description “ (you need to have opened the gist buffer -first). >

    - -
    :Gist -s something
    -:Gist -e -s something
  • - -
  • Delete the gist (you need to have opened the gist buffer first). -Password authentication is needed.

    - -
    :Gist -d
  • - -
  • Fork the gist (you need to have opened the gist buffer first). -Password authentication is needed.

    - -
    :Gist -f
  • - -
  • Star the gist (you need to have opened the gist buffer first). -Password authentication is needed.

    - -
    :Gist +1
  • - -
  • Unstar the gist (you need to have opened the gist buffer first). -Password authentication is needed.

    - -
    :Gist -1
  • - -
  • Get gist XXXXX.

    - -
    :Gist XXXXX
  • - -
  • Get gist XXXXX and add to clipboard.

    - -
    :Gist -c XXXXX
  • - -
  • List your public gists.

    - -
    :Gist -l
  • - -
  • List gists from user “mattn”.

    - -
    :Gist -l mattn
  • - -
  • List everyone’s gists.

    - -
    :Gist -la
  • - -
  • List gists from your starred gists.

    - -
    :Gist -ls
  • - -
  • Open the gist on browser after you post or update it.

    - -
    :Gist -b
  • -
- -

List Feature

- -
    -
  • Useful mappings on the gist-listing buffer:

    - -
      -
    • Both o or Enter open the gist file in a new buffer, and close the -vim-gist listing one.
    • -
    • b opens the gist file in a browser; this is necessary because -Shift-Enter (as was originally) only works for GUI vim.
    • -
    • y copies the contents of the selected gist to the clipboard, and -closes the vim-gist buffer.
    • -
    • p pastes the contents of the selected gist to the buffer from where -vim-gist was called, and closes the vim-gist buffer.
    • -
    • Hitting Escape or Tab at the vim-gist buffer closes it.
    • -
  • - -
  • Gist listing has fixed-length columns now, more amenable to eye inspection. -Every line on the gist-listing buffer contains the gist id, name and -description, in that order. Columns are now padded and truncated to offer a -faster browsing, in the following way:

    - -
      -
    • The gist id string is fixed at 32 characters.
    • -
    • The length (in characters) of the name of the gist is fixed and -can be set by the user using, for example:
    • -
    - -

    let g:gistvim_namelength = 20

    - -

    The default value for gistvim_namelength is 30. If the gist (file)name -exceeds that length, it is truncated to the specified length. -- Finally, the gist description is truncated in length to fit the remaining -of the line, avoiding wrapped lines that mess up the table layout. -- Note that the gist listing buffer now does not show the field ‘code’ -(not sure what that did in the first place).

  • -
- -

Tips:

- -

If you set g:gist_clip_command, gist.vim will copy the gist code with option -‘-c’.

- -
    -
  • Mac:

    - -
    let g:gist_clip_command = 'pbcopy'
  • - -
  • Linux:

    - -
    let g:gist_clip_command = 'xclip -selection clipboard'
  • - -
  • Others (cygwin?):

    - -
    let g:gist_clip_command = 'putclip'
  • -
- -

If you want to detect filetype from the filename:

- -
let g:gist_detect_filetype = 1
- -

If you want to open browser after the post:

- -
let g:gist_open_browser_after_post = 1
- -

If you want to change the browser:

- -
let g:gist_browser_command = 'w3m %URL%'
- -

or:

- -
let g:gist_browser_command = 'opera %URL% &'
- -

On windows, this should work with your user settings.

- -

If you want to show your private gists with “:Gist -l”:

- -
let g:gist_show_privates = 1
- -

If you want your gist to be private by default:

- -
let g:gist_post_private = 1
- -

If you want your gist to be anonymous by default:

- -
let g:gist_post_anonymous = 1
- -

If you want to manipulate multiple files in a gist:

- -
let g:gist_get_multiplefile = 1
- -

If you want to use on GitHub Enterprise:

- -
let g:gist_api_url = 'http://your-github-enterprise-domain/api/v3'
- -

You need to either set global git config:

- -
$ git config --global github.user Username
- -

License:

- -
Copyright 2010 by Yasuhiro Matsumoto
-modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice,
-   this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
-OF THE POSSIBILITY OF SUCH DAMAGE.
- -

Install:

- -

Copy it to your plugin directory. -gist.vim will create a curl cookie-jar file in your runtimepath.

- -
    -
  • rtp: - -
      -
    • autoload/gist.vim
    • -
    • plugin/gist.vim
    • -
  • -
- -

If you want to uninstall gist.vim, remember to also remove ~/.gist-vim.

- -

You need to install webapi-vim also:

- -

http://www.vim.org/scripts/script.php?script_id=4019

- -

If you want to use latest one:

- -

https://github.com/mattn/webapi-vim

- -

Install with Vundle

- -

Add the following lines to your .vimrc.

- -
Bundle 'mattn/webapi-vim'
-Bundle 'mattn/vim-gist'
- -

Now restart Vim and run :BundleInstall.

- -

Install with NeoBundle

- -

Add the following line to your .vimrc.

- -
NeoBundle 'mattn/vim-gist', {'depends': 'mattn/webapi-vim'}
- -

Requirements:

- - - -

Setup:

- -

This plugin supports both basic and two-factor authentication using GitHub -API v3. The plugin stores its credentials in ~/.gist-vim.

- -

First, you need to set your GitHub username in git’s global configuration:

- -
$ git config --global github.user <username>
- -

Then vim-gist will ask for your password in order to create an access -token. If you have two-factor authentication enabled, vim-gist will also -prompt you to enter the two-factor key you receive.

- -

NOTE: -If you want you can set it directly to g:github_user and g:gist_token.

- -

Whichever type of authentication you use, your GitHub password will not be -stored, only a OAuth access token produced specifically for vim-gist. The -token is stored in ~/.gist-vim. If you stop using the plugin, you can -easily remove this file. To revoke the associated GitHub token, go to the -list of “Authorized applications” on GitHub’s “Account Settings” -page.

- -

Note: the username is optional if you only send anonymous gists.

diff --git a/.vim_runtime/sources_non_forked/vim-gist/autoload/gist.vim b/.vim_runtime/sources_non_forked/vim-gist/autoload/gist.vim deleted file mode 100644 index 7f803c6..0000000 --- a/.vim_runtime/sources_non_forked/vim-gist/autoload/gist.vim +++ /dev/null @@ -1,1165 +0,0 @@ -"============================================================================= -" File: gist.vim -" Author: Yasuhiro Matsumoto -" Last Change: 10-Oct-2016. -" Version: 7.3 -" WebPage: http://github.com/mattn/vim-gist -" License: BSD - -let s:save_cpo = &cpoptions -set cpoptions&vim - -if exists('g:gist_disabled') && g:gist_disabled == 1 - function! gist#Gist(...) abort - endfunction - finish -endif - -if !exists('g:github_user') && !executable('git') - echohl ErrorMsg | echomsg 'Gist: require ''git'' command' | echohl None - finish -endif - -if !executable('curl') - echohl ErrorMsg | echomsg 'Gist: require ''curl'' command' | echohl None - finish -endif - -if globpath(&rtp, 'autoload/webapi/http.vim') ==# '' - echohl ErrorMsg | echomsg 'Gist: require ''webapi'', install https://github.com/mattn/webapi-vim' | echohl None - finish -else - call webapi#json#true() -endif - -let s:gist_token_file = expand(get(g:, 'gist_token_file', '~/.gist-vim')) -let s:system = function(get(g:, 'webapi#system_function', 'system')) - -if !exists('g:github_user') - let g:github_user = substitute(s:system('git config --get github.user'), "\n", '', '') - if strlen(g:github_user) == 0 - let g:github_user = $GITHUB_USER - end -endif - -if !exists('g:gist_api_url') - let g:gist_api_url = substitute(s:system('git config --get github.apiurl'), "\n", '', '') - if strlen(g:gist_api_url) == 0 - let g:gist_api_url = 'https://api.github.com/' - end - if exists('g:github_api_url') && !exists('g:gist_shutup_issue154') - if matchstr(g:gist_api_url, 'https\?://\zs[^/]\+\ze') != matchstr(g:github_api_url, 'https\?://\zs[^/]\+\ze') - echohl WarningMsg - echo '--- Warning ---' - echo 'It seems that you set different URIs for github_api_url/gist_api_url.' - echo 'If you want to remove this message: let g:gist_shutup_issue154 = 1' - echohl None - if confirm('Continue?', '&Yes\n&No') != 1 - let g:gist_disabled = 1 - finish - endif - redraw! - endif - endif -endif -if g:gist_api_url !~# '/$' - let g:gist_api_url .= '/' -endif - -if !exists('g:gist_update_on_write') - let g:gist_update_on_write = 1 -endif - -function! s:get_browser_command() abort - let gist_browser_command = get(g:, 'gist_browser_command', '') - if gist_browser_command ==# '' - if has('win32') || has('win64') - let gist_browser_command = '!start rundll32 url.dll,FileProtocolHandler %URL%' - elseif has('mac') || has('macunix') || has('gui_macvim') || system('uname') =~? '^darwin' - let gist_browser_command = 'open %URL%' - elseif executable('xdg-open') - let gist_browser_command = 'xdg-open %URL%' - elseif executable('firefox') - let gist_browser_command = 'firefox %URL% &' - else - let gist_browser_command = '' - endif - endif - return gist_browser_command -endfunction - -function! s:open_browser(url) abort - let cmd = s:get_browser_command() - if len(cmd) == 0 - redraw - echohl WarningMsg - echo 'It seems that you don''t have general web browser. Open URL below.' - echohl None - echo a:url - return - endif - let quote = &shellxquote == '"' ? "'" : '"' - if cmd =~# '^!' - let cmd = substitute(cmd, '%URL%', '\=quote.a:url.quote', 'g') - silent! exec cmd - elseif cmd =~# '^:[A-Z]' - let cmd = substitute(cmd, '%URL%', '\=a:url', 'g') - exec cmd - else - let cmd = substitute(cmd, '%URL%', '\=quote.a:url.quote', 'g') - call system(cmd) - endif -endfunction - -function! s:shellwords(str) abort - let words = split(a:str, '\%(\([^ \t\''"]\+\)\|''\([^\'']*\)''\|"\(\%([^\"\\]\|\\.\)*\)"\)\zs\s*\ze') - let words = map(words, 'substitute(v:val, ''\\\([\\ ]\)'', ''\1'', "g")') - let words = map(words, 'matchstr(v:val, ''^\%\("\zs\(.*\)\ze"\|''''\zs\(.*\)\ze''''\|.*\)$'')') - return words -endfunction - -function! s:truncate(str, num) - let mx_first = '^\(.\)\(.*\)$' - let str = a:str - let ret = '' - let width = 0 - while 1 - let char = substitute(str, mx_first, '\1', '') - let cells = strdisplaywidth(char) - if cells == 0 || width + cells > a:num - break - endif - let width = width + cells - let ret .= char - let str = substitute(str, mx_first, '\2', '') - endwhile - while width + 1 <= a:num - let ret .= " " - let width = width + 1 - endwhile - return ret -endfunction - -function! s:format_gist(gist) abort - let files = sort(keys(a:gist.files)) - if empty(files) - return '' - endif - let file = a:gist.files[files[0]] - let name = file.filename - if has_key(file, 'content') - let code = file.content - let code = "\n".join(map(split(code, "\n"), '" ".v:val'), "\n") - else - let code = '' - endif - let desc = type(a:gist.description)==0 || a:gist.description ==# '' ? '' : a:gist.description - let name = substitute(name, '[\r\n\t]', ' ', 'g') - let name = substitute(name, ' ', ' ', 'g') - let desc = substitute(desc, '[\r\n\t]', ' ', 'g') - let desc = substitute(desc, ' ', ' ', 'g') - " Display a nice formatted (and truncated if needed) table of gists on screen - " Calculate field lengths for gist-listing formatting on screen - redir =>a |exe "sil sign place buffer=".bufnr('')|redir end - let signlist = split(a, '\n') - let width = winwidth(0) - ((&number||&relativenumber) ? &numberwidth : 0) - &foldcolumn - (len(signlist) > 2 ? 2 : 0) - let idlen = 33 - let namelen = get(g:, 'gist_namelength', 30) - let desclen = width - (idlen + namelen + 10) - return printf('gist: %s %s %s', s:truncate(a:gist.id, idlen), s:truncate(name, namelen), s:truncate(desc, desclen)) -endfunction - -" Note: A colon in the file name has side effects on Windows due to NTFS Alternate Data Streams; avoid it. -let s:bufprefix = 'gist' . (has('unix') ? ':' : '_') -function! s:GistList(gistls, page) abort - if a:gistls ==# '-all' - let url = g:gist_api_url.'gists/public' - elseif get(g:, 'gist_show_privates', 0) && a:gistls ==# 'starred' - let url = g:gist_api_url.'gists/starred' - elseif get(g:, 'gist_show_privates') && a:gistls ==# 'mine' - let url = g:gist_api_url.'gists' - else - let url = g:gist_api_url.'users/'.a:gistls.'/gists' - endif - let winnum = bufwinnr(bufnr(s:bufprefix.a:gistls)) - if winnum != -1 - if winnum != bufwinnr('%') - exe winnum 'wincmd w' - endif - setlocal modifiable - else - if get(g:, 'gist_list_vsplit', 0) - exec 'silent noautocmd vsplit +set\ winfixwidth ' s:bufprefix.a:gistls - elseif get(g:, 'gist_list_rightbelow', 0) - exec 'silent noautocmd rightbelow 5 split +set\ winfixheight ' s:bufprefix.a:gistls - else - exec 'silent noautocmd split' s:bufprefix.a:gistls - endif - endif - if a:page > 1 - let oldlines = getline(0, line('$')) - let url = url . '?page=' . a:page - endif - - setlocal modifiable - let old_undolevels = &undolevels - let oldlines = [] - silent %d _ - - redraw | echon 'Listing gists... ' - let auth = s:GistGetAuthHeader() - if len(auth) == 0 - bw! - redraw - echohl ErrorMsg | echomsg v:errmsg | echohl None - return - endif - let res = webapi#http#get(url, '', { "Authorization": auth }) - if v:shell_error != 0 - bw! - redraw - echohl ErrorMsg | echomsg 'Gists not found' | echohl None - return - endif - let content = webapi#json#decode(res.content) - if type(content) == 4 && has_key(content, 'message') && len(content.message) - bw! - redraw - echohl ErrorMsg | echomsg content.message | echohl None - if content.message ==# 'Bad credentials' - call delete(s:gist_token_file) - endif - return - endif - - let lines = map(filter(content, '!empty(v:val.files)'), 's:format_gist(v:val)') - call setline(1, split(join(lines, "\n"), "\n")) - - $put='more...' - - let b:gistls = a:gistls - let b:page = a:page - setlocal buftype=nofile bufhidden=hide noswapfile - setlocal cursorline - setlocal nomodified - setlocal nomodifiable - syntax match SpecialKey /^gist:/he=e-1 - syntax match Title /^gist: \S\+/hs=s+5 contains=ALL - nnoremap :call GistListAction(0) - nnoremap o :call GistListAction(0) - nnoremap b :call GistListAction(1) - nnoremap y :call GistListAction(2) - nnoremap p :call GistListAction(3) - nnoremap :bw - nnoremap :call GistListAction(1) - - cal cursor(1+len(oldlines),1) - nohlsearch - redraw | echo '' -endfunction - -function! gist#list_recursively(user, ...) abort - let use_cache = get(a:000, 0, 1) - let limit = get(a:000, 1, -1) - let verbose = get(a:000, 2, 1) - if a:user ==# 'mine' - let url = g:gist_api_url . 'gists' - elseif a:user ==# 'starred' - let url = g:gist_api_url . 'gists/starred' - else - let url = g:gist_api_url.'users/'.a:user.'/gists' - endif - - let auth = s:GistGetAuthHeader() - if len(auth) == 0 - " anonymous user cannot get gists to prevent infinite recursive loading - return [] - endif - - if use_cache && exists('g:gist_list_recursively_cache') - if has_key(g:gist_list_recursively_cache, a:user) - return webapi#json#decode(g:gist_list_recursively_cache[a:user]) - endif - endif - - let page = 1 - let gists = [] - let lastpage = -1 - - function! s:get_lastpage(res) abort - let links = split(a:res.header[match(a:res.header, 'Link')], ',') - let link = links[match(links, 'rel=[''"]last[''"]')] - let page = str2nr(matchlist(link, '\%(page=\)\(\d\+\)')[1]) - return page - endfunction - - if verbose > 0 - redraw | echon 'Loading gists...' - endif - - while limit == -1 || page <= limit - let res = webapi#http#get(url.'?page='.page, '', {'Authorization': auth}) - if limit == -1 - " update limit to the last page - let limit = s:get_lastpage(res) - endif - if verbose > 0 - redraw | echon 'Loading gists... ' . page . '/' . limit . ' pages has loaded.' - endif - let gists = gists + webapi#json#decode(res.content) - let page = page + 1 - endwhile - let g:gist_list_recursively_cache = get(g:, 'gist_list_recursively_cache', {}) - let g:gist_list_recursively_cache[a:user] = webapi#json#encode(gists) - return gists -endfunction - -function! gist#list(user, ...) abort - let page = get(a:000, 0, 0) - if a:user ==# '-all' - let url = g:gist_api_url.'gists/public' - elseif get(g:, 'gist_show_privates', 0) && a:user ==# 'starred' - let url = g:gist_api_url.'gists/starred' - elseif get(g:, 'gist_show_privates') && a:user ==# 'mine' - let url = g:gist_api_url.'gists' - else - let url = g:gist_api_url.'users/'.a:user.'/gists' - endif - - let auth = s:GistGetAuthHeader() - if len(auth) == 0 - return [] - endif - let res = webapi#http#get(url, '', { "Authorization": auth }) - return webapi#json#decode(res.content) -endfunction - -function! s:GistGetFileName(gistid) abort - let auth = s:GistGetAuthHeader() - if len(auth) == 0 - return '' - endif - let res = webapi#http#get(g:gist_api_url.'gists/'.a:gistid, '', { "Authorization": auth }) - let gist = webapi#json#decode(res.content) - if has_key(gist, 'files') - return sort(keys(gist.files))[0] - endif - return '' -endfunction - -function! s:GistDetectFiletype(gistid) abort - let auth = s:GistGetAuthHeader() - if len(auth) == 0 - return '' - endif - let res = webapi#http#get(g:gist_api_url.'gists/'.a:gistid, '', { "Authorization": auth }) - let gist = webapi#json#decode(res.content) - let filename = sort(keys(gist.files))[0] - let ext = fnamemodify(filename, ':e') - if has_key(s:extmap, ext) - let type = s:extmap[ext] - else - let type = get(gist.files[filename], 'type', 'text') - endif - silent! exec 'setlocal ft='.tolower(type) -endfunction - -function! s:GistWrite(fname) abort - if substitute(a:fname, '\\', '/', 'g') == expand("%:p:gs@\\@/@") - if g:gist_update_on_write != 2 || v:cmdbang - Gist -e - else - echohl ErrorMsg | echomsg 'Please type ":w!" to update a gist.' | echohl None - endif - else - exe 'w'.(v:cmdbang ? '!' : '') fnameescape(v:cmdarg) fnameescape(a:fname) - silent! exe 'file' fnameescape(a:fname) - silent! au! BufWriteCmd - endif -endfunction - -function! s:GistGet(gistid, clipboard) abort - redraw | echon 'Getting gist... ' - let res = webapi#http#get(g:gist_api_url.'gists/'.a:gistid, '', { "Authorization": s:GistGetAuthHeader() }) - if res.status =~# '^2' - try - let gist = webapi#json#decode(res.content) - catch - redraw - echohl ErrorMsg | echomsg 'Gist seems to be broken' | echohl None - return - endtry - if get(g:, 'gist_get_multiplefile', 0) != 0 - let num_file = len(keys(gist.files)) - else - let num_file = 1 - endif - redraw - if num_file > len(keys(gist.files)) - echohl ErrorMsg | echomsg 'Gist not found' | echohl None - return - endif - augroup GistWrite - au! - augroup END - for n in range(num_file) - try - let old_undolevels = &undolevels - let filename = sort(keys(gist.files))[n] - - let winnum = bufwinnr(bufnr(s:bufprefix.a:gistid.'/'.filename)) - if winnum != -1 - if winnum != bufwinnr('%') - exe winnum 'wincmd w' - endif - setlocal modifiable - else - if num_file == 1 - if get(g:, 'gist_edit_with_buffers', 0) - let found = -1 - for wnr in range(1, winnr('$')) - let bnr = winbufnr(wnr) - if bnr != -1 && !empty(getbufvar(bnr, 'gist')) - let found = wnr - break - endif - endfor - if found != -1 - exe found 'wincmd w' - setlocal modifiable - else - if get(g:, 'gist_list_vsplit', 0) - exec 'silent noautocmd rightbelow vnew' - else - exec 'silent noautocmd rightbelow new' - endif - endif - else - silent only! - if get(g:, 'gist_list_vsplit', 0) - exec 'silent noautocmd rightbelow vnew' - else - exec 'silent noautocmd rightbelow new' - endif - endif - else - if get(g:, 'gist_list_vsplit', 0) - exec 'silent noautocmd rightbelow vnew' - else - exec 'silent noautocmd rightbelow new' - endif - endif - setlocal noswapfile - silent exec 'noautocmd file' s:bufprefix.a:gistid.'/'.fnameescape(filename) - endif - set undolevels=-1 - filetype detect - silent %d _ - - let content = gist.files[filename].content - call setline(1, split(content, "\n")) - let b:gist = { - \ "filename": filename, - \ "id": gist.id, - \ "description": gist.description, - \ "private": gist.public =~ 'true', - \} - catch - let &undolevels = old_undolevels - bw! - redraw - echohl ErrorMsg | echomsg 'Gist contains binary' | echohl None - return - endtry - let &undolevels = old_undolevels - setlocal buftype=acwrite bufhidden=hide noswapfile - setlocal nomodified - doau StdinReadPost,BufRead,BufReadPost - let gist_detect_filetype = get(g:, 'gist_detect_filetype', 0) - if (&ft ==# '' && gist_detect_filetype == 1) || gist_detect_filetype == 2 - call s:GistDetectFiletype(a:gistid) - endif - if a:clipboard - if exists('g:gist_clip_command') - exec 'silent w !'.g:gist_clip_command - elseif has('clipboard') - silent! %yank + - else - %yank - endif - endif - 1 - augroup GistWrite - au! BufWriteCmd call s:GistWrite(expand("")) - augroup END - endfor - else - bw! - redraw - echohl ErrorMsg | echomsg 'Gist not found' | echohl None - return - endif -endfunction - -function! s:GistListAction(mode) abort - let line = getline('.') - let mx = '^gist:\s*\zs\(\w\+\)\ze.*' - if line =~# mx - let gistid = matchstr(line, mx) - if a:mode == 1 - call s:open_browser('https://gist.github.com/' . gistid) - elseif a:mode == 0 - call s:GistGet(gistid, 0) - wincmd w - bw - elseif a:mode == 2 - call s:GistGet(gistid, 1) - " TODO close with buffe rname - bdelete - bdelete - elseif a:mode == 3 - call s:GistGet(gistid, 1) - " TODO close with buffe rname - bdelete - bdelete - normal! "+p - endif - return - endif - if line =~# '^more\.\.\.$' - call s:GistList(b:gistls, b:page+1) - return - endif -endfunction - -function! s:GistUpdate(content, gistid, gistnm, desc) abort - let gist = { "id": a:gistid, "files" : {}, "description": "","public": function('webapi#json#true') } - if exists('b:gist') - if has_key(b:gist, 'filename') && len(a:gistnm) > 0 - let gist.files[b:gist.filename] = { "content": '', "filename": b:gist.filename } - let b:gist.filename = a:gistnm - endif - if has_key(b:gist, 'private') && b:gist.private | let gist['public'] = function('webapi#json#false') | endif - if has_key(b:gist, 'description') | let gist['description'] = b:gist.description | endif - if has_key(b:gist, 'filename') | let filename = b:gist.filename | endif - else - let filename = a:gistnm - if len(filename) == 0 | let filename = s:GistGetFileName(a:gistid) | endif - if len(filename) == 0 | let filename = s:get_current_filename(1) | endif - endif - - let auth = s:GistGetAuthHeader() - if len(auth) == 0 - redraw - echohl ErrorMsg | echomsg v:errmsg | echohl None - return - endif - - " Update description - " If no new description specified, keep the old description - if a:desc !=# ' ' - let gist['description'] = a:desc - else - let res = webapi#http#get(g:gist_api_url.'gists/'.a:gistid, '', { "Authorization": auth }) - if res.status =~# '^2' - let old_gist = webapi#json#decode(res.content) - let gist['description'] = old_gist.description - endif - endif - - let gist.files[filename] = { "content": a:content, "filename": filename } - - redraw | echon 'Updating gist... ' - let res = webapi#http#post(g:gist_api_url.'gists/' . a:gistid, - \ webapi#json#encode(gist), { - \ "Authorization": auth, - \ "Content-Type": "application/json", - \}) - if res.status =~# '^2' - let obj = webapi#json#decode(res.content) - let loc = obj['html_url'] - let b:gist = {"id": a:gistid, "filename": filename} - setlocal nomodified - redraw | echomsg 'Done: '.loc - else - let loc = '' - echohl ErrorMsg | echomsg 'Post failed: ' . res.message | echohl None - endif - return loc -endfunction - -function! s:GistDelete(gistid) abort - let auth = s:GistGetAuthHeader() - if len(auth) == 0 - redraw - echohl ErrorMsg | echomsg v:errmsg | echohl None - return - endif - - redraw | echon 'Deleting gist... ' - let res = webapi#http#post(g:gist_api_url.'gists/'.a:gistid, '', { - \ "Authorization": auth, - \ "Content-Type": "application/json", - \}, 'DELETE') - if res.status =~# '^2' - if exists('b:gist') - unlet b:gist - endif - redraw | echomsg 'Done: ' - else - echohl ErrorMsg | echomsg 'Delete failed: ' . res.message | echohl None - endif -endfunction - -function! s:get_current_filename(no) abort - let filename = expand('%:t') - if len(filename) == 0 && &ft !=# '' - let pair = filter(items(s:extmap), 'v:val[1] == &ft') - if len(pair) > 0 - let filename = printf('gistfile%d%s', a:no, pair[0][0]) - endif - endif - if filename ==# '' - let filename = printf('gistfile%d.txt', a:no) - endif - return filename -endfunction - -function! s:update_GistID(id) abort - let view = winsaveview() - normal! gg - let ret = 0 - if search('\:\s*$') - let line = getline('.') - let line = substitute(line, '\s\+$', '', 'g') - call setline('.', line . ' ' . a:id) - let ret = 1 - endif - call winrestview(view) - return ret -endfunction - -" GistPost function: -" Post new gist to github -" -" if there is an embedded gist url or gist id in your file, -" it will just update it. -" -- by c9s -" -" embedded gist id format: -" -" GistID: 123123 -" -function! s:GistPost(content, private, desc, anonymous) abort - let gist = { "files" : {}, "description": "","public": function('webapi#json#true') } - if a:desc !=# ' ' | let gist['description'] = a:desc | endif - if a:private | let gist['public'] = function('webapi#json#false') | endif - let filename = s:get_current_filename(1) - let gist.files[filename] = { "content": a:content, "filename": filename } - - let header = {"Content-Type": "application/json"} - if !a:anonymous - let auth = s:GistGetAuthHeader() - if len(auth) == 0 - redraw - echohl ErrorMsg | echomsg v:errmsg | echohl None - return - endif - let header['Authorization'] = auth - endif - - redraw | echon 'Posting it to gist... ' - let res = webapi#http#post(g:gist_api_url.'gists', webapi#json#encode(gist), header) - if res.status =~# '^2' - let obj = webapi#json#decode(res.content) - let loc = obj['html_url'] - let b:gist = { - \ "filename": filename, - \ "id": matchstr(loc, '[^/]\+$'), - \ "description": gist['description'], - \ "private": a:private, - \} - if s:update_GistID(b:gist['id']) - Gist -e - endif - redraw | echomsg 'Done: '.loc - else - let loc = '' - echohl ErrorMsg | echomsg 'Post failed: '. res.message | echohl None - endif - return loc -endfunction - -function! s:GistPostBuffers(private, desc, anonymous) abort - let bufnrs = range(1, bufnr('$')) - let bn = bufnr('%') - let query = [] - - let gist = { "files" : {}, "description": "","public": function('webapi#json#true') } - if a:desc !=# ' ' | let gist['description'] = a:desc | endif - if a:private | let gist['public'] = function('webapi#json#false') | endif - - let index = 1 - for bufnr in bufnrs - if !bufexists(bufnr) || buflisted(bufnr) == 0 - continue - endif - echo 'Creating gist content'.index.'... ' - silent! exec 'buffer!' bufnr - let content = join(getline(1, line('$')), "\n") - let filename = s:get_current_filename(index) - let gist.files[filename] = { "content": content, "filename": filename } - let index = index + 1 - endfor - silent! exec 'buffer!' bn - - let header = {"Content-Type": "application/json"} - if !a:anonymous - let auth = s:GistGetAuthHeader() - if len(auth) == 0 - redraw - echohl ErrorMsg | echomsg v:errmsg | echohl None - return - endif - let header['Authorization'] = auth - endif - - redraw | echon 'Posting it to gist... ' - let res = webapi#http#post(g:gist_api_url.'gists', webapi#json#encode(gist), header) - if res.status =~# '^2' - let obj = webapi#json#decode(res.content) - let loc = obj['html_url'] - let b:gist = { - \ "filename": filename, - \ "id": matchstr(loc, '[^/]\+$'), - \ "description": gist['description'], - \ "private": a:private, - \} - if s:update_GistID(b:gist['id']) - Gist -e - endif - redraw | echomsg 'Done: '.loc - else - let loc = '' - echohl ErrorMsg | echomsg 'Post failed: ' . res.message | echohl None - endif - return loc -endfunction - -function! gist#Gist(count, bang, line1, line2, ...) abort - redraw - let bufname = bufname('%') - " find GistID: in content , then we should just update - let gistid = '' - let gistls = '' - let gistnm = '' - let gistdesc = ' ' - let private = get(g:, 'gist_post_private', 0) - let multibuffer = 0 - let clipboard = 0 - let deletepost = 0 - let editpost = 0 - let anonymous = get(g:, 'gist_post_anonymous', 0) - let openbrowser = 0 - let listmx = '^\%(-l\|--list\)\s*\([^\s]\+\)\?$' - let bufnamemx = '^' . s:bufprefix .'\(\zs[0-9a-f]\+\ze\|\zs[0-9a-f]\+\ze[/\\].*\)$' - if strlen(g:github_user) == 0 && anonymous == 0 - echohl ErrorMsg | echomsg 'You have not configured a Github account. Read '':help gist-setup''.' | echohl None - return - endif - if a:bang == '!' - let gistidbuf = '' - elseif bufname =~# bufnamemx - let gistidbuf = matchstr(bufname, bufnamemx) - elseif exists('b:gist') && has_key(b:gist, 'id') - let gistidbuf = b:gist['id'] - else - let gistidbuf = matchstr(join(getline(a:line1, a:line2), "\n"), 'GistID:\s*\zs\w\+') - endif - - let args = (a:0 > 0) ? s:shellwords(a:1) : [] - for arg in args - if arg =~# '^\(-h\|--help\)$\C' - help :Gist - return - elseif arg =~# '^\(-g\|--git\)$\C' && gistidbuf !=# '' && g:gist_api_url ==# 'https://api.github.com/' && has_key(b:, 'gist') && has_key(b:gist, 'id') - echo printf('git clone git@github.com:%s', b:gist['id']) - return - elseif arg =~# '^\(-G\|--gitclone\)$\C' && gistidbuf !=# '' && g:gist_api_url ==# 'https://api.github.com/' && has_key(b:, 'gist') && has_key(b:gist, 'id') - exe '!' printf('git clone git@github.com:%s', b:gist['id']) - return - elseif arg =~# '^\(-la\|--listall\)$\C' - let gistls = '-all' - elseif arg =~# '^\(-ls\|--liststar\)$\C' - let gistls = 'starred' - elseif arg =~# '^\(-l\|--list\)$\C' - if get(g:, 'gist_show_privates') - let gistls = 'mine' - else - let gistls = g:github_user - endif - elseif arg =~# '^\(-m\|--multibuffer\)$\C' - let multibuffer = 1 - elseif arg =~# '^\(-p\|--private\)$\C' - let private = 1 - elseif arg =~# '^\(-P\|--public\)$\C' - let private = 0 - elseif arg =~# '^\(-a\|--anonymous\)$\C' - let anonymous = 1 - elseif arg =~# '^\(-s\|--description\)$\C' - let gistdesc = '' - elseif arg =~# '^\(-c\|--clipboard\)$\C' - let clipboard = 1 - elseif arg =~# '^--rawurl$\C' && gistidbuf !=# '' && g:gist_api_url ==# 'https://api.github.com/' - let gistid = gistidbuf - echo 'https://gist.github.com/raw/'.gistid - return - elseif arg =~# '^\(-d\|--delete\)$\C' && gistidbuf !=# '' - let gistid = gistidbuf - let deletepost = 1 - elseif arg =~# '^\(-e\|--edit\)$\C' - if gistidbuf !=# '' - let gistid = gistidbuf - endif - let editpost = 1 - elseif arg =~# '^\(+1\|--star\)$\C' && gistidbuf !=# '' - let auth = s:GistGetAuthHeader() - if len(auth) == 0 - echohl ErrorMsg | echomsg v:errmsg | echohl None - else - let gistid = gistidbuf - let res = webapi#http#post(g:gist_api_url.'gists/'.gistid.'/star', '', { "Authorization": auth }, 'PUT') - if res.status =~# '^2' - echomsg 'Starred' gistid - else - echohl ErrorMsg | echomsg 'Star failed' | echohl None - endif - endif - return - elseif arg =~# '^\(-1\|--unstar\)$\C' && gistidbuf !=# '' - let auth = s:GistGetAuthHeader() - if len(auth) == 0 - echohl ErrorMsg | echomsg v:errmsg | echohl None - else - let gistid = gistidbuf - let res = webapi#http#post(g:gist_api_url.'gists/'.gistid.'/star', '', { "Authorization": auth }, 'DELETE') - if res.status =~# '^2' - echomsg 'Unstarred' gistid - else - echohl ErrorMsg | echomsg 'Unstar failed' | echohl None - endif - endif - return - elseif arg =~# '^\(-f\|--fork\)$\C' && gistidbuf !=# '' - let auth = s:GistGetAuthHeader() - if len(auth) == 0 - echohl ErrorMsg | echomsg v:errmsg | echohl None - return - else - let gistid = gistidbuf - let res = webapi#http#post(g:gist_api_url.'gists/'.gistid.'/fork', '', { "Authorization": auth }) - if res.status =~# '^2' - let obj = webapi#json#decode(res.content) - let gistid = obj['id'] - else - echohl ErrorMsg | echomsg 'Fork failed' | echohl None - return - endif - endif - elseif arg =~# '^\(-b\|--browser\)$\C' - let openbrowser = 1 - elseif arg !~# '^-' && len(gistnm) == 0 - if gistdesc !=# ' ' - let gistdesc = matchstr(arg, '^\s*\zs.*\ze\s*$') - elseif editpost == 1 || deletepost == 1 - let gistnm = arg - elseif len(gistls) > 0 && arg !=# '^\w\+$\C' - let gistls = arg - elseif arg =~# '^[0-9a-z]\+$\C' - let gistid = arg - else - echohl ErrorMsg | echomsg 'Invalid arguments: '.arg | echohl None - unlet args - return 0 - endif - elseif len(arg) > 0 - echohl ErrorMsg | echomsg 'Invalid arguments: '.arg | echohl None - unlet args - return 0 - endif - endfor - unlet args - "echom "gistid=".gistid - "echom "gistls=".gistls - "echom "gistnm=".gistnm - "echom "gistdesc=".gistdesc - "echom "private=".private - "echom "clipboard=".clipboard - "echom "editpost=".editpost - "echom "deletepost=".deletepost - - if gistidbuf !=# '' && gistid ==# '' && editpost == 0 && deletepost == 0 && anonymous == 0 - let editpost = 1 - let gistid = gistidbuf - endif - - if len(gistls) > 0 - call s:GistList(gistls, 1) - elseif len(gistid) > 0 && editpost == 0 && deletepost == 0 - call s:GistGet(gistid, clipboard) - else - let url = '' - if multibuffer == 1 - let url = s:GistPostBuffers(private, gistdesc, anonymous) - else - if a:count < 1 - let content = join(getline(a:line1, a:line2), "\n") - else - let save_regcont = @" - let save_regtype = getregtype('"') - silent! normal! gvy - let content = @" - call setreg('"', save_regcont, save_regtype) - endif - if editpost == 1 - let url = s:GistUpdate(content, gistid, gistnm, gistdesc) - elseif deletepost == 1 - call s:GistDelete(gistid) - else - let url = s:GistPost(content, private, gistdesc, anonymous) - endif - if a:count >= 1 && get(g:, 'gist_keep_selection', 0) == 1 - silent! normal! gv - endif - endif - if type(url) == 1 && len(url) > 0 - if get(g:, 'gist_open_browser_after_post', 0) == 1 || openbrowser - call s:open_browser(url) - endif - let gist_put_url_to_clipboard_after_post = get(g:, 'gist_put_url_to_clipboard_after_post', 1) - if gist_put_url_to_clipboard_after_post > 0 || clipboard - if gist_put_url_to_clipboard_after_post == 2 - let url = url . "\n" - endif - if exists('g:gist_clip_command') - call system(g:gist_clip_command, url) - elseif has('clipboard') - let @+ = url - else - let @" = url - endif - endif - endif - endif - return 1 -endfunction - -function! s:GistGetAuthHeader() abort - if get(g:, 'gist_use_password_in_gitconfig', 0) != 0 - let password = substitute(system('git config --get github.password'), "\n", '', '') - if password =~# '^!' | let password = system(password[1:]) | endif - return printf('basic %s', webapi#base64#b64encode(g:github_user.':'.password)) - endif - let auth = '' - if !empty(get(g:, 'gist_token', $GITHUB_TOKEN)) - let auth = 'token ' . get(g:, 'gist_token', $GITHUB_TOKEN) - elseif filereadable(s:gist_token_file) - let str = join(readfile(s:gist_token_file), '') - if type(str) == 1 - let auth = str - endif - endif - if len(auth) > 0 - return auth - endif - - redraw - echohl WarningMsg - echo 'Gist.vim requires authorization to use the GitHub API. These settings are stored in "~/.gist-vim". If you want to revoke, do "rm ~/.gist-vim".' - echohl None - let password = inputsecret('GitHub Password for '.g:github_user.':') - if len(password) == 0 - let v:errmsg = 'Canceled' - return '' - endif - let note = 'Gist.vim on '.hostname().' '.strftime('%Y/%m/%d-%H:%M:%S') - let note_url = 'http://www.vim.org/scripts/script.php?script_id=2423' - let insecureSecret = printf('basic %s', webapi#base64#b64encode(g:github_user.':'.password)) - let res = webapi#http#post(g:gist_api_url.'authorizations', webapi#json#encode({ - \ "scopes" : ["gist"], - \ "note" : note, - \ "note_url" : note_url, - \}), { - \ "Content-Type" : "application/json", - \ "Authorization" : insecureSecret, - \}) - let h = filter(res.header, 'stridx(v:val, "X-GitHub-OTP:") == 0') - if len(h) - let otp = inputsecret('OTP:') - if len(otp) == 0 - let v:errmsg = 'Canceled' - return '' - endif - let res = webapi#http#post(g:gist_api_url.'authorizations', webapi#json#encode({ - \ "scopes" : ["gist"], - \ "note" : note, - \ "note_url" : note_url, - \}), { - \ "Content-Type" : "application/json", - \ "Authorization" : insecureSecret, - \ "X-GitHub-OTP" : otp, - \}) - endif - let authorization = webapi#json#decode(res.content) - if has_key(authorization, 'token') - let secret = printf('token %s', authorization.token) - call writefile([secret], s:gist_token_file) - if !(has('win32') || has('win64')) - call system('chmod go= '.s:gist_token_file) - endif - elseif has_key(authorization, 'message') - let secret = '' - let v:errmsg = authorization.message - endif - return secret -endfunction - -let s:extmap = extend({ -\".adb": "ada", -\".ahk": "ahk", -\".arc": "arc", -\".as": "actionscript", -\".asm": "asm", -\".asp": "asp", -\".aw": "php", -\".b": "b", -\".bat": "bat", -\".befunge": "befunge", -\".bmx": "bmx", -\".boo": "boo", -\".c-objdump": "c-objdump", -\".c": "c", -\".cfg": "cfg", -\".cfm": "cfm", -\".ck": "ck", -\".cl": "cl", -\".clj": "clj", -\".cmake": "cmake", -\".coffee": "coffee", -\".cpp": "cpp", -\".cppobjdump": "cppobjdump", -\".cs": "csharp", -\".css": "css", -\".cw": "cw", -\".d-objdump": "d-objdump", -\".d": "d", -\".darcspatch": "darcspatch", -\".diff": "diff", -\".duby": "duby", -\".dylan": "dylan", -\".e": "e", -\".ebuild": "ebuild", -\".eclass": "eclass", -\".el": "lisp", -\".erb": "erb", -\".erl": "erlang", -\".f90": "f90", -\".factor": "factor", -\".feature": "feature", -\".fs": "fs", -\".fy": "fy", -\".go": "go", -\".groovy": "groovy", -\".gs": "gs", -\".gsp": "gsp", -\".haml": "haml", -\".hs": "haskell", -\".html": "html", -\".hx": "hx", -\".ik": "ik", -\".ino": "ino", -\".io": "io", -\".j": "j", -\".java": "java", -\".js": "javascript", -\".json": "json", -\".jsp": "jsp", -\".kid": "kid", -\".lhs": "lhs", -\".lisp": "lisp", -\".ll": "ll", -\".lua": "lua", -\".ly": "ly", -\".m": "objc", -\".mak": "mak", -\".man": "man", -\".mao": "mao", -\".matlab": "matlab", -\".md": "markdown", -\".minid": "minid", -\".ml": "ml", -\".moo": "moo", -\".mu": "mu", -\".mustache": "mustache", -\".mxt": "mxt", -\".myt": "myt", -\".n": "n", -\".nim": "nim", -\".nu": "nu", -\".numpy": "numpy", -\".objdump": "objdump", -\".ooc": "ooc", -\".parrot": "parrot", -\".pas": "pas", -\".pasm": "pasm", -\".pd": "pd", -\".phtml": "phtml", -\".pir": "pir", -\".pl": "perl", -\".po": "po", -\".py": "python", -\".pytb": "pytb", -\".pyx": "pyx", -\".r": "r", -\".raw": "raw", -\".rb": "ruby", -\".rhtml": "rhtml", -\".rkt": "rkt", -\".rs": "rs", -\".rst": "rst", -\".s": "s", -\".sass": "sass", -\".sc": "sc", -\".scala": "scala", -\".scm": "scheme", -\".scpt": "scpt", -\".scss": "scss", -\".self": "self", -\".sh": "sh", -\".sml": "sml", -\".sql": "sql", -\".st": "smalltalk", -\".swift": "swift", -\".tcl": "tcl", -\".tcsh": "tcsh", -\".tex": "tex", -\".textile": "textile", -\".tpl": "smarty", -\".twig": "twig", -\".txt" : "text", -\".v": "verilog", -\".vala": "vala", -\".vb": "vbnet", -\".vhd": "vhdl", -\".vim": "vim", -\".weechatlog": "weechatlog", -\".xml": "xml", -\".xq": "xquery", -\".xs": "xs", -\".yml": "yaml", -\}, get(g:, 'gist_extmap', {})) - -let &cpo = s:save_cpo -unlet s:save_cpo - -" vim:set et: diff --git a/.vim_runtime/sources_non_forked/vim-gist/doc/gist-vim.txt b/.vim_runtime/sources_non_forked/vim-gist/doc/gist-vim.txt deleted file mode 100644 index 88c46d1..0000000 --- a/.vim_runtime/sources_non_forked/vim-gist/doc/gist-vim.txt +++ /dev/null @@ -1,358 +0,0 @@ -*Gist.vim* Vimscript for creating gists (http://gist.github.com) - -Usage |vim-gist-usage| -Tips |vim-gist-tips| -License |vim-gist-license| -Install |vim-gist-install| -Requirements |vim-gist-requirements| -Setup |vim-gist-setup| -FAQ |vim-gist-faq| - -This is a vimscript for creating gists (http://gist.github.com) - -For the latest version please see https://github.com/mattn/vim-gist. - -============================================================================== -USAGE *:Gist* *vim-gist-usage* - -- Post current buffer to gist, using default privacy option. > - - :Gist -< -- Post selected text to gist, using default privacy option. - This applies to all permutations listed below (except multi). > - - :'<,'>Gist -< -- Create a private gist. > - - :Gist -p - :Gist --private -< -- Create a public gist. - (Only relevant if you've set gists to be private by default.) > - - :Gist -P - :Gist --public -< -- Post whole text to gist as public. - This is only relevant if you've set gists to be private by default. -> - :Gist -P -< -- Create a gist anonymously. > - - :Gist -a - :Gist --anonymous -< -- Create a gist with all open buffers. > - - :Gist -m - :Gist --multibuffer -< -- Edit the gist (you need to have opened the gist buffer first). - You can update the gist with the {:w} command within the gist buffer. > - - :Gist -e - :Gist --edit -< -- Edit the gist with name "foo.js" (you need to have opened the gist buffer - first). > - - :Gist -e foo.js -< -- Post/Edit with the description " (you need to have opened the gist buffer - first). > - - :Gist -s something - :Gist --description something - :Gist -e -s something -< -- Delete the gist (you need to have opened the gist buffer first). - Password authentication is needed. > - - :Gist -d - :Gist --delete -< -- Fork the gist (you need to have opened the gist buffer first). - Password authentication is needed. > - - :Gist -f - :Gist --fork -< -- Star the gist (you need to have opened the gist buffer first). - Password authentication is needed. -> - :Gist +1 -< -- Unstar the gist (you need to have opened the gist buffer first). - Password authentication is needed. -> - :Gist -1 -< -- Get gist XXXXX. > - - :Gist XXXXX -< -- Get gist XXXXX and add to clipboard. > - - :Gist -c XXXXX -< -- List your public gists. > - - :Gist -l - :Gist --list -< -- List gists from user "mattn". > - - :Gist -l mattn -< -- List everyone's gists. > - - :Gist -la - :Gist --listall -< -- List gists from your starred gists. -> - :Gist -ls - :Gist --liststar - -- While the gist list is visible, the following mappings apply: - - - 'o' or 'Enter' will open the selected gist file in a new buffer - and close the vim-gist listing split. - - 'b' will open the selected gist file in a browser. If you are in - GUI vim you can also achieve this by pressing 'Shift-Enter'. - - 'y' will copy the contents of the selected gist to the clipboard, - and close the vim-gist listing split. - - 'p' will (copy and) paste the contents of the selected gist to the - buffer from which vim-gist was called, and close the vim-gist - listing split. - - 'Esc' will close the vim-gist listing split without performing any - further action. - -- Open the gist on browser after you post or update it. -> - :Gist -b - :Gist --browser -< -- Post as new gist after editing on the buffer. -> - :Gist! -< -============================================================================== -TIPS *vim-gist-tips* - -If you set "g:gist_clip_command", gist.vim will copy the gist code with option -"-c". - - - Mac: > - let g:gist_clip_command = 'pbcopy' -< - - Linux: > - let g:gist_clip_command = 'xclip -selection clipboard' -< - - Others (cygwin?): > - let g:gist_clip_command = 'putclip' -< -If you want to detect filetype from the filename: > - - let g:gist_detect_filetype = 1 -< -If you want to open the browser after the post: > - - let g:gist_open_browser_after_post = 1 -< -If you want to change the browser: > - - let g:gist_browser_command = 'w3m %URL%' -< -or: > - - let g:gist_browser_command = 'opera %URL% &' -< -On windows, this should work with your user settings. - -If you want to show your private gists with ":Gist -l": > - - let g:gist_show_privates = 1 -< -If you want your gist to be private by default: > - - let g:gist_post_private = 1 -< -If you want your gist to be anonymous by default: > - - let g:gist_post_anonymous = 1 -< -If you want to edit all files for gists containing more than one: > - - let g:gist_get_multiplefile = 1 -< -If you want to use on GitHub Enterprise: > - - let g:gist_api_url = 'http://your-github-enterprise-domain/api/v3' -< -If you want to open gist with current editing buffers: > - - let g:gist_edit_with_buffers = 1 - -If you want to open gist list/buffer as vertical split: > - - let g:gist_list_vsplit = 1 - -If you want to modify filetype for the file on github, or add mapping of -filetype/file-extension: > - - let g:gist_extmap = { ".swift": "swift" } -< - key is file-extension, value is filetype. - -If you want to update a gist, embed > - - GistID: xxxxx -> -in your local file, then call > - - :Gist - -The vim-gist listing split lists gists ids, names (filenames) as well as -their description. This is done following a table layout, with fixed space -for each column. For offering quick browsing, vim-gist will truncate all -output exceeding the available horizontal space, assuring that every gist -listed only takes one line on the table. Although the gist id field width is -fixed internally, the user can define the length of the (file)name field on -the vim-gist listing. This can be done by the following declaration: - - let g:gist_namelength = 20 - -Note that the default value for gist_namelength is 30. Again, if the gist -(file)name exceeds the specified number of characters, it will be truncated. - -If you want to update a gist when only |:w!|: > - - " :w and :w! update a gist. - let g:gist_update_on_write = 1 - - " Only :w! updates a gist. - let g:gist_update_on_write = 2 -> -All other values are treated as 1. -This variable's value is 1 by default. - -============================================================================== -LICENSE *vim-gist-license* - - - Copyright 2010 by Yasuhiro Matsumoto - modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - OF THE POSSIBILITY OF SUCH DAMAGE. - -============================================================================== -INSTALL *vim-gist-install* - -Copy following files into your plugin directory. - -rtp: - - autoload/gist.vim - - plugin/gist.vim - -If you want to uninstall gist.vim, remember to also remove `~/.vim-gist`. - -You need to install webapi-vim also: - - http://www.vim.org/scripts/script.php?script_id=4019 - -If you want to use latest one: - - https://github.com/mattn/webapi-vim - -============================================================================== -REQUIREMENTS *vim-gist-requirements* - - - curl command (http://curl.haxx.se/) - - webapi-vim (https://github.com/mattn/webapi-vim) - - and, if you want to use your git profile, the git command-line client. - -============================================================================== -SETUP *vim-gist-setup* - -This plugin uses GitHub API v3. The authentication value is stored in `~/.vim-gist`. -vim-gist provides two ways to authenticate against the GitHub APIs. - -First, you need to set your GitHub username in global git config: -> - $ git config --global github.user Username -< -Then, gist.vim will ask for your password to create an authorization when you -first use it. The password is not stored and only the OAuth access token will -be kept for later use. You can revoke the token at any time from the list of -"Authorized applications" on GitHub's "Account Settings" page. -(https://github.com/settings/applications) - -If you have two-factor authentication enabled on GitHub, you'll see the message -"Must specify two-factor authentication OTP code." In this case, you need to -create a "Personal Access Token" on GitHub's "Account Settings" page -(https://github.com/settings/applications) and place it in a file -named ~/.vim-gist like this: -> - token xxxxx -< -If you happen to have your password already written in ~/.gitconfig like -below: -> - [github] - password = xxxxx -< -Then, add following into your ~/.vimrc -> - let g:gist_use_password_in_gitconfig = 1 -< -This is not secure at all, so strongly discouraged. - -NOTE: the username is optional if you only send anonymous gists. - -============================================================================== -FAQ *vim-gist-faq* - -Q. :Gist returns a Forbidden error -A. Try deleting ~/.vim-gist and authenticating again. - -============================================================================== -THANKS *vim-gist-thanks* - - AD7six - Bruno Bigras - c9s - Daniel Bretoi - Jeremy Michael Cantrell - Kien N - kongo2002 - MATSUU Takuto - Matthew Weier O'Phinney - ornicar - Roland Schilter - steve - tyru - Will Gray - netj - - vim:tw=78:ts=8:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/vim-gist/doc/tags b/.vim_runtime/sources_non_forked/vim-gist/doc/tags deleted file mode 100644 index 68c44ab..0000000 --- a/.vim_runtime/sources_non_forked/vim-gist/doc/tags +++ /dev/null @@ -1,10 +0,0 @@ -:Gist gist-vim.txt /*:Gist* -Gist.vim gist-vim.txt /*Gist.vim* -vim-gist-faq gist-vim.txt /*vim-gist-faq* -vim-gist-install gist-vim.txt /*vim-gist-install* -vim-gist-license gist-vim.txt /*vim-gist-license* -vim-gist-requirements gist-vim.txt /*vim-gist-requirements* -vim-gist-setup gist-vim.txt /*vim-gist-setup* -vim-gist-thanks gist-vim.txt /*vim-gist-thanks* -vim-gist-tips gist-vim.txt /*vim-gist-tips* -vim-gist-usage gist-vim.txt /*vim-gist-usage* diff --git a/.vim_runtime/sources_non_forked/vim-gist/plugin/gist.vim b/.vim_runtime/sources_non_forked/vim-gist/plugin/gist.vim deleted file mode 100644 index 4d4efe6..0000000 --- a/.vim_runtime/sources_non_forked/vim-gist/plugin/gist.vim +++ /dev/null @@ -1,23 +0,0 @@ -"============================================================================= -" File: gist.vim -" Author: Yasuhiro Matsumoto -" WebPage: http://github.com/mattn/vim-gist -" License: BSD -" GetLatestVimScripts: 2423 1 :AutoInstall: gist.vim -" script type: plugin - -if &compatible || (exists('g:loaded_gist_vim') && g:loaded_gist_vim) - finish -endif -let g:loaded_gist_vim = 1 - -function! s:CompleteArgs(arg_lead,cmdline,cursor_pos) - return filter(copy(["-p", "-P", "-a", "-m", "-e", "-s", "-d", "+1", "-1", "-f", "-c", "-l", "-la", "-ls", "-b", - \ "--listall", "--liststar", "--list", "--multibuffer", "--private", "--public", "--anonymous", "--description", "--clipboard", - \ "--rawurl", "--delete", "--edit", "--star", "--unstar", "--fork", "--browser" - \ ]), 'stridx(v:val, a:arg_lead)==0') -endfunction - -command! -nargs=? -range=% -bang -complete=customlist,s:CompleteArgs Gist :call gist#Gist(, "", , , ) - -" vim:set et: diff --git a/.vim_runtime/sources_non_forked/vim-gitgutter/.github/issue_template.md b/.vim_runtime/sources_non_forked/vim-gitgutter/.github/issue_template.md deleted file mode 100644 index a8335d0..0000000 --- a/.vim_runtime/sources_non_forked/vim-gitgutter/.github/issue_template.md +++ /dev/null @@ -1,5 +0,0 @@ -issue_template.md

-

What is the latest commit SHA in your installed vim-gitgutter?

- -

What vim/nvim version are you on?

-
diff --git a/.vim_runtime/sources_non_forked/vim-gitgutter/.gitignore b/.vim_runtime/sources_non_forked/vim-gitgutter/.gitignore deleted file mode 100644 index 82fb253..0000000 --- a/.vim_runtime/sources_non_forked/vim-gitgutter/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -/doc/tags -/misc -/test/*.actual -*.log - diff --git a/.vim_runtime/sources_non_forked/vim-gitgutter/LICENCE b/.vim_runtime/sources_non_forked/vim-gitgutter/LICENCE deleted file mode 100644 index 38e2dc2..0000000 --- a/.vim_runtime/sources_non_forked/vim-gitgutter/LICENCE +++ /dev/null @@ -1,22 +0,0 @@ -MIT License - -Copyright (c) Andrew Stewart - -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/.vim_runtime/sources_non_forked/vim-gitgutter/README.mkd b/.vim_runtime/sources_non_forked/vim-gitgutter/README.mkd deleted file mode 100644 index 350cebe..0000000 --- a/.vim_runtime/sources_non_forked/vim-gitgutter/README.mkd +++ /dev/null @@ -1,685 +0,0 @@ -## vim-gitgutter - -A Vim plugin which shows a git diff in the sign column. It shows which lines have been added, modified, or removed. You can also preview, stage, and undo individual hunks; and stage partial hunks. The plugin also provides a hunk text object. - -The signs are always up to date and the plugin never saves your buffer. - -The name "gitgutter" comes from the Sublime Text 3 plugin which inspired this in 2013. - -Features: - -* Shows signs for added, modified, and removed lines. -* Runs the diffs asynchronously where possible. -* Ensures signs are always up to date. -* Never saves the buffer. -* Quick jumping between blocks of changed lines ("hunks"). -* Stage/undo/preview individual hunks. -* Previews highlight intra-line changes. -* Stage partial hunks. -* Provides a hunk text object. -* Diffs against index (default) or any commit. -* Allows folding all unchanged text. -* Provides fold text showing whether folded lines have been changed. -* Can load all hunk locations into quickfix list or the current window's location list. -* Handles line endings correctly, even with repos that do CRLF conversion. -* Optional line highlighting. -* Optional line number highlighting. (Only available in Neovim 0.3.2 or higher) -* Fully customisable (signs, sign column, line (number) highlights, mappings, extra git-diff arguments, etc). -* Can be toggled on/off, globally or per buffer. -* Preserves signs from other plugins. -* Easy to integrate diff stats into status line; built-in integration with [vim-airline](https://github.com/bling/vim-airline/). -* Works with fish shell (in addition to the usual shells). - -Constraints: - -* Supports git only. If you work with other version control systems, I recommend [vim-signify](https://github.com/mhinz/vim-signify). -* Relies on the `FocusGained` event. If your terminal doesn't report focus events, either use something like [Terminus][] or set `let g:gitgutter_terminal_reports_focus=0`. For tmux, `set -g focus-events on` in your tmux.conf. - -Compatibility: - -Compatible back to Vim 7.4, and probably 7.3. - - -### Screenshot - -![screenshot](./screenshot.png?raw=true) - -In the screenshot above you can see: - -* Lines 183-184 are new. -* Lines 186-187 have been modified. -* The preview for the modified lines highlights changed regions within the line. - - -### Installation - -Install using your favourite package manager, or use Vim's built-in package support. - -Vim: - -``` -mkdir -p ~/.vim/pack/airblade/start -cd ~/.vim/pack/airblade/start -git clone https://github.com/airblade/vim-gitgutter.git -vim -u NONE -c "helptags vim-gitgutter/doc" -c q -``` - -Neovim: - - -``` -mkdir -p ~/.config/nvim/pack/airblade/start -cd ~/.config/nvim/pack/airblade/start -git clone https://github.com/airblade/vim-gitgutter.git -nvim -u NONE -c "helptags vim-gitgutter/doc" -c q -``` - - -### Windows - -I recommend configuring vim-gitgutter with the full path to your git executable. For example: - -```viml -let g:gitgutter_git_executable = 'C:\Program Files\Git\bin\git.exe' -``` - -This is to avoid a problem which occurs if you have file named `git.*` (i.e. with any extension in `PATHEXT`) in your current folder. `cmd.exe` prioritises the current folder over folders in `PATH` and will try to execute your file instead of the `git` binary. - - -### Getting started - -When you make a change to a file tracked by git, the diff markers should appear automatically. The delay is governed by vim's `updatetime` option; the default value is `4000`, i.e. 4 seconds, but I suggest reducing it to around 100ms (add `set updatetime=100` to your vimrc). Note `updatetime` also controls the delay before vim writes its swap file (see `:help updatetime`). - -You can jump between hunks with `[c` and `]c`. You can preview, stage, and undo hunks with `hp`, `hs`, and `hu` respectively. - -You cannot unstage a staged hunk. - -After updating the signs, the plugin fires the `GitGutter` User autocommand. - -After staging a hunk or part of a hunk, the plugin fires the `GitGutterStage` User autocommand. - - -#### Activation - -You can explicitly turn vim-gitgutter off and on (defaults to on): - -* turn off with `:GitGutterDisable` -* turn on with `:GitGutterEnable` -* toggle with `:GitGutterToggle`. - -To toggle vim-gitgutter per buffer: - -* turn off with `:GitGutterBufferDisable` -* turn on with `:GitGutterBufferEnable` -* toggle with `:GitGutterBufferToggle` - -You can turn the signs on and off (defaults to on): - -* turn on with `:GitGutterSignsEnable` -* turn off with `:GitGutterSignsDisable` -* toggle with `:GitGutterSignsToggle`. - -And you can turn line highlighting on and off (defaults to off): - -* turn on with `:GitGutterLineHighlightsEnable` -* turn off with `:GitGutterLineHighlightsDisable` -* toggle with `:GitGutterLineHighlightsToggle`. - -Note that if you have line highlighting on and signs off, you will have an empty sign column – more accurately, a sign column with invisible signs. This is because line highlighting requires signs and Vim/NeoVim always shows the sign column when there are signs even if the signs are invisible. - -With Neovim 0.3.2 or higher, you can turn line number highlighting on and off (defaults to off): - -* turn on with `:GitGutterLineNrHighlightsEnable` -* turn off with `:GitGutterLineNrHighlightsDisable` -* toggle with `:GitGutterLineNrHighlightsToggle`. - -The same caveat applies to line number highlighting as to line highlighting just above. - -If you switch off both line highlighting and signs, you won't see the sign column. - -In older Vims (pre 8.1.0614 / Neovim 0.4.0) vim-gitgutter will suppress the signs when a file has more than 500 changes, to avoid slowing down the UI. As soon as the number of changes falls below the limit vim-gitgutter will show the signs again. You can configure the threshold with: - -```viml -let g:gitgutter_max_signs = 500 " default value (Vim < 8.1.0614, Neovim < 0.4.0) -let g:gitgutter_max_signs = -1 " default value (otherwise) -``` - -You can also remove the limit by setting `g:gitgutter_max_signs = -1`. - -#### Hunks - -You can jump between hunks: - -* jump to next hunk (change): `]c` -* jump to previous hunk (change): `[c`. - -Both of those take a preceding count. - -To set your own mappings for these, for example `]h` and `[h`: - -```viml -nmap ]h (GitGutterNextHunk) -nmap [h (GitGutterPrevHunk) -``` - -You can load all your hunks into the quickfix list with `:GitGutterQuickFix`. Note this ignores any unsaved changes in your buffers. If the option `g:gitgutter_use_location_list` is set, this command will load hunks into the current window's location list instead. - -You can stage or undo an individual hunk when your cursor is in it: - -* stage the hunk with `hs` or -* undo it with `hu`. - -To stage part of an additions-only hunk by: - -* either visually selecting the part you want and staging with your mapping, e.g. `hs`; -* or using a range with the `GitGutterStageHunk` command, e.g. `:42,45GitGutterStageHunk`. - -To stage part of any hunk: - -* preview the hunk, e.g. `hp`; -* move to the preview window, e.g. `:wincmd P`; -* delete the lines you do not want to stage; -* stage the remaining lines: either write (`:w`) the window or stage via `hs` or `:GitGutterStageHunk`. - -Note the above workflow is not possible if you have opted in to preview hunks with Vim's popup windows. - -See the FAQ if you want to unstage staged changes. - -The `.` command will work with both these if you install [repeat.vim](https://github.com/tpope/vim-repeat). - -To set your own mappings for these, for example if you prefer `g`-based maps: - -```viml -nmap ghs (GitGutterStageHunk) -nmap ghu (GitGutterUndoHunk) -``` - -And you can preview a hunk's changes with `hp`. The location of the preview window is configured with `g:gitgutter_preview_win_location` (default `'bo'`). You can of course change this mapping, e.g: - -```viml -nmap ghp (GitGutterPreviewHunk) -``` - -A hunk text object is provided which works in visual and operator-pending modes. - -- `ic` operates on all lines in the current hunk. -- `ac` operates on all lines in the current hunk and any trailing empty lines. - -To re-map these, for example to `ih` and `ah`: - -```viml -omap ih (GitGutterTextObjectInnerPending) -omap ah (GitGutterTextObjectOuterPending) -xmap ih (GitGutterTextObjectInnerVisual) -xmap ah (GitGutterTextObjectOuterVisual) -``` - -If you don't want vim-gitgutter to set up any mappings at all, use this: - -```viml -let g:gitgutter_map_keys = 0 -``` - -Finally, you can force vim-gitgutter to update its signs across all visible buffers with `:GitGutterAll`. - -See the customisation section below for how to change the defaults. - - -### Folding - -Use the `GitGutterFold` command to fold all unchanged lines, leaving just the hunks visible. Use `zr` to unfold 3 lines of context above and below a hunk. - -Execute `GitGutterFold` a second time to restore the previous view. - -Use `gitgutter#fold#foldtext()` to augment the default `foldtext()` with an indicator of whether the folded lines have been changed. - -```viml -set foldtext=gitgutter#fold#foldtext() -``` - -For a closed fold with changed lines: - -``` -Default foldtext(): +-- 45 lines: abcdef -gitgutter#fold#foldtext(): +-- 45 lines (*): abcdef -``` - -You can use `gitgutter#fold#is_changed()` in your own `foldtext` expression to find out whether the folded lines have been changed. - - -### Status line - -Call the `GitGutterGetHunkSummary()` function from your status line to get a list of counts of added, modified, and removed lines in the current buffer. For example: - -```viml -" Your vimrc -function! GitStatus() - let [a,m,r] = GitGutterGetHunkSummary() - return printf('+%d ~%d -%d', a, m, r) -endfunction -set statusline+=%{GitStatus()} -``` - - -### Customisation - -You can customise: - -* The sign column's colours -* Whether or not the sign column is shown when there aren't any signs (defaults to no) -* How to handle non-gitgutter signs -* The signs' colours and symbols -* Line highlights -* Whether the diff is relative to the index (default) or working tree. -* The base of the diff -* Extra arguments for `git` when running `git diff` -* Extra arguments for `git diff` -* Key mappings -* Whether vim-gitgutter is on initially (defaults to on) -* Whether signs are shown (defaults to yes) -* Whether line highlighting is on initially (defaults to off) -* Whether line number highlighting is on initially (defaults to off) -* Whether vim-gitgutter runs asynchronously (defaults to yes) -* Whether to clobber or preserve non-gitgutter signs -* The priority of gitgutter's signs. -* Whether to use a floating/popup window for hunk previews -* Whether to populate the quickfix list or a location list with all hunks - -Please note that vim-gitgutter won't override any colours or highlights you've set in your colorscheme. - - -#### Sign column - -Set the `SignColumn` highlight group to change the sign column's colour. For example: - -```viml -" vim-gitgutter used to do this by default: -highlight! link SignColumn LineNr - -" or you could do this: -highlight SignColumn guibg=whatever ctermbg=whatever -``` - -By default the sign column will appear when there are signs to show and disappear when there aren't. To always have the sign column, add to your vimrc: - -```viml -" Vim 7.4.2201 -set signcolumn=yes -``` - -GitGutter can preserve or ignore non-gitgutter signs. For Vim v8.1.0614 and later you can set gitgutter's signs' priorities with `g:gitgutter_sign_priority`, so gitgutter defaults to clobbering other signs. For Neovim v0.4.0 and later you can set an expanding sign column so gitgutter again defaults to clobbering other signs. Otherwise, gitgutter defaults to preserving other signs. You can configure this with: - -```viml -let g:gitgutter_sign_allow_clobber = 1 -``` - - -#### Signs' colours and symbols - -If you or your colourscheme has defined `GitGutter*` highlight groups, the plugin will use them for the signs' colours. - -If you want the background colours to match the sign column, but don't want to update the `GitGutter*` groups yourself, you can get the plugin to do it: - -```viml -let g:gitgutter_set_sign_backgrounds = 1 -``` - -If no `GitGutter*` highlight groups exist, the plugin will check the `Diff*` highlight groups. If their foreground colours differ the plugin will use them; if not, these colours will be used: - -```viml -highlight GitGutterAdd guifg=#009900 ctermfg=2 -highlight GitGutterChange guifg=#bbbb00 ctermfg=3 -highlight GitGutterDelete guifg=#ff2222 ctermfg=1 -``` - -To customise the symbols, add the following to your `~/.vimrc`: - -```viml -let g:gitgutter_sign_added = 'xx' -let g:gitgutter_sign_modified = 'yy' -let g:gitgutter_sign_removed = 'zz' -let g:gitgutter_sign_removed_first_line = '^^' -let g:gitgutter_sign_modified_removed = 'ww' -``` - - -#### Line highlights - -Similarly to the signs' colours, set up the following highlight groups in your colorscheme or `~/.vimrc`: - -```viml -GitGutterAddLine " default: links to DiffAdd -GitGutterChangeLine " default: links to DiffChange -GitGutterDeleteLine " default: links to DiffDelete -GitGutterChangeDeleteLine " default: links to GitGutterChangeLineDefault, i.e. DiffChange -``` - -For example, in some colorschemes the `DiffText` highlight group is easier to read than `DiffChange`. You could use it like this: - -```viml -highlight link GitGutterChangeLine DiffText -``` - - -#### Line number highlights - -NOTE: This feature requires Neovim 0.3.2 or higher. - -Similarly to the signs' colours, set up the following highlight groups in your colorscheme or `~/.vimrc`: - -```viml -GitGutterAddLineNr " default: links to CursorLineNr -GitGutterChangeLineNr " default: links to CursorLineNr -GitGutterDeleteLineNr " default: links to CursorLineNr -GitGutterChangeDeleteLineNr " default: links to CursorLineNr -``` - -Maybe you think `CursorLineNr` is a bit annoying. For example, you could use `Underlined` for this: - -```viml -highlight link GitGutterChangeLineNr Underlined -``` - - -#### Whether the diff is relative to the index or working tree - -By default diffs are relative to the index. How you can make them relative to the working tree: - -```viml -let g:gitgutter_diff_relative_to = 'working_tree' -``` - - -#### The base of the diff - -By default buffers are diffed against the index. However you can diff against any commit by setting: - -```viml -let g:gitgutter_diff_base = '' -``` - -If you are looking at a previous version of a file with Fugitive (e.g. via `:0Gclog`), gitgutter sets the diff base to the parent of the current revision. - -This setting is ignored when the diffs are relative to the working tree. - - -#### Extra arguments for `git` when running `git diff` - -If you want to pass extra arguments to `git` when running `git diff`, do so like this: - -```viml -let g:gitgutter_git_args = '--git-dir-""' -``` - -#### Extra arguments for `git diff` - -If you want to pass extra arguments to `git diff`, for example to ignore whitespace, do so like this: - -```viml -let g:gitgutter_diff_args = '-w' -``` - -#### Key mappings - -To disable all key mappings: - -```viml -let g:gitgutter_map_keys = 0 -``` - -See above for configuring maps for hunk-jumping and staging/undoing. - - -#### Use a custom `grep` command - -If you use an alternative to grep, you can tell vim-gitgutter to use it here. - -```viml -" Default: -let g:gitgutter_grep = 'grep' -``` - -#### To turn off vim-gitgutter by default - -Add `let g:gitgutter_enabled = 0` to your `~/.vimrc`. - - -#### To turn off signs by default - -Add `let g:gitgutter_signs = 0` to your `~/.vimrc`. - - -#### To turn on line highlighting by default - -Add `let g:gitgutter_highlight_lines = 1` to your `~/.vimrc`. - - -#### To turn on line number highlighting by default - -Add `let g:gitgutter_highlight_linenrs = 1` to your `~/.vimrc`. - - -#### To turn off asynchronous updates - -By default diffs are run asynchronously. To run diffs synchronously instead: - -```viml -let g:gitgutter_async = 0 -``` - - -#### To use floating/popup windows for hunk previews - -Add `let g:gitgutter_preview_win_floating = 1` to your `~/.vimrc`. Note that on Vim this prevents you staging (partial) hunks via the preview window. - - -#### To load all hunks into the current window's location list instead of the quickfix list - -Add `let g:gitgutter_use_location_list = 1` to your `~/.vimrc`. - - -### Extensions - -#### Operate on every line in a hunk - -You can map an operator to do whatever you want to every line in a hunk. - -Let's say, for example, you want to remove trailing whitespace. - -```viml -function! CleanUp(...) - if a:0 " opfunc - let [first, last] = [line("'["), line("']")] - else - let [first, last] = [line("'<"), line("'>")] - endif - for lnum in range(first, last) - let line = getline(lnum) - - " clean up the text, e.g.: - let line = substitute(line, '\s\+$', '', '') - - call setline(lnum, line) - endfor -endfunction - -nmap x :set opfunc=CleanUpg@ -``` - -Then place your cursor in a hunk and type `\xic` (assuming a leader of `\`). - -Alternatively you could place your cursor in a hunk, type `vic` to select it, then `:call CleanUp()`. - - -#### Operate on every changed line in a file - -You can write a command to do whatever you want to every changed line in a file. - -```viml -function! GlobalChangedLines(ex_cmd) - for hunk in GitGutterGetHunks() - for lnum in range(hunk[2], hunk[2]+hunk[3]-1) - let cursor = getcurpos() - silent! execute lnum.a:ex_cmd - call setpos('.', cursor) - endfor - endfor -endfunction - -command -nargs=1 Glines call GlobalChangedLines() -``` - -Let's say, for example, you want to remove trailing whitespace from all changed lines: - -```viml -:Glines s/\s\+$// -``` - - -#### Cycle through hunks in current buffer - -This is like `:GitGutterNextHunk` but when it gets to the last hunk in the buffer it cycles around to the first. - -```viml -function! GitGutterNextHunkCycle() - let line = line('.') - silent! GitGutterNextHunk - if line('.') == line - 1 - GitGutterNextHunk - endif -endfunction -``` - - -#### Cycle through hunks in all buffers - -You can use `:GitGutterQuickFix` to load all hunks into the quickfix list or the current window's location list. - -Alternatively, given that`]c` and `[c` jump from one hunk to the next in the current buffer, you can use this code to jump to the next hunk no matter which buffer it's in. - -```viml -function! NextHunkAllBuffers() - let line = line('.') - GitGutterNextHunk - if line('.') != line - return - endif - - let bufnr = bufnr('') - while 1 - bnext - if bufnr('') == bufnr - return - endif - if !empty(GitGutterGetHunks()) - 1 - GitGutterNextHunk - return - endif - endwhile -endfunction - -function! PrevHunkAllBuffers() - let line = line('.') - GitGutterPrevHunk - if line('.') != line - return - endif - - let bufnr = bufnr('') - while 1 - bprevious - if bufnr('') == bufnr - return - endif - if !empty(GitGutterGetHunks()) - normal! G - GitGutterPrevHunk - return - endif - endwhile -endfunction - -nmap ]c :call NextHunkAllBuffers() -nmap [c :call PrevHunkAllBuffers() -``` - - -### FAQ - -> How can I turn off realtime updates? - -Add this to your vim configuration (in an `/after/plugin` directory): - -```viml -" .vim/after/plugin/gitgutter.vim -autocmd! gitgutter CursorHold,CursorHoldI -``` - -> I turned off realtime updates, how can I have signs updated when I save a file? - -If you really want to update the signs when you save a file, add this to your vimrc: - -```viml -autocmd BufWritePost * GitGutter -``` - -> Why can't I unstage staged changes? - -This plugin is for showing changes between the buffer and the index (and staging/undoing those changes). Unstaging a staged hunk would require showing changes between the index and HEAD, which is out of scope. - -> Why are the colours in the sign column weird? - -Your colorscheme is configuring the `SignColumn` highlight group weirdly. Please see the section above on customising the sign column. - -> What happens if I also use another plugin which uses signs (e.g. Syntastic)? - -You can configure whether GitGutter preserves or clobbers other signs using `g:gitgutter_sign_allow_clobber`. Set to `1` to clobber other signs (default on Vim >= 8.1.0614 and NeoVim >= 0.4.0) or `0` to preserve them. - - -### Troubleshooting - -#### When no signs are showing at all - -Here are some things you can check: - -* Try adding `let g:gitgutter_grep=''` to your vimrc. If it works, the problem is grep producing non-plain output; e.g. ANSI escape codes or colours. -* Verify `:echo system("git --version")` succeeds. -* Verify your git config is compatible with the version of git returned by the command above. -* Verify your Vim supports signs (`:echo has('signs')` should give `1`). -* Verify your file is being tracked by git and has unstaged changes. - -#### When the whole file is marked as added - -* If you use zsh, and you set `CDPATH`, make sure `CDPATH` doesn't include the current directory. - -#### When signs take a few seconds to appear - -* Try reducing `updatetime`, e.g. `set updatetime=100`. Note this also controls the delay before vim writes its swap file. - -#### When signs don't update after focusing Vim - -* Your terminal probably isn't reporting focus events. Either try installing [Terminus][] or set `let g:gitgutter_terminal_reports_focus=0`. For tmux, try `set -g focus-events on` in your tmux.conf. - - -### Shameless Plug - -If this plugin has helped you, or you'd like to learn more about Vim, why not check out this screencast I wrote for PeepCode: - -* [Smash Into Vim][siv] - -This was one of PeepCode's all-time top three bestsellers and is now available at Pluralsight. - -You can read reviews on my [website][airblade]. - - -### Intellectual Property - -Copyright Andrew Stewart, AirBlade Software Ltd. Released under the MIT licence. - - - [pathogen]: https://github.com/tpope/vim-pathogen - [siv]: http://pluralsight.com/training/Courses/TableOfContents/smash-into-vim - [airblade]: http://airbladesoftware.com/peepcode-vim - [terminus]: https://github.com/wincent/terminus diff --git a/.vim_runtime/sources_non_forked/vim-gitgutter/autoload/gitgutter.vim b/.vim_runtime/sources_non_forked/vim-gitgutter/autoload/gitgutter.vim deleted file mode 100644 index d56a8d9..0000000 --- a/.vim_runtime/sources_non_forked/vim-gitgutter/autoload/gitgutter.vim +++ /dev/null @@ -1,209 +0,0 @@ -" Primary functions {{{ - -function! gitgutter#all(force) abort - let visible = tabpagebuflist() - - for bufnr in range(1, bufnr('$') + 1) - if buflisted(bufnr) - let file = expand('#'.bufnr.':p') - if !empty(file) - if index(visible, bufnr) != -1 - call gitgutter#process_buffer(bufnr, a:force) - elseif a:force - call s:reset_tick(bufnr) - endif - endif - endif - endfor -endfunction - - -function! gitgutter#process_buffer(bufnr, force) abort - " NOTE a:bufnr is not necessarily the current buffer. - - if gitgutter#utility#is_active(a:bufnr) - - if has('patch-7.4.1559') - let l:Callback = function('gitgutter#process_buffer', [a:bufnr, a:force]) - else - let l:Callback = {'function': 'gitgutter#process_buffer', 'arguments': [a:bufnr, a:force]} - endif - let how = s:setup_path(a:bufnr, l:Callback) - if [how] == ['async'] " avoid string-to-number conversion if how is a number - return - endif - - if a:force || s:has_fresh_changes(a:bufnr) - - let diff = 'NOT SET' - try - let diff = gitgutter#diff#run_diff(a:bufnr, g:gitgutter_diff_relative_to, 0) - catch /gitgutter not tracked/ - call gitgutter#debug#log('Not tracked: '.gitgutter#utility#file(a:bufnr)) - catch /gitgutter diff failed/ - call gitgutter#debug#log('Diff failed: '.gitgutter#utility#file(a:bufnr)) - call gitgutter#hunk#reset(a:bufnr) - endtry - - if diff != 'async' && diff != 'NOT SET' - call gitgutter#diff#handler(a:bufnr, diff) - endif - - endif - endif -endfunction - - -function! gitgutter#disable() abort - " get list of all buffers (across all tabs) - for bufnr in range(1, bufnr('$') + 1) - if buflisted(bufnr) - let file = expand('#'.bufnr.':p') - if !empty(file) - call s:clear(bufnr) - endif - endif - endfor - - let g:gitgutter_enabled = 0 -endfunction - -function! gitgutter#enable() abort - let g:gitgutter_enabled = 1 - call gitgutter#all(1) -endfunction - -function! gitgutter#toggle() abort - if g:gitgutter_enabled - call gitgutter#disable() - else - call gitgutter#enable() - endif -endfunction - - -function! gitgutter#buffer_disable() abort - let bufnr = bufnr('') - call gitgutter#utility#setbufvar(bufnr, 'enabled', 0) - call s:clear(bufnr) -endfunction - -function! gitgutter#buffer_enable() abort - let bufnr = bufnr('') - call gitgutter#utility#setbufvar(bufnr, 'enabled', 1) - call gitgutter#process_buffer(bufnr, 1) -endfunction - -function! gitgutter#buffer_toggle() abort - if gitgutter#utility#getbufvar(bufnr(''), 'enabled', 1) - call gitgutter#buffer_disable() - else - call gitgutter#buffer_enable() - endif -endfunction - -" }}} - -function! gitgutter#setup_maps() - if !g:gitgutter_map_keys - return - endif - - " Note hasmapto() and maparg() operate on the current buffer. - - let bufnr = bufnr('') - - if gitgutter#utility#getbufvar(bufnr, 'mapped', 0) - return - endif - - if !hasmapto('(GitGutterPrevHunk)') && maparg('[c', 'n') ==# '' - nmap [c (GitGutterPrevHunk) - endif - if !hasmapto('(GitGutterNextHunk)') && maparg(']c', 'n') ==# '' - nmap ]c (GitGutterNextHunk) - endif - - if !hasmapto('(GitGutterStageHunk)', 'v') && maparg('hs', 'x') ==# '' - xmap hs (GitGutterStageHunk) - endif - if !hasmapto('(GitGutterStageHunk)', 'n') && maparg('hs', 'n') ==# '' - nmap hs (GitGutterStageHunk) - endif - if !hasmapto('(GitGutterUndoHunk)') && maparg('hu', 'n') ==# '' - nmap hu (GitGutterUndoHunk) - endif - if !hasmapto('(GitGutterPreviewHunk)') && maparg('hp', 'n') ==# '' - nmap hp (GitGutterPreviewHunk) - endif - - if !hasmapto('(GitGutterTextObjectInnerPending)') && maparg('ic', 'o') ==# '' - omap ic (GitGutterTextObjectInnerPending) - endif - if !hasmapto('(GitGutterTextObjectOuterPending)') && maparg('ac', 'o') ==# '' - omap ac (GitGutterTextObjectOuterPending) - endif - if !hasmapto('(GitGutterTextObjectInnerVisual)') && maparg('ic', 'x') ==# '' - xmap ic (GitGutterTextObjectInnerVisual) - endif - if !hasmapto('(GitGutterTextObjectOuterVisual)') && maparg('ac', 'x') ==# '' - xmap ac (GitGutterTextObjectOuterVisual) - endif - - call gitgutter#utility#setbufvar(bufnr, 'mapped', 1) -endfunction - -function! s:setup_path(bufnr, continuation) - if gitgutter#utility#has_repo_path(a:bufnr) | return | endif - - return gitgutter#utility#set_repo_path(a:bufnr, a:continuation) -endfunction - -function! s:has_fresh_changes(bufnr) abort - return getbufvar(a:bufnr, 'changedtick') != gitgutter#utility#getbufvar(a:bufnr, 'tick') -endfunction - -function! s:reset_tick(bufnr) abort - call gitgutter#utility#setbufvar(a:bufnr, 'tick', 0) -endfunction - -function! s:clear(bufnr) - call gitgutter#sign#clear_signs(a:bufnr) - call gitgutter#hunk#reset(a:bufnr) - call s:reset_tick(a:bufnr) - call gitgutter#utility#setbufvar(a:bufnr, 'path', '') -endfunction - - -" Note: -" - this runs synchronously -" - it ignores unsaved changes in buffers -" - it does not change to the repo root -function! gitgutter#quickfix() - let locations = [] - let cmd = g:gitgutter_git_executable.' '.g:gitgutter_git_args.' --no-pager '.g:gitgutter_git_args. - \ ' diff --no-ext-diff --no-color -U0 '.g:gitgutter_diff_args. ' '. g:gitgutter_diff_base - let diff = systemlist(cmd) - let lnum = 0 - for line in diff - if line =~ '^diff --git [^"]' - let paths = line[11:] - let mid = (len(paths) - 1) / 2 - let [fnamel, fnamer] = [paths[:mid-1], paths[mid+1:]] - let fname = fnamel ==# fnamer ? fnamel : fnamel[2:] - elseif line =~ '^diff --git "' - let [_, fnamel, _, fnamer] = split(line, '"') - let fname = fnamel ==# fnamer ? fnamel : fnamel[2:] - elseif line =~ '^@@' - let lnum = matchlist(line, '+\(\d\+\)')[1] - elseif lnum > 0 - call add(locations, {'filename': fname, 'lnum': lnum, 'text': line}) - let lnum = 0 - endif - endfor - if !g:gitgutter_use_location_list - call setqflist(locations) - else - call setloclist(0, locations) - endif -endfunction diff --git a/.vim_runtime/sources_non_forked/vim-gitgutter/doc/gitgutter.txt b/.vim_runtime/sources_non_forked/vim-gitgutter/doc/gitgutter.txt deleted file mode 100644 index 2d744a8..0000000 --- a/.vim_runtime/sources_non_forked/vim-gitgutter/doc/gitgutter.txt +++ /dev/null @@ -1,658 +0,0 @@ -*gitgutter.txt* A Vim plugin which shows a git diff in the gutter. - - - Vim GitGutter - - -Author: Andy Stewart -Plugin Homepage: - - -=============================================================================== -CONTENTS *gitgutter* - - Introduction ................. |gitgutter-introduction| - Installation ................. |gitgutter-installation| - Windows ................. |gitgutter-windows| - Commands ..................... |gitgutter-commands| - Mappings ..................... |gitgutter-mappings| - Autocommand .................. |gitgutter-autocommand| - Status line .................. |gitgutter-statusline| - Options ...................... |gitgutter-options| - Highlights ................... |gitgutter-highlights| - FAQ .......................... |gitgutter-faq| - TROUBLESHOOTING .............. |gitgutter-troubleshooting| - - -=============================================================================== -INTRODUCTION *gitgutter-introduction* - -GitGutter is a Vim plugin which shows a git diff in the sign column. -It shows which lines have been added, modified, or removed. You can also -preview, stage, and undo individual hunks. The plugin also provides a hunk -text object. - -The signs are always up to date and the plugin never saves your buffer. - -The name "gitgutter" comes from the Sublime Text 3 plugin which inspired this -one in 2013. - - -=============================================================================== -INSTALLATION *gitgutter-installation* - -Use your favourite package manager, or use Vim's built-in package support. - -Vim:~ -> - mkdir -p ~/.vim/pack/airblade/start - cd ~/.vim/pack/airblade/start - git clone https://github.com/airblade/vim-gitgutter.git - vim -u NONE -c "helptags vim-gitgutter/doc" -c q -< - -Neovim:~ -> - mkdir -p ~/.config/nvim/pack/airblade/start - cd ~/.config/nvim/pack/airblade/start - git clone https://github.com/airblade/vim-gitgutter.git - nvim -u NONE -c "helptags vim-gitgutter/doc" -c q -< - - -=============================================================================== -WINDOWS *gitgutter-windows* - -I recommend configuring vim-gitgutter with the full path to your git executable. -For example: -> - let g:gitgutter_git_executable = 'C:\Program Files\Git\bin\git.exe' -< -This is to avoid a problem which occurs if you have file named "git.*" (i.e. -with any extension in "PATHEXT") in your current folder. "cmd.exe" prioritises -the current folder over folders in 'PATH' and will try to execute your file -instead of the "git" binary. - - -=============================================================================== -COMMANDS *gitgutter-commands* - -Commands for turning vim-gitgutter on and off:~ - - *gitgutter-:GitGutterDisable* -:GitGutterDisable Turn vim-gitgutter off for all buffers. - - *gitgutter-:GitGutterEnable* -:GitGutterEnable Turn vim-gitgutter on for all buffers. - - *gitgutter-:GitGutterToggle* -:GitGutterToggle Toggle vim-gitgutter on or off for all buffers. - - *gitgutter-:GitGutter* -:GitGutter Update signs for the current buffer. You shouldn't - need to run this. - - *gitgutter-:GitGutterAll* -:GitGutterAll Update signs for all buffers. You shouldn't need to - run this. - - -Commands for turning signs on and off (defaults to on):~ - - *gitgutter-:GitGutterSignsEnable* -:GitGutterSignsEnable Show signs for the diff. - - *gitgutter-:GitGutterSignsDisable* -:GitGutterSignsDisable Do not show signs for the diff. - - *gitgutter-:GitGutterSignsToggle* -:GitGutterSignsToggle Toggle signs on or off. - - -Commands for turning line highlighting on and off (defaults to off):~ - - *gitgutter-:GitGutterLineHighlightsEnable* -:GitGutterLineHighlightsEnable Turn on line highlighting. - - *gitgutter-:GitGutterLineHighlightsDisable* -:GitGutterLineHighlightsDisable Turn off line highlighting. - - *gitgutter-:GitGutterLineHighlightsToggle* -:GitGutterLineHighlightsToggle Turn line highlighting on or off. - - -Commands for turning line number highlighting on and off (defaults to off):~ -NOTE: This feature requires Neovim 0.3.2 or higher. - - *gitgutter-:GitGutterLineNrHighlightsEnable* -:GitGutterLineNrHighlightsEnable Turn on line highlighting. - - *gitgutter-:GitGutterLineNrHighlightsDisable* -:GitGutterLineNrHighlightsDisable Turn off line highlighting. - - *gitgutter-:GitGutterLineNrHighlightsToggle* -:GitGutterLineNrHighlightsToggle Turn line highlighting on or off. - - -Commands for jumping between hunks:~ - - *gitgutter-:GitGutterNextHunk* -:GitGutterNextHunk Jump to the next [count] hunk. - - *gitgutter-:GitGutterPrevHunk* -:GitGutterPrevHunk Jump to the previous [count] hunk. - - *gitgutter-:GitGutterQuickFix* -:GitGutterQuickFix Load all hunks into the |quickfix| list. Note this - ignores any unsaved changes in your buffers. The - |g:gitgutter_use_location_list| option can be set to - populate the location list of the current window instead - - -Commands for operating on a hunk:~ - - *gitgutter-:GitGutterStageHunk* -:GitGutterStageHunk Stage the hunk the cursor is in. Use a visual selection - to stage part of an (additions-only) hunk; or use a - range. - - To stage part of any hunk, first |GitGutterPreviewHunk| - it, then move to the preview window, delete the lines - you do not want to stage, and |write| or - |GitGutterStageHunk|. - - *gitgutter-:GitGutterUndoHunk* -:GitGutterUndoHunk Undo the hunk the cursor is in. - - *gitgutter-:GitGutterPreviewHunk* -:GitGutterPreviewHunk Preview the hunk the cursor is in. - Use |:pclose| or |CTRL-W_CTRL-Z| to close the preview - window. - - To stage part of the hunk, move to the preview window, - delete any lines you do not want to stage, and - |GitGutterStageHunk|. - -Commands for folds:~ - - *gitgutter-:GitGutterFold* -:GitGutterFold Fold all unchanged lines. Execute again to undo. - - -=============================================================================== -AUTOCOMMANDS *gitgutter-autocommands* - -User GitGutter~ - -After updating a buffer's signs vim-gitgutter fires a |User| |autocmd| with the -event GitGutter. You can listen for this event, for example: -> - autocmd User GitGutter call updateMyStatusLine() -< -A dictionary `g:gitgutter_hook_context` is made available during its execution, -which contains an entry `bufnr` that contains the buffer number being updated. - -User GitGutterStage~ - -After staging a hunk or part of a hunk vim-gitgutter fires a |User| |autocmd| -with the event GitGutterStage. Staging always happens in the current buffer. - -=============================================================================== -MAPPINGS *gitgutter-mappings* - -You can disable all these mappings with: -> - let g:gitgutter_map_keys = 0 -< - -Hunk operations:~ - -These can be repeated with `.` if you have vim-repeat installed. - - *gitgutter-hp* -hp Preview the hunk under the cursor. - - *gitgutter-hs* -hs Stage the hunk under the cursor. - - *gitgutter-hu* -hu Undo the hunk under the cursor. - -You can change these mappings like this: -> - nmap ghp (GitGutterPreviewHunk) - nmap ghs (GitGutterStageHunk) - nmap ghu (GitGutterUndoHunk) -< - -Hunk jumping:~ - - *gitgutter-]c* -]c Jump to the next [count] hunk. - - *gitgutter-[c* -[c Jump to the previous [count] hunk. - -You can change these mappings like this: -> - nmap [c (GitGutterPrevHunk) - nmap ]c (GitGutterNextHunk) -< - -Hunk text object:~ - - *gitgutter-ic* *gitgutter-ac* *gitgutter-text-object* -"ic" operates on the current hunk's lines. "ac" does the same but also includes -trailing empty lines. -> - omap ic (GitGutterTextObjectInnerPending) - omap ac (GitGutterTextObjectOuterPending) - xmap ic (GitGutterTextObjectInnerVisual) - xmap ac (GitGutterTextObjectOuterVisual) -< - - -=============================================================================== -STATUS LINE *gitgutter-statusline* - - -Call the `GitGutterGetHunkSummary()` function from your status line to get a -list of counts of added, modified, and removed lines in the current buffer. -For example: -> - " Your vimrc - function! GitStatus() - let [a,m,r] = GitGutterGetHunkSummary() - return printf('+%d ~%d -%d', a, m, r) - endfunction - set statusline+=%{GitStatus()} -< - - -=============================================================================== -OPTIONS *gitgutter-options* - -The most important option is 'updatetime' which determines how long (in -milliseconds) the plugin will wait after you stop typing before it updates the -signs. Vim's default is 4000. I recommend 100. Note this also controls how -long vim waits before writing its swap file. - -Most important option:~ - - 'updatetime' - -Git:~ - - |g:gitgutter_git_executable| - |g:gitgutter_git_args| - |g:gitgutter_diff_args| - |g:gitgutter_diff_relative_to| - |g:gitgutter_diff_base| - -Grep:~ - - |g:gitgutter_grep| - -Signs:~ - - |g:gitgutter_signs| - |g:gitgutter_highlight_lines| - |g:gitgutter_highlight_linenrs| - |g:gitgutter_max_signs| - |g:gitgutter_sign_priority| - |g:gitgutter_sign_allow_clobber| - |g:gitgutter_sign_added| - |g:gitgutter_sign_modified| - |g:gitgutter_sign_removed| - |g:gitgutter_sign_removed_first_line| - |g:gitgutter_sign_modified_removed| - |g:gitgutter_set_sign_backgrounds| - -Hunk previews:~ - - |g:gitgutter_preview_win_floating| - -Terminal:~ - - |g:gitgutter_terminal_reports_focus| - -General:~ - - |g:gitgutter_enabled| - |g:gitgutter_map_keys| - |g:gitgutter_async| - |g:gitgutter_log| - |g:gitgutter_use_location_list| - - - *g:gitgutter_preview_win_location* -Default: 'bo' - -This option determines where the preview window pops up as a result of the -:GitGutterPreviewHunk command. Other plausible values are 'to', 'bel', 'abo'. -See the end of the |opening-window| docs. - - *g:gitgutter_git_executable* -Default: 'git' - -This option determines what git binary to use. Set this if git is not on your -path. - - *g:gitgutter_git_args* -Default: empty - -Use this option to pass any extra arguments to git when running git-diff. -For example: -> - let g:gitgutter_git_args = '--git-dir=""' -< - - *g:gitgutter_diff_args* -Default: empty - -Use this option to pass any extra arguments to git-diff. For example: -> - let g:gitgutter_diff_args = '-w' -< - - *g:gitgutter_diff_relative_to* -Default: empty - -By default buffers are diffed against the index. Use this option to diff against -the working tree. For example: -> - let g:gitgutter_diff_relative_to = 'working_tree' -< - - *g:gitgutter_diff_base* -Default: empty - -By default buffers are diffed against the index. Use this option to diff against -a revision instead. For example: -> - let g:gitgutter_diff_base = '' -< - -If you are looking at a previous version of a file with Fugitive (e.g. -via :0Gclog), gitgutter sets the diff base to the parent of the current revision. - -This setting is ignore when the diff is relative to the working tree -(|g:gitgutter_diff_relative_to|). - - *g:gitgutter_grep* -Default: 'grep' - -The plugin pipes the output of git-diff into grep to minimise the amount of data -vim has to process. Set this option if grep is not on your path. - -grep must produce plain-text output without any ANSI escape codes or colours. -Use this option to turn off colours if necessary. -> - let g:gitgutter_grep = 'grep --color=never' -< -If you do not want to use grep at all (perhaps to debug why signs are not -showing), set this option to an empty string: -> - let g:gitgutter_grep = '' -< - - *g:gitgutter_signs* -Default: 1 - -Determines whether or not to show signs. - - *g:gitgutter_highlight_lines* -Default: 0 - -Determines whether or not to show line highlights. - - *g:gitgutter_highlight_linenrs* -Default: 0 - -Determines whether or not to show line number highlights. - - *g:gitgutter_max_signs* -Default: 500 (Vim < 8.1.0614, Neovim < 0.4.0) - -1 (otherwise) - -Sets the maximum number of signs to show in a buffer. Vim is slow at updating -signs, so to avoid slowing down the GUI the number of signs is capped. When -the number of changed lines exceeds this value, the plugin removes all signs -and displays a warning message. - -When set to -1 the limit is not applied. - - *g:gitgutter_sign_priority* -Default: 10 - -Sets the |sign-priority| gitgutter assigns to its signs. - - *g:gitgutter_sign_allow_clobber* -Default: 0 (Vim < 8.1.0614, Neovim < 0.4.0) - 1 (otherwise) - -Determines whether gitgutter preserves non-gitgutter signs. When 1, gitgutter -will not preserve non-gitgutter signs. - - *g:gitgutter_sign_added* - *g:gitgutter_sign_modified* - *g:gitgutter_sign_removed* - *g:gitgutter_sign_removed_first_line* - *g:gitgutter_sign_modified_removed* -Defaults: -> - let g:gitgutter_sign_added = '+' - let g:gitgutter_sign_modified = '~' - let g:gitgutter_sign_removed = '_' - let g:gitgutter_sign_removed_first_line = '‾' - let g:gitgutter_sign_modified_removed = '~_' -< -You can use unicode characters but not images. Signs must not take up more than -2 columns. - - *g:gitgutter_set_sign_backgrounds* -Default: 0 - -Only applies to existing GitGutter* highlight groups. See -|gitgutter-highlights|. - -Controls whether to override the signs' background colours to match the -|hl-SignColumn|. - - *g:gitgutter_preview_win_floating* -Default: 0 (Vim) - 0 (NeoVim which does not support floating windows) - 1 (NeoVim which does support floating windows) - -Whether to use floating/popup windows for hunk previews. Note that if you use -popup windows on Vim you will not be able to stage partial hunks via the -preview window. - - *g:gitgutter_terminal_reports_focus* -Default: 1 - -Normally the plugin uses |FocusGained| to force-update all buffers when Vim -receives focus. However some terminals do not report focus events and so the -|FocusGained| autocommand never fires. - -If this applies to you, either install something like Terminus -(https://github.com/wincent/terminus) to make |FocusGained| work or set this -option to 0. - -If you use tmux, try this in your tmux.conf: -> - set -g focus-events on -< - -When this option is 0, the plugin force-updates the buffer on |BufEnter| -(instead of only updating if the buffer's contents has changed since the last -update). - - *g:gitgutter_enabled* -Default: 1 - -Controls whether or not the plugin is on at startup. - - *g:gitgutter_map_keys* -Default: 1 - -Controls whether or not the plugin provides mappings. See |gitgutter-mappings|. - - *g:gitgutter_async* -Default: 1 - -Controls whether or not diffs are run in the background. This has no effect if -your Vim does not support background jobs. - - *g:gitgutter_log* -Default: 0 - -When switched on, the plugin logs to gitgutter.log in the directory where it is -installed. Additionally it logs channel activity to channel.log. - - *g:gitgutter_use_location_list* -Default: 0 - -When switched on, the :GitGutterQuickFix command populates the location list -of the current window instead of the global quickfix list. - - -=============================================================================== -HIGHLIGHTS *gitgutter-highlights* - -To change the signs' colours, specify these highlight groups in your |vimrc|: -> - highlight GitGutterAdd guifg=#009900 ctermfg=2 - highlight GitGutterChange guifg=#bbbb00 ctermfg=3 - highlight GitGutterDelete guifg=#ff2222 ctermfg=1 -< - -See |highlight-guifg| and |highlight-ctermfg| for the values you can use. - -If you do not like the signs' background colours and you do not want to update -the GitGutter* highlight groups yourself, you can get the plugin to do it -|g:gitgutter_set_sign_backgrounds|. - -To change the line highlights, set up the following highlight groups in your -colorscheme or |vimrc|: -> - GitGutterAddLine " default: links to DiffAdd - GitGutterChangeLine " default: links to DiffChange - GitGutterDeleteLine " default: links to DiffDelete - GitGutterChangeDeleteLine " default: links to GitGutterChangeLineDefault -< - -For example, to use |hl-DiffText| instead of |hl-DiffChange|: -> - highlight link GitGutterChangeLine DiffText -< -To change the line number highlights, set up the following highlight groups in -your colorscheme or |vimrc|: -> - GitGutterAddLineNr " default: links to CursorLineNr - GitGutterChangeLineNr " default: links to CursorLineNr - GitGutterDeleteLineNr " default: links to CursorLineNr - GitGutterChangeDeleteLineNr " default: links to CursorLineNr -< -For example, to use |hl-Underlined| instead of |hl-CursorLineNr|: -> - highlight link GitGutterChangeLineNr Underlined -< - - -=============================================================================== -FAQ *gitgutter-faq* - -a. How do I turn off realtime updates? - - Add this to your vim configuration in an |after-directory|: -> - autocmd! gitgutter CursorHold,CursorHoldI -< - -b. I turned off realtime updates, how can I have signs updated when I save a - file? - - If you really want to update the signs when you save a file, add this to your - |vimrc|: -> - autocmd BufWritePost * GitGutter -< - -c. Why can't I unstage staged changes? - - This plugin is for showing changes between the working tree and the index - (and staging/undoing those changes). Unstaging a staged hunk would require - showing changes between the index and HEAD, which is out of scope. - -d. Why are the colours in the sign column weird? - - Your colorscheme is configuring the |hl-SignColumn| highlight group weirdly. - Here are two ways you could change the colours: -> - highlight! link SignColumn LineNr - highlight SignColumn guibg=whatever ctermbg=whatever -< - -e. What happens if I also use another plugin which uses signs (e.g. Syntastic)? - - Vim only allows one sign per line. Vim-gitgutter will not interfere with - signs it did not add. - - -=============================================================================== -TROUBLESHOOTING *gitgutter-troubleshooting* - -When no signs are showing at all:~ - -1. Try bypassing grep with: -> - let g:gitgutter_grep = '' -< - If it works, the problem is grep outputting ANSI escape codes. Use this - option to pass arguments to grep to turn off the escape codes. - -2. Verify git is on your path: -> - :echo system('git --version') -< - -3. Verify your git config is compatible with the version of git return by the - command above. - -4. Verify your Vim supports signs. The following should give 1: -> - :echo has('signs') -< - -5. Check whether the plugin thinks git knows about your file: -> - :echo getbufvar('','gitgutter').path -< - If the result is -2, the plugin thinks your file is not tracked by git. - - -When the whole file is marked as added:~ - -If you use zsh, and you set "CDPATH", make sure "CDPATH" does not include the -current directory. - - -When signs take a few seconds to appear:~ - -Try reducing 'updatetime': -> - set updatetime=100 -< - -Note this also controls how long vim waits before writing its swap file. - - -When signs don't update after focusing Vim:~ - -Your terminal probably isn't reporting focus events. Either try installing -Terminus (https://github.com/wincent/terminus) or set: -> - let g:gitgutter_terminal_reports_focus = 0 -< - diff --git a/.vim_runtime/sources_non_forked/vim-gitgutter/plugin/gitgutter.vim b/.vim_runtime/sources_non_forked/vim-gitgutter/plugin/gitgutter.vim deleted file mode 100644 index 1b62403..0000000 --- a/.vim_runtime/sources_non_forked/vim-gitgutter/plugin/gitgutter.vim +++ /dev/null @@ -1,285 +0,0 @@ -scriptencoding utf-8 - -if exists('g:loaded_gitgutter') || !has('signs') || &cp - finish -endif -let g:loaded_gitgutter = 1 - -" Initialisation {{{ - -if v:version < 703 || (v:version == 703 && !has("patch105")) - call gitgutter#utility#warn('requires Vim 7.3.105') - finish -endif - -function! s:set(var, default) abort - if !exists(a:var) - if type(a:default) - execute 'let' a:var '=' string(a:default) - else - execute 'let' a:var '=' a:default - endif - endif -endfunction - -function! s:obsolete(var) - if exists(a:var) - call gitgutter#utility#warn(a:var.' is obsolete and has no effect.') - endif -endfunction - - -call s:set('g:gitgutter_preview_win_location', 'bo') -if exists('*nvim_open_win') - call s:set('g:gitgutter_preview_win_floating', 1) -else - call s:set('g:gitgutter_preview_win_floating', 0) -endif -call s:set('g:gitgutter_enabled', 1) -if exists('*sign_unplace') - call s:set('g:gitgutter_max_signs', -1) -else - call s:set('g:gitgutter_max_signs', 500) -endif -call s:set('g:gitgutter_signs', 1) -call s:set('g:gitgutter_highlight_lines', 0) -call s:set('g:gitgutter_highlight_linenrs', 0) -call s:set('g:gitgutter_sign_priority', 10) -" Nvim 0.4.0 has an expanding sign column -" The sign_place() function supports sign priority. -if (has('nvim-0.4.0') || exists('*sign_place')) && !exists('g:gitgutter_sign_allow_clobber') - let g:gitgutter_sign_allow_clobber = 1 -endif -call s:set('g:gitgutter_sign_allow_clobber', 0) -call s:set('g:gitgutter_set_sign_backgrounds', 0) -call s:set('g:gitgutter_sign_added', '+') -call s:set('g:gitgutter_sign_modified', '~') -call s:set('g:gitgutter_sign_removed', '_') - -if gitgutter#utility#supports_overscore_sign() - call s:set('g:gitgutter_sign_removed_first_line', '‾') -else - call s:set('g:gitgutter_sign_removed_first_line', '_^') -endif - -call s:set('g:gitgutter_sign_removed_above_and_below', '[') -call s:set('g:gitgutter_sign_modified_removed', '~_') -call s:set('g:gitgutter_git_args', '') -call s:set('g:gitgutter_diff_relative_to', 'index') -call s:set('g:gitgutter_diff_args', '') -call s:set('g:gitgutter_diff_base', '') -call s:set('g:gitgutter_map_keys', 1) -call s:set('g:gitgutter_terminal_reports_focus', 1) -call s:set('g:gitgutter_async', 1) -call s:set('g:gitgutter_log', 0) -call s:set('g:gitgutter_use_location_list', 0) - -call s:set('g:gitgutter_git_executable', 'git') -if !executable(g:gitgutter_git_executable) - if g:gitgutter_enabled - call gitgutter#utility#warn('cannot find git. Please set g:gitgutter_git_executable.') - endif - finish -endif - -let default_grep = 'grep' -call s:set('g:gitgutter_grep', default_grep) -if !empty(g:gitgutter_grep) - if executable(split(g:gitgutter_grep)[0]) - if $GREP_OPTIONS =~# '--color=always' - let g:gitgutter_grep .= ' --color=never' - endif - else - if g:gitgutter_grep !=# default_grep - call gitgutter#utility#warn('cannot find '.g:gitgutter_grep.'. Please check g:gitgutter_grep.') - endif - let g:gitgutter_grep = '' - endif -endif - -call gitgutter#highlight#define_highlights() -call gitgutter#highlight#define_signs() - -" Prevent infinite loop where: -" - executing a job in the foreground launches a new window which takes the focus; -" - when the job finishes, focus returns to gvim; -" - the FocusGained event triggers a new job (see below). -if gitgutter#utility#windows() && !(g:gitgutter_async && gitgutter#async#available()) - set noshelltemp -endif - -" }}} - -" Primary functions {{{ - -command! -bar GitGutterAll call gitgutter#all(1) -command! -bar GitGutter call gitgutter#process_buffer(bufnr(''), 1) - -command! -bar GitGutterDisable call gitgutter#disable() -command! -bar GitGutterEnable call gitgutter#enable() -command! -bar GitGutterToggle call gitgutter#toggle() - -command! -bar GitGutterBufferDisable call gitgutter#buffer_disable() -command! -bar GitGutterBufferEnable call gitgutter#buffer_enable() -command! -bar GitGutterBufferToggle call gitgutter#buffer_toggle() - -command! -bar GitGutterQuickFix call gitgutter#quickfix() - -" }}} - -" Line highlights {{{ - -command! -bar GitGutterLineHighlightsDisable call gitgutter#highlight#line_disable() -command! -bar GitGutterLineHighlightsEnable call gitgutter#highlight#line_enable() -command! -bar GitGutterLineHighlightsToggle call gitgutter#highlight#line_toggle() - -" }}} - -" 'number' column highlights {{{ -command! -bar GitGutterLineNrHighlightsDisable call gitgutter#highlight#linenr_disable() -command! -bar GitGutterLineNrHighlightsEnable call gitgutter#highlight#linenr_enable() -command! -bar GitGutterLineNrHighlightsToggle call gitgutter#highlight#linenr_toggle() -" }}} - -" Signs {{{ - -command! -bar GitGutterSignsEnable call gitgutter#sign#enable() -command! -bar GitGutterSignsDisable call gitgutter#sign#disable() -command! -bar GitGutterSignsToggle call gitgutter#sign#toggle() - -" }}} - -" Hunks {{{ - -command! -bar -count=1 GitGutterNextHunk call gitgutter#hunk#next_hunk() -command! -bar -count=1 GitGutterPrevHunk call gitgutter#hunk#prev_hunk() - -command! -bar -range=% GitGutterStageHunk call gitgutter#hunk#stage(,) -command! -bar GitGutterUndoHunk call gitgutter#hunk#undo() -command! -bar GitGutterPreviewHunk call gitgutter#hunk#preview() - -" Hunk text object -onoremap (GitGutterTextObjectInnerPending) :call gitgutter#hunk#text_object(1) -onoremap (GitGutterTextObjectOuterPending) :call gitgutter#hunk#text_object(0) -xnoremap (GitGutterTextObjectInnerVisual) :call gitgutter#hunk#text_object(1) -xnoremap (GitGutterTextObjectOuterVisual) :call gitgutter#hunk#text_object(0) - - -" Returns the git-diff hunks for the file or an empty list if there -" aren't any hunks. -" -" The return value is a list of lists. There is one inner list per hunk. -" -" [ -" [from_line, from_count, to_line, to_count], -" [from_line, from_count, to_line, to_count], -" ... -" ] -" -" where: -" -" `from` - refers to the staged file -" `to` - refers to the working tree's file -" `line` - refers to the line number where the change starts -" `count` - refers to the number of lines the change covers -function! GitGutterGetHunks() - let bufnr = bufnr('') - return gitgutter#utility#is_active(bufnr) ? gitgutter#hunk#hunks(bufnr) : [] -endfunction - -" Returns an array that contains a summary of the hunk status for the current -" window. The format is [ added, modified, removed ], where each value -" represents the number of lines added/modified/removed respectively. -function! GitGutterGetHunkSummary() - return gitgutter#hunk#summary(winbufnr(0)) -endfunction - -" }}} - -" Folds {{{ - -command! -bar GitGutterFold call gitgutter#fold#toggle() - -" }}} - -command! -bar GitGutterDebug call gitgutter#debug#debug() - -" Maps {{{ - -nnoremap (GitGutterNextHunk) &diff ? ']c' : ":\execute v:count1 . 'GitGutterNextHunk'\" -nnoremap GitGutterNextHunk &diff ? ']c' : ":\call gitgutter#utility#warn('please change your map \Plug>GitGutterNextHunk to \Plug>(GitGutterNextHunk)')\" -nnoremap (GitGutterPrevHunk) &diff ? '[c' : ":\execute v:count1 . 'GitGutterPrevHunk'\" -nnoremap GitGutterPrevHunk &diff ? '[c' : ":\call gitgutter#utility#warn('please change your map \Plug>GitGutterPrevHunk to \Plug>(GitGutterPrevHunk)')\" - -xnoremap (GitGutterStageHunk) :GitGutterStageHunk -xnoremap GitGutterStageHunk :call gitgutter#utility#warn('please change your map Plug>GitGutterStageHunk to Plug>(GitGutterStageHunk)') -nnoremap (GitGutterStageHunk) :GitGutterStageHunk -nnoremap GitGutterStageHunk :call gitgutter#utility#warn('please change your map Plug>GitGutterStageHunk to Plug>(GitGutterStageHunk)') -nnoremap (GitGutterUndoHunk) :GitGutterUndoHunk -nnoremap GitGutterUndoHunk :call gitgutter#utility#warn('please change your map Plug>GitGutterUndoHunk to Plug>(GitGutterUndoHunk)') -nnoremap (GitGutterPreviewHunk) :GitGutterPreviewHunk -nnoremap GitGutterPreviewHunk :call gitgutter#utility#warn('please change your map Plug>GitGutterPreviewHunk to Plug>(GitGutterPreviewHunk)') - -" }}} - -function! s:on_bufenter() - call gitgutter#setup_maps() - - if exists('t:gitgutter_didtabenter') && t:gitgutter_didtabenter - let t:gitgutter_didtabenter = 0 - call gitgutter#all(!g:gitgutter_terminal_reports_focus) - else - call gitgutter#process_buffer(bufnr(''), !g:gitgutter_terminal_reports_focus) - endif -endfunction - -" Autocommands {{{ - -augroup gitgutter - autocmd! - - autocmd TabEnter * let t:gitgutter_didtabenter = 1 - - autocmd BufEnter * call s:on_bufenter() - - autocmd CursorHold,CursorHoldI * call gitgutter#process_buffer(bufnr(''), 0) - if exists('*timer_start') && has('lambda') - autocmd FileChangedShellPost * call timer_start(1, {-> gitgutter#process_buffer(bufnr(''), 1)}) - else - autocmd FileChangedShellPost * call gitgutter#process_buffer(bufnr(''), 1) - endif - - " Ensure that all buffers are processed when opening vim with multiple files, e.g.: - " - " vim -o file1 file2 - autocmd VimEnter * if winnr() != winnr('$') | call gitgutter#all(0) | endif - - autocmd ShellCmdPost * call gitgutter#all(1) - autocmd BufLeave term://* call gitgutter#all(1) - - autocmd User FugitiveChanged call gitgutter#all(1) - - autocmd BufFilePre * GitGutterBufferDisable - autocmd BufFilePost * GitGutterBufferEnable - - " Handle all buffers when focus is gained, but only after it was lost. - " FocusGained gets triggered on startup with Neovim at least already. - " Therefore this tracks also if it was lost before. - let s:focus_was_lost = 0 - autocmd FocusGained * if s:focus_was_lost | let focus_was_lost = 0 | call gitgutter#all(1) | endif - autocmd FocusLost * let s:focus_was_lost = 1 - - if exists('##VimResume') - autocmd VimResume * call gitgutter#all(1) - endif - - autocmd ColorScheme * call gitgutter#highlight#define_highlights() - - " Disable during :vimgrep - autocmd QuickFixCmdPre *vimgrep* let g:gitgutter_enabled = 0 - autocmd QuickFixCmdPost *vimgrep* let g:gitgutter_enabled = 1 -augroup END - -" }}} - -" vim:set et sw=2 fdm=marker: diff --git a/.vim_runtime/sources_non_forked/vim-gitgutter/screenshot.png b/.vim_runtime/sources_non_forked/vim-gitgutter/screenshot.png deleted file mode 100644 index 8a0d66b..0000000 Binary files a/.vim_runtime/sources_non_forked/vim-gitgutter/screenshot.png and /dev/null differ diff --git a/.vim_runtime/sources_non_forked/vim-gitgutter/test/cp932.txt b/.vim_runtime/sources_non_forked/vim-gitgutter/test/cp932.txt deleted file mode 100644 index 80cb10b..0000000 --- a/.vim_runtime/sources_non_forked/vim-gitgutter/test/cp932.txt +++ /dev/null @@ -1,8 +0,0 @@ -The quick brown fox jumps -over the lazy dog - -͂ɂقւƂʂ -킩悽ꂻ‚˂Ȃ -̂܂ӂ -߂݂Ђ - diff --git a/.vim_runtime/sources_non_forked/vim-gitgutter/test/fixture.txt b/.vim_runtime/sources_non_forked/vim-gitgutter/test/fixture.txt deleted file mode 100644 index f5c6aff..0000000 --- a/.vim_runtime/sources_non_forked/vim-gitgutter/test/fixture.txt +++ /dev/null @@ -1,11 +0,0 @@ -a -b -c -d -e -f -g -h -i -j - diff --git a/.vim_runtime/sources_non_forked/vim-gitgutter/test/fixture_dos.txt b/.vim_runtime/sources_non_forked/vim-gitgutter/test/fixture_dos.txt deleted file mode 100644 index f5c6aff..0000000 --- a/.vim_runtime/sources_non_forked/vim-gitgutter/test/fixture_dos.txt +++ /dev/null @@ -1,11 +0,0 @@ -a -b -c -d -e -f -g -h -i -j - diff --git a/.vim_runtime/sources_non_forked/vim-gitgutter/test/runner.vim b/.vim_runtime/sources_non_forked/vim-gitgutter/test/runner.vim deleted file mode 100644 index 630693c..0000000 --- a/.vim_runtime/sources_non_forked/vim-gitgutter/test/runner.vim +++ /dev/null @@ -1,162 +0,0 @@ -" -" Adapted from https://github.com/vim/vim/blob/master/src/testdir/runtest.vim -" -" When debugging tests it can help to write debug output: -" call Log('oh noes') -" - -function RunTest(test) - if exists("*SetUp") - call SetUp() - endif - - try - execute 'call '.a:test - catch - call Exception() - let s:errored = 1 - endtry - - if exists("*TearDown") - call TearDown() - endif -endfunction - -function Log(msg) - if type(a:msg) == type('') - call add(s:messages, a:msg) - elseif type(a:msg) == type([]) - call extend(s:messages, a:msg) - else - call add(v:errors, 'Exception: unsupported type: '.type(a:msg)) - endif -endfunction - -function Exception() - call add(v:errors, v:throwpoint.'..'.'Exception: '.v:exception) -endfunction - -" Shuffles list in place. -function Shuffle(list) - " Fisher-Yates-Durstenfeld-Knuth - let n = len(a:list) - if n < 2 - return a:list - endif - for i in range(0, n-2) - let j = Random(0, n-i-1) - let e = a:list[i] - let a:list[i] = a:list[i+j] - let a:list[i+j] = e - endfor - return a:list -endfunction - -" Returns a pseudorandom integer i such that 0 <= i <= max -function Random(min, max) - if has('unix') - let i = system('echo $RANDOM') " 0 <= i <= 32767 - else - let i = system('echo %RANDOM%') " 0 <= i <= 32767 - endif - return i * (a:max - a:min + 1) / 32768 + a:min -endfunction - -function FriendlyName(test_name) - return substitute(a:test_name[5:-3], '_', ' ', 'g') -endfunction - -function Align(left, right) - if type(a:right) == type([]) - let result = [] - for s in a:right - if empty(result) - call add(result, printf('%-'.s:indent.'S', a:left).s) - else - call add(result, printf('%-'.s:indent.'S', '').s) - endif - endfor - return result - endif - - return printf('%-'.s:indent.'S', a:left).a:right -endfunction - -let g:testname = expand('%') -let s:errored = 0 -let s:done = 0 -let s:fail = 0 -let s:errors = 0 -let s:messages = [] -let s:indent = '' - -call Log(g:testname.':') - -" Source the test script. -try - source % -catch - let s:errors += 1 - call Exception() -endtry - -" Locate the test functions. -set nomore -redir @q -silent function /^Test_ -redir END -let s:tests = split(substitute(@q, 'function \(\k*()\)', '\1', 'g')) - -" If there is another argument, filter test-functions' names against it. -if argc() > 1 - let s:tests = filter(s:tests, 'v:val =~ argv(1)') -endif - -let s:indent = max(map(copy(s:tests), {_, val -> len(FriendlyName(val))})) - -" Run the tests in random order. -for test in Shuffle(s:tests) - call RunTest(test) - let s:done += 1 - - let friendly_name = FriendlyName(test) - if len(v:errors) == 0 - call Log(Align(friendly_name, ' - ok')) - else - if s:errored - let s:errors += 1 - let s:errored = 0 - else - let s:fail += 1 - endif - call Log(Align(friendly_name, ' - not ok')) - - let i = 0 - for error in v:errors - if i != 0 - call Log(Align('',' ! ----')) - endif - for trace in reverse(split(error, '\.\.')) - call Log(Align('', ' ! '.trace)) - endfor - let i += 1 - endfor - - let v:errors = [] - endif -endfor - -let summary = [ - \ s:done.( s:done == 1 ? ' test' : ' tests'), - \ s:errors.(s:errors == 1 ? ' error' : ' errors'), - \ s:fail.( s:fail == 1 ? ' failure' : ' failures'), - \ ] -call Log('') -call Log(join(summary, ', ')) - -split messages.log -call append(line('$'), s:messages) -write - -qall! - diff --git a/.vim_runtime/sources_non_forked/vim-gitgutter/test/test b/.vim_runtime/sources_non_forked/vim-gitgutter/test/test deleted file mode 100644 index cffe927..0000000 --- a/.vim_runtime/sources_non_forked/vim-gitgutter/test/test +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash - -VIM="/Applications/MacVim.app/Contents/MacOS/Vim -v" - -export VIM_GITGUTTER_TEST=1 - -$VIM -u NONE -U NONE -N \ - --cmd 'set rtp+=../' \ - --cmd 'let g:gitgutter_async=0' \ - --cmd 'source ../plugin/gitgutter.vim' \ - -S runner.vim \ - test_*.vim \ - "$@" - -cat messages.log - -grep -q "0 errors, 0 failures" messages.log -status=$? -rm messages.log -exit $status - diff --git a/.vim_runtime/sources_non_forked/vim-gitgutter/test/test_gitgutter.vim b/.vim_runtime/sources_non_forked/vim-gitgutter/test/test_gitgutter.vim deleted file mode 100644 index e75f21b..0000000 --- a/.vim_runtime/sources_non_forked/vim-gitgutter/test/test_gitgutter.vim +++ /dev/null @@ -1,1113 +0,0 @@ -let s:current_dir = expand('%:p:h') -let s:test_repo = s:current_dir.'/test-repo' -let s:bufnr = bufnr('') - -" -" Helpers -" - -" Ignores unexpected keys in actual. -function s:assert_list_of_dicts(expected, actual) - if empty(a:expected) - call assert_equal([], a:actual) - return - endif - - let expected_keys = keys(a:expected[0]) - - for dict in a:actual - for k in keys(dict) - if index(expected_keys, k) == -1 - call remove(dict, k) - endif - endfor - endfor - - call assert_equal(a:expected, a:actual) -endfunction - -" Ignores unexpected keys. -" -" expected - list of signs -function s:assert_signs(expected, filename) - let actual = sign_getplaced(a:filename, {'group': 'gitgutter'})[0].signs - call s:assert_list_of_dicts(a:expected, actual) -endfunction - -function s:git_diff(...) - return split(system('git diff -U0 '.(a:0 ? a:1 : 'fixture.txt')), '\n') -endfunction - -function s:git_diff_staged(...) - return split(system('git diff -U0 --staged '.(a:0 ? a:1 : 'fixture.txt')), '\n') -endfunction - -function s:trigger_gitgutter() - doautocmd CursorHold -endfunction - - -" -" SetUp / TearDown -" - -function SetUp() - call system("git init ".s:test_repo. - \ " && cd ".s:test_repo. - \ " && cp ../fixture.txt .". - \ " && cp ../fixture_dos.txt .". - \ " && git add . && git commit -m 'initial'". - \ " && git config diff.mnemonicPrefix false") - execute ':cd' s:test_repo - edit! fixture.txt - call gitgutter#sign#reset() - - " FIXME why won't vim autoload the file? - execute 'source' '../../autoload/gitgutter/diff_highlight.vim' - execute 'source' '../../autoload/gitgutter/fold.vim' -endfunction - -function TearDown() - " delete all buffers except this one - " TODO: move to runner.vim, accounting for multiple test files - if s:bufnr > 1 - silent! execute '1,'.s:bufnr-1.'bdelete!' - endif - silent! execute s:bufnr+1.',$bdelete!' - - execute ':cd' s:current_dir - call system("rm -rf ".s:test_repo) -endfunction - -" -" The tests -" - -function Test_add_lines() - normal ggo* - call s:trigger_gitgutter() - - let expected = [{'lnum': 2, 'name': 'GitGutterLineAdded', 'group': 'gitgutter', 'priority': 10}] - call s:assert_signs(expected, 'fixture.txt') -endfunction - - -function Test_add_lines_fish() - let _shell = &shell - set shell=/usr/local/bin/fish - - normal ggo* - call s:trigger_gitgutter() - - let expected = [{'lnum': 2, 'name': 'GitGutterLineAdded'}] - call s:assert_signs(expected, 'fixture.txt') - - let &shell = _shell -endfunction - - -function Test_modify_lines() - normal ggi* - call s:trigger_gitgutter() - - let expected = [{'lnum': 1, 'name': 'GitGutterLineModified'}] - call s:assert_signs(expected, 'fixture.txt') -endfunction - - -function Test_remove_lines() - execute '5d' - call s:trigger_gitgutter() - - let expected = [{'lnum': 4, 'name': 'GitGutterLineRemoved'}] - call s:assert_signs(expected, 'fixture.txt') -endfunction - - -function Test_remove_first_lines() - execute '1d' - call s:trigger_gitgutter() - - let expected = [{'lnum': 1, 'name': 'GitGutterLineRemovedFirstLine'}] - call s:assert_signs(expected, 'fixture.txt') -endfunction - - -function Test_priority() - let g:gitgutter_sign_priority = 5 - - execute '1d' - call s:trigger_gitgutter() - - call s:assert_signs([{'priority': 5}], 'fixture.txt') - - let g:gitgutter_sign_priority = 10 -endfunction - - -function Test_overlapping_hunks() - execute '3d' - execute '1d' - call s:trigger_gitgutter() - - let expected = [{'lnum': 1, 'name': 'GitGutterLineRemovedAboveAndBelow'}] - call s:assert_signs(expected, 'fixture.txt') -endfunction - - -function Test_edit_file_with_same_name_as_a_branch() - normal 5Gi* - call system('git checkout -b fixture.txt') - call s:trigger_gitgutter() - - let expected = [{'lnum': 5, 'name': 'GitGutterLineModified'}] - call s:assert_signs(expected, 'fixture.txt') -endfunction - - -function Test_file_added_to_git() - let tmpfile = 'fileAddedToGit.tmp' - call system('touch '.tmpfile.' && git add '.tmpfile) - execute 'edit '.tmpfile - normal ihello - call s:trigger_gitgutter() - - let expected = [{'lnum': 1, 'name': 'GitGutterLineAdded'}] - call s:assert_signs(expected, 'fileAddedToGit.tmp') -endfunction - - -function Test_filename_with_equals() - call system('touch =fixture=.txt && git add =fixture=.txt') - edit =fixture=.txt - normal ggo* - call s:trigger_gitgutter() - - let expected = [ - \ {'lnum': 1, 'name': 'GitGutterLineAdded'}, - \ {'lnum': 2, 'name': 'GitGutterLineAdded'} - \ ] - call s:assert_signs(expected, '=fixture=.txt') -endfunction - - -function Test_filename_with_square_brackets() - call system('touch fix[tu]re.txt && git add fix[tu]re.txt') - edit fix[tu]re.txt - normal ggo* - call s:trigger_gitgutter() - - let expected = [ - \ {'lnum': 1, 'name': 'GitGutterLineAdded'}, - \ {'lnum': 2, 'name': 'GitGutterLineAdded'} - \ ] - call s:assert_signs(expected, 'fix[tu]re.txt') -endfunction - - -function Test_filename_leading_dash() - call system('touch -- -fixture.txt && git add -- -fixture.txt') - edit -fixture.txt - normal ggo* - call s:trigger_gitgutter() - - let expected = [ - \ {'lnum': 1, 'name': 'GitGutterLineAdded'}, - \ {'lnum': 2, 'name': 'GitGutterLineAdded'} - \ ] - call s:assert_signs(expected, '-fixture.txt') -endfunction - - -function Test_filename_umlaut() - call system('touch -- fixtüre.txt && git add -- fixtüre.txt') - edit fixtüre.txt - normal ggo* - call s:trigger_gitgutter() - - let expected = [ - \ {'lnum': 1, 'name': 'GitGutterLineAdded'}, - \ {'lnum': 2, 'name': 'GitGutterLineAdded'} - \ ] - call s:assert_signs(expected, 'fixtüre.txt') -endfunction - - -" FIXME: this test fails when it is the first (or only) test to be run -function Test_follow_symlink() - let tmp = 'symlink' - call system('ln -nfs fixture.txt '.tmp) - execute 'edit '.tmp - 6d - call s:trigger_gitgutter() - - let expected = [{'lnum': 5, 'name': 'GitGutterLineRemoved'}] - call s:assert_signs(expected, 'symlink') -endfunction - - -function Test_keep_alt() - enew - execute "normal! \" - - call assert_equal('fixture.txt', bufname('')) - call assert_equal('', bufname('#')) - - normal ggx - call s:trigger_gitgutter() - - call assert_equal('', bufname('#')) -endfunction - - -function Test_keep_modified() - normal 5Go* - call assert_equal(1, getbufvar('', '&modified')) - - call s:trigger_gitgutter() - - call assert_equal(1, getbufvar('', '&modified')) -endfunction - - -function Test_keep_op_marks() - normal 5Go* - call assert_equal([0,6,1,0], getpos("'[")) - call assert_equal([0,6,2,0], getpos("']")) - - call s:trigger_gitgutter() - - call assert_equal([0,6,1,0], getpos("'[")) - call assert_equal([0,6,2,0], getpos("']")) -endfunction - - -function Test_no_modifications() - call s:assert_signs([], 'fixture.txt') -endfunction - - -function Test_orphaned_signs() - execute "normal 5GoX\Y" - call s:trigger_gitgutter() - 6d - call s:trigger_gitgutter() - - let expected = [{'lnum': 6, 'name': 'GitGutterLineAdded'}] - call s:assert_signs(expected, 'fixture.txt') -endfunction - - -function Test_untracked_file_outside_repo() - let tmp = tempname() - call system('touch '.tmp) - execute 'edit '.tmp - - call s:assert_signs([], tmp) -endfunction - - -function Test_untracked_file_within_repo() - let tmp = 'untrackedFileWithinRepo.tmp' - call system('touch '.tmp) - execute 'edit '.tmp - normal ggo* - call s:trigger_gitgutter() - - call s:assert_signs([], tmp) - call assert_equal(-2, b:gitgutter.path) - - call system('rm '.tmp) -endfunction - - -function Test_untracked_file_square_brackets_within_repo() - let tmp = '[un]trackedFileWithinRepo.tmp' - call system('touch '.tmp) - execute 'edit '.tmp - normal ggo* - call s:trigger_gitgutter() - - call s:assert_signs([], tmp) - - call system('rm '.tmp) -endfunction - - -function Test_hunk_outside_noop() - 5 - GitGutterStageHunk - - call s:assert_signs([], 'fixture.txt') - call assert_equal([], s:git_diff()) - call assert_equal([], s:git_diff_staged()) - - GitGutterUndoHunk - - call s:assert_signs([], 'fixture.txt') - call assert_equal([], s:git_diff()) - call assert_equal([], s:git_diff_staged()) -endfunction - - -function Test_preview() - normal 5Gi* - GitGutterPreviewHunk - - wincmd P - call assert_equal(2, line('$')) - call assert_equal('-e', getline(1)) - call assert_equal('+*e', getline(2)) - wincmd p -endfunction - - -function Test_preview_dos() - edit! fixture_dos.txt - - normal 5Gi* - GitGutterPreviewHunk - - wincmd P - call assert_equal(2, line('$')) - call assert_equal('-e', getline(1)) - call assert_equal('+*e', getline(2)) - wincmd p -endfunction - - - - -function Test_hunk_stage() - let _shell = &shell - set shell=foo - - normal 5Gi* - GitGutterStageHunk - - call assert_equal('foo', &shell) - let &shell = _shell - - call s:assert_signs([], 'fixture.txt') - - " Buffer is unsaved - let expected = [ - \ 'diff --git a/fixture.txt b/fixture.txt', - \ 'index ae8e546..f5c6aff 100644', - \ '--- a/fixture.txt', - \ '+++ b/fixture.txt', - \ '@@ -5 +5 @@ d', - \ '-*e', - \ '+e' - \ ] - call assert_equal(expected, s:git_diff()) - - " Index has been updated - let expected = [ - \ 'diff --git a/fixture.txt b/fixture.txt', - \ 'index f5c6aff..ae8e546 100644', - \ '--- a/fixture.txt', - \ '+++ b/fixture.txt', - \ '@@ -5 +5 @@ d', - \ '-e', - \ '+*e' - \ ] - call assert_equal(expected, s:git_diff_staged()) - - " Save the buffer - write - - call assert_equal([], s:git_diff()) -endfunction - - -function Test_hunk_stage_nearby_hunk() - execute "normal! 2Gox\y\z" - normal 2jdd - normal k - GitGutterStageHunk - - let expected = [ - \ {'lnum': 3, 'name': 'GitGutterLineAdded'}, - \ {'lnum': 4, 'name': 'GitGutterLineAdded'}, - \ {'lnum': 5, 'name': 'GitGutterLineAdded'} - \ ] - call s:assert_signs(expected, 'fixture.txt') - - " Buffer is unsaved - let expected = [ - \ 'diff --git a/fixture.txt b/fixture.txt', - \ 'index 53b13df..f5c6aff 100644', - \ '--- a/fixture.txt', - \ '+++ b/fixture.txt', - \ '@@ -3,0 +4 @@ c', - \ '+d', - \ ] - call assert_equal(expected, s:git_diff()) - - " Index has been updated - let expected = [ - \ 'diff --git a/fixture.txt b/fixture.txt', - \ 'index f5c6aff..53b13df 100644', - \ '--- a/fixture.txt', - \ '+++ b/fixture.txt', - \ '@@ -4 +3,0 @@ c', - \ '-d', - \ ] - call assert_equal(expected, s:git_diff_staged()) - - " Save the buffer - write - - let expected = [ - \ 'diff --git a/fixture.txt b/fixture.txt', - \ 'index 53b13df..8fdfda7 100644', - \ '--- a/fixture.txt', - \ '+++ b/fixture.txt', - \ '@@ -2,0 +3,3 @@ b', - \ '+x', - \ '+y', - \ '+z', - \ ] - call assert_equal(expected, s:git_diff()) -endfunction - - -function Test_hunk_stage_partial_visual_added() - call append(5, ['A','B','C','D']) - execute "normal 7GVj:GitGutterStageHunk\" - - let expected = [ - \ {'lnum': 6, 'name': 'GitGutterLineAdded'}, - \ {'lnum': 9, 'name': 'GitGutterLineAdded'}, - \ ] - call s:assert_signs(expected, 'fixture.txt') - - let expected = [ - \ 'diff --git a/fixture.txt b/fixture.txt', - \ 'index 8a7026e..f5c6aff 100644', - \ '--- a/fixture.txt', - \ '+++ b/fixture.txt', - \ '@@ -6,2 +5,0 @@ e', - \ '-B', - \ '-C', - \ ] - call assert_equal(expected, s:git_diff()) - - let expected = [ - \ 'diff --git a/fixture.txt b/fixture.txt', - \ 'index f5c6aff..8a7026e 100644', - \ '--- a/fixture.txt', - \ '+++ b/fixture.txt', - \ '@@ -5,0 +6,2 @@ e', - \ '+B', - \ '+C', - \ ] - call assert_equal(expected, s:git_diff_staged()) -endfunction - - -function Test_hunk_stage_partial_cmd_added() - call append(5, ['A','B','C','D']) - 6 - 7,8GitGutterStageHunk - - let expected = [ - \ {'lnum': 6, 'name': 'GitGutterLineAdded'}, - \ {'lnum': 9, 'name': 'GitGutterLineAdded'}, - \ ] - call s:assert_signs(expected, 'fixture.txt') - - let expected = [ - \ 'diff --git a/fixture.txt b/fixture.txt', - \ 'index 8a7026e..f5c6aff 100644', - \ '--- a/fixture.txt', - \ '+++ b/fixture.txt', - \ '@@ -6,2 +5,0 @@ e', - \ '-B', - \ '-C', - \ ] - call assert_equal(expected, s:git_diff()) - - let expected = [ - \ 'diff --git a/fixture.txt b/fixture.txt', - \ 'index f5c6aff..8a7026e 100644', - \ '--- a/fixture.txt', - \ '+++ b/fixture.txt', - \ '@@ -5,0 +6,2 @@ e', - \ '+B', - \ '+C', - \ ] - call assert_equal(expected, s:git_diff_staged()) -endfunction - - -function Test_hunk_stage_partial_preview_added() - call append(5, ['A','B','C','D']) - 6 - GitGutterPreviewHunk - wincmd P - - " remove C and A so we stage B and D - 3delete - 1delete - - GitGutterStageHunk - write - - let expected = [ - \ {'lnum': 6, 'name': 'GitGutterLineAdded'}, - \ {'lnum': 8, 'name': 'GitGutterLineAdded'}, - \ ] - call s:assert_signs(expected, 'fixture.txt') - - let expected = [ - \ 'diff --git a/fixture.txt b/fixture.txt', - \ 'index 975852f..3dd23a3 100644', - \ '--- a/fixture.txt', - \ '+++ b/fixture.txt', - \ '@@ -5,0 +6 @@ e', - \ '+A', - \ '@@ -6,0 +8 @@ B', - \ '+C', - \ ] - call assert_equal(expected, s:git_diff()) - - let expected = [ - \ 'diff --git a/fixture.txt b/fixture.txt', - \ 'index f5c6aff..975852f 100644', - \ '--- a/fixture.txt', - \ '+++ b/fixture.txt', - \ '@@ -5,0 +6,2 @@ e', - \ '+B', - \ '+D', - \ ] - call assert_equal(expected, s:git_diff_staged()) -endfunction - - -function Test_hunk_stage_preview_write() - call append(5, ['A','B','C','D']) - 6 - GitGutterPreviewHunk - wincmd P - - " preview window - call feedkeys(":w\", 'tx') - " original window - write - - call s:assert_signs([], 'fixture.txt') - - call assert_equal([], s:git_diff()) - - let expected = [ - \ 'diff --git a/fixture.txt b/fixture.txt', - \ 'index f5c6aff..3dd23a3 100644', - \ '--- a/fixture.txt', - \ '+++ b/fixture.txt', - \ '@@ -5,0 +6,4 @@ e', - \ '+A', - \ '+B', - \ '+C', - \ '+D', - \ ] - call assert_equal(expected, s:git_diff_staged()) -endfunction - - -function Test_hunk_stage_partial_preview_added_removed() - 4,5delete - call append(3, ['A','B','C','D']) - 4 - GitGutterPreviewHunk - wincmd P - - " -d - " -e - " +A - " +B - " +C - " +D - - " remove D and d so they do not get staged - 6delete - 1delete - - GitGutterStageHunk - write - - let expected = [ - \ {'lnum': 3, 'name': 'GitGutterLineRemoved'}, - \ {'lnum': 7, 'name': 'GitGutterLineAdded'}, - \ ] - call s:assert_signs(expected, 'fixture.txt') - - let expected = [ - \ 'diff --git a/fixture.txt b/fixture.txt', - \ 'index 9a19589..e63fb0a 100644', - \ '--- a/fixture.txt', - \ '+++ b/fixture.txt', - \ '@@ -4 +3,0 @@ c', - \ '-d', - \ '@@ -7,0 +7 @@ C', - \ '+D', - \ ] - call assert_equal(expected, s:git_diff()) - - let expected = [ - \ 'diff --git a/fixture.txt b/fixture.txt', - \ 'index f5c6aff..9a19589 100644', - \ '--- a/fixture.txt', - \ '+++ b/fixture.txt', - \ '@@ -5 +5,3 @@ d', - \ '-e', - \ '+A', - \ '+B', - \ '+C', - \ ] - call assert_equal(expected, s:git_diff_staged()) -endfunction - - -function Test_hunk_undo() - let _shell = &shell - set shell=foo - - normal 5Gi* - GitGutterUndoHunk - - call assert_equal('foo', &shell) - let &shell = _shell - - call s:assert_signs([], 'fixture.txt') - call assert_equal([], s:git_diff()) - call assert_equal([], s:git_diff_staged()) - call assert_equal('e', getline(5)) -endfunction - - -function Test_hunk_undo_dos() - edit! fixture_dos.txt - - normal 5Gi* - GitGutterUndoHunk - - call s:assert_signs([], 'fixture_dos.txt') - call assert_equal([], s:git_diff('fixture_dos.txt')) - call assert_equal([], s:git_diff_staged('fixture_dos.txt')) - call assert_equal('e', getline(5)) -endfunction - - -function Test_undo_nearby_hunk() - execute "normal! 2Gox\y\z" - normal 2jdd - normal k - call s:trigger_gitgutter() - GitGutterUndoHunk - call s:trigger_gitgutter() - - let expected = [ - \ {'lnum': 3, 'name': 'GitGutterLineAdded'}, - \ {'lnum': 4, 'name': 'GitGutterLineAdded'}, - \ {'lnum': 5, 'name': 'GitGutterLineAdded'} - \ ] - call s:assert_signs(expected, 'fixture.txt') - - call assert_equal([], s:git_diff()) - - call assert_equal([], s:git_diff_staged()) - - " Save the buffer - write - - let expected = [ - \ 'diff --git a/fixture.txt b/fixture.txt', - \ 'index f5c6aff..3fbde56 100644', - \ '--- a/fixture.txt', - \ '+++ b/fixture.txt', - \ '@@ -2,0 +3,3 @@ b', - \ '+x', - \ '+y', - \ '+z', - \ ] - call assert_equal(expected, s:git_diff()) - -endfunction - - -function Test_overlapping_hunk_op() - func Answer(char) - call feedkeys(a:char."\") - endfunc - - " Undo upper - - execute '3d' - execute '1d' - call s:trigger_gitgutter() - normal gg - call timer_start(100, {-> Answer('u')} ) - GitGutterUndoHunk - call s:trigger_gitgutter() - - let expected = [{'lnum': 2, 'name': 'GitGutterLineRemoved'}] - call s:assert_signs(expected, 'fixture.txt') - - " Undo lower - - execute '1d' - call s:trigger_gitgutter() - normal gg - call timer_start(100, {-> Answer('l')} ) - GitGutterUndoHunk - call s:trigger_gitgutter() - - let expected = [{'lnum': 1, 'name': 'GitGutterLineRemovedFirstLine'}] - call s:assert_signs(expected, 'fixture.txt') -endfunction - - -function Test_write_option() - set nowrite - - normal ggo* - call s:trigger_gitgutter() - - let expected = [{'lnum': 2, 'name': 'GitGutterLineAdded'}] - call s:assert_signs(expected, 'fixture.txt') - - set write -endfunction - - -function Test_inner_text_object() - execute "normal! 2Gox\y\z\\" - call s:trigger_gitgutter() - normal dic - call s:trigger_gitgutter() - - call s:assert_signs([], 'fixture.txt') - call assert_equal(readfile('fixture.txt'), getline(1,'$')) - - " Excludes trailing lines - normal 9Gi* - normal 10Gi* - call s:trigger_gitgutter() - execute "normal vic\" - call assert_equal([9, 10], [line("'<"), line("'>")]) -endfunction - - -function Test_around_text_object() - execute "normal! 2Gox\y\z\\" - call s:trigger_gitgutter() - normal dac - call s:trigger_gitgutter() - - call s:assert_signs([], 'fixture.txt') - call assert_equal(readfile('fixture.txt'), getline(1,'$')) - - " Includes trailing lines - normal 9Gi* - normal 10Gi* - call s:trigger_gitgutter() - execute "normal vac\" - call assert_equal([9, 11], [line("'<"), line("'>")]) -endfunction - - -function Test_user_autocmd() - autocmd User GitGutter let s:autocmd_user = g:gitgutter_hook_context.bufnr - - " Verify not fired when nothing changed. - let s:autocmd_user = 0 - call s:trigger_gitgutter() - call assert_equal(0, s:autocmd_user) - - " Verify fired when there was a change. - normal ggo* - let bufnr = bufnr('') - call s:trigger_gitgutter() - call assert_equal(bufnr, s:autocmd_user) -endfunction - - -function Test_fix_file_references() - " No special characters - let hunk_diff = join([ - \ 'diff --git a/fixture.txt b/fixture.txt', - \ 'index f5c6aff..3fbde56 100644', - \ '--- a/fixture.txt', - \ '+++ b/fixture.txt', - \ '@@ -2,0 +3,1 @@ b', - \ '+x' - \ ], "\n")."\n" - let filepath = 'blah.txt' - - let expected = join([ - \ 'diff --git a/blah.txt b/blah.txt', - \ 'index f5c6aff..3fbde56 100644', - \ '--- a/blah.txt', - \ '+++ b/blah.txt', - \ '@@ -2,0 +3,1 @@ b', - \ '+x' - \ ], "\n")."\n" - - call assert_equal(expected, gitgutter#hunk#fix_file_references(filepath, hunk_diff)) - - " diff.mnemonicPrefix; spaces in filename - let hunk_diff = join([ - \ 'diff --git i/x/cat dog w/x/cat dog', - \ 'index f5c6aff..3fbde56 100644', - \ '--- i/x/cat dog', - \ '+++ w/x/cat dog', - \ '@@ -2,0 +3,1 @@ b', - \ '+x' - \ ], "\n")."\n" - let filepath = 'blah.txt' - - let expected = join([ - \ 'diff --git i/blah.txt w/blah.txt', - \ 'index f5c6aff..3fbde56 100644', - \ '--- i/blah.txt', - \ '+++ w/blah.txt', - \ '@@ -2,0 +3,1 @@ b', - \ '+x' - \ ], "\n")."\n" - - call assert_equal(expected, gitgutter#hunk#fix_file_references(filepath, hunk_diff)) - - " Backslashes in filename; quotation marks - let hunk_diff = join([ - \ 'diff --git "a/C:\\Users\\FOO~1.PAR\\AppData\\Local\\Temp\\nvimJcmSv9\\11.1.vim" "b/C:\\Users\\FOO~1.PAR\\AppData\\Local\\Temp\\nvimJcmSv9\\12.1.vim"', - \ 'index f42aeb0..4930403 100644', - \ '--- "a/C:\\Users\\FOO~1.PAR\\AppData\\Local\\Temp\\nvimJcmSv9\\11.1.vim"', - \ '+++ "b/C:\\Users\\FOO~1.PAR\\AppData\\Local\\Temp\\nvimJcmSv9\\12.1.vim"', - \ '@@ -172,0 +173 @@ stuff', - \ '+x' - \ ], "\n")."\n" - let filepath = 'init.vim' - - let expected = join([ - \ 'diff --git "a/init.vim" "b/init.vim"', - \ 'index f42aeb0..4930403 100644', - \ '--- "a/init.vim"', - \ '+++ "b/init.vim"', - \ '@@ -172,0 +173 @@ stuff', - \ '+x' - \ ], "\n")."\n" - - call assert_equal(expected, gitgutter#hunk#fix_file_references(filepath, hunk_diff)) -endfunction - - -function Test_encoding() - call system('cp ../cp932.txt . && git add cp932.txt') - edit ++enc=cp932 cp932.txt - - call s:trigger_gitgutter() - - call s:assert_signs([], 'cp932.txt') -endfunction - - -function Test_empty_file() - " 0-byte file - call system('touch empty.txt && git add empty.txt') - edit empty.txt - - call s:trigger_gitgutter() - call s:assert_signs([], 'empty.txt') - - - " File consisting only of a newline - call system('echo "" > newline.txt && git add newline.txt') - edit newline.txt - - call s:trigger_gitgutter() - call s:assert_signs([], 'newline.txt') - - - " 1 line file without newline - " Vim will force a newline unless we tell it not to. - call system('echo -n a > oneline.txt && git add oneline.txt') - set noeol nofixeol - edit! oneline.txt - - call s:trigger_gitgutter() - call s:assert_signs([], 'oneline.txt') - - set eol fixeol -endfunction - - -function Test_quickfix() - call setline(5, ['A', 'B']) - call setline(9, ['C', 'D']) - write - - GitGutterQuickFix - - let expected = [ - \ {'lnum': 5, 'bufnr': bufnr(''), 'text': '-e'}, - \ {'lnum': 9, 'bufnr': bufnr(''), 'text': '-i'} - \ ] - - call s:assert_list_of_dicts(expected, getqflist()) -endfunction - - -function Test_common_prefix() - " zero length - call assert_equal(-1, gitgutter#diff_highlight#common_prefix('', 'foo')) - call assert_equal(-1, gitgutter#diff_highlight#common_prefix('foo', '')) - " nothing in common - call assert_equal(-1, gitgutter#diff_highlight#common_prefix('-abcde', '+pqrst')) - call assert_equal(-1, gitgutter#diff_highlight#common_prefix('abcde', 'pqrst')) - " something in common - call assert_equal(-1, gitgutter#diff_highlight#common_prefix('-abcde', '+abcpq')) - call assert_equal(2, gitgutter#diff_highlight#common_prefix('abcde', 'abcpq')) - call assert_equal(0, gitgutter#diff_highlight#common_prefix('abc', 'apq')) - " everything in common - call assert_equal(-1, gitgutter#diff_highlight#common_prefix('-abcde', '+abcde')) - call assert_equal(4, gitgutter#diff_highlight#common_prefix('abcde', 'abcde')) - " different lengths - call assert_equal(-1, gitgutter#diff_highlight#common_prefix('-abcde', '+abx')) - call assert_equal(1, gitgutter#diff_highlight#common_prefix('abcde', 'abx')) - call assert_equal(-1, gitgutter#diff_highlight#common_prefix('-abx', '+abcde')) - call assert_equal(1, gitgutter#diff_highlight#common_prefix('abx', 'abcde')) - call assert_equal(-1, gitgutter#diff_highlight#common_prefix('-abcde', '+abc')) - call assert_equal(2, gitgutter#diff_highlight#common_prefix('abcde', 'abc')) -endfunction - - -function Test_common_suffix() - " nothing in common - call assert_equal([6,6], gitgutter#diff_highlight#common_suffix('-abcde', '+pqrst', 0)) - " something in common - call assert_equal([3,3], gitgutter#diff_highlight#common_suffix('-abcde', '+pqcde', 0)) - " everything in common - call assert_equal([5,5], gitgutter#diff_highlight#common_suffix('-abcde', '+abcde', 5)) - " different lengths - call assert_equal([4,2], gitgutter#diff_highlight#common_suffix('-abcde', '+xde', 0)) - call assert_equal([2,4], gitgutter#diff_highlight#common_suffix('-xde', '+abcde', 0)) -endfunction - - -" Note the order of lists within the overall returned list does not matter. -function Test_diff_highlight() - " Ignores mismatched number of added and removed lines. - call assert_equal([], gitgutter#diff_highlight#process(['-foo'])) - call assert_equal([], gitgutter#diff_highlight#process(['+foo'])) - call assert_equal([], gitgutter#diff_highlight#process(['-foo','-bar','+baz'])) - - " everything changed - let hunk = ['-foo', '+cat'] - let expected = [] - call assert_equal(expected, gitgutter#diff_highlight#process(hunk)) - - " change in middle - let hunk = ['-foo bar baz', '+foo zip baz'] - let expected = [[1, '-', 6, 8], [2, '+', 6, 8]] - call assert_equal(expected, gitgutter#diff_highlight#process(hunk)) - - " change at start - let hunk = ['-foo bar baz', '+zip bar baz'] - let expected = [[1, '-', 2, 4], [2, '+', 2, 4]] - call assert_equal(expected, gitgutter#diff_highlight#process(hunk)) - - " change at end - let hunk = ['-foo bar baz', '+foo bar zip'] - let expected = [[1, '-', 10, 12], [2, '+', 10, 12]] - call assert_equal(expected, gitgutter#diff_highlight#process(hunk)) - - " removed in middle - let hunk = ['-foo bar baz', '+foo baz'] - let expected = [[1, '-', 8, 11]] - call assert_equal(expected, gitgutter#diff_highlight#process(hunk)) - - " added in middle - let hunk = ['-foo baz', '+foo bar baz'] - let expected = [[2, '+', 8, 11]] - call assert_equal(expected, gitgutter#diff_highlight#process(hunk)) - - " two insertions at start - let hunk = ['-foo bar baz', '+(foo) bar baz'] - let expected = [[2, '+', 2, 2], [2, '+', 6, 6]] - call assert_equal(expected, gitgutter#diff_highlight#process(hunk)) - - " two insertions in middle - let hunk = ['-foo bar baz', '+foo (bar) baz'] - let expected = [[2, '+', 6, 6], [2, '+', 10, 10]] - call assert_equal(expected, gitgutter#diff_highlight#process(hunk)) - - " two insertions at end - let hunk = ['-foo bar baz', '+foo bar (baz)'] - let expected = [[2, '+', 10, 10], [2, '+', 14, 14]] - call assert_equal(expected, gitgutter#diff_highlight#process(hunk)) - - " singular insertion - let hunk = ['-The cat in the hat.', '+The furry cat in the hat.'] - call assert_equal([[2, '+', 6, 11]], gitgutter#diff_highlight#process(hunk)) - - " singular deletion - let hunk = ['-The cat in the hat.', '+The cat.'] - call assert_equal([[1, '-', 9, 19]], gitgutter#diff_highlight#process(hunk)) - - " two insertions - let hunk = ['-The cat in the hat.', '+The furry cat in the teal hat.'] - call assert_equal([[2, '+', 6, 11], [2, '+', 22, 26]], gitgutter#diff_highlight#process(hunk)) - - " two deletions - let hunk = ['-The furry cat in the teal hat.', '+The cat in the hat.'] - call assert_equal([[1, '-', 6, 11], [1, '-', 22, 26]], gitgutter#diff_highlight#process(hunk)) - - " two edits - let hunk = ['-The cat in the hat.', '+The ox in the box.'] - call assert_equal([[1, '-', 6, 8], [2, '+', 6, 7], [1, '-', 17, 19], [2, '+', 16, 18]], gitgutter#diff_highlight#process(hunk)) - - " Requires s:gap_between_regions = 2 to pass. - " let hunk = ['-foo: bar.zap', '+foo: quux(bar)'] - " call assert_equal([[2, '+', 7, 11], [1, '-', 10, 13], [2, '+', 15, 15]], gitgutter#diff_highlight#process(hunk)) - - let hunk = ['-gross_value: transaction.unexplained_amount', '+gross_value: amount(transaction)'] - call assert_equal([[2, '+', 15, 21], [1, '-', 26, 44], [2, '+', 33, 33]], gitgutter#diff_highlight#process(hunk)) - - let hunk = ['-gem "contact_sport", "~> 1.0.2"', '+gem ("contact_sport"), "~> 1.2"'] - call assert_equal([[2, '+', 6, 6], [2, '+', 22, 22], [1, '-', 28, 29]], gitgutter#diff_highlight#process(hunk)) -endfunction - - -function Test_lcs() - call assert_equal('', gitgutter#diff_highlight#lcs('', 'foo')) - call assert_equal('', gitgutter#diff_highlight#lcs('foo', '')) - call assert_equal('bar', gitgutter#diff_highlight#lcs('foobarbaz', 'bbart')) - call assert_equal('transaction', gitgutter#diff_highlight#lcs('transaction.unexplained_amount', 'amount(transaction)')) -endfunction - - -function Test_split() - call assert_equal(['foo', 'baz'], gitgutter#diff_highlight#split('foobarbaz', 'bar')) - call assert_equal(['', 'barbaz'], gitgutter#diff_highlight#split('foobarbaz', 'foo')) - call assert_equal(['foobar', ''], gitgutter#diff_highlight#split('foobarbaz', 'baz')) - call assert_equal(['1', '2'], gitgutter#diff_highlight#split('1~2', '~')) -endfunction - - -function Test_foldtext() - 8d - call s:trigger_gitgutter() - call assert_equal(0, gitgutter#fold#is_changed()) - - let v:foldstart = 5 - let v:foldend = 9 - call assert_equal(1, gitgutter#fold#is_changed()) - call assert_equal('+- 5 lines (*): e', gitgutter#fold#foldtext()) - - let v:foldstart = 1 - let v:foldend = 3 - call assert_equal(0, gitgutter#fold#is_changed()) - call assert_equal('+- 3 lines: a', gitgutter#fold#foldtext()) -endfunction diff --git a/.vim_runtime/sources_non_forked/vim-indent-object/.gitignore b/.vim_runtime/sources_non_forked/vim-indent-object/.gitignore deleted file mode 100644 index 1b19a79..0000000 --- a/.vim_runtime/sources_non_forked/vim-indent-object/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -tags - diff --git a/.vim_runtime/sources_non_forked/vim-indent-object/README.md b/.vim_runtime/sources_non_forked/vim-indent-object/README.md deleted file mode 100644 index 2cca8d0..0000000 --- a/.vim_runtime/sources_non_forked/vim-indent-object/README.md +++ /dev/null @@ -1,88 +0,0 @@ - -README.md

vim-indent-object

- - - - - - - -

Intro

- -

Vim text objects provide a convenient way to select and operate on various -types of objects. These objects include regions surrounded by various types of -brackets and various parts of language (ie sentences, paragraphs, etc).

- -

This plugin defines a new text object, based on indentation levels. This is -very useful in languages such as Python, in which the syntax defines scope in -terms of indentation. Using the objects defined in this plugin, an entire if -structure can be quickly selected, for example.

- -

Install

- -
    -
  • vim-plug
  • -
- -
Plug 'michaeljsmith/vim-indent-object'
- -

Usage

- -

This plugin defines two new text objects. These are very similar - they differ -only in whether they include the line below the block or not.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Key bindingsDescription
<count>aiAn Indentation level and line above.
<count>iiInner Indentation level (no line above).
<count>aIAn Indentation level and lines above/below.
<count>iIInner Indentation level (no lines above/below).
-

Note: the iI mapping is mostly included simply for completeness, it is -effectively a synonym for ii.

- -

Just like regular text objects, these mappings can be used either with -operators expecting a motion, such as d or c, as well as in visual mode.

- -

In visual mode the mapping can be repeated, which has the effect of -iteratively increasing the scope of indentation block selected. Specifying a -count can be used to achieve the same effect.

- -

FeedBack

- -

vim-indent-object was written by Michael Smith msmith@msmith.id.au. The -project repository is kept at:

- -

http://github.com/michaeljsmith/vim-indent-object

- -

Any feedback or criticism is welcome, and can be mailed to the author at the -above email address. Alternatively issues can be raised on the project -website.

diff --git a/.vim_runtime/sources_non_forked/vim-indent-object/doc/indent-object.txt b/.vim_runtime/sources_non_forked/vim-indent-object/doc/indent-object.txt deleted file mode 100644 index 78a37c9..0000000 --- a/.vim_runtime/sources_non_forked/vim-indent-object/doc/indent-object.txt +++ /dev/null @@ -1,126 +0,0 @@ -*indent-object.txt* Text objects based on indent levels. - - Copyright (c) 2010 Michael Smith - -Indent Text Objects - -INTRODUCTION |indtobj-introduction| -TEXT OBJECTS |indtobj-objects| -BLANK LINES |indtobj-blanklines| -ABOUT |indtobj-about| - - -============================================================================== -INTRODUCTION *indtobj-introduction* - -Vim text objects provide a convenient way to select and operate on various -types of objects. These objects include regions surrounded by various types of -brackets and various parts of language (ie sentences, paragraphs, etc). - -This plugin defines a new text object, based on indentation levels. This is -very useful in languages such as Python, in which the syntax defines scope in -terms of indentation. Using the objects defined in this plugin, an entire if -structure can be quickly selected, for example. - - -============================================================================== -TEXT OBJECTS *ai* *ii* *aI* *iI* *indtobj-objects* - -This plugin defines two new text objects. These are very similar - they differ -only in whether they include the line below the block or not. - - Key Mapping Description ~ -> - ai (A)n (I)ndentation level and line above. - ii (I)nner (I)ndentation level (no line above). - aI (A)n (I)ndentation level and lines above/below. - iI (I)nner (I)ndentation level (no lines above/below). -< - -Note that the iI mapping is mostly included simply for completeness, it is -effectively a synonym for ii. - -Just like regular text objects, these mappings can be used either with -operators expecting a motion, such as 'd' or 'c', as well as in visual mode. -In visual mode the mapping can be repeated, which has the effect of -iteratively increasing the scope of indentation block selected. Specifying a -count can be used to achieve the same effect. - -The difference between |ai| and |aI| is that |ai| includes the line -immediately above the indentation block, whereas aI includes not only that, -but also the line below. Which of these is most useful largely depends on the -structure of the language being edited. - -For example, when editing the Python code, |ai| is generally more useful, as -the line above the indentation block is usually related to it. For example, in -the following code (* is used to indicate the cursor position): -> - if foo > 3: - log("foo is big") * - foo = 3 - do_something_else() -< -the if clause is logically related to the code block, whereas the function -call below is not. It is unlikely we would want to select the line below when -we are interested in the if block. - -However, in other languages, such as Vim scripts, control structures are -usually terminated with something like 'endif'. Therefore, in this example: -> - if foo > 3 - echo "foo is big" * - let foo = 3 - endif - call do_something_else() -< -we would more likely want to include the endif when we select the if -structure. - - -============================================================================== -BLANK LINES *indtobj-blanklines* - -When scanning code blocks, the plugin usually ignores blank lines. There is an -exception to this, however, when the block being selected is not indented. In -this case if blank lines are ignored, then the entire file would be selected. -Instead when code at the top level is being indented blank lines are -considered to delimit the block. - -This exceptional behaviour can be disabled by executing the following line -> - :let g:indent_object_except_first_level = 0 -< -(default is 1) - - -============================================================================== -ABOUT *indtobj-about* - -vim-indent-object was written by Michael Smith . The -project repository is kept at: - -http://github.com/michaeljsmith/vim-indent-object - -Any feedback or criticism is welcome, and can be mailed to the author at the -above email address. Alternatively issues can be raised on the project -website. - -Licence: - -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/.vim_runtime/sources_non_forked/vim-indent-object/plugin/indent-object.vim b/.vim_runtime/sources_non_forked/vim-indent-object/plugin/indent-object.vim deleted file mode 100644 index bd4075e..0000000 --- a/.vim_runtime/sources_non_forked/vim-indent-object/plugin/indent-object.vim +++ /dev/null @@ -1,234 +0,0 @@ -"-------------------------------------------------------------------------------- -" -" Copyright (c) 2010 Michael Smith -" -" http://github.com/michaeljsmith/vim-indent-object -" -" 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. -" -"-------------------------------------------------------------------------------- - -" Mappings excluding line below. -onoremap ai :cal HandleTextObjectMapping(0, 0, 0, [line("."), line("."), col("."), col(".")]) -onoremap ii :cal HandleTextObjectMapping(1, 0, 0, [line("."), line("."), col("."), col(".")]) -vnoremap ai :cal HandleTextObjectMapping(0, 0, 1, [line("'<"), line("'>"), col("'<"), col("'>")])gv -vnoremap ii :cal HandleTextObjectMapping(1, 0, 1, [line("'<"), line("'>"), col("'<"), col("'>")])gv - -" Mappings including line below. -onoremap aI :cal HandleTextObjectMapping(0, 1, 0, [line("."), line("."), col("."), col(".")]) -onoremap iI :cal HandleTextObjectMapping(1, 1, 0, [line("."), line("."), col("."), col(".")]) -vnoremap aI :cal HandleTextObjectMapping(0, 1, 1, [line("'<"), line("'>"), col("'<"), col("'>")])gv -vnoremap iI :cal HandleTextObjectMapping(1, 1, 1, [line("'<"), line("'>"), col("'<"), col("'>")])gv - -let s:l0 = -1 -let s:l1 = -1 -let s:c0 = -1 -let s:c1 = -1 - -if !exists("g:indent_object_except_first_level") - let g:indent_object_except_first_level = 1 -endif - -function! TextObject(inner, incbelow, vis, range, count) - - " Record the current state of the visual region. - let vismode = "V" - - " Detect if this is a completely new visual selction session. - let new_vis = 0 - let new_vis = new_vis || s:l0 != a:range[0] - let new_vis = new_vis || s:l1 != a:range[1] - let new_vis = new_vis || s:c0 != a:range[2] - let new_vis = new_vis || s:c1 != a:range[3] - - let s:l0 = a:range[0] - let s:l1 = a:range[1] - let s:c0 = a:range[2] - let s:c1 = a:range[3] - - " Repeatedly increase the scope of the selection. - let itr_cnt = 0 - let cnt = a:count - while cnt > 0 - - " Look for the minimum indentation in the current visual region. - let l = s:l0 - let idnt_invalid = 1000 - let idnt = idnt_invalid - while l <= s:l1 - if !(getline(l) =~ "^\\s*$") - let idnt = min([idnt, indent(l)]) - endif - let l += 1 - endwhile - - " Keep track of where the range should be expanded to. - let l_1 = s:l0 - let l_1o = l_1 - let l2 = s:l1 - let l2o = l2 - - " If we are highlighting only blank lines, we may not have found a - " valid indent. In this case we need to look for the next and previous - " non blank lines and check which of those has the largest indent. - if idnt == idnt_invalid - let idnt = 0 - let pnb = prevnonblank(s:l0) - if pnb - let idnt = max([idnt, indent(pnb)]) - let l_1 = pnb - endif - let nnb = nextnonblank(s:l0) - if nnb - let idnt = max([idnt, indent(nnb)]) - endif - - " If we are in whitespace at the beginning of a block, skip over - " it when we are selecting the range. Similarly, if we are in - " whitespace at the end, ignore it. - if idnt > indent(pnb) - let l_1 = nnb - endif - if idnt > indent(nnb) - let l2 = pnb - endif - endif - - " Search backward for the first line with less indent than the target - " indent (skipping blank lines). - let blnk = getline(l_1) =~ "^\\s*$" - while l_1 > 0 && (blnk || indent(l_1) >= idnt) - if g:indent_object_except_first_level && idnt == 0 && blnk - break - endif - if !blnk || !a:inner - let l_1o = l_1 - endif - let l_1 -= 1 - let blnk = getline(l_1) =~ "^\\s*$" - endwhile - - " Search forward for the first line with more indent than the target - " indent (skipping blank lines). - let line_cnt = line("$") - let blnk = getline(l2) =~ "^\\s*$" - while l2 <= line_cnt && (blnk || indent(l2) >= idnt) - if g:indent_object_except_first_level && idnt == 0 && blnk - break - endif - if !blnk || !a:inner - let l2o = l2 - endif - let l2 += 1 - let blnk = getline(l2) =~ "^\\s*$" - endwhile - - " Determine which of these extensions to include. Include neither if - " we are selecting an 'inner' object. Exclude the bottom unless are - " told to include it. - let idnt2 = max([indent(l_1), indent(l2)]) - if indent(l_1) < idnt2 || a:inner - let l_1 = l_1o - endif - if indent(l2) < idnt2 || a:inner || !a:incbelow - let l2 = l2o - endif - let l_1 = max([l_1, 1]) - let l2 = min([l2, line("$")]) - - " Extend the columns to the start and end. - " If inner is selected, set the final cursor pos to the start - " of the text in the line. - let c_1 = 1 - if a:inner - let c_1 = match(getline(l_1), "\\c\\S") + 1 - endif - let c2 = len(getline(l2)) - if !a:inner - let c2 += 1 - endif - - " Make sure there's no change if we haven't really made a - " significant change in linewise mode - this makes sure that - " we can iteratively increase selection in linewise mode. - if itr_cnt == 0 && vismode ==# 'V' && s:l0 == l_1 && s:l1 == l2 - let c_1 = s:c0 - let c2 = s:c1 - endif - - " Check whether the visual region has changed. - let chg = 0 - let chg = chg || s:l0 != l_1 - let chg = chg || s:l1 != l2 - let chg = chg || s:c0 != c_1 - let chg = chg || s:c1 != c2 - - if vismode ==# 'V' && new_vis - let chg = 1 - endif - - " Update the vars. - let s:l0 = l_1 - let s:l1 = l2 - let s:c0 = c_1 - let s:c1 = c2 - - " If there was no change, then don't decrement the count (it didn't - " count because it didn't do anything). - if chg - let cnt = cnt - 1 - else - " Since this didn't work, push the selection back one char. This - " will have the effect of getting the enclosing block. Do it at - " the beginning rather than the end - the beginning is very likely - " to be only one indentation level different. - if s:l0 == 0 - return - endif - let s:l0 -= 1 - let s:c0 = len(getline(s:l0)) - endif - - let itr_cnt += 1 - - endwhile - - " Apply the range we have found. Make sure to use the current visual mode. - call cursor(s:l0, s:c0) - exe "normal! " . vismode - call cursor(s:l1, s:c1) - normal! o - - " Update these static variables - we need to keep these up-to-date between - " invocations because it's the only way we can detect whether it's a new - " visual mode. We need to know if it's a new visual mode because otherwise - " if there's a single line block in visual line mode and we select it with - " "V", we can't tell whether it's already been selected using Vii. - exe "normal! \" - let s:l0 = line("'<") - let s:l1 = line("'>") - let s:c0 = col("'<") - let s:c1 = col("'>") - normal gv0o0 - -endfunction - -function! HandleTextObjectMapping(inner, incbelow, vis, range) - call TextObject(a:inner, a:incbelow, a:vis, a:range, v:count1) -endfunction diff --git a/.vim_runtime/sources_non_forked/vim-javascript/ISSUE_TEMPLATE.md b/.vim_runtime/sources_non_forked/vim-javascript/ISSUE_TEMPLATE.md deleted file mode 100644 index d35d8e6..0000000 --- a/.vim_runtime/sources_non_forked/vim-javascript/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,14 +0,0 @@ -ISSUE_TEMPLATE.md

Requisite minimal reproducible example, formatted as plain text :

- -
- -

Optional: concerning jsx.

- -

PLEASE PLEASE PLEASE make sure you have properly -setup and are sourcing this plugin https://github.com/mxw/vim-jsx

- -

WE DO NOT support JSX automatically, you need another plugin to add get this -functionality.

- -

Make sure the bug still exists if you disable all other javascript plugins -except the one noted above, mxw/vim-jsx

diff --git a/.vim_runtime/sources_non_forked/vim-javascript/README.md b/.vim_runtime/sources_non_forked/vim-javascript/README.md deleted file mode 100644 index c2a2d5f..0000000 --- a/.vim_runtime/sources_non_forked/vim-javascript/README.md +++ /dev/null @@ -1,114 +0,0 @@ - -README.md

vim-javascript

- -

JavaScript bundle for vim, this bundle provides syntax highlighting and -improved indentation.

- -

Installation

- -

Install with native package manager

- -
  git clone https://github.com/pangloss/vim-javascript.git ~/.vim/pack/vim-javascript/start/vim-javascript
- -

since Vim 8.

- -

Install with pathogen

- -
  git clone https://github.com/pangloss/vim-javascript.git ~/.vim/bundle/vim-javascript
- -

alternatively, use a package manager like vim-plug

- -

Configuration Variables

- -

The following variables control certain syntax highlighting plugins. You can -add them to your .vimrc to enable their features.

- -
- -
let g:javascript_plugin_jsdoc = 1
- -

Enables syntax highlighting for JSDocs.

- -

Default Value: 0

- -
- -
let g:javascript_plugin_ngdoc = 1
- -

Enables some additional syntax highlighting for NGDocs. Requires JSDoc plugin -to be enabled as well.

- -

Default Value: 0

- -
- -
let g:javascript_plugin_flow = 1
- -

Enables syntax highlighting for Flow.

- -

Default Value: 0

- -
- -
augroup javascript_folding
-    au!
-    au FileType javascript setlocal foldmethod=syntax
-augroup END
- -

Enables code folding for javascript based on our syntax file.

- -

Please note this can have a dramatic effect on performance.

- -

Concealing Characters

- -

You can customize concealing characters, if your font provides the glyph you want, by defining one or more of the following -variables:

- -
let g:javascript_conceal_function             = "ƒ"
-let g:javascript_conceal_null                 = "ø"
-let g:javascript_conceal_this                 = "@"
-let g:javascript_conceal_return               = "⇚"
-let g:javascript_conceal_undefined            = "¿"
-let g:javascript_conceal_NaN                  = "ℕ"
-let g:javascript_conceal_prototype            = "¶"
-let g:javascript_conceal_static               = "•"
-let g:javascript_conceal_super                = "Ω"
-let g:javascript_conceal_arrow_function       = "⇒"
-let g:javascript_conceal_noarg_arrow_function = "🞅"
-let g:javascript_conceal_underscore_arrow_function = "🞅"
- -

You can enable concealing within VIM with:

- -
set conceallevel=1
- -

OR if you wish to toggle concealing you may wish to bind a command such as the following which will map <LEADER>l (leader is usually the \ key) to toggling conceal mode:

- -
map <leader>l :exec &conceallevel ? "set conceallevel=0" : "set conceallevel=1"<CR>
- -

Indentation Specific

- -
    -
  • :h cino-:
  • -
  • :h cino-=
  • -
  • :h cino-star
  • -
  • :h cino-(
  • -
  • :h cino-w
  • -
  • :h cino-W
  • -
  • :h cino-U
  • -
  • :h cino-m
  • -
  • :h cino-M
  • -
  • :h 'indentkeys'
  • -
- -

Contributing

- -

Please follow the general code style -guides (read the code) and in your pull request explain the reason for the -proposed change and how it is valuable. All p.r.’s will be reviewed by a -maintainer(s) then, hopefully, merged.

- -

Thank you!

- -

License

- -

Distributed under the same terms as Vim itself. See :help license.

diff --git a/.vim_runtime/sources_non_forked/vim-javascript/compiler/eslint.vim b/.vim_runtime/sources_non_forked/vim-javascript/compiler/eslint.vim deleted file mode 100644 index 7695a07..0000000 --- a/.vim_runtime/sources_non_forked/vim-javascript/compiler/eslint.vim +++ /dev/null @@ -1,16 +0,0 @@ -" Vim compiler plugin -" Language: JavaScript -" Maintainer: vim-javascript community -" URL: https://github.com/pangloss/vim-javascript - -if exists("current_compiler") - finish -endif -let current_compiler = "eslint" - -if exists(":CompilerSet") != 2 - command! -nargs=* CompilerSet setlocal -endif - -CompilerSet makeprg=eslint\ -f\ compact\ % -CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %m diff --git a/.vim_runtime/sources_non_forked/vim-javascript/extras/ctags b/.vim_runtime/sources_non_forked/vim-javascript/extras/ctags deleted file mode 100644 index cdc4edc..0000000 --- a/.vim_runtime/sources_non_forked/vim-javascript/extras/ctags +++ /dev/null @@ -1,8 +0,0 @@ ---langdef=js ---langmap=js:.js ---regex-js=/([A-Za-z0-9._$]+)[ \t]*[:=][ \t]*\{/\1/,object/ ---regex-js=/([A-Za-z0-9._$()]+)[ \t]*[:=][ \t]*function[ \t]*\(/\1/,function/ ---regex-js=/function[ \t]+([A-Za-z0-9._$]+)[ \t]*([^)])/\1/,function/ ---regex-js=/([A-Za-z0-9._$]+)[ \t]*[:=][ \t]*\[/\1/,array/ ---regex-js=/([^= ]+)[ \t]*=[ \t]*[^"]'[^']*/\1/,string/ ---regex-js=/([^= ]+)[ \t]*=[ \t]*[^']"[^"]*/\1/,string/ diff --git a/.vim_runtime/sources_non_forked/vim-javascript/extras/flow.vim b/.vim_runtime/sources_non_forked/vim-javascript/extras/flow.vim deleted file mode 100644 index b34d710..0000000 --- a/.vim_runtime/sources_non_forked/vim-javascript/extras/flow.vim +++ /dev/null @@ -1,109 +0,0 @@ -syntax region jsFlowDefinition contained start=/:/ end=/\%(\s*[,=;)\n]\)\@=/ contains=@jsFlowCluster containedin=jsParen -syntax region jsFlowArgumentDef contained start=/:/ end=/\%(\s*[,)]\|=>\@!\)\@=/ contains=@jsFlowCluster -syntax region jsFlowArray contained matchgroup=jsFlowNoise start=/\[/ end=/\]/ contains=@jsFlowCluster,jsComment fold -syntax region jsFlowObject contained matchgroup=jsFlowNoise start=/{/ end=/}/ contains=@jsFlowCluster,jsComment fold -syntax region jsFlowExactObject contained matchgroup=jsFlowNoise start=/{|/ end=/|}/ contains=@jsFlowCluster,jsComment fold -syntax region jsFlowParens contained matchgroup=jsFlowNoise start=/(/ end=/)/ contains=@jsFlowCluster nextgroup=jsFlowArrow skipwhite keepend extend fold -syntax match jsFlowNoise contained /[:;,<>]/ -syntax keyword jsFlowType contained boolean number string null void any mixed JSON array Function object array bool class -syntax keyword jsFlowTypeof contained typeof skipempty skipwhite nextgroup=jsFlowTypeCustom,jsFlowType -syntax match jsFlowTypeCustom contained /[0-9a-zA-Z_.]*/ skipwhite skipempty nextgroup=jsFlowGeneric -syntax region jsFlowGeneric matchgroup=jsFlowNoise start=/\k\@<=/ contains=@jsFlowCluster containedin=@jsExpression,jsFlowDeclareBlock -syntax region jsFlowGeneric contained matchgroup=jsFlowNoise start=/(\@=/ oneline contains=@jsFlowCluster containedin=@jsExpression,jsFlowDeclareBlock -syntax region jsFlowObjectGeneric contained matchgroup=jsFlowNoise start=/\k\@<=/ contains=@jsFlowCluster nextgroup=jsFuncArgs -syntax match jsFlowArrow contained /=>/ skipwhite skipempty nextgroup=jsFlowType,jsFlowTypeCustom,jsFlowParens -syntax match jsFlowObjectKey contained /[0-9a-zA-Z_$?]*\(\s*:\)\@=/ contains=jsFunctionKey,jsFlowMaybe skipwhite skipempty nextgroup=jsObjectValue containedin=jsObject -syntax match jsFlowOrOperator contained /|/ skipwhite skipempty nextgroup=@jsFlowCluster -syntax keyword jsFlowImportType contained type typeof skipwhite skipempty nextgroup=jsModuleAsterisk,jsModuleKeyword,jsModuleGroup -syntax match jsFlowWildcard contained /*/ - -syntax match jsFlowReturn contained /:\s*/ contains=jsFlowNoise skipwhite skipempty nextgroup=@jsFlowReturnCluster,jsFlowArrow,jsFlowReturnParens -syntax region jsFlowReturnObject contained matchgroup=jsFlowNoise start=/{/ end=/}/ contains=@jsFlowCluster skipwhite skipempty nextgroup=jsFuncBlock,jsFlowReturnOrOp extend fold -syntax region jsFlowReturnArray contained matchgroup=jsFlowNoise start=/\[/ end=/\]/ contains=@jsFlowCluster skipwhite skipempty nextgroup=jsFuncBlock,jsFlowReturnOrOp fold -syntax region jsFlowReturnParens contained matchgroup=jsFlowNoise start=/(/ end=/)/ contains=@jsFlowCluster skipwhite skipempty nextgroup=jsFuncBlock,jsFlowReturnOrOp,jsFlowReturnArrow fold -syntax match jsFlowReturnArrow contained /=>/ skipwhite skipempty nextgroup=@jsFlowReturnCluster -syntax match jsFlowReturnKeyword contained /\k\+/ contains=jsFlowType,jsFlowTypeCustom skipwhite skipempty nextgroup=jsFlowReturnGroup,jsFuncBlock,jsFlowReturnOrOp,jsFlowReturnArray -syntax match jsFlowReturnMaybe contained /?/ skipwhite skipempty nextgroup=jsFlowReturnKeyword,jsFlowReturnObject,jsFlowReturnParens -syntax region jsFlowReturnGroup contained matchgroup=jsFlowNoise start=// contains=@jsFlowCluster skipwhite skipempty nextgroup=jsFuncBlock,jsFlowReturnOrOp -syntax match jsFlowReturnOrOp contained /\s*|\s*/ skipwhite skipempty nextgroup=@jsFlowReturnCluster -syntax match jsFlowWildcardReturn contained /*/ skipwhite skipempty nextgroup=jsFuncBlock -syntax keyword jsFlowTypeofReturn contained typeof skipempty skipwhite nextgroup=@jsFlowReturnCluster - -syntax region jsFlowFunctionGroup contained matchgroup=jsFlowNoise start=// contains=@jsFlowCluster skipwhite skipempty nextgroup=jsFuncArgs -syntax region jsFlowClassGroup contained matchgroup=jsFlowNoise start=// contains=@jsFlowCluster skipwhite skipempty nextgroup=jsClassBlock -syntax region jsFlowClassFunctionGroup contained matchgroup=jsFlowNoise start=// contains=@jsFlowCluster skipwhite skipempty nextgroup=jsFuncArgs -syntax match jsFlowObjectFuncName contained /\<\K\k*<\@=/ skipwhite skipempty nextgroup=jsFlowObjectGeneric containedin=jsObject - -syntax region jsFlowTypeStatement start=/\(opaque\s\+\)\?type\%(\s\+\k\)\@=/ end=/=\@=/ contains=jsFlowTypeOperator oneline skipwhite skipempty nextgroup=jsFlowTypeValue keepend -syntax region jsFlowTypeValue contained matchgroup=jsFlowNoise start=/=/ end=/\%(;\|\n\%(\s*|\)\@!\)/ contains=@jsFlowCluster,jsFlowGeneric,jsFlowMaybe -syntax match jsFlowTypeOperator contained /=/ containedin=jsFlowTypeValue -syntax match jsFlowTypeOperator contained /=/ -syntax keyword jsFlowTypeKeyword contained type - -syntax keyword jsFlowDeclare declare skipwhite skipempty nextgroup=jsFlowTypeStatement,jsClassDefinition,jsStorageClass,jsFlowModule,jsFlowInterface -syntax match jsFlowClassProperty contained /\<[0-9a-zA-Z_$]*\>:\@=/ skipwhite skipempty nextgroup=jsFlowClassDef containedin=jsClassBlock -syntax region jsFlowClassDef contained start=/:/ end=/\%(\s*[,=;)\n]\)\@=/ contains=@jsFlowCluster skipwhite skipempty nextgroup=jsClassValue - -syntax region jsFlowModule contained start=/module/ end=/\%({\|:\)\@=/ skipempty skipwhite nextgroup=jsFlowDeclareBlock contains=jsString -syntax region jsFlowInterface contained start=/interface/ end=/{\@=/ skipempty skipwhite nextgroup=jsFlowInterfaceBlock contains=@jsFlowCluster -syntax region jsFlowDeclareBlock contained matchgroup=jsFlowNoise start=/{/ end=/}/ contains=jsFlowDeclare,jsFlowNoise fold - -syntax match jsFlowMaybe contained /?/ -syntax region jsFlowInterfaceBlock contained matchgroup=jsFlowNoise start=/{/ end=/}/ contains=jsObjectKey,jsObjectKeyString,jsObjectKeyComputed,jsObjectSeparator,jsObjectFuncName,jsFlowObjectFuncName,jsObjectMethodType,jsGenerator,jsComment,jsObjectStringKey,jsSpreadExpression,jsFlowNoise,jsFlowParens,jsFlowGeneric keepend fold - -syntax region jsFlowParenAnnotation contained start=/:/ end=/[,=)]\@=/ containedin=jsParen contains=@jsFlowCluster - -syntax cluster jsFlowReturnCluster contains=jsFlowNoise,jsFlowReturnObject,jsFlowReturnArray,jsFlowReturnKeyword,jsFlowReturnGroup,jsFlowReturnMaybe,jsFlowReturnOrOp,jsFlowWildcardReturn,jsFlowReturnArrow,jsFlowTypeofReturn -syntax cluster jsFlowCluster contains=jsFlowArray,jsFlowObject,jsFlowExactObject,jsFlowNoise,jsFlowTypeof,jsFlowType,jsFlowGeneric,jsFlowMaybe,jsFlowParens,jsFlowOrOperator,jsFlowWildcard - -if version >= 508 || !exists("did_javascript_syn_inits") - if version < 508 - let did_javascript_syn_inits = 1 - command -nargs=+ HiLink hi link - else - command -nargs=+ HiLink hi def link - endif - HiLink jsFlowDefinition PreProc - HiLink jsFlowClassDef jsFlowDefinition - HiLink jsFlowArgumentDef jsFlowDefinition - HiLink jsFlowType Type - HiLink jsFlowTypeCustom PreProc - HiLink jsFlowTypeof PreProc - HiLink jsFlowTypeofReturn PreProc - HiLink jsFlowArray PreProc - HiLink jsFlowObject PreProc - HiLink jsFlowExactObject PreProc - HiLink jsFlowParens PreProc - HiLink jsFlowGeneric PreProc - HiLink jsFlowObjectGeneric jsFlowGeneric - HiLink jsFlowReturn PreProc - HiLink jsFlowParenAnnotation PreProc - HiLink jsFlowReturnObject jsFlowReturn - HiLink jsFlowReturnArray jsFlowArray - HiLink jsFlowReturnParens jsFlowParens - HiLink jsFlowReturnGroup jsFlowGeneric - HiLink jsFlowFunctionGroup PreProc - HiLink jsFlowClassGroup PreProc - HiLink jsFlowClassFunctionGroup PreProc - HiLink jsFlowArrow PreProc - HiLink jsFlowReturnArrow PreProc - HiLink jsFlowTypeStatement PreProc - HiLink jsFlowTypeKeyword PreProc - HiLink jsFlowTypeOperator Operator - HiLink jsFlowMaybe PreProc - HiLink jsFlowReturnMaybe PreProc - HiLink jsFlowClassProperty jsClassProperty - HiLink jsFlowDeclare PreProc - HiLink jsFlowModule PreProc - HiLink jsFlowInterface PreProc - HiLink jsFlowNoise Noise - HiLink jsFlowObjectKey jsObjectKey - HiLink jsFlowOrOperator jsOperator - HiLink jsFlowReturnOrOp jsFlowOrOperator - HiLink jsFlowWildcard PreProc - HiLink jsFlowWildcardReturn PreProc - HiLink jsFlowImportType PreProc - HiLink jsFlowTypeValue PreProc - HiLink jsFlowObjectFuncName jsObjectFuncName - delcommand HiLink -endif diff --git a/.vim_runtime/sources_non_forked/vim-javascript/extras/jsdoc.vim b/.vim_runtime/sources_non_forked/vim-javascript/extras/jsdoc.vim deleted file mode 100644 index 92c4b8b..0000000 --- a/.vim_runtime/sources_non_forked/vim-javascript/extras/jsdoc.vim +++ /dev/null @@ -1,39 +0,0 @@ -"" syntax coloring for javadoc comments (HTML) -syntax region jsComment matchgroup=jsComment start="/\*\s*" end="\*/" contains=jsDocTags,jsCommentTodo,jsCvsTag,@jsHtml,@Spell fold - -" tags containing a param -syntax match jsDocTags contained "@\(alias\|api\|augments\|borrows\|class\|constructs\|default\|defaultvalue\|emits\|exception\|exports\|extends\|fires\|kind\|link\|listens\|member\|member[oO]f\|mixes\|module\|name\|namespace\|requires\|template\|throws\|var\|variation\|version\)\>" skipwhite nextgroup=jsDocParam -" tags containing type and param -syntax match jsDocTags contained "@\(arg\|argument\|cfg\|param\|property\|prop\|typedef\)\>" skipwhite nextgroup=jsDocType -" tags containing type but no param -syntax match jsDocTags contained "@\(callback\|define\|enum\|external\|implements\|this\|type\|return\|returns\|yields\)\>" skipwhite nextgroup=jsDocTypeNoParam -" tags containing references -syntax match jsDocTags contained "@\(lends\|see\|tutorial\)\>" skipwhite nextgroup=jsDocSeeTag -" other tags (no extra syntax) -syntax match jsDocTags contained "@\(abstract\|access\|accessor\|async\|author\|classdesc\|constant\|const\|constructor\|copyright\|deprecated\|desc\|description\|dict\|event\|example\|file\|file[oO]verview\|final\|function\|global\|ignore\|inherit[dD]oc\|inner\|instance\|interface\|license\|localdoc\|method\|mixin\|nosideeffects\|override\|overview\|preserve\|private\|protected\|public\|readonly\|since\|static\|struct\|todo\|summary\|undocumented\|virtual\)\>" - -syntax region jsDocType contained matchgroup=jsDocTypeBrackets start="{" end="}" contains=jsDocTypeRecord oneline skipwhite nextgroup=jsDocParam -syntax match jsDocType contained "\%(#\|\"\|\w\|\.\|:\|\/\)\+" skipwhite nextgroup=jsDocParam -syntax region jsDocTypeRecord contained start=/{/ end=/}/ contains=jsDocTypeRecord extend -syntax region jsDocTypeRecord contained start=/\[/ end=/\]/ contains=jsDocTypeRecord extend -syntax region jsDocTypeNoParam contained start="{" end="}" oneline -syntax match jsDocTypeNoParam contained "\%(#\|\"\|\w\|\.\|:\|\/\)\+" -syntax match jsDocParam contained "\%(#\|\$\|-\|'\|\"\|{.\{-}}\|\w\|\.\|:\|\/\|\[.\{-}]\|=\)\+" -syntax region jsDocSeeTag contained matchgroup=jsDocSeeTag start="{" end="}" contains=jsDocTags - -if version >= 508 || !exists("did_javascript_syn_inits") - if version < 508 - let did_javascript_syn_inits = 1 - command -nargs=+ HiLink hi link - else - command -nargs=+ HiLink hi def link - endif - HiLink jsDocTags Special - HiLink jsDocSeeTag Function - HiLink jsDocType Type - HiLink jsDocTypeBrackets jsDocType - HiLink jsDocTypeRecord jsDocType - HiLink jsDocTypeNoParam Type - HiLink jsDocParam Label - delcommand HiLink -endif diff --git a/.vim_runtime/sources_non_forked/vim-javascript/extras/ngdoc.vim b/.vim_runtime/sources_non_forked/vim-javascript/extras/ngdoc.vim deleted file mode 100644 index c513d87..0000000 --- a/.vim_runtime/sources_non_forked/vim-javascript/extras/ngdoc.vim +++ /dev/null @@ -1,3 +0,0 @@ -syntax match jsDocTags contained /@\(link\|method[oO]f\|ngdoc\|ng[iI]nject\|restrict\)/ nextgroup=jsDocParam skipwhite -syntax match jsDocType contained "\%(#\|\$\|\w\|\"\|-\|\.\|:\|\/\)\+" nextgroup=jsDocParam skipwhite -syntax match jsDocParam contained "\%(#\|\$\|\w\|\"\|-\|\.\|:\|{\|}\|\/\|\[\|]\|=\)\+" diff --git a/.vim_runtime/sources_non_forked/vim-javascript/ftdetect/flow.vim b/.vim_runtime/sources_non_forked/vim-javascript/ftdetect/flow.vim deleted file mode 100644 index 3f1ea65..0000000 --- a/.vim_runtime/sources_non_forked/vim-javascript/ftdetect/flow.vim +++ /dev/null @@ -1 +0,0 @@ -autocmd BufNewFile,BufRead *.flow setfiletype flow diff --git a/.vim_runtime/sources_non_forked/vim-javascript/ftdetect/javascript.vim b/.vim_runtime/sources_non_forked/vim-javascript/ftdetect/javascript.vim deleted file mode 100644 index 0048732..0000000 --- a/.vim_runtime/sources_non_forked/vim-javascript/ftdetect/javascript.vim +++ /dev/null @@ -1,8 +0,0 @@ -fun! s:SelectJavascript() - if getline(1) =~# '^#!.*/bin/\%(env\s\+\)\?node\>' - set ft=javascript - endif -endfun - -autocmd BufNewFile,BufRead *.{js,mjs,cjs,jsm,es,es6},Jakefile setfiletype javascript -autocmd BufNewFile,BufRead * call s:SelectJavascript() diff --git a/.vim_runtime/sources_non_forked/vim-javascript/indent/javascript.vim b/.vim_runtime/sources_non_forked/vim-javascript/indent/javascript.vim deleted file mode 100644 index b759f0a..0000000 --- a/.vim_runtime/sources_non_forked/vim-javascript/indent/javascript.vim +++ /dev/null @@ -1,477 +0,0 @@ -" Vim indent file -" Language: Javascript -" Maintainer: Chris Paul ( https://github.com/bounceme ) -" URL: https://github.com/pangloss/vim-javascript -" Last Change: December 4, 2017 - -" Only load this indent file when no other was loaded. -if exists('b:did_indent') - finish -endif -let b:did_indent = 1 - -" Now, set up our indentation expression and keys that trigger it. -setlocal indentexpr=GetJavascriptIndent() -setlocal autoindent nolisp nosmartindent -setlocal indentkeys+=0],0) -" Testable with something like: -" vim -eNs "+filetype plugin indent on" "+syntax on" "+set ft=javascript" \ -" "+norm! gg=G" '+%print' '+:q!' testfile.js \ -" | diff -uBZ testfile.js - - -let b:undo_indent = 'setlocal indentexpr< smartindent< autoindent< indentkeys<' - -" Only define the function once. -if exists('*GetJavascriptIndent') - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -" indent correctly if inside

vim-lastplace v3.1.1

- -

Intelligently reopen files at your last edit position. By default git, -svn, and mercurial commit messages are ignored because you -probably want to type a new message and not re-edit the previous -one.

- -

Advantages

- -

Advantages over the snippets that can be found around the net include: -* Commit messages automatically start at the beginning of a file. This is important because many version control systems re-use the same file for commit message editing. -* Maximizes Available Context - - Center the cursor vertically after restoring last edit position. - - Keep as much of the file on screen as possible when last edit position is at the end of the file. -* Opens folds if the last edit position is inside a fold. -* Works properly with new file templates and scripts that jump to a specific line in them.

- -

Installation

- -

You can use pathogen.vim or other plugin managers to install and use vim-lastplace.

- -
cd ~/.vim/bundle
-git clone git://github.com/farmergreg/vim-lastplace.git
- -

Depending on which Vim package you’re using, Vim may be preconfigured with -last-edit-position logic that doesn’t work quite as well as vim-lastplace. -If so, you may want to disable that in favor of vim-lastplace. For example, -for Vim as packaged with Git for Windows, you can edit -C:\Program Files\Git\etc\vimrc and comment out the “Remember positions in files” -autocmd BufReadPost * block.

- -

Configuration

- -

You can configure what file types to ignore by setting -g:lastplace_ignore in your vimrc. This is a comma separated list. -By default it is set to:

- -
    let g:lastplace_ignore = "gitcommit,gitrebase,svn,hgcommit"
- -

You can configure buffer types to ignore by setting -g:lastplace_ignore_buftype in your vimrc. This is a comma separated list. -By default it is set to:

- -
    let g:lastplace_ignore_buftype = "quickfix,nofile,help"
- -

Folds are automatically opened when jumping to the last edit position. If you -do not like this behavior you can disable it by putting this in your vimrc:

- -
    let g:lastplace_open_folds = 0
- -

Miscellaneous

- -

This plugin is complete and stable. Please do not be afraid to try it even -if there is very little recent activity in this repository. If you do find -a bug, please submit a pull request that fixes whatever problem you’re having.

- -

Version History

- -

vim-lastplace uses semver to manage version numbers.

- -

3.1.1

- -
    -
  • Add ‘nofile’ and ‘help’ to lastplace_ignore_buftype. (Issue #14)
  • -
  • Do not jump when a new file is created (Issue #15, #16)
  • -
- -

3.1.0

- -
    -
  • Add g:lastplace_ignore_buftype setting.
  • -
  • Update github links from username dietsche to farmergreg.
  • -
- -

3.0.4

- -
    -
  • Add g:lastplace_open_folds option.
  • -
- -

3.0.3

- -
    -
  • Point release for Debian packaging. Changes all http links to https. No code changes.
  • -
- -

3.0.2

- -
    -
  • A fix for files that are smaller than the current screen size (issue #8)
  • -
- -

3.0.1

- -
    -
  • A fix for files with modelines.
  • -
- -

3.0.0

- -
    -
  • Open folds if the last edited area is inside a closed fold.
  • -
- -

2.0.1

- -
    -
  • Add gitrebase filetype to the ignore list.
  • -
- -

2.0.0

- -
    -
  • Center the screen when restoring the cursor position.
  • -
  • When at the end of a file, keep as much of it on screen as possible.
  • -
- -

1.0.0

- -
    -
  • Initial version.
  • -
- -

About

- - - -

Get the latest version, submit pull requests, and file bug reports -on GitHub: -- https://github.com/farmergreg/vim-lastplace

- -

If you like this plugin, please star and rate it on these sites:

- - diff --git a/.vim_runtime/sources_non_forked/vim-lastplace/doc/vim-lastplace.txt b/.vim_runtime/sources_non_forked/vim-lastplace/doc/vim-lastplace.txt deleted file mode 100644 index 3105c27..0000000 --- a/.vim_runtime/sources_non_forked/vim-lastplace/doc/vim-lastplace.txt +++ /dev/null @@ -1,36 +0,0 @@ -*vim-lastplace* Intelligently reopen files where you left off. - -Author: Gregory L. Dietsche -License: MIT -Version: 3.1.1 - -INTRODUCTION *vim-lastplace-introduction* - -Intelligently reopen files where you left off. By default git, -svn, and mercurial commit messages are ignored because you -probably want to type a new message and not re-edit the previous -one. - -You can configure what file types to ignore by setting -g:lastplace_ignore in your vimrc. This is a comma separated list. -By default it is set to: - - let g:lastplace_ignore = "gitcommit,gitrebase,svn,hgcommit" - -You can configure buffer types to ignore by setting -g:lastplace_ignore_buftype in your vimrc. This is a comma separated list. -By default it is set to: - - let g:lastplace_ignore_buftype = "quickfix,nofile,help" - -Folds are automatically opened when jumping to the last edit position. If you -do not like this behavior you can disable it by putting this in your vimrc: - - let g:lastplace_open_folds = 0 - -ABOUT *vim-lastplace-about* - -Get the latest version and/or report a bug on GitHub: - https://github.com/farmergreg/vim-lastplace - - vim:tw=78:et:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/vim-lastplace/plugin/vim-lastplace.vim b/.vim_runtime/sources_non_forked/vim-lastplace/plugin/vim-lastplace.vim deleted file mode 100644 index 8b2478c..0000000 --- a/.vim_runtime/sources_non_forked/vim-lastplace/plugin/vim-lastplace.vim +++ /dev/null @@ -1,80 +0,0 @@ -" ============================================================================ -" File: vim-lastplace.vim -" Description: Reopen files where you left off. Configurable. -" Author: Gregory L. Dietsche -" Licence: MIT -" Website: https://www.gregd.org/ -" Version: 3.1.1 -" ============================================================================ - -if exists("b:loaded_lastplace_plugin") || &cp - finish -endif -let b:loaded_lastplace_plugin = 1 - -scriptencoding utf-8 - -if !exists('g:lastplace_ignore') - let g:lastplace_ignore = "gitcommit,gitrebase,svn,hgcommit" -endif - -if !exists('g:lastplace_open_folds') - let g:lastplace_open_folds = 1 -endif - -if !exists('g:lastplace_ignore_buftype') - let g:lastplace_ignore_buftype = "quickfix,nofile,help" -endif - -fu! s:lastplace() - if index(split(g:lastplace_ignore_buftype, ","), &buftype) != -1 - return - endif - - if index(split(g:lastplace_ignore, ","), &filetype) != -1 - return - endif - - try - "if the file does not exist on disk (a new, unsaved file) then do nothing - if empty(glob(@%)) - return - endif - catch - return - endtry - - if line("'\"") > 0 && line("'\"") <= line("$") - "if the last edit position is set and is less than the - "number of lines in this buffer. - - if line("w$") == line("$") - "if the last line in the current buffer is - "also the last line visible in this window - execute "normal! g`\"" - - elseif line("$") - line("'\"") > ((line("w$") - line("w0")) / 2) - 1 - "if we're not at the bottom of the file, center the - "cursor on the screen after we make the jump - execute "normal! g`\"zz" - - else - "otherwise, show as much context as we can by jumping - "to the end of the file and then to the mark. If we - "pressed zz here, there would be blank lines at the - "bottom of the screen. We intentionally leave the - "last line blank by pressing so the user has a - "clue that they are near the end of the file. - execute "normal! \G'\"\" - endif - endif - if foldclosed(".") != -1 && g:lastplace_open_folds - "if we're in a fold, make the current line visible and recenter screen - execute "normal! zvzz" - endif -endf - -augroup lastplace_plugin - autocmd! - autocmd BufWinEnter * call s:lastplace() -augroup END diff --git a/.vim_runtime/sources_non_forked/vim-less/.gitignore b/.vim_runtime/sources_non_forked/vim-less/.gitignore deleted file mode 100644 index 1377554..0000000 --- a/.vim_runtime/sources_non_forked/vim-less/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.swp diff --git a/.vim_runtime/sources_non_forked/vim-less/README.md b/.vim_runtime/sources_non_forked/vim-less/README.md deleted file mode 100644 index d1a546a..0000000 --- a/.vim_runtime/sources_non_forked/vim-less/README.md +++ /dev/null @@ -1,54 +0,0 @@ - -README.md

VIM-LESS

- -

This vim bundle adds syntax highlighting, indenting and autocompletion for the dynamic stylesheet language LESS.

- -

This bundle is compatible with vim-css-color, -vim-css3-syntax and possibly other plugins that place code -in after/syntax/css.vim or after/syntax/css/*.vim.

- -

vim-less with vim-css-color and vim-css3-syntax (colorscheme solarized)

- -

Installing and Using

- -
    -
  • Install pathogen into ~/.vim/autoload/ and add the -following line to your ~/.vimrc:

    - -
    call pathogen#infect()
  • - -
  • Make a clone of the vim-less repository:

    - -
    $ mkdir -p ~/.vim/bundle
    -$ cd ~/.vim/bundle
    -$ git clone https://github.com/groenewege/vim-less
  • - -
  • OR use vundle, adding this line to your ~/.vimrc:

    - -
    Plugin 'groenewege/vim-less'
  • - -
  • OR use neobundle, adding this line to your ~/.vimrc:

    - -
    NeoBundle 'groenewege/vim-less'
  • - -
  • OR use git submodules:

    - -
    $ git submodule add https://github.com/groenewege/vim-less.git bundle/vim-less
    -$ git submodule init
  • -
- -

Map

- -

.less to .css , lessc is required.

- -
nnoremap <Leader>m :w <BAR> !lessc % > %:t:r.css<CR><space>
- -

Credits

- -

Inspiration from vim-haml, -scss-syntax.vim and -vim-less

- -

License

- -

MIT : groenewege.mit-license.org

diff --git a/.vim_runtime/sources_non_forked/vim-less/ftdetect/less.vim b/.vim_runtime/sources_non_forked/vim-less/ftdetect/less.vim deleted file mode 100644 index f1cb1d7..0000000 --- a/.vim_runtime/sources_non_forked/vim-less/ftdetect/less.vim +++ /dev/null @@ -1 +0,0 @@ -autocmd BufNewFile,BufRead *.less setf less diff --git a/.vim_runtime/sources_non_forked/vim-less/ftplugin/less.vim b/.vim_runtime/sources_non_forked/vim-less/ftplugin/less.vim deleted file mode 100644 index 88a6e7b..0000000 --- a/.vim_runtime/sources_non_forked/vim-less/ftplugin/less.vim +++ /dev/null @@ -1,26 +0,0 @@ -" Vim filetype plugin -" Language: LessCSS -" Author: Tim Pope -" Maintainer: Leonard Ehrenfried -" Last Change: 2011 Sep 30 - -" Only do this when not done yet for this buffer -if exists("b:did_ftplugin") - finish -endif -let b:did_ftplugin = 1 - -let b:undo_ftplugin = "setl cms< def< inc< inex< ofu< sua<" - -setlocal iskeyword+=- -setlocal commentstring=//%s -setlocal define=^\\s*\\%(@mixin\\\|=\\) -setlocal includeexpr=substitute(v:fname,'\\%(.*/\\\|^\\)\\zs','_','') -setlocal omnifunc=csscomplete#CompleteCSS -setlocal suffixesadd=.less -setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,:// -setlocal fo=croql - -let &l:include = '^\s*@import\s\+\%(url(\)\=["'']\=' - -" vim:set sw=2: diff --git a/.vim_runtime/sources_non_forked/vim-less/indent/less.vim b/.vim_runtime/sources_non_forked/vim-less/indent/less.vim deleted file mode 100644 index 556c2d0..0000000 --- a/.vim_runtime/sources_non_forked/vim-less/indent/less.vim +++ /dev/null @@ -1,10 +0,0 @@ -" Vim indent file -" Language: LessCSS -" Maintainer: Leonard Ehrenfried -" Last Change: 2011 Sep 26 - -if exists("b:did_indent") - finish -endif - -runtime! indent/css.vim \ No newline at end of file diff --git a/.vim_runtime/sources_non_forked/vim-less/screenshot.png b/.vim_runtime/sources_non_forked/vim-less/screenshot.png deleted file mode 100644 index ce25624..0000000 Binary files a/.vim_runtime/sources_non_forked/vim-less/screenshot.png and /dev/null differ diff --git a/.vim_runtime/sources_non_forked/vim-less/syntax/less.vim b/.vim_runtime/sources_non_forked/vim-less/syntax/less.vim deleted file mode 100644 index 44bf470..0000000 --- a/.vim_runtime/sources_non_forked/vim-less/syntax/less.vim +++ /dev/null @@ -1,64 +0,0 @@ -if exists("b:current_syntax") - finish -endif - -runtime! syntax/css.vim -runtime! after/syntax/css.vim -" load files from vim-css3-syntax plugin (https://github.com/hail2u/vim-css3-syntax) -runtime! after/syntax/css/*.vim - -syn case ignore - -syn region lessDefinition transparent matchgroup=cssBraces start='{' end='}' contains=css.*Attr,css.*Prop,cssComment,cssValue.*,cssColor,cssTagName,cssPseudoClass,cssUrl,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,lessDefinition,lessComment,lessClassChar,lessVariable,lessMixinChar,lessAmpersandChar,lessFunction,lessNestedSelector,@cssColors fold - -syn match lessVariable "@[[:alnum:]_-]\+" contained -syn match lessVariable "@[[:alnum:]_-]\+" nextgroup=lessVariableAssignment skipwhite -syn match lessVariableAssignment ":" contained nextgroup=lessVariableValue skipwhite -syn match lessVariableValue ".*;"me=e-1 contained contains=lessVariable,lessOperator,lessDefault,cssValue.*,@cssColors "me=e-1 means that the last char of the pattern is not highlighted - -syn match lessOperator "+" contained -syn match lessOperator "-" contained -syn match lessOperator "/" contained -syn match lessOperator "*" contained - -syn match lessNestedSelector "[^/]* {"me=e-1 contained contains=cssTagName,cssAttributeSelector,lessAmpersandChar,lessVariable,lessMixinChar,lessFunction,lessNestedProperty -syn match lessNestedProperty "[[:alnum:]]\+:"me=e-1 contained - -syn match lessDefault "!default" contained - -syn match lessMixinChar "\.[[:alnum:]_-]\@=" contained nextgroup=lessClass -syn match lessAmpersandChar "&" contained nextgroup=lessClass,cssPseudoClass -syn match lessClass "[[:alnum:]_-]\+" contained - -" functions {{{ - -" string functions -syn keyword lessFunction escape e % containedin=cssDefinition contained -" misc functions -syn keyword lessFunction unit containedin=cssDefinition contained -" math functions -syn keyword lessFunction ceil floor percentage round containedin=cssDefinition contained -" color definition -syn keyword lessFunction rgb rgba argb hsl hsla hsv hsva containedin=cssDefinition contained -" color channel information -syn keyword lessFunction hue saturation lightness red green blue alpha luma containedin=cssDefinition contained -" color operations -syn keyword lessFunction saturate desaturate lighten darken fadein fadeout fade spin mix greyscale contrast containedin=cssDefinition contained -" color blending -syn keyword lessFunction multiply screen overlay softlight hardlight difference exclusion average negation containedin=cssDefinition contained - -" }}} - -syn match lessComment "//.*$" contains=@Spell - -hi def link lessVariable Special -hi def link lessVariableValue Constant -hi def link lessDefault Special -hi def link lessComment Comment -hi def link lessFunction Function -hi def link lessMixinChar Special -hi def link lessAmpersandChar Special -hi def link lessNestedProperty Type -hi def link lessClass PreProc - -let b:current_syntax = "less" diff --git a/.vim_runtime/sources_non_forked/vim-markdown/.gitignore b/.vim_runtime/sources_non_forked/vim-markdown/.gitignore deleted file mode 100644 index c6f4595..0000000 --- a/.vim_runtime/sources_non_forked/vim-markdown/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -build -/doc/tags diff --git a/.vim_runtime/sources_non_forked/vim-markdown/.travis.yml b/.vim_runtime/sources_non_forked/vim-markdown/.travis.yml deleted file mode 100644 index 338161c..0000000 --- a/.vim_runtime/sources_non_forked/vim-markdown/.travis.yml +++ /dev/null @@ -1,34 +0,0 @@ -language: vim - -os: - - linux - - osx - -env: - - TEST=package - - TEST=latest - -before_script: | - if [ "$TEST" = "package" ]; then - if [ "$TRAVIS_OS_NAME" = "linux" ]; then - sudo apt-get -y update - sudo apt-get -y install vim - fi - else - cd .. - git clone --depth 1 https://github.com/vim/vim - cd vim - ./configure --with-features=huge - make - sudo make install - export PATH="/usr/local/bin:$PATH" - cd "$TRAVIS_BUILD_DIR" - fi - if [ "$TRAVIS_OS_NAME" = "osx" ]; then - curl https://bootstrap.pypa.io/get-pip.py | sudo python - fi - sudo -H pip install virtualenv - -script: - - make test - - make doc diff --git a/.vim_runtime/sources_non_forked/vim-markdown/CONTRIBUTING.md b/.vim_runtime/sources_non_forked/vim-markdown/CONTRIBUTING.md deleted file mode 100644 index 5cb9e56..0000000 --- a/.vim_runtime/sources_non_forked/vim-markdown/CONTRIBUTING.md +++ /dev/null @@ -1,59 +0,0 @@ - -CONTRIBUTING.md

CONTRIBUTING

- -

These contributing guidelines were accepted rather late in the history of this plugin, after much code had already been written.

- -

If you find any existing behavior which does not conform to these guidelines, please correct it and send a pull request.

- -

General Rules

- -

Every non local identifier must start with g:vim_markdown_.

- -

Documentation

- -

Every new feature must be documented under in the README.md. Documentation must be written in GFM since GitHub itself is the primary to HTML converter used. In particular, remember that GFM adds line breaks at single newlines, so just forget about the 70 characters wide rule.

- -

Vim help file doc/vim-markdown.txt will be generated from README.md by make doc using vim-tools.

- -

Markdown Flavors

- -

There are many flavors of markdown, each one with an unique feature set. This plugin uses the following strategy to deal with all those flavors:

- -
    -
  • Features from the original markdown are turned on by default. They may not even have an option that turns them off.

  • - -
  • Features from other markdown flavors must have an option that turns them on or off. If the feature is common enough across multiple versions of markdown, it may be turned on by default. This shall be decided by the community when the merge request is done.

  • - -
  • If possible, cite the exact point in the documentation of the flavor where a feature is specified. If the feature is not documented, you may also reference the source code itself of the implementation. This way, people who do not know that flavor can check if your implementation is correct.

  • - -
  • Do not use the name of a flavor for a feature that is used across multiple flavors. Instead, create a separate flavor option, that automatically sets each feature.

    - -

    For example, fenced code blocks (putting code between pairs of three backticks) is not part of the original markdown, but is supported by GFM and Jekyll.

    - -

    Therefore, instead of creating an option g:vim_markdown_gfm_fenced_code_block, and an option g:vim_markdown_jekyll_fenced_code_block, create a single option g:vim_markdown_fenced_code_block.

    - -

    Next, if there are many more than one Jekyll feature options, create a g:vim_markdown_jekyll option that turns them all on at once.

  • -
- -

Style

- -

When choosing between multiple valid Markdown syntaxes, the default behavior must be that specified at: http://www.cirosantilli.com/markdown-styleguide

- -

If you wish to have a behavior that differs from that style guide, add an option to turn it on or off, and leave it off by default.

- -

Tests

- -

All new features must have unit tests.

- -

Issues

- -

Issues are tracked within GitHub.

- -

When reporting issues, your report is more effective if you include a minimal example file that reproduces the problem. Try to trim out as much as possible, until you have the smallest possible file that still reproduces the issue. Paste the example inline into your issue report, quoted using four spaces at the beginning of each line, like this example from issue #189:

- -
Minimal example:
-
-    ```
-    =
-    ```
-    bad!
diff --git a/.vim_runtime/sources_non_forked/vim-markdown/Makefile b/.vim_runtime/sources_non_forked/vim-markdown/Makefile deleted file mode 100644 index 0b287e2..0000000 --- a/.vim_runtime/sources_non_forked/vim-markdown/Makefile +++ /dev/null @@ -1,88 +0,0 @@ -VIMDIR=$(DESTDIR)/usr/share/vim -ADDONS=${VIMDIR}/addons -REGISTRY=${VIMDIR}/registry - -all: - -install: - mkdir -pv ${ADDONS}/ftdetect - cp -v ftdetect/markdown.vim ${ADDONS}/ftdetect/markdown.vim - mkdir -pv ${ADDONS}/ftplugin - cp -v ftplugin/markdown.vim ${ADDONS}/ftplugin/markdown.vim - mkdir -pv ${ADDONS}/syntax - cp -v syntax/markdown.vim ${ADDONS}/syntax/markdown.vim - mkdir -pv ${ADDONS}/after/ftplugin - cp -v after/ftplugin/markdown.vim ${ADDONS}/after/ftplugin/markdown.vim - mkdir -pv ${ADDONS}/indent - cp -v indent/markdown.vim ${ADDONS}/indent/markdown.vim - mkdir -pv ${ADDONS}/doc - cp -v doc/vim-markdown.txt ${ADDONS}/doc/vim-markdown.txt - mkdir -pv ${REGISTRY} - cp -v registry/markdown.yaml ${REGISTRY}/markdown.yaml - -test: build/tabular build/vim-toml build/vim-json build/vader.vim - test/run-tests.sh -.PHONY: test - -update: build/tabular build/vim-toml build/vim-json build/vader.vim - cd build/tabular && git pull - cd build/vim-toml && git pull - cd build/vim-json && git pull - cd build/vader.vim && git pull -.PHONY: update - -build/tabular: | build - git clone https://github.com/godlygeek/tabular build/tabular - -build/vim-toml: | build - git clone https://github.com/cespare/vim-toml build/vim-toml - -build/vim-json: | build - git clone https://github.com/elzr/vim-json build/vim-json - -build/vader.vim: | build - git clone https://github.com/junegunn/vader.vim build/vader.vim - -build: - mkdir build - -doc: build/html2vimdoc build/vim-tools - sed -e '/^\[!\[Build Status\]/d' \ - -e '/^1\. \[/d' README.md > doc/tmp.md # remove table of contents - build/html2vimdoc/bin/python build/vim-tools/html2vimdoc.py -f vim-markdown \ - doc/tmp.md | \ - sed -E -e "s/[[:space:]]*$$//" -e "# remove trailing spaces" \ - -e "/^.{79,}\|$$/ {" -e "# wrap table of contents over 79" \ - -e "h" -e "# save the matched line to the hold space" \ - -e "s/^(.*) (\|[^|]*\|)$$/\1/" -e "# make content title" \ - -e "p" -e "# print title" \ - -e "g" -e "# restore the matched line" \ - -e "s/^.* (\|[^|]*\|)$$/ \1/" -e "# make link" \ - -e ":c" -e "s/^(.{1,78})$$/ \1/" -e "tc" -e "# align right" \ - -e "}" \ - -e "/^- '[^']*':( |$$)/ {" \ - -e "h" -e "# save the matched line to the hold space" \ - -e "s/^- '([^']{3,})':.*/ \*\1\*/" -e "# make command reference" \ - -e "s/^- '([^']{1,2})':.*/ \*vim-markdown-\1\*/" -e "# short command" \ - -e ":a" -e "s/^(.{1,78})$$/ \1/" -e "ta" -e "# align right" \ - -e "G" -e "# append the matched line after the command reference" \ - -e "}" \ - -e "/^- 'g:vim_markdown_[[:alnum:]_]*'$$/ {" \ - -e "h" -e "# save the matched line to the hold space" \ - -e "s/^- '([^']*)'$$/ \*\1\*/" -e "# make global variable reference" \ - -e ":g" -e "s/^(.{1,78})$$/ \1/" -e "tg" -e "# align right" \ - -e "G" -e "# append the matched line after the global variable reference" \ - -e "}" > doc/vim-markdown.txt && rm -f doc/tmp.md - -.PHONY: doc - -# Prerequire Python and virtualenv. -# $ sudo pip install virtualenv -# Create the virtual environment. -# Install the dependencies. -build/html2vimdoc: | build - virtualenv build/html2vimdoc - build/html2vimdoc/bin/pip install beautifulsoup coloredlogs==4.0 markdown - -build/vim-tools: | build - git clone https://github.com/xolox/vim-tools.git build/vim-tools diff --git a/.vim_runtime/sources_non_forked/vim-markdown/README.md b/.vim_runtime/sources_non_forked/vim-markdown/README.md deleted file mode 100644 index fe09a13..0000000 --- a/.vim_runtime/sources_non_forked/vim-markdown/README.md +++ /dev/null @@ -1,481 +0,0 @@ - -README.md

Vim Markdown

- -

Build Status

- -

Syntax highlighting, matching rules and mappings for the original Markdown and extensions.

- -
    -
  1. Installation
  2. -
  3. Basic usage
  4. -
  5. Options
  6. -
  7. Mappings
  8. -
  9. Commands
  10. -
  11. Credits
  12. -
  13. License
  14. -
- -

Installation

- -

If you use Vundle, add the following lines to your ~/.vimrc:

- -
Plugin 'godlygeek/tabular'
-Plugin 'plasticboy/vim-markdown'
- -

The tabular plugin must come before vim-markdown.

- -

Then run inside Vim:

- -
:so ~/.vimrc
-:PluginInstall
- -

If you use Pathogen, do this:

- -
cd ~/.vim/bundle
-git clone https://github.com/plasticboy/vim-markdown.git
- -

To install without Pathogen using the Debian vim-addon-manager, do this:

- -
git clone https://github.com/plasticboy/vim-markdown.git
-cd vim-markdown
-sudo make install
-vim-addon-manager install markdown
- -

If you are not using any package manager, download the tarball and do this:

- -
cd ~/.vim
-tar --strip=1 -zxf vim-markdown-master.tar.gz
- -

Basic usage

- -

Folding

- -

Folding is enabled for headers by default.

- -

The following commands are useful to open and close folds:

- -
    -
  • zr: reduces fold level throughout the buffer
  • -
  • zR: opens all folds
  • -
  • zm: increases fold level throughout the buffer
  • -
  • zM: folds everything all the way
  • -
  • za: open a fold your cursor is on
  • -
  • zA: open a fold your cursor is on recursively
  • -
  • zc: close a fold your cursor is on
  • -
  • zC: close a fold your cursor is on recursively
  • -
- -

Options are available to disable folding or change folding style.

- -

Try :help fold-expr and :help fold-commands for details.

- -

Concealing

- -

Concealing is set for some syntax such as bold, italic, code block and link.

- -

Concealing lets you conceal text with other text. The actual source text is not modified. If you put your cursor on the concealed line, the conceal goes away.

- -

Options are available to disable or change concealing.

- -

Try :help concealcursor and :help conceallevel for details.

- -

Options

- -

Disable Folding

- -
    -
  • g:vim_markdown_folding_disabled

    - -

    Add the following line to your .vimrc to disable the folding configuration:

    - -
    let g:vim_markdown_folding_disabled = 1
    -

    This option only controls Vim Markdown specific folding configuration.

    - -

    To enable/disable folding use Vim’s standard folding configuration.

    - -
    set [no]foldenable
  • -
- -

Change fold style

- -
    -
  • g:vim_markdown_folding_style_pythonic

    - -

    To fold in a style like python-mode, add the following to your .vimrc:

    - -
    let g:vim_markdown_folding_style_pythonic = 1
    -

    g:vim_markdown_folding_level setting (default 1) is set to foldlevel. -Thus level 1 heading which is served as a document title is expanded by default.

  • - -
  • g:vim_markdown_override_foldtext

    - -

    To prevent foldtext from being set add the following to your .vimrc:

    - -
    let g:vim_markdown_override_foldtext = 0
  • -
- -

Set header folding level

- -
    -
  • g:vim_markdown_folding_level

    - -

    Folding level is a number between 1 and 6. By default, if not specified, it is set to 1.

    - -
    let g:vim_markdown_folding_level = 6
    -

    Tip: it can be changed on the fly with:

    - -
    :let g:vim_markdown_folding_level = 1
    -:edit
  • -
- -

Disable Default Key Mappings

- -
    -
  • g:vim_markdown_no_default_key_mappings

    - -

    Add the following line to your .vimrc to disable default key mappings:

    - -
    let g:vim_markdown_no_default_key_mappings = 1
    -

    You can also map them by yourself with <Plug> mappings.

  • -
- -

Enable TOC window auto-fit

- -
    -
  • g:vim_markdown_toc_autofit

    - -

    Allow for the TOC window to auto-fit when it’s possible for it to shrink. -It never increases its default size (half screen), it only shrinks.

    - -
    let g:vim_markdown_toc_autofit = 1
  • -
- -

Text emphasis restriction to single-lines

- -
    -
  • g:vim_markdown_emphasis_multiline

    - -

    By default text emphasis works across multiple lines until a closing token is found. However, it’s possible to restrict text emphasis to a single line (i.e., for it to be applied a closing token must be found on the same line). To do so:

    - -
    let g:vim_markdown_emphasis_multiline = 0
  • -
- -

Syntax Concealing

- -
    -
  • g:vim_markdown_conceal

    - -

    Concealing is set for some syntax.

    - -

    For example, conceal [link text](link url) as just link text. -Also, _italic_ and *italic* will conceal to just italic. -Similarly __bold__, **bold**, ___italic bold___, and ***italic bold*** -will conceal to just bold, bold, italic bold, and italic bold respectively.

    - -

    To enable conceal use Vim’s standard conceal configuration.

    - -
    set conceallevel=2
    -

    To disable conceal regardless of conceallevel setting, add the following to your .vimrc:

    - -
    let g:vim_markdown_conceal = 0
    -

    To disable math conceal with LaTeX math syntax enabled, add the following to your .vimrc:

    - -
    let g:tex_conceal = ""
    -let g:vim_markdown_math = 1
  • - -
  • g:vim_markdown_conceal_code_blocks

    - -

    Disabling conceal for code fences requires an additional setting:

    - -
    let g:vim_markdown_conceal_code_blocks = 0
  • -
- -

Fenced code block languages

- -
    -
  • g:vim_markdown_fenced_languages

    - -

    You can use filetype name as fenced code block languages for syntax highlighting. -If you want to use different name from filetype, you can add it in your .vimrc like so:

    - -
    let g:vim_markdown_fenced_languages = ['csharp=cs']
    -

    This will cause the following to be highlighted using the cs filetype syntax.

    - -
    ```csharp
    -...
    -```
    -

    Default is ['c++=cpp', 'viml=vim', 'bash=sh', 'ini=dosini'].

  • -
- -

Follow named anchors

- -
    -
  • g:vim_markdown_follow_anchor

    - -

    This feature allows the ge command to follow named anchors in links of the form -file#anchor or just #anchor, where file may omit the .md extension as -usual. Two variables control its operation:

    - -
    let g:vim_markdown_follow_anchor = 1
    -

    This tells vim-markdown whether to attempt to follow a named anchor in a link or -not. When it is 1, and only if a link can be split in two parts by the pattern -‘#’, then the first part is interpreted as the file and the second one as the -named anchor. This also includes urls of the form #anchor, for which the first -part is considered empty, meaning that the target file is the current one. After -the file is opened, the anchor will be searched.

    - -

    Default is 0.

  • - -
  • g:vim_markdown_anchorexpr

    - -
    let g:vim_markdown_anchorexpr = "'<<'.v:anchor.'>>'"
    -

    This expression will be evaluated substituting v:anchor with a quoted string -that contains the anchor to visit. The result of the evaluation will become the -real anchor to search in the target file. This is useful in order to convert -anchors of the form, say, my-section-title to searches of the form My Section -Title or <<my-section-title>>.

    - -

    Default is ''.

  • -
- -

Syntax extensions

- -

The following options control which syntax extensions will be turned on. They are off by default.

- -

LaTeX math

- -
    -
  • g:vim_markdown_math

    - -

    Used as $x^2$, $$x^2$$, escapable as \$x\$ and \$\$x\$\$.

    - -
    let g:vim_markdown_math = 1
  • -
- -

YAML Front Matter

- -
    -
  • g:vim_markdown_frontmatter

    - -

    Highlight YAML front matter as used by Jekyll or Hugo.

    - -
    let g:vim_markdown_frontmatter = 1
  • -
- -

TOML Front Matter

- -
    -
  • g:vim_markdown_toml_frontmatter

    - -

    Highlight TOML front matter as used by Hugo.

    - -

    TOML syntax highlight requires vim-toml.

    - -
    let g:vim_markdown_toml_frontmatter = 1
  • -
- -

JSON Front Matter

- -
    -
  • g:vim_markdown_json_frontmatter

    - -

    Highlight JSON front matter as used by Hugo.

    - -

    JSON syntax highlight requires vim-json.

    - -
    let g:vim_markdown_json_frontmatter = 1
  • -
- -

Strikethrough

- -
    -
  • g:vim_markdown_strikethrough

    - -

    Strikethrough uses two tildes. ~~Scratch this.~~

    - -
    let g:vim_markdown_strikethrough = 1
  • -
- -

Adjust new list item indent

- -
    -
  • g:vim_markdown_new_list_item_indent

    - -

    You can adjust a new list indent. For example, you insert a single line like below:

    - -
    * item1
    -

    Then if you type o to insert new line in vim and type * item2, the result will be:

    - -
    * item1
    -    * item2
    -

    vim-markdown automatically insert the indent. By default, the number of spaces of indent is 4. If you’d like to change the number as 2, just write:

    - -
    let g:vim_markdown_new_list_item_indent = 2
  • -
- -

Do not require .md extensions for Markdown links

- -
    -
  • g:vim_markdown_no_extensions_in_markdown

    - -

    If you want to have a link like this [link text](link-url) and follow it for editing in vim using the ge command, but have it open the file “link-url.md” instead of the file “link-url”, then use this option:

    - -
    let g:vim_markdown_no_extensions_in_markdown = 1
    -

    This is super useful for GitLab and GitHub wiki repositories.

    - -

    Normal behaviour would be that vim-markup required you to do this [link text](link-url.md), but this is not how the Gitlab and GitHub wiki repositories work. So this option adds some consistency between the two.

  • -
- -

Auto-write when following link

- -
    -
  • g:vim_markdown_autowrite

    - -

    If you follow a link like this [link text](link-url) using the ge shortcut, this option will automatically save any edits you made before moving you:

    - -
    let g:vim_markdown_autowrite = 1
  • -
- -

Change default file extension

- -
    -
  • g:vim_markdown_auto_extension_ext

    - -

    If you would like to use a file extension other than .md you may do so using the vim_markdown_auto_extension_ext variable:

    - -
    let g:vim_markdown_auto_extension_ext = 'txt'
  • -
- -

Do not automatically insert bulletpoints

- -
    -
  • g:vim_markdown_auto_insert_bullets

    - -

    Automatically inserting bulletpoints can lead to problems when wrapping text -(see issue #232 for details), so it can be disabled:

    - -
    let g:vim_markdown_auto_insert_bullets = 0
    -

    In that case, you probably also want to set the new list item indent to 0 as -well, or you will have to remove an indent each time you add a new list item:

    - -
    let g:vim_markdown_new_list_item_indent = 0
  • -
- -

Change how to open new files

- -
    -
  • g:vim_markdown_edit_url_in

    - -

    By default when following a link the target file will be opened in your current buffer. This behavior can change if you prefer using splits or tabs by using the vim_markdown_edit_url_in variable. Possible values are tab, vsplit, hsplit, current opening in a new tab, vertical split, horizontal split, and current buffer respectively. Defaults to current buffer if not set:

    - -
    let g:vim_markdown_edit_url_in = 'tab'
  • -
- -

Mappings

- -

The following work on normal and visual modes:

- -
    -
  • gx: open the link under the cursor in the same browser as the standard gx command. <Plug>Markdown_OpenUrlUnderCursor

    - -

    The standard gx is extended by allowing you to put your cursor anywhere inside a link.

    - -

    For example, all the following cursor positions will work:

    - -
    [Example](http://example.com)
    -^  ^    ^^   ^       ^
    -1  2    34   5       6
    -
    -
    -<http://example.com>
    -^  ^               ^
    -1  2               3
    -

    Known limitation: does not work for links that span multiple lines.

  • - -
  • ge: open the link under the cursor in Vim for editing. Useful for relative markdown links. <Plug>Markdown_EditUrlUnderCursor

    - -

    The rules for the cursor position are the same as the gx command.

  • - -
  • ]]: go to next header. <Plug>Markdown_MoveToNextHeader

  • - -
  • [[: go to previous header. Contrast with ]c. <Plug>Markdown_MoveToPreviousHeader

  • - -
  • ][: go to next sibling header if any. <Plug>Markdown_MoveToNextSiblingHeader

  • - -
  • []: go to previous sibling header if any. <Plug>Markdown_MoveToPreviousSiblingHeader

  • - -
  • ]c: go to Current header. <Plug>Markdown_MoveToCurHeader

  • - -
  • ]u: go to parent header (Up). <Plug>Markdown_MoveToParentHeader

  • -
- -

This plugin follows the recommended Vim plugin mapping interface, so to change the map ]u to asdf, add to your .vimrc:

- -
map asdf <Plug>Markdown_MoveToParentHeader
- -

To disable a map use:

- -
map <Plug> <Plug>Markdown_MoveToParentHeader
- -

Commands

- -

The following requires :filetype plugin on.

- -
    -
  • :HeaderDecrease:

    - -

    Decrease level of all headers in buffer: h2 to h1, h3 to h2, etc.

    - -

    If range is given, only operate in the range.

    - -

    If an h1 would be decreased, abort.

    - -

    For simplicity of implementation, Setex headers are converted to Atx.

  • - -
  • :HeaderIncrease: Analogous to :HeaderDecrease, but increase levels instead.

  • - -
  • :SetexToAtx:

    - -

    Convert all Setex style headers in buffer to Atx.

    - -

    If a range is given, e.g. hit : from visual mode, only operate on the range.

  • - -
  • :TableFormat: Format the table under the cursor like this.

    - -

    Requires Tabular.

    - -

    The input table must already have a separator line as the second line of the table. -That line only needs to contain the correct pipes |, nothing else is required.

  • - -
  • :Toc: create a quickfix vertical window navigable table of contents with the headers.

    - -

    Hit <Enter> on a line to jump to the corresponding line of the markdown file.

  • - -
  • :Toch: Same as :Toc but in an horizontal window.

  • - -
  • :Toct: Same as :Toc but in a new tab.

  • - -
  • :Tocv: Same as :Toc for symmetry with :Toch and :Tocv.

  • -
- -

Credits

- -

The main contributors of vim-markdown are:

- -
    -
  • Ben Williams (A.K.A. plasticboy). The original developer of vim-markdown. Homepage.
  • -
- -

If you feel that your name should be on this list, please make a pull request listing your contributions.

- -

License

- -

The MIT License (MIT)

- -

Copyright © 2012 Benjamin D. Williams

- -

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/.vim_runtime/sources_non_forked/vim-markdown/doc/vim-markdown.txt b/.vim_runtime/sources_non_forked/vim-markdown/doc/vim-markdown.txt deleted file mode 100644 index 4d73129..0000000 --- a/.vim_runtime/sources_non_forked/vim-markdown/doc/vim-markdown.txt +++ /dev/null @@ -1,663 +0,0 @@ -*vim-markdown* Vim Markdown - -=============================================================================== -Contents ~ - - 1. Introduction |vim-markdown-introduction| - 2. Installation |vim-markdown-installation| - 3. Basic usage |vim-markdown-basic-usage| - 1. Folding |vim-markdown-folding| - 2. Concealing |vim-markdown-concealing| - 4. Options |vim-markdown-options| - 1. Disable Folding |vim-markdown-disable-folding| - 2. Change fold style |vim-markdown-change-fold-style| - 3. Set header folding level |vim-markdown-set-header-folding-level| - 4. Disable Default Key Mappings |vim-markdown-disable-default-key-mappings| - 5. Enable TOC window auto-fit |vim-markdown-enable-toc-window-auto-fit| - 6. Text emphasis restriction to single-lines - |vim-markdown-text-emphasis-restriction-to-single-lines| - 7. Syntax Concealing |vim-markdown-syntax-concealing| - 8. Fenced code block languages |vim-markdown-fenced-code-block-languages| - 9. Follow named anchors |vim-markdown-follow-named-anchors| - 10. Syntax extensions |vim-markdown-syntax-extensions| - 1. LaTeX math |vim-markdown-latex-math| - 2. YAML Front Matter |vim-markdown-yaml-front-matter| - 3. TOML Front Matter |vim-markdown-toml-front-matter| - 4. JSON Front Matter |vim-markdown-json-front-matter| - 5. Strikethrough |vim-markdown-strikethrough| - 11. Adjust new list item indent |vim-markdown-adjust-new-list-item-indent| - 12. Do not require .md extensions for Markdown links - |vim-markdown-do-not-require-.md-extensions-for-markdown-links| - 13. Auto-write when following link - |vim-markdown-auto-write-when-following-link| - 14. Change default file extension - |vim-markdown-change-default-file-extension| - 15. Do not automatically insert bulletpoints - |vim-markdown-do-not-automatically-insert-bulletpoints| - 16. Change how to open new files |vim-markdown-change-how-to-open-new-files| - 5. Mappings |vim-markdown-mappings| - 6. Commands |vim-markdown-commands| - 7. Credits |vim-markdown-credits| - 8. License |vim-markdown-license| - 9. References |vim-markdown-references| - -=============================================================================== - *vim-markdown-introduction* -Introduction ~ - -Syntax highlighting, matching rules and mappings for the original Markdown [1] -and extensions. - -=============================================================================== - *vim-markdown-installation* -Installation ~ - -If you use Vundle [2], add the following lines to your '~/.vimrc': -> - Plugin 'godlygeek/tabular' - Plugin 'plasticboy/vim-markdown' -< -The 'tabular' plugin must come _before_ 'vim-markdown'. - -Then run inside Vim: -> - :so ~/.vimrc - :PluginInstall -< -If you use Pathogen [3], do this: -> - cd ~/.vim/bundle - git clone https://github.com/plasticboy/vim-markdown.git -< -To install without Pathogen using the Debian vim-addon-manager [4], do this: -> - git clone https://github.com/plasticboy/vim-markdown.git - cd vim-markdown - sudo make install - vim-addon-manager install markdown -< -If you are not using any package manager, download the tarball [5] and do this: -> - cd ~/.vim - tar --strip=1 -zxf vim-markdown-master.tar.gz -< -=============================================================================== - *vim-markdown-basic-usage* -Basic usage ~ - -------------------------------------------------------------------------------- - *vim-markdown-folding* -Folding ~ - -Folding is enabled for headers by default. - -The following commands are useful to open and close folds: - - *vim-markdown-zr* -- 'zr': reduces fold level throughout the buffer - *vim-markdown-zR* -- 'zR': opens all folds - *vim-markdown-zm* -- 'zm': increases fold level throughout the buffer - *vim-markdown-zM* -- 'zM': folds everything all the way - *vim-markdown-za* -- 'za': open a fold your cursor is on - *vim-markdown-zA* -- 'zA': open a fold your cursor is on recursively - *vim-markdown-zc* -- 'zc': close a fold your cursor is on - *vim-markdown-zC* -- 'zC': close a fold your cursor is on recursively - -Options are available to disable folding or change folding style. - -Try ':help fold-expr' and ':help fold-commands' for details. - -------------------------------------------------------------------------------- - *vim-markdown-concealing* -Concealing ~ - -Concealing is set for some syntax such as bold, italic, code block and link. - -Concealing lets you conceal text with other text. The actual source text is not -modified. If you put your cursor on the concealed line, the conceal goes away. - -Options are available to disable or change concealing. - -Try ':help concealcursor' and ':help conceallevel' for details. - -=============================================================================== - *vim-markdown-options* -Options ~ - -------------------------------------------------------------------------------- - *vim-markdown-disable-folding* -Disable Folding ~ - - *g:vim_markdown_folding_disabled* -- 'g:vim_markdown_folding_disabled' - - Add the following line to your '.vimrc' to disable the folding - configuration: -> - let g:vim_markdown_folding_disabled = 1 -< - This option only controls Vim Markdown specific folding configuration. - - To enable/disable folding use Vim's standard folding configuration. -> - set [no]foldenable -< -------------------------------------------------------------------------------- - *vim-markdown-change-fold-style* -Change fold style ~ - - *g:vim_markdown_folding_style_pythonic* -- 'g:vim_markdown_folding_style_pythonic' - - To fold in a style like python-mode [6], add the following to your - '.vimrc': -> - let g:vim_markdown_folding_style_pythonic = 1 -< - 'g:vim_markdown_folding_level' setting (default 1) is set to 'foldlevel'. - Thus level 1 heading which is served as a document title is expanded by - default. - - *g:vim_markdown_override_foldtext* -- 'g:vim_markdown_override_foldtext' - - To prevent foldtext from being set add the following to your '.vimrc': -> - let g:vim_markdown_override_foldtext = 0 -< -------------------------------------------------------------------------------- - *vim-markdown-set-header-folding-level* -Set header folding level ~ - - *g:vim_markdown_folding_level* -- 'g:vim_markdown_folding_level' - - Folding level is a number between 1 and 6. By default, if not specified, it - is set to 1. -> - let g:vim_markdown_folding_level = 6 -< - Tip: it can be changed on the fly with: -> - :let g:vim_markdown_folding_level = 1 - :edit -< -------------------------------------------------------------------------------- - *vim-markdown-disable-default-key-mappings* -Disable Default Key Mappings ~ - - *g:vim_markdown_no_default_key_mappings* -- 'g:vim_markdown_no_default_key_mappings' - - Add the following line to your '.vimrc' to disable default key mappings: -> - let g:vim_markdown_no_default_key_mappings = 1 -< - You can also map them by yourself with '' mappings. - -------------------------------------------------------------------------------- - *vim-markdown-enable-toc-window-auto-fit* -Enable TOC window auto-fit ~ - - *g:vim_markdown_toc_autofit* -- 'g:vim_markdown_toc_autofit' - - Allow for the TOC window to auto-fit when it's possible for it to shrink. - It never increases its default size (half screen), it only shrinks. -> - let g:vim_markdown_toc_autofit = 1 -< -------------------------------------------------------------------------------- - *vim-markdown-text-emphasis-restriction-to-single-lines* -Text emphasis restriction to single-lines ~ - - *g:vim_markdown_emphasis_multiline* -- 'g:vim_markdown_emphasis_multiline' - - By default text emphasis works across multiple lines until a closing token - is found. However, it's possible to restrict text emphasis to a single line - (i.e., for it to be applied a closing token must be found on the same - line). To do so: -> - let g:vim_markdown_emphasis_multiline = 0 -< -------------------------------------------------------------------------------- - *vim-markdown-syntax-concealing* -Syntax Concealing ~ - - *g:vim_markdown_conceal* -- 'g:vim_markdown_conceal' - - Concealing is set for some syntax. - - For example, conceal '[link text](link url)' as just 'link text'. Also, - '_italic_' and '*italic*' will conceal to just _italic_. Similarly - '__bold__', '**bold**', '___italic bold___', and '***italic bold***' will - conceal to just **bold**, **bold**, **_italic bold_**, and **_italic - bold_** respectively. - - To enable conceal use Vim's standard conceal configuration. -> - set conceallevel=2 -< - To disable conceal regardless of 'conceallevel' setting, add the following - to your '.vimrc': -> - let g:vim_markdown_conceal = 0 -< - To disable math conceal with LaTeX math syntax enabled, add the following - to your '.vimrc': -> - let g:tex_conceal = "" - let g:vim_markdown_math = 1 -< - *g:vim_markdown_conceal_code_blocks* -- 'g:vim_markdown_conceal_code_blocks' - - Disabling conceal for code fences requires an additional setting: -> - let g:vim_markdown_conceal_code_blocks = 0 -< -------------------------------------------------------------------------------- - *vim-markdown-fenced-code-block-languages* -Fenced code block languages ~ - - *g:vim_markdown_fenced_languages* -- 'g:vim_markdown_fenced_languages' - - You can use filetype name as fenced code block languages for syntax - highlighting. If you want to use different name from filetype, you can add - it in your '.vimrc' like so: -> - let g:vim_markdown_fenced_languages = ['csharp=cs'] -< - This will cause the following to be highlighted using the 'cs' filetype - syntax. -> - ```csharp - ... - ``` -< - Default is "['c++=cpp', 'viml=vim', 'bash=sh', 'ini=dosini']". - -------------------------------------------------------------------------------- - *vim-markdown-follow-named-anchors* -Follow named anchors ~ - - *g:vim_markdown_follow_anchor* -- 'g:vim_markdown_follow_anchor' - - This feature allows the 'ge' command to follow named anchors in links of - the form 'file#anchor' or just '#anchor', where file may omit the '.md' - extension as usual. Two variables control its operation: -> - let g:vim_markdown_follow_anchor = 1 -< - This tells vim-markdown whether to attempt to follow a named anchor in a - link or not. When it is 1, and only if a link can be split in two parts by - the pattern '#', then the first part is interpreted as the file and the - second one as the named anchor. This also includes urls of the form - '#anchor', for which the first part is considered empty, meaning that the - target file is the current one. After the file is opened, the anchor will - be searched. - - Default is '0'. - - *g:vim_markdown_anchorexpr* -- 'g:vim_markdown_anchorexpr' -> - let g:vim_markdown_anchorexpr = "'<<'.v:anchor.'>>'" -< - This expression will be evaluated substituting 'v:anchor' with a quoted - string that contains the anchor to visit. The result of the evaluation will - become the real anchor to search in the target file. This is useful in - order to convert anchors of the form, say, 'my-section-title' to searches - of the form 'My Section Title' or '<>'. - - Default is "''". - -------------------------------------------------------------------------------- - *vim-markdown-syntax-extensions* -Syntax extensions ~ - -The following options control which syntax extensions will be turned on. They -are off by default. - -------------------------------------------------------------------------------- - *vim-markdown-latex-math* -LaTeX math ~ - - *g:vim_markdown_math* -- 'g:vim_markdown_math' - - Used as '$x^2$', '$$x^2$$', escapable as '\$x\$' and '\$\$x\$\$'. -> - let g:vim_markdown_math = 1 -< -------------------------------------------------------------------------------- - *vim-markdown-yaml-front-matter* -YAML Front Matter ~ - - *g:vim_markdown_frontmatter* -- 'g:vim_markdown_frontmatter' - - Highlight YAML front matter as used by Jekyll or Hugo [7]. -> - let g:vim_markdown_frontmatter = 1 -< -------------------------------------------------------------------------------- - *vim-markdown-toml-front-matter* -TOML Front Matter ~ - - *g:vim_markdown_toml_frontmatter* -- 'g:vim_markdown_toml_frontmatter' - - Highlight TOML front matter as used by Hugo [7]. - - TOML syntax highlight requires vim-toml [8]. -> - let g:vim_markdown_toml_frontmatter = 1 -< -------------------------------------------------------------------------------- - *vim-markdown-json-front-matter* -JSON Front Matter ~ - - *g:vim_markdown_json_frontmatter* -- 'g:vim_markdown_json_frontmatter' - - Highlight JSON front matter as used by Hugo [7]. - - JSON syntax highlight requires vim-json [9]. -> - let g:vim_markdown_json_frontmatter = 1 -< -------------------------------------------------------------------------------- - *vim-markdown-strikethrough* -Strikethrough ~ - - *g:vim_markdown_strikethrough* -- 'g:vim_markdown_strikethrough' - - Strikethrough uses two tildes. '~~Scratch this.~~' -> - let g:vim_markdown_strikethrough = 1 -< -------------------------------------------------------------------------------- - *vim-markdown-adjust-new-list-item-indent* -Adjust new list item indent ~ - - *g:vim_markdown_new_list_item_indent* -- 'g:vim_markdown_new_list_item_indent' - - You can adjust a new list indent. For example, you insert a single line - like below: -> - * item1 -< - Then if you type 'o' to insert new line in vim and type '* item2', the - result will be: -> - * item1 - * item2 -< - vim-markdown automatically insert the indent. By default, the number of - spaces of indent is 4. If you'd like to change the number as 2, just write: -> - let g:vim_markdown_new_list_item_indent = 2 -< -------------------------------------------------------------------------------- - *vim-markdown-do-not-require-.md-extensions-for-markdown-links* -Do not require .md extensions for Markdown links ~ - - *g:vim_markdown_no_extensions_in_markdown* -- 'g:vim_markdown_no_extensions_in_markdown' - - If you want to have a link like this '[link text](link-url)' and follow it - for editing in vim using the 'ge' command, but have it open the file "link- - url.md" instead of the file "link-url", then use this option: -> - let g:vim_markdown_no_extensions_in_markdown = 1 -< - This is super useful for GitLab and GitHub wiki repositories. - - Normal behaviour would be that vim-markup required you to do this '[link - text](link-url.md)', but this is not how the Gitlab and GitHub wiki - repositories work. So this option adds some consistency between the two. - -------------------------------------------------------------------------------- - *vim-markdown-auto-write-when-following-link* -Auto-write when following link ~ - - *g:vim_markdown_autowrite* -- 'g:vim_markdown_autowrite' - - If you follow a link like this '[link text](link-url)' using the 'ge' - shortcut, this option will automatically save any edits you made before - moving you: -> - let g:vim_markdown_autowrite = 1 -< -------------------------------------------------------------------------------- - *vim-markdown-change-default-file-extension* -Change default file extension ~ - - *g:vim_markdown_auto_extension_ext* -- 'g:vim_markdown_auto_extension_ext' - - If you would like to use a file extension other than '.md' you may do so - using the 'vim_markdown_auto_extension_ext' variable: -> - let g:vim_markdown_auto_extension_ext = 'txt' -< -------------------------------------------------------------------------------- - *vim-markdown-do-not-automatically-insert-bulletpoints* -Do not automatically insert bulletpoints ~ - - *g:vim_markdown_auto_insert_bullets* -- 'g:vim_markdown_auto_insert_bullets' - - Automatically inserting bulletpoints can lead to problems when wrapping - text (see issue #232 for details), so it can be disabled: -> - let g:vim_markdown_auto_insert_bullets = 0 -< - In that case, you probably also want to set the new list item indent to 0 - as well, or you will have to remove an indent each time you add a new list - item: -> - let g:vim_markdown_new_list_item_indent = 0 -< -------------------------------------------------------------------------------- - *vim-markdown-change-how-to-open-new-files* -Change how to open new files ~ - - *g:vim_markdown_edit_url_in* -- 'g:vim_markdown_edit_url_in' - - By default when following a link the target file will be opened in your - current buffer. This behavior can change if you prefer using splits or tabs - by using the 'vim_markdown_edit_url_in' variable. Possible values are - 'tab', 'vsplit', 'hsplit', 'current' opening in a new tab, vertical split, - horizontal split, and current buffer respectively. Defaults to current - buffer if not set: -> - let g:vim_markdown_edit_url_in = 'tab' -< -=============================================================================== - *vim-markdown-mappings* -Mappings ~ - -The following work on normal and visual modes: - - *vim-markdown-gx* -- 'gx': open the link under the cursor in the same browser as the standard - 'gx' command. 'Markdown_OpenUrlUnderCursor' - - The standard 'gx' is extended by allowing you to put your cursor anywhere - inside a link. - - For example, all the following cursor positions will work: -> - [Example](http://example.com) - ^ ^ ^^ ^ ^ - 1 2 34 5 6 - - - ^ ^ ^ - 1 2 3 -< - Known limitation: does not work for links that span multiple lines. - - *vim-markdown-ge* -- 'ge': open the link under the cursor in Vim for editing. Useful for - relative markdown links. 'Markdown_EditUrlUnderCursor' - - The rules for the cursor position are the same as the 'gx' command. - - *vim-markdown-]]* -- ']]': go to next header. 'Markdown_MoveToNextHeader' - - *vim-markdown-[[* -- '[[': go to previous header. Contrast with ']c'. - 'Markdown_MoveToPreviousHeader' - - *vim-markdown-][* -- '][': go to next sibling header if any. - 'Markdown_MoveToNextSiblingHeader' - - *vim-markdown-[]* -- '[]': go to previous sibling header if any. - 'Markdown_MoveToPreviousSiblingHeader' - - *vim-markdown-]c* -- ']c': go to Current header. 'Markdown_MoveToCurHeader' - - *vim-markdown-]u* -- ']u': go to parent header (Up). 'Markdown_MoveToParentHeader' - -This plugin follows the recommended Vim plugin mapping interface, so to change -the map ']u' to 'asdf', add to your '.vimrc': -> - map asdf Markdown_MoveToParentHeader -< -To disable a map use: -> - map Markdown_MoveToParentHeader -< -=============================================================================== - *vim-markdown-commands* -Commands ~ - -The following requires ':filetype plugin on'. - - *:HeaderDecrease* -- ':HeaderDecrease': - - Decrease level of all headers in buffer: 'h2' to 'h1', 'h3' to 'h2', etc. - - If range is given, only operate in the range. - - If an 'h1' would be decreased, abort. - - For simplicity of implementation, Setex headers are converted to Atx. - - *:HeaderIncrease* -- ':HeaderIncrease': Analogous to ':HeaderDecrease', but increase levels - instead. - - *:SetexToAtx* -- ':SetexToAtx': - - Convert all Setex style headers in buffer to Atx. - - If a range is given, e.g. hit ':' from visual mode, only operate on the - range. - - *:TableFormat* -- ':TableFormat': Format the table under the cursor like this [10]. - - Requires Tabular [11]. - - The input table _must_ already have a separator line as the second line of - the table. That line only needs to contain the correct pipes '|', nothing - else is required. - - *:Toc* -- ':Toc': create a quickfix vertical window navigable table of contents with - the headers. - - Hit '' on a line to jump to the corresponding line of the markdown - file. - - *:Toch* -- ':Toch': Same as ':Toc' but in an horizontal window. - - *:Toct* -- ':Toct': Same as ':Toc' but in a new tab. - - *:Tocv* -- ':Tocv': Same as ':Toc' for symmetry with ':Toch' and ':Tocv'. - -=============================================================================== - *vim-markdown-credits* -Credits ~ - -The main contributors of vim-markdown are: - -- **Ben Williams** (A.K.A. **plasticboy**). The original developer of vim- - markdown. Homepage [12]. - -If you feel that your name should be on this list, please make a pull request -listing your contributions. - -=============================================================================== - *vim-markdown-license* -License ~ - -The MIT License (MIT) - -Copyright (c) 2012 Benjamin D. Williams - -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. - -=============================================================================== - *vim-markdown-references* -References ~ - -[1] http://daringfireball.net/projects/markdown/ -[2] https://github.com/gmarik/vundle -[3] https://github.com/tpope/vim-pathogen -[4] http://packages.qa.debian.org/v/vim-addon-manager.html -[5] https://github.com/plasticboy/vim-markdown/archive/master.tar.gz -[6] https://github.com/klen/python-mode -[7] https://gohugo.io/content/front-matter/ -[8] https://github.com/cespare/vim-toml -[9] https://github.com/elzr/vim-json -[10] http://www.cirosantilli.com/markdown-style-guide/#tables -[11] https://github.com/godlygeek/tabular -[12] http://plasticboy.com/ - -vim: ft=help diff --git a/.vim_runtime/sources_non_forked/vim-markdown/ftdetect/markdown.vim b/.vim_runtime/sources_non_forked/vim-markdown/ftdetect/markdown.vim deleted file mode 100644 index 07682da..0000000 --- a/.vim_runtime/sources_non_forked/vim-markdown/ftdetect/markdown.vim +++ /dev/null @@ -1,8 +0,0 @@ -if !has('patch-7.4.480') - " Before this patch, vim used modula2 for .md. - au! filetypedetect BufRead,BufNewFile *.md -endif - -" markdown filetype file -au BufRead,BufNewFile *.{md,mdown,mkd,mkdn,markdown,mdwn} setfiletype markdown -au BufRead,BufNewFile *.{md,mdown,mkd,mkdn,markdown,mdwn}.{des3,des,bf,bfa,aes,idea,cast,rc2,rc4,rc5,desx} setfiletype markdown diff --git a/.vim_runtime/sources_non_forked/vim-markdown/ftplugin/markdown.vim b/.vim_runtime/sources_non_forked/vim-markdown/ftplugin/markdown.vim deleted file mode 100644 index 200293e..0000000 --- a/.vim_runtime/sources_non_forked/vim-markdown/ftplugin/markdown.vim +++ /dev/null @@ -1,791 +0,0 @@ -"TODO print messages when on visual mode. I only see VISUAL, not the messages. - -" Function interface phylosophy: -" -" - functions take arbitrary line numbers as parameters. -" Current cursor line is only a suitable default parameter. -" -" - only functions that bind directly to user actions: -" -" - print error messages. -" All intermediate functions limit themselves return `0` to indicate an error. -" -" - move the cursor. All other functions do not move the cursor. -" -" This is how you should view headers for the header mappings: -" -" |BUFFER -" | -" |Outside any header -" | -" a-+# a -" | -" |Inside a -" | -" a-+ -" b-+## b -" | -" |inside b -" | -" b-+ -" c-+### c -" | -" |Inside c -" | -" c-+ -" d-|# d -" | -" |Inside d -" | -" d-+ -" e-|e -" |==== -" | -" |Inside e -" | -" e-+ - -" For each level, contains the regexp that matches at that level only. -" -let s:levelRegexpDict = { - \ 1: '\v^(#[^#]@=|.+\n\=+$)', - \ 2: '\v^(##[^#]@=|.+\n-+$)', - \ 3: '\v^###[^#]@=', - \ 4: '\v^####[^#]@=', - \ 5: '\v^#####[^#]@=', - \ 6: '\v^######[^#]@=' -\ } - -" Maches any header level of any type. -" -" This could be deduced from `s:levelRegexpDict`, but it is more -" efficient to have a single regexp for this. -" -let s:headersRegexp = '\v^(#|.+\n(\=+|-+)$)' - -" Returns the line number of the first header before `line`, called the -" current header. -" -" If there is no current header, return `0`. -" -" @param a:1 The line to look the header of. Default value: `getpos('.')`. -" -function! s:GetHeaderLineNum(...) - if a:0 == 0 - let l:l = line('.') - else - let l:l = a:1 - endif - while(l:l > 0) - if join(getline(l:l, l:l + 1), "\n") =~ s:headersRegexp - return l:l - endif - let l:l -= 1 - endwhile - return 0 -endfunction - -" - if inside a header goes to it. -" Return its line number. -" -" - if on top level outside any headers, -" print a warning -" Return `0`. -" -function! s:MoveToCurHeader() - let l:lineNum = s:GetHeaderLineNum() - if l:lineNum != 0 - call cursor(l:lineNum, 1) - else - echo 'outside any header' - "normal! gg - endif - return l:lineNum -endfunction - -" Move cursor to next header of any level. -" -" If there are no more headers, print a warning. -" -function! s:MoveToNextHeader() - if search(s:headersRegexp, 'W') == 0 - "normal! G - echo 'no next header' - endif -endfunction - -" Move cursor to previous header (before current) of any level. -" -" If it does not exist, print a warning. -" -function! s:MoveToPreviousHeader() - let l:curHeaderLineNumber = s:GetHeaderLineNum() - let l:noPreviousHeader = 0 - if l:curHeaderLineNumber <= 1 - let l:noPreviousHeader = 1 - else - let l:previousHeaderLineNumber = s:GetHeaderLineNum(l:curHeaderLineNumber - 1) - if l:previousHeaderLineNumber == 0 - let l:noPreviousHeader = 1 - else - call cursor(l:previousHeaderLineNumber, 1) - endif - endif - if l:noPreviousHeader - echo 'no previous header' - endif -endfunction - -" - if line is inside a header, return the header level (h1 -> 1, h2 -> 2, etc.). -" -" - if line is at top level outside any headers, return `0`. -" -function! s:GetHeaderLevel(...) - if a:0 == 0 - let l:line = line('.') - else - let l:line = a:1 - endif - let l:linenum = s:GetHeaderLineNum(l:line) - if l:linenum != 0 - return s:GetLevelOfHeaderAtLine(l:linenum) - else - return 0 - endif -endfunction - -" Returns the level of the header at the given line. -" -" If there is no header at the given line, returns `0`. -" -function! s:GetLevelOfHeaderAtLine(linenum) - let l:lines = join(getline(a:linenum, a:linenum + 1), "\n") - for l:key in keys(s:levelRegexpDict) - if l:lines =~ get(s:levelRegexpDict, l:key) - return l:key - endif - endfor - return 0 -endfunction - -" Move cursor to parent header of the current header. -" -" If it does not exit, print a warning and do nothing. -" -function! s:MoveToParentHeader() - let l:linenum = s:GetParentHeaderLineNumber() - if l:linenum != 0 - call cursor(l:linenum, 1) - else - echo 'no parent header' - endif -endfunction - -" Return the line number of the parent header of line `line`. -" -" If it has no parent, return `0`. -" -function! s:GetParentHeaderLineNumber(...) - if a:0 == 0 - let l:line = line('.') - else - let l:line = a:1 - endif - let l:level = s:GetHeaderLevel(l:line) - if l:level > 1 - let l:linenum = s:GetPreviousHeaderLineNumberAtLevel(l:level - 1, l:line) - return l:linenum - endif - return 0 -endfunction - -" Return the line number of the previous header of given level. -" in relation to line `a:1`. If not given, `a:1 = getline()` -" -" `a:1` line is included, and this may return the current header. -" -" If none return 0. -" -function! s:GetNextHeaderLineNumberAtLevel(level, ...) - if a:0 < 1 - let l:line = line('.') - else - let l:line = a:1 - endif - let l:l = l:line - while(l:l <= line('$')) - if join(getline(l:l, l:l + 1), "\n") =~ get(s:levelRegexpDict, a:level) - return l:l - endif - let l:l += 1 - endwhile - return 0 -endfunction - -" Return the line number of the previous header of given level. -" in relation to line `a:1`. If not given, `a:1 = getline()` -" -" `a:1` line is included, and this may return the current header. -" -" If none return 0. -" -function! s:GetPreviousHeaderLineNumberAtLevel(level, ...) - if a:0 == 0 - let l:line = line('.') - else - let l:line = a:1 - endif - let l:l = l:line - while(l:l > 0) - if join(getline(l:l, l:l + 1), "\n") =~ get(s:levelRegexpDict, a:level) - return l:l - endif - let l:l -= 1 - endwhile - return 0 -endfunction - -" Move cursor to next sibling header. -" -" If there is no next siblings, print a warning and don't move. -" -function! s:MoveToNextSiblingHeader() - let l:curHeaderLineNumber = s:GetHeaderLineNum() - let l:curHeaderLevel = s:GetLevelOfHeaderAtLine(l:curHeaderLineNumber) - let l:curHeaderParentLineNumber = s:GetParentHeaderLineNumber() - let l:nextHeaderSameLevelLineNumber = s:GetNextHeaderLineNumberAtLevel(l:curHeaderLevel, l:curHeaderLineNumber + 1) - let l:noNextSibling = 0 - if l:nextHeaderSameLevelLineNumber == 0 - let l:noNextSibling = 1 - else - let l:nextHeaderSameLevelParentLineNumber = s:GetParentHeaderLineNumber(l:nextHeaderSameLevelLineNumber) - if l:curHeaderParentLineNumber == l:nextHeaderSameLevelParentLineNumber - call cursor(l:nextHeaderSameLevelLineNumber, 1) - else - let l:noNextSibling = 1 - endif - endif - if l:noNextSibling - echo 'no next sibling header' - endif -endfunction - -" Move cursor to previous sibling header. -" -" If there is no previous siblings, print a warning and do nothing. -" -function! s:MoveToPreviousSiblingHeader() - let l:curHeaderLineNumber = s:GetHeaderLineNum() - let l:curHeaderLevel = s:GetLevelOfHeaderAtLine(l:curHeaderLineNumber) - let l:curHeaderParentLineNumber = s:GetParentHeaderLineNumber() - let l:previousHeaderSameLevelLineNumber = s:GetPreviousHeaderLineNumberAtLevel(l:curHeaderLevel, l:curHeaderLineNumber - 1) - let l:noPreviousSibling = 0 - if l:previousHeaderSameLevelLineNumber == 0 - let l:noPreviousSibling = 1 - else - let l:previousHeaderSameLevelParentLineNumber = s:GetParentHeaderLineNumber(l:previousHeaderSameLevelLineNumber) - if l:curHeaderParentLineNumber == l:previousHeaderSameLevelParentLineNumber - call cursor(l:previousHeaderSameLevelLineNumber, 1) - else - let l:noPreviousSibling = 1 - endif - endif - if l:noPreviousSibling - echo 'no previous sibling header' - endif -endfunction - -function! s:Toc(...) - if a:0 > 0 - let l:window_type = a:1 - else - let l:window_type = 'vertical' - endif - - - let l:bufnr = bufnr('%') - let l:cursor_line = line('.') - let l:cursor_header = 0 - let l:fenced_block = 0 - let l:front_matter = 0 - let l:header_list = [] - let l:header_max_len = 0 - let l:vim_markdown_toc_autofit = get(g:, "vim_markdown_toc_autofit", 0) - let l:vim_markdown_frontmatter = get(g:, "vim_markdown_frontmatter", 0) - for i in range(1, line('$')) - let l:lineraw = getline(i) - let l:l1 = getline(i+1) - let l:line = substitute(l:lineraw, "#", "\\\#", "g") - if l:line =~ '````*' || l:line =~ '\~\~\~\~*' - if l:fenced_block == 0 - let l:fenced_block = 1 - elseif l:fenced_block == 1 - let l:fenced_block = 0 - endif - elseif l:vim_markdown_frontmatter == 1 - if l:front_matter == 1 - if l:line == '---' - let l:front_matter = 0 - endif - elseif i == 1 - if l:line == '---' - let l:front_matter = 1 - endif - endif - endif - if l:line =~ '^#\+' || (l:l1 =~ '^=\+\s*$' || l:l1 =~ '^-\+\s*$') && l:line =~ '^\S' - let l:is_header = 1 - else - let l:is_header = 0 - endif - if l:is_header == 1 && l:fenced_block == 0 && l:front_matter == 0 - " append line to location list - let l:item = {'lnum': i, 'text': l:line, 'valid': 1, 'bufnr': l:bufnr, 'col': 1} - let l:header_list = l:header_list + [l:item] - " set header number of the cursor position - if l:cursor_header == 0 - if i == l:cursor_line - let l:cursor_header = len(l:header_list) - elseif i > l:cursor_line - let l:cursor_header = len(l:header_list) - 1 - endif - endif - " keep track of the longest header size (heading level + title) - let l:total_len = stridx(l:line, ' ') + strdisplaywidth(l:line) - if l:total_len > l:header_max_len - let l:header_max_len = l:total_len - endif - endif - endfor - call setloclist(0, l:header_list) - if len(l:header_list) == 0 - echom "Toc: No headers." - return - endif - - if l:window_type ==# 'horizontal' - lopen - elseif l:window_type ==# 'vertical' - vertical lopen - " auto-fit toc window when possible to shrink it - if (&columns/2) > l:header_max_len && l:vim_markdown_toc_autofit == 1 - execute 'vertical resize ' . (l:header_max_len + 1) - else - execute 'vertical resize ' . (&columns/2) - endif - elseif l:window_type ==# 'tab' - tab lopen - else - lopen - endif - setlocal modifiable - for i in range(1, line('$')) - " this is the location-list data for the current item - let d = getloclist(0)[i-1] - " atx headers - if match(d.text, "^#") > -1 - let l:level = len(matchstr(d.text, '#*', 'g'))-1 - let d.text = substitute(d.text, '\v^#*[ ]*', '', '') - let d.text = substitute(d.text, '\v[ ]*#*$', '', '') - " setex headers - else - let l:next_line = getbufline(d.bufnr, d.lnum+1) - if match(l:next_line, "=") > -1 - let l:level = 0 - elseif match(l:next_line, "-") > -1 - let l:level = 1 - endif - endif - call setline(i, repeat(' ', l:level). d.text) - endfor - setlocal nomodified - setlocal nomodifiable - execute 'normal! ' . l:cursor_header . 'G' -endfunction - -" Convert Setex headers in range `line1 .. line2` to Atx. -" -" Return the number of conversions. -" -function! s:SetexToAtx(line1, line2) - let l:originalNumLines = line('$') - execute 'silent! ' . a:line1 . ',' . a:line2 . 'substitute/\v(.*\S.*)\n\=+$/# \1/' - execute 'silent! ' . a:line1 . ',' . a:line2 . 'substitute/\v(.*\S.*)\n-+$/## \1/' - return l:originalNumLines - line('$') -endfunction - -" If `a:1` is 0, decrease the level of all headers in range `line1 .. line2`. -" -" Otherwise, increase the level. `a:1` defaults to `0`. -" -function! s:HeaderDecrease(line1, line2, ...) - if a:0 > 0 - let l:increase = a:1 - else - let l:increase = 0 - endif - if l:increase - let l:forbiddenLevel = 6 - let l:replaceLevels = [5, 1] - let l:levelDelta = 1 - else - let l:forbiddenLevel = 1 - let l:replaceLevels = [2, 6] - let l:levelDelta = -1 - endif - for l:line in range(a:line1, a:line2) - if join(getline(l:line, l:line + 1), "\n") =~ s:levelRegexpDict[l:forbiddenLevel] - echomsg 'There is an h' . l:forbiddenLevel . ' at line ' . l:line . '. Aborting.' - return - endif - endfor - let l:numSubstitutions = s:SetexToAtx(a:line1, a:line2) - let l:flags = (&gdefault ? '' : 'g') - for l:level in range(replaceLevels[0], replaceLevels[1], -l:levelDelta) - execute 'silent! ' . a:line1 . ',' . (a:line2 - l:numSubstitutions) . 'substitute/' . s:levelRegexpDict[l:level] . '/' . repeat('#', l:level + l:levelDelta) . '/' . l:flags - endfor -endfunction - -" Format table under cursor. -" -" Depends on Tabularize. -" -function! s:TableFormat() - let l:pos = getpos('.') - normal! { - " Search instead of `normal! j` because of the table at beginning of file edge case. - call search('|') - normal! j - " Remove everything that is not a pipe, colon or hyphen next to a colon othewise - " well formated tables would grow because of addition of 2 spaces on the separator - " line by Tabularize /|. - let l:flags = (&gdefault ? '' : 'g') - execute 's/\(:\@ ' . a:rhs . ' :call ' . a:lhs . '()' - execute 'vn ' . a:rhs . ' :call VisMove(''' . a:lhs . ''')' -endfunction - -" Parameters: -" -" - step +1 for right, -1 for left -" -" TODO: multiple lines. -" -function! s:FindCornerOfSyntax(lnum, col, step) - let l:col = a:col - let l:syn = synIDattr(synID(a:lnum, l:col, 1), 'name') - while synIDattr(synID(a:lnum, l:col, 1), 'name') ==# l:syn - let l:col += a:step - endwhile - return l:col - a:step -endfunction - -" Return the next position of the given syntax name, -" inclusive on the given position. -" -" TODO: multiple lines -" -function! s:FindNextSyntax(lnum, col, name) - let l:col = a:col - let l:step = 1 - while synIDattr(synID(a:lnum, l:col, 1), 'name') !=# a:name - let l:col += l:step - endwhile - return [a:lnum, l:col] -endfunction - -function! s:FindCornersOfSyntax(lnum, col) - return [FindLeftOfSyntax(a:lnum, a:col), FindRightOfSyntax(a:lnum, a:col)] -endfunction - -function! s:FindRightOfSyntax(lnum, col) - return FindCornerOfSyntax(a:lnum, a:col, 1) -endfunction - -function! s:FindLeftOfSyntax(lnum, col) - return FindCornerOfSyntax(a:lnum, a:col, -1) -endfunction - -" Returns: -" -" - a string with the the URL for the link under the cursor -" - an empty string if the cursor is not on a link -" -" TODO -" -" - multiline support -" - give an error if the separator does is not on a link -" -function! s:Markdown_GetUrlForPosition(lnum, col) - let l:lnum = a:lnum - let l:col = a:col - let l:syn = synIDattr(synID(l:lnum, l:col, 1), 'name') - - if l:syn ==# 'mkdInlineURL' || l:syn ==# 'mkdURL' || l:syn ==# 'mkdLinkDefTarget' - " Do nothing. - elseif l:syn ==# 'mkdLink' - let [l:lnum, l:col] = FindNextSyntax(l:lnum, l:col, 'mkdURL') - let l:syn = 'mkdURL' - elseif l:syn ==# 'mkdDelimiter' - let l:line = getline(l:lnum) - let l:char = l:line[col - 1] - if l:char ==# '<' - let l:col += 1 - elseif l:char ==# '>' || l:char ==# ')' - let l:col -= 1 - elseif l:char ==# '[' || l:char ==# ']' || l:char ==# '(' - let [l:lnum, l:col] = FindNextSyntax(l:lnum, l:col, 'mkdURL') - else - return '' - endif - else - return '' - endif - - let [l:left, l:right] = FindCornersOfSyntax(l:lnum, l:col) - return getline(l:lnum)[l:left - 1 : l:right - 1] -endfunction - -" Front end for GetUrlForPosition. -" -function! s:OpenUrlUnderCursor() - let l:url = s:Markdown_GetUrlForPosition(line('.'), col('.')) - if l:url != '' - call s:VersionAwareNetrwBrowseX(l:url) - else - echomsg 'The cursor is not on a link.' - endif -endfunction - -" We need a definition guard because we invoke 'edit' which will reload this -" script while this function is running. We must not replace it. -if !exists('*s:EditUrlUnderCursor') - function s:EditUrlUnderCursor() - let l:url = s:Markdown_GetUrlForPosition(line('.'), col('.')) - if l:url != '' - if get(g:, 'vim_markdown_autowrite', 0) - write - endif - let l:anchor = '' - if get(g:, 'vim_markdown_follow_anchor', 0) - let l:parts = split(l:url, '#', 1) - if len(l:parts) == 2 - let [l:url, l:anchor] = parts - let l:anchorexpr = get(g:, 'vim_markdown_anchorexpr', '') - if l:anchorexpr != '' - let l:anchor = eval(substitute( - \ l:anchorexpr, 'v:anchor', - \ escape('"'.l:anchor.'"', '"'), '')) - endif - endif - endif - if l:url != '' - let l:ext = '' - if get(g:, 'vim_markdown_no_extensions_in_markdown', 0) - " use another file extension if preferred - if exists('g:vim_markdown_auto_extension_ext') - let l:ext = '.'.g:vim_markdown_auto_extension_ext - else - let l:ext = '.md' - endif - endif - let l:url = fnameescape(fnamemodify(expand('%:h').'/'.l:url.l:ext, ':.')) - let l:editmethod = '' - " determine how to open the linked file (split, tab, etc) - if exists('g:vim_markdown_edit_url_in') - if g:vim_markdown_edit_url_in == 'tab' - let l:editmethod = 'tabnew' - elseif g:vim_markdown_edit_url_in == 'vsplit' - let l:editmethod = 'vsp' - elseif g:vim_markdown_edit_url_in == 'hsplit' - let l:editmethod = 'sp' - else - let l:editmethod = 'edit' - endif - else - " default to current buffer - let l:editmethod = 'edit' - endif - execute l:editmethod l:url - endif - if l:anchor != '' - silent! execute '/'.l:anchor - endif - else - echomsg 'The cursor is not on a link.' - endif - endfunction -endif - -function! s:VersionAwareNetrwBrowseX(url) - if has('patch-7.4.567') - call netrw#BrowseX(a:url, 0) - else - call netrw#NetrwBrowseX(a:url, 0) - endif -endf - -function! s:MapNotHasmapto(lhs, rhs) - if !hasmapto('' . a:rhs) - execute 'nmap ' . a:lhs . ' ' . a:rhs - execute 'vmap ' . a:lhs . ' ' . a:rhs - endif -endfunction - -call MapNormVis('Markdown_MoveToNextHeader', 'MoveToNextHeader') -call MapNormVis('Markdown_MoveToPreviousHeader', 'MoveToPreviousHeader') -call MapNormVis('Markdown_MoveToNextSiblingHeader', 'MoveToNextSiblingHeader') -call MapNormVis('Markdown_MoveToPreviousSiblingHeader', 'MoveToPreviousSiblingHeader') -call MapNormVis('Markdown_MoveToParentHeader', 'MoveToParentHeader') -call MapNormVis('Markdown_MoveToCurHeader', 'MoveToCurHeader') -nnoremap Markdown_OpenUrlUnderCursor :call OpenUrlUnderCursor() -nnoremap Markdown_EditUrlUnderCursor :call EditUrlUnderCursor() - -if !get(g:, 'vim_markdown_no_default_key_mappings', 0) - call MapNotHasmapto(']]', 'Markdown_MoveToNextHeader') - call MapNotHasmapto('[[', 'Markdown_MoveToPreviousHeader') - call MapNotHasmapto('][', 'Markdown_MoveToNextSiblingHeader') - call MapNotHasmapto('[]', 'Markdown_MoveToPreviousSiblingHeader') - call MapNotHasmapto(']u', 'Markdown_MoveToParentHeader') - call MapNotHasmapto(']c', 'Markdown_MoveToCurHeader') - call MapNotHasmapto('gx', 'Markdown_OpenUrlUnderCursor') - call MapNotHasmapto('ge', 'Markdown_EditUrlUnderCursor') -endif - -command! -buffer -range=% HeaderDecrease call s:HeaderDecrease(, ) -command! -buffer -range=% HeaderIncrease call s:HeaderDecrease(, , 1) -command! -buffer -range=% SetexToAtx call s:SetexToAtx(, ) -command! -buffer TableFormat call s:TableFormat() -command! -buffer Toc call s:Toc() -command! -buffer Toch call s:Toc('horizontal') -command! -buffer Tocv call s:Toc('vertical') -command! -buffer Toct call s:Toc('tab') - -" Heavily based on vim-notes - http://peterodding.com/code/vim/notes/ -if exists('g:vim_markdown_fenced_languages') - let s:filetype_dict = {} - for s:filetype in g:vim_markdown_fenced_languages - let key = matchstr(s:filetype, "[^=]*") - let val = matchstr(s:filetype, "[^=]*$") - let s:filetype_dict[key] = val - endfor -else - let s:filetype_dict = { - \ 'c++': 'cpp', - \ 'viml': 'vim', - \ 'bash': 'sh', - \ 'ini': 'dosini' - \ } -endif - -function! s:MarkdownHighlightSources(force) - " Syntax highlight source code embedded in notes. - " Look for code blocks in the current file - let filetypes = {} - for line in getline(1, '$') - let ft = matchstr(line, '```\s*\zs[0-9A-Za-z_+-]*') - if !empty(ft) && ft !~ '^\d*$' | let filetypes[ft] = 1 | endif - endfor - if !exists('b:mkd_known_filetypes') - let b:mkd_known_filetypes = {} - endif - if !exists('b:mkd_included_filetypes') - " set syntax file name included - let b:mkd_included_filetypes = {} - endif - if !a:force && (b:mkd_known_filetypes == filetypes || empty(filetypes)) - return - endif - - " Now we're ready to actually highlight the code blocks. - let startgroup = 'mkdCodeStart' - let endgroup = 'mkdCodeEnd' - for ft in keys(filetypes) - if a:force || !has_key(b:mkd_known_filetypes, ft) - if has_key(s:filetype_dict, ft) - let filetype = s:filetype_dict[ft] - else - let filetype = ft - endif - let group = 'mkdSnippet' . toupper(substitute(filetype, "[+-]", "_", "g")) - if !has_key(b:mkd_included_filetypes, filetype) - let include = s:SyntaxInclude(filetype) - let b:mkd_included_filetypes[filetype] = 1 - else - let include = '@' . toupper(filetype) - endif - let command = 'syntax region %s matchgroup=%s start="^\s*```\s*%s$" matchgroup=%s end="\s*```$" keepend contains=%s%s' - execute printf(command, group, startgroup, ft, endgroup, include, has('conceal') && get(g:, 'vim_markdown_conceal', 1) && get(g:, 'vim_markdown_conceal_code_blocks', 1) ? ' concealends' : '') - execute printf('syntax cluster mkdNonListItem add=%s', group) - - let b:mkd_known_filetypes[ft] = 1 - endif - endfor -endfunction - -function! s:SyntaxInclude(filetype) - " Include the syntax highlighting of another {filetype}. - let grouplistname = '@' . toupper(a:filetype) - " Unset the name of the current syntax while including the other syntax - " because some syntax scripts do nothing when "b:current_syntax" is set - if exists('b:current_syntax') - let syntax_save = b:current_syntax - unlet b:current_syntax - endif - try - execute 'syntax include' grouplistname 'syntax/' . a:filetype . '.vim' - execute 'syntax include' grouplistname 'after/syntax/' . a:filetype . '.vim' - catch /E484/ - " Ignore missing scripts - endtry - " Restore the name of the current syntax - if exists('syntax_save') - let b:current_syntax = syntax_save - elseif exists('b:current_syntax') - unlet b:current_syntax - endif - return grouplistname -endfunction - - -function! s:MarkdownRefreshSyntax(force) - if &filetype =~ 'markdown' && line('$') > 1 - call s:MarkdownHighlightSources(a:force) - endif -endfunction - -function! s:MarkdownClearSyntaxVariables() - if &filetype =~ 'markdown' - unlet! b:mkd_included_filetypes - endif -endfunction - -augroup Mkd - " These autocmd calling s:MarkdownRefreshSyntax need to be kept in sync with - " the autocmds calling s:MarkdownSetupFolding in after/ftplugin/markdown.vim. - autocmd! * - autocmd BufWinEnter call s:MarkdownRefreshSyntax(1) - autocmd BufUnload call s:MarkdownClearSyntaxVariables() - autocmd BufWritePost call s:MarkdownRefreshSyntax(0) - autocmd InsertEnter,InsertLeave call s:MarkdownRefreshSyntax(0) - autocmd CursorHold,CursorHoldI call s:MarkdownRefreshSyntax(0) -augroup END diff --git a/.vim_runtime/sources_non_forked/vim-markdown/indent/markdown.vim b/.vim_runtime/sources_non_forked/vim-markdown/indent/markdown.vim deleted file mode 100644 index 2fa4cda..0000000 --- a/.vim_runtime/sources_non_forked/vim-markdown/indent/markdown.vim +++ /dev/null @@ -1,75 +0,0 @@ -if exists("b:did_indent") | finish | endif -let b:did_indent = 1 - -setlocal indentexpr=GetMarkdownIndent() -setlocal nolisp -setlocal autoindent - -" Automatically continue blockquote on line break -setlocal formatoptions+=r -setlocal comments=b:> -if get(g:, "vim_markdown_auto_insert_bullets", 1) - " Do not automatically insert bullets when auto-wrapping with text-width - setlocal formatoptions-=c - " Accept various markers as bullets - setlocal comments+=b:*,b:+,b:- -endif - -" Only define the function once -if exists("*GetMarkdownIndent") | finish | endif - -function! s:IsMkdCode(lnum) - let name = synIDattr(synID(a:lnum, 1, 0), 'name') - return (name =~ '^mkd\%(Code$\|Snippet\)' || name != '' && name !~ '^\%(mkd\|html\)') -endfunction - -function! s:IsLiStart(line) - return a:line !~ '^ *\([*-]\)\%( *\1\)\{2}\%( \|\1\)*$' && - \ a:line =~ '^\s*[*+-] \+' -endfunction - -function! s:IsHeaderLine(line) - return a:line =~ '^\s*#' -endfunction - -function! s:IsBlankLine(line) - return a:line =~ '^$' -endfunction - -function! s:PrevNonBlank(lnum) - let i = a:lnum - while i > 1 && s:IsBlankLine(getline(i)) - let i -= 1 - endwhile - return i -endfunction - -function GetMarkdownIndent() - if v:lnum > 2 && s:IsBlankLine(getline(v:lnum - 1)) && s:IsBlankLine(getline(v:lnum - 2)) - return 0 - endif - let list_ind = get(g:, "vim_markdown_new_list_item_indent", 4) - " Find a non-blank line above the current line. - let lnum = s:PrevNonBlank(v:lnum - 1) - " At the start of the file use zero indent. - if lnum == 0 | return 0 | endif - let ind = indent(lnum) - let line = getline(lnum) " Last line - let cline = getline(v:lnum) " Current line - if s:IsLiStart(cline) - " Current line is the first line of a list item, do not change indent - return indent(v:lnum) - elseif s:IsHeaderLine(cline) && !s:IsMkdCode(v:lnum) - " Current line is the header, do not indent - return 0 - elseif s:IsLiStart(line) - if s:IsMkdCode(lnum) - return ind - else - " Last line is the first line of a list item, increase indent - return ind + list_ind - end - else - return ind - endif -endfunction diff --git a/.vim_runtime/sources_non_forked/vim-markdown/registry/markdown.yaml b/.vim_runtime/sources_non_forked/vim-markdown/registry/markdown.yaml deleted file mode 100644 index 4d293ee..0000000 --- a/.vim_runtime/sources_non_forked/vim-markdown/registry/markdown.yaml +++ /dev/null @@ -1,9 +0,0 @@ -addon: markdown -description: "Markdown syntax highlighting" -files: - - ftdetect/markdown.vim - - ftplugin/markdown.vim - - syntax/markdown.vim - - after/ftplugin/markdown.vim - - indent/markdown.vim - - doc/vim-markdown.txt diff --git a/.vim_runtime/sources_non_forked/vim-markdown/syntax/markdown.vim b/.vim_runtime/sources_non_forked/vim-markdown/syntax/markdown.vim deleted file mode 100644 index 3999764..0000000 --- a/.vim_runtime/sources_non_forked/vim-markdown/syntax/markdown.vim +++ /dev/null @@ -1,184 +0,0 @@ -" Vim syntax file -" Language: Markdown -" Maintainer: Ben Williams -" URL: http://plasticboy.com/markdown-vim-mode/ -" Remark: Uses HTML syntax file -" TODO: Handle stuff contained within stuff (e.g. headings within blockquotes) - - -" Read the HTML syntax to start with -if version < 600 - so :p:h/html.vim -else - runtime! syntax/html.vim - - if exists('b:current_syntax') - unlet b:current_syntax - endif -endif - -if version < 600 - syntax clear -elseif exists("b:current_syntax") - finish -endif - -" don't use standard HiLink, it will not work with included syntax files -if version < 508 - command! -nargs=+ HtmlHiLink hi link -else - command! -nargs=+ HtmlHiLink hi def link -endif - -syn spell toplevel -syn case ignore -syn sync linebreaks=1 - -let s:conceal = '' -let s:concealends = '' -let s:concealcode = '' -if has('conceal') && get(g:, 'vim_markdown_conceal', 1) - let s:conceal = ' conceal' - let s:concealends = ' concealends' -endif -if has('conceal') && get(g:, 'vim_markdown_conceal_code_blocks', 1) - let s:concealcode = ' concealends' -endif - -" additions to HTML groups -if get(g:, 'vim_markdown_emphasis_multiline', 1) - let s:oneline = '' -else - let s:oneline = ' oneline' -endif -syn region mkdItalic matchgroup=mkdItalic start="\%(\*\|_\)" end="\%(\*\|_\)" -syn region mkdBold matchgroup=mkdBold start="\%(\*\*\|__\)" end="\%(\*\*\|__\)" -syn region mkdBoldItalic matchgroup=mkdBoldItalic start="\%(\*\*\*\|___\)" end="\%(\*\*\*\|___\)" -execute 'syn region htmlItalic matchgroup=mkdItalic start="\%(^\|\s\)\zs\*\ze[^\\\*\t ]\%(\%([^*]\|\\\*\|\n\)*[^\\\*\t ]\)\?\*\_W" end="[^\\\*\t ]\zs\*\ze\_W" keepend contains=@Spell' . s:oneline . s:concealends -execute 'syn region htmlItalic matchgroup=mkdItalic start="\%(^\|\s\)\zs_\ze[^\\_\t ]" end="[^\\_\t ]\zs_\ze\_W" keepend contains=@Spell' . s:oneline . s:concealends -execute 'syn region htmlBold matchgroup=mkdBold start="\%(^\|\s\)\zs\*\*\ze\S" end="\S\zs\*\*" keepend contains=@Spell' . s:oneline . s:concealends -execute 'syn region htmlBold matchgroup=mkdBold start="\%(^\|\s\)\zs__\ze\S" end="\S\zs__" keepend contains=@Spell' . s:oneline . s:concealends -execute 'syn region htmlBoldItalic matchgroup=mkdBoldItalic start="\%(^\|\s\)\zs\*\*\*\ze\S" end="\S\zs\*\*\*" keepend contains=@Spell' . s:oneline . s:concealends -execute 'syn region htmlBoldItalic matchgroup=mkdBoldItalic start="\%(^\|\s\)\zs___\ze\S" end="\S\zs___" keepend contains=@Spell' . s:oneline . s:concealends - -" [link](URL) | [link][id] | [link][] | ![image](URL) -syn region mkdFootnotes matchgroup=mkdDelimiter start="\[^" end="\]" -execute 'syn region mkdID matchgroup=mkdDelimiter start="\[" end="\]" contained oneline' . s:conceal -execute 'syn region mkdURL matchgroup=mkdDelimiter start="(" end=")" contained oneline' . s:conceal -execute 'syn region mkdLink matchgroup=mkdDelimiter start="\\\@ ]*>" end=">" - -" Link definitions: [id]: URL (Optional Title) -syn region mkdLinkDef matchgroup=mkdDelimiter start="^ \{,3}\zs\[\^\@!" end="]:" oneline nextgroup=mkdLinkDefTarget skipwhite -syn region mkdLinkDefTarget start="<\?\zs\S" excludenl end="\ze[>[:space:]\n]" contained nextgroup=mkdLinkTitle,mkdLinkDef skipwhite skipnl oneline -syn region mkdLinkTitle matchgroup=mkdDelimiter start=+"+ end=+"+ contained -syn region mkdLinkTitle matchgroup=mkdDelimiter start=+'+ end=+'+ contained -syn region mkdLinkTitle matchgroup=mkdDelimiter start=+(+ end=+)+ contained - -"HTML headings -syn region htmlH1 matchgroup=mkdHeading start="^\s*#" end="$" contains=mkdLink,mkdInlineURL,@Spell -syn region htmlH2 matchgroup=mkdHeading start="^\s*##" end="$" contains=mkdLink,mkdInlineURL,@Spell -syn region htmlH3 matchgroup=mkdHeading start="^\s*###" end="$" contains=mkdLink,mkdInlineURL,@Spell -syn region htmlH4 matchgroup=mkdHeading start="^\s*####" end="$" contains=mkdLink,mkdInlineURL,@Spell -syn region htmlH5 matchgroup=mkdHeading start="^\s*#####" end="$" contains=mkdLink,mkdInlineURL,@Spell -syn region htmlH6 matchgroup=mkdHeading start="^\s*######" end="$" contains=mkdLink,mkdInlineURL,@Spell -syn match htmlH1 /^.\+\n=\+$/ contains=mkdLink,mkdInlineURL,@Spell -syn match htmlH2 /^.\+\n-\+$/ contains=mkdLink,mkdInlineURL,@Spell - -"define Markdown groups -syn match mkdLineBreak / \+$/ -syn region mkdBlockquote start=/^\s*>/ end=/$/ contains=mkdLink,mkdInlineURL,mkdLineBreak,@Spell -execute 'syn region mkdCode matchgroup=mkdCodeDelimiter start=/\(\([^\\]\|^\)\\\)\@]*\\\@" end=""' . s:concealcode -execute 'syn region mkdCode matchgroup=mkdCodeDelimiter start="]*\\\@" end=""' . s:concealcode -syn region mkdFootnote start="\[^" end="\]" -syn match mkdCode /^\s*\n\(\(\s\{8,}[^ ]\|\t\t\+[^\t]\).*\n\)\+/ -syn match mkdCode /\%^\(\(\s\{4,}[^ ]\|\t\+[^\t]\).*\n\)\+/ -syn match mkdCode /^\s*\n\(\(\s\{4,}[^ ]\|\t\+[^\t]\).*\n\)\+/ contained -syn match mkdListItem /^\s*\%([-*+]\|\d\+\.\)\ze\s\+/ contained -syn region mkdListItemLine start="^\s*\%([-*+]\|\d\+\.\)\s\+" end="$" oneline contains=@mkdNonListItem,mkdListItem,@Spell -syn region mkdNonListItemBlock start="\(\%^\(\s*\([-*+]\|\d\+\.\)\s\+\)\@!\|\n\(\_^\_$\|\s\{4,}[^ ]\|\t+[^\t]\)\@!\)" end="^\(\s*\([-*+]\|\d\+\.\)\s\+\)\@=" contains=@mkdNonListItem,@Spell -syn match mkdRule /^\s*\*\s\{0,1}\*\s\{0,1}\*\(\*\|\s\)*$/ -syn match mkdRule /^\s*-\s\{0,1}-\s\{0,1}-\(-\|\s\)*$/ -syn match mkdRule /^\s*_\s\{0,1}_\s\{0,1}_\(_\|\s\)*$/ - -" YAML frontmatter -if get(g:, 'vim_markdown_frontmatter', 0) - syn include @yamlTop syntax/yaml.vim - syn region Comment matchgroup=mkdDelimiter start="\%^---$" end="^\(---\|\.\.\.\)$" contains=@yamlTop keepend - unlet! b:current_syntax -endif - -if get(g:, 'vim_markdown_toml_frontmatter', 0) - try - syn include @tomlTop syntax/toml.vim - syn region Comment matchgroup=mkdDelimiter start="\%^+++$" end="^+++$" transparent contains=@tomlTop keepend - unlet! b:current_syntax - catch /E484/ - syn region Comment matchgroup=mkdDelimiter start="\%^+++$" end="^+++$" - endtry -endif - -if get(g:, 'vim_markdown_json_frontmatter', 0) - try - syn include @jsonTop syntax/json.vim - syn region Comment matchgroup=mkdDelimiter start="\%^{$" end="^}$" contains=@jsonTop keepend - unlet! b:current_syntax - catch /E484/ - syn region Comment matchgroup=mkdDelimiter start="\%^{$" end="^}$" - endtry -endif - -if get(g:, 'vim_markdown_math', 0) - syn include @tex syntax/tex.vim - syn region mkdMath start="\\\@ -README.md

You can run the tests using the Makefile from the top directory:

- -
make test
- -

To run them manually please refer to the instructions/commands in the Makefile.

diff --git a/.vim_runtime/sources_non_forked/vim-markdown/test/folding-toc.vader b/.vim_runtime/sources_non_forked/vim-markdown/test/folding-toc.vader deleted file mode 100644 index 79c5400..0000000 --- a/.vim_runtime/sources_non_forked/vim-markdown/test/folding-toc.vader +++ /dev/null @@ -1,178 +0,0 @@ -" Tests atx and setext folding, and :Toc. - -Before: - source ../after/ftplugin/markdown.vim - -After: - setlocal foldexpr=0 - setlocal foldmethod=manual - -Given markdown; -# chap 1 - -hello -world - -```bash -# some bash scripting -pwd - -# this is another comment -# other -echo "foo" -``` - -## chap 1.1 - -- dog -- cat - -~~~~bash -mkdir foo -# comment in ~ -~~~~ - -### chap 1.1.1 - -- dragons -- fenixs - -# chap 2 - -another - -## chap 2.1 - -- uk -- japan -- china - - -# chap 3 - -nothing here - -chap 4 -====== - -setext are evil - -chap 4.1 --------- - -evil indeed - -````bash -# get system info -uname -a -```` - -Execute (fold level): - AssertEqual foldlevel(1), 0, '# chap 1' - AssertEqual foldlevel(3), 1, 'hello' - AssertEqual foldlevel(6), 1, '```bash' - AssertEqual foldlevel(7), 1, '# some bash scripting' - AssertEqual foldlevel(15), 1, '## chap 1.1' - AssertEqual foldlevel(21), 2, 'mkdir foo' - AssertEqual foldlevel(22), 2, 'comment in ~' - AssertEqual foldlevel(25), 2, '### chap 1.1.1' - AssertEqual foldlevel(27), 3, '- dragons' - AssertEqual foldlevel(30), 1, '# chap 2' - AssertEqual foldlevel(32), 1, 'another' - AssertEqual foldlevel(34), 1, '# chap 2.1' - AssertEqual foldlevel(37), 2, '- japan' - AssertEqual foldlevel(41), 1, '# chap 3' - AssertEqual foldlevel(45), 1, 'chap 4\n======' - AssertEqual foldlevel(48), 1, 'setext are evil' - AssertEqual foldlevel(50), 2, 'chap 4.1\n------' - -Execute (fold text result): - AssertEqual foldtextresult(2), '+-- 28 lines: hello' - AssertEqual foldtextresult(31), '+-- 10 lines: another' - AssertEqual foldtextresult(42), '+-- 3 lines: nothing here' - AssertEqual foldtextresult(45), '+-- 14 lines: chap 4' - -Execute (fold level with setting): - let g:vim_markdown_folding_level = 2 - source ../after/ftplugin/markdown.vim - AssertEqual foldlevel(1), 0, '# chap 1' - AssertEqual foldlevel(3), 1, 'hello' - AssertEqual foldlevel(6), 1, '```bash' - AssertEqual foldlevel(7), 1, '# some bash scripting' - AssertEqual foldlevel(15), 0, '## chap 1.1' - AssertEqual foldlevel(21), 2, 'mkdir foo' - AssertEqual foldlevel(22), 2, 'comment in ~' - AssertEqual foldlevel(25), 2, '### chap 1.1.1' - AssertEqual foldlevel(27), 3, '- dragons' - AssertEqual foldlevel(30), 0, '# chap 2' - AssertEqual foldlevel(32), 1, 'another' - AssertEqual foldlevel(34), 0, '# chap 2.1' - AssertEqual foldlevel(37), 2, '- japan' - AssertEqual foldlevel(41), 0, '# chap 3' - AssertEqual foldlevel(45), 1, 'chap 4\n======' - AssertEqual foldlevel(48), 1, 'setext are evil' - AssertEqual foldlevel(50), 1, 'chap 4.1\n------' - let g:vim_markdown_folding_level = 0 - -Execute (check TOC): - :Toc - :lclose - let res = getloclist(0) - let elem = res[0] - AssertEqual elem.lnum, 1 - AssertEqual elem.text, '# chap 1' - let elem = res[1] - AssertEqual elem.lnum, 15 - AssertEqual elem.text, '## chap 1.1' - let elem = res[2] - AssertEqual elem.lnum, 25 - AssertEqual elem.text, '### chap 1.1.1' - let elem = res[3] - AssertEqual elem.lnum, 30 - AssertEqual elem.text, '# chap 2' - let elem = res[4] - AssertEqual elem.lnum, 34 - AssertEqual elem.text, '## chap 2.1' - let elem = res[5] - AssertEqual elem.lnum, 41 - AssertEqual elem.text, '# chap 3' - let elem = res[6] - AssertEqual elem.lnum, 45 - AssertEqual elem.text, 'chap 4' - let elem = res[7] - AssertEqual elem.lnum, 50 - AssertEqual elem.text, 'chap 4.1' - -Given markdown; ---- -layout: article -title: A test of the heading folding when there is YAML frontmatter -tags: markdown yaml vim-markdown ---- -body - -heading -------- - -Execute (fold level of yaml front matter): - let g:vim_markdown_frontmatter = 1 - source ../after/ftplugin/markdown.vim - AssertEqual foldlevel(1), 0, '---' - AssertEqual foldlevel(2), 0, 'layout: article' - AssertEqual foldlevel(4), 0, 'tags: markdown yaml vim-markdown' - AssertEqual foldlevel(5), 0, '---' - AssertEqual foldlevel(6), 0, 'body' - AssertEqual foldlevel(8), 2, 'heading' - AssertEqual foldlevel(9), 2, '-------' - unlet g:vim_markdown_frontmatter - -Execute (check Toc of yaml front matter): - let g:vim_markdown_frontmatter = 1 - :Toc - :lclose - let res = getloclist(0) - AssertEqual len(res), 1 - let elem = res[0] - AssertEqual elem.lnum, 8 - AssertEqual elem.text, 'heading' - unlet g:vim_markdown_frontmatter diff --git a/.vim_runtime/sources_non_forked/vim-markdown/test/folding.vader b/.vim_runtime/sources_non_forked/vim-markdown/test/folding.vader deleted file mode 100644 index ecf5f9b..0000000 --- a/.vim_runtime/sources_non_forked/vim-markdown/test/folding.vader +++ /dev/null @@ -1,53 +0,0 @@ -Before: - source ../after/ftplugin/markdown.vim - -After: - setlocal foldexpr=0 - setlocal foldmethod=manual - -Given markdown; -# Title - -## Chapter 1 - -``` -This is code block -# This is just a comment -``` - -## Capter 2 - -foobar - -Execute (fold level # in code block): - AssertEqual foldlevel(1), 0, '# Title' - AssertEqual foldlevel(3), 1, '## Chapter 1' - AssertEqual foldlevel(7), 2, '# This is just a comment' - AssertEqual foldlevel(8), 2, '```' - AssertEqual foldlevel(10), 1, '## Chapter 2' - AssertEqual foldlevel(12), 2, 'foobar' - -Given markdown; -Fold Level 1 -============ -Fold Level 2 ------------- - -Execute (fold level ==, --): - AssertEqual foldlevel(2), 1, '==' - AssertEqual foldlevel(4), 2, '--' - -Given markdown; -# H1 - -## H1.1 - -## H1.2 - -# H2 - -Execute (fold level # in last line): - AssertEqual foldlevel(1), 0, '# H1' - AssertEqual foldlevel(3), 1, '## H1.1' - AssertEqual foldlevel(5), 1, '## H1.2' - AssertEqual foldlevel(7), 0, '# H2' diff --git a/.vim_runtime/sources_non_forked/vim-markdown/test/ge_test.md b/.vim_runtime/sources_non_forked/vim-markdown/test/ge_test.md deleted file mode 100644 index 38e300c..0000000 --- a/.vim_runtime/sources_non_forked/vim-markdown/test/ge_test.md +++ /dev/null @@ -1 +0,0 @@ -ge_test.md

ge test

diff --git a/.vim_runtime/sources_non_forked/vim-markdown/test/indent-new-list-item.vader b/.vim_runtime/sources_non_forked/vim-markdown/test/indent-new-list-item.vader deleted file mode 100644 index f73d7cc..0000000 --- a/.vim_runtime/sources_non_forked/vim-markdown/test/indent-new-list-item.vader +++ /dev/null @@ -1,15 +0,0 @@ -Before: - let g:vim_markdown_new_list_item_indent = 2 - -After: - unlet g:vim_markdown_new_list_item_indent - -Given markdown; -* item1 - -Do (new line from the first item of the list and add the second item): - o* item2 - -Expect (insert 2 spaces to the head of second item): - * item1 - * item2 diff --git a/.vim_runtime/sources_non_forked/vim-markdown/test/indent.md b/.vim_runtime/sources_non_forked/vim-markdown/test/indent.md deleted file mode 100644 index e9e7533..0000000 --- a/.vim_runtime/sources_non_forked/vim-markdown/test/indent.md +++ /dev/null @@ -1,33 +0,0 @@ -indent.md

    -
  1. Confirm indent with new line insert after list items
  2. -
- -

’\’ is not list item. -\ foo

- -

If only space and three ‘*’ or ‘-’ character are in the line, -this line means horizontal item. -If current line is below horizontal item, it need not to indent. -Following example is horizontal item.

- -
- -
- -
- -
- -

And list item must be specified space after [*-+]. -Following example is list item.

- -
    -
  • foo
  • -
  • bar
  • -
  • baz
  • -
- -

But following example is not list item. -*foo --bar -+baz

diff --git a/.vim_runtime/sources_non_forked/vim-markdown/test/indent.vader b/.vim_runtime/sources_non_forked/vim-markdown/test/indent.vader deleted file mode 100644 index e0870d5..0000000 --- a/.vim_runtime/sources_non_forked/vim-markdown/test/indent.vader +++ /dev/null @@ -1,73 +0,0 @@ -Given markdown; -* item1 - -Do (insert enter at list end): - A\item2 - -Expect (auto insert * and indent level is same): - * item1 - * item2 - -Given markdown; - -Execute: - syntax off - -Do (insert enter at list end with syntax off): - i* item1\item2 - -Expect (auto insert * and indent level is same): - * item1 - * item2 - -Execute: - syntax on - -Given markdown; -``` -* item1 - -Do (insert after list items in code block): - jotext - -Expect (no autoindent in code block): - ``` - * item1 - text - -Given markdown; -* item1 - -a - -Do (insert enter after list): - jji\b - -Expect (no autoindent outside list): - * item1 - - - ba - -Given markdown; -- a - - # b - -Do (insert header after list): - jjwi# - -Expect (no indent header after list): - - a - - ## b - -Given markdown; -* item1 - -Do (new line from the first item of the list and add the second item): - o* item2 - -Expect (insert 4 spaces to the head of second item): - * item1 - * item2 diff --git a/.vim_runtime/sources_non_forked/vim-markdown/test/map.vader b/.vim_runtime/sources_non_forked/vim-markdown/test/map.vader deleted file mode 100644 index 7ecdfad..0000000 --- a/.vim_runtime/sources_non_forked/vim-markdown/test/map.vader +++ /dev/null @@ -1,153 +0,0 @@ -Given markdown; -a c - -Execute (gx autolink): - let b:url = 'http://b' - let b:line = getline(1) - let b:func = Markdown_GetFunc('vim-markdown/ftplugin/markdown.vim', 'Markdown_GetUrlForPosition') - AssertEqual b:func(1, match(b:line, 'a') + 1), '' - AssertEqual b:func(1, match(b:line, '<') + 1), b:url - AssertEqual b:func(1, match(b:line, 'h') + 1), b:url - AssertEqual b:func(1, match(b:line, '>') + 1), b:url - AssertEqual b:func(1, match(b:line, 'c') + 1), '' - -Given markdown; -a http://b.bb c - -Execute (gx implicit autolink): - let b:url = 'http://b.bb' - let b:line = getline(1) - let b:func = Markdown_GetFunc('vim-markdown/ftplugin/markdown.vim', 'Markdown_GetUrlForPosition') - AssertEqual b:func(1, match(b:line, 'a') + 1), '' - AssertEqual b:func(1, match(b:line, 'h') + 1), b:url - AssertEqual b:func(1, match(b:line, 'c') + 1), '' - -Given markdown; -[a]: http://b "c" - -Execute (gx link reference definition): - let b:url = 'http://b' - let b:line = getline(1) - let b:func = Markdown_GetFunc('vim-markdown/ftplugin/markdown.vim', 'Markdown_GetUrlForPosition') - " TODO would be cool if all of the following gave the link. - AssertEqual b:func(1, match(b:line, 'a') + 1), '' - AssertEqual b:func(1, match(b:line, 'h') + 1), b:url - AssertEqual b:func(1, match(b:line, 'c') + 1), '' - -Given markdown; -a [b](c) d - -Execute (gx autolink): - let b:url = 'c' - let b:line = getline(1) - let b:func = Markdown_GetFunc('vim-markdown/ftplugin/markdown.vim', 'Markdown_GetUrlForPosition') - AssertEqual b:func(1, match(b:line, 'a') + 1), '' - AssertEqual b:func(1, match(b:line, '[') + 1), b:url - AssertEqual b:func(1, match(b:line, 'b') + 1), b:url - AssertEqual b:func(1, match(b:line, ']') + 1), b:url - AssertEqual b:func(1, match(b:line, '(') + 1), b:url - AssertEqual b:func(1, match(b:line, 'c') + 1), b:url - AssertEqual b:func(1, match(b:line, ')') + 1), b:url - AssertEqual b:func(1, match(b:line, 'd') + 1), '' - -Given markdown; -[ge_test.md](ge_test.md) - -Execute (ge opens file): - normal ge - AssertEqual @%, 'ge_test.md' - AssertEqual getline(1), 'ge test' - -Given markdown; -[ge_test](ge_test) - -Execute (ge opens file without .md extensions): - let g:vim_markdown_no_extensions_in_markdown = 1 - normal ge - AssertEqual @%, 'ge_test.md' - AssertEqual getline(1), 'ge test' - unlet g:vim_markdown_no_extensions_in_markdown - -Given markdown; -[ge_test.md](ge_test.md) - -Execute (ge does not write before opening file): - normal ia - normal l - normal ge - AssertEqual @%, 'ge_test.md' - AssertEqual getline(1), 'ge test' - -Given markdown; -[ge_test.md](ge_test.md) - -Execute (ge auto-write before opening file): - let g:vim_markdown_autowrite = 1 - normal ia - normal l - AssertThrows normal ge - AssertEqual g:vader_exception, 'Vim(write):E382: Cannot write, ''buftype'' option is set' - unlet g:vim_markdown_autowrite - -Given markdown; -# a - -b - -# c - -d - -Execute (]] same level): - AssertEqual line('.'), 1 - normal ]] - AssertEqual line('.'), 5 - normal [[ - AssertEqual line('.'), 1 - -Given markdown; -# a - -b - -## c - -d - -Execute (]] different levels level): - AssertEqual line('.'), 1 - normal ]] - AssertEqual line('.'), 5 - normal [[ - AssertEqual line('.'), 1 - -Given markdown; -# a - -b - -## c - -d - -# e - -f - -Execute (][ different levels level): - AssertEqual line('.'), 1 - normal ][ - AssertEqual line('.'), 9 - normal [] - AssertEqual line('.'), 1 - -Given markdown; -# a - -b - -Execute (]c): - normal! 3G - AssertEqual line('.'), 3 - normal ]c - AssertEqual line('.'), 1 diff --git a/.vim_runtime/sources_non_forked/vim-markdown/test/python-folding.vader b/.vim_runtime/sources_non_forked/vim-markdown/test/python-folding.vader deleted file mode 100644 index 9196ea6..0000000 --- a/.vim_runtime/sources_non_forked/vim-markdown/test/python-folding.vader +++ /dev/null @@ -1,84 +0,0 @@ -Before: - let g:vim_markdown_folding_style_pythonic = 1 - source ../after/ftplugin/markdown.vim - -After: - setlocal foldexpr=0 - setlocal foldmethod=manual - -Given markdown; -# Title - -## Chapter 1 - -``` -This is code block -# This is just a comment -``` - -## Chapter 2 - -foobar - -Execute (fold level # in code block): - AssertEqual foldlevel(1), 1, '# Title' - AssertEqual foldlevel(3), 2, '## Chapter 1' - AssertEqual foldlevel(7), 2, '# This is just a comment' - AssertEqual foldlevel(8), 2, '```' - AssertEqual foldlevel(10), 2, '## Chapter 2' - AssertEqual foldlevel(12), 2, 'foobar' - -Execute (fold text of chapters): - let b:width = winwidth(0) - let b:hyphen = repeat('-', b:width - 18 > 2 ? b:width - 18 : b:width - 9 > 0 ? 3 : 2) - AssertEqual foldtextresult(10), strpart('## Chapter 2', 0, b:width - 9) . ' ' . b:hyphen . ' 2' - -Given markdown; -Fold text 1 -=========== -Fold text 2 ------------ - -Execute (fold level ==, --): - AssertEqual foldlevel(2), 0, '==' - AssertEqual foldlevel(4), 1, '--' - -Execute (fold text of ==, --): - let b:width = winwidth(0) - let b:hyphen = repeat('-', b:width - 17 > 2 ? b:width - 17 : b:width - 9 > 0 ? 3 : 2) - AssertEqual foldtextresult(3), strpart('Fold text 2', 0, b:width - 9) . ' ' . b:hyphen . ' 1' - -Given markdown; -Headline - -foobar - -# Title - -Execute (fold any preamble): - AssertEqual foldlevel(1), 1, 'Headline' - AssertEqual foldlevel(3), 1, 'foobar' - AssertEqual foldlevel(5), 1, '# Title' - -Given markdown; ---- -layout: article -title: A test of the heading folding when there is YAML frontmatter -tags: markdown yaml vim-markdown ---- -body - -heading -------- - -Execute (fold level of yaml front matter): - let g:vim_markdown_frontmatter = 1 - source ../after/ftplugin/markdown.vim - AssertEqual foldlevel(1), 1, '---' - AssertEqual foldlevel(2), 1, 'layout: article' - AssertEqual foldlevel(4), 1, 'tags: markdown yaml vim-markdown' - AssertEqual foldlevel(5), 1, '---' - AssertEqual foldlevel(6), 1, 'body' - AssertEqual foldlevel(8), 1, 'heading' - AssertEqual foldlevel(9), 1, '-------' - unlet g:vim_markdown_frontmatter diff --git a/.vim_runtime/sources_non_forked/vim-markdown/test/run-tests.sh b/.vim_runtime/sources_non_forked/vim-markdown/test/run-tests.sh deleted file mode 100644 index 5c9db06..0000000 --- a/.vim_runtime/sources_non_forked/vim-markdown/test/run-tests.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env bash - -# Exit on error. -set -e - -cd "$( dirname "${BASH_SOURCE[0]}" )" - -for dep in ../build/tabular ../build/vim-toml ../build/vim-json ../build/vader.vim; do - if [[ ! -d $dep ]]; then - echo "Missing dependency: $dep" - echo "You may just want to use 'make test'." - exit 1 - fi -done - -vim -Nu vimrc -c 'Vader! *' > /dev/null diff --git a/.vim_runtime/sources_non_forked/vim-markdown/test/syntax-singleline.vader b/.vim_runtime/sources_non_forked/vim-markdown/test/syntax-singleline.vader deleted file mode 100644 index 9fde407..0000000 --- a/.vim_runtime/sources_non_forked/vim-markdown/test/syntax-singleline.vader +++ /dev/null @@ -1,158 +0,0 @@ -Before: - let g:vim_markdown_emphasis_multiline = 0 - syn off | syn on - -After: - let g:vim_markdown_emphasis_multiline = 1 - syn off | syn on - -Given markdown; -a **b** c - -Execute (bold): - AssertNotEqual SyntaxOf('a'), 'htmlBold' - AssertEqual SyntaxOf('b'), 'htmlBold' - AssertNotEqual SyntaxOf('c'), 'htmlBold' - -Given markdown; -a __b__ c - -Execute (bold): - AssertNotEqual SyntaxOf('a'), 'htmlBold' - AssertEqual SyntaxOf('b'), 'htmlBold' - AssertNotEqual SyntaxOf('c'), 'htmlBold' - -Given markdown; -a *b* c - -Execute (italic): - AssertNotEqual SyntaxOf('a'), 'htmlItalic' - AssertEqual SyntaxOf('b'), 'htmlItalic' - AssertNotEqual SyntaxOf('c'), 'htmlItalic' - -Given markdown; -a _b_ c - -Execute (italic): - AssertNotEqual SyntaxOf('a'), 'htmlItalic' - AssertEqual SyntaxOf('b'), 'htmlItalic' - AssertNotEqual SyntaxOf('c'), 'htmlItalic' - -Given markdown; -_a_b_ - -Execute (italic text has underscores): - AssertEqual SyntaxOf('a'), 'htmlItalic' - AssertEqual SyntaxOf('b'), 'htmlItalic' - -Given markdown; -a \*b\* c - -Execute (not italic with escaped asterisks): - AssertNotEqual SyntaxOf('a'), 'htmlItalic' - AssertNotEqual SyntaxOf('b'), 'htmlItalic' - AssertNotEqual SyntaxOf('c'), 'htmlItalic' - -Given markdown; -a \_b\_ c - -Execute (not italic with escaped underscores): - AssertNotEqual SyntaxOf('a'), 'htmlItalic' - AssertNotEqual SyntaxOf('b'), 'htmlItalic' - AssertNotEqual SyntaxOf('c'), 'htmlItalic' - -Given markdown; -a _b\_c_ d - -Execute (italic with escaped underscores): - AssertNotEqual SyntaxOf('a'), 'htmlItalic' - AssertEqual SyntaxOf('b'), 'htmlItalic' - AssertEqual SyntaxOf('c'), 'htmlItalic' - AssertNotEqual SyntaxOf('d'), 'htmlItalic' - -Given markdown; -a_b_c - -Execute (not italic underscores within text): - AssertNotEqual SyntaxOf('a'), 'htmlItalic' - AssertNotEqual SyntaxOf('b'), 'htmlItalic' - AssertNotEqual SyntaxOf('c'), 'htmlItalic' - -Given markdown; -a *b\*c* d - -Execute (italic with escaped asterisks): - AssertNotEqual SyntaxOf('a'), 'htmlItalic' - AssertEqual SyntaxOf('b'), 'htmlItalic' - AssertEqual SyntaxOf('c'), 'htmlItalic' - AssertNotEqual SyntaxOf('d'), 'htmlItalic' - -Given markdown; -a __b\_\_c__ d - -Execute (bold with escaped underscores): - AssertNotEqual SyntaxOf('a'), 'htmlBold' - AssertEqual SyntaxOf('b'), 'htmlBold' - AssertEqual SyntaxOf('c'), 'htmlBold' - AssertNotEqual SyntaxOf('d'), 'htmlBold' - -Given markdown; -_a b -c_ d - -Execute (italic with underscores in multiple lines): - AssertNotEqual SyntaxOf('a'), 'htmlItalic' - AssertNotEqual SyntaxOf('b'), 'htmlItalic' - AssertNotEqual SyntaxOf('c'), 'htmlItalic' - AssertNotEqual SyntaxOf('d'), 'htmlItalic' - -Given markdown; -__a b -c__ d - -Execute (bold with underscores in multiple lines): - AssertNotEqual SyntaxOf('a'), 'htmlBold' - AssertNotEqual SyntaxOf('b'), 'htmlBold' - AssertNotEqual SyntaxOf('c'), 'htmlBold' - AssertNotEqual SyntaxOf('d'), 'htmlBold' - -Given markdown; -___a b -c___ d - -Execute (bold italic with underscores in multiple lines): - AssertNotEqual SyntaxOf('a'), 'htmlBoldItalic' - AssertNotEqual SyntaxOf('b'), 'htmlBoldItalic' - AssertNotEqual SyntaxOf('c'), 'htmlBoldItalic' - AssertNotEqual SyntaxOf('d'), 'htmlBoldItalic' - -Given markdown; -*a b -c* d - -Execute (italic with asterisks in multiple lines): - AssertNotEqual SyntaxOf('a'), 'htmlItalic' - AssertNotEqual SyntaxOf('b'), 'htmlItalic' - AssertNotEqual SyntaxOf('c'), 'htmlItalic' - AssertNotEqual SyntaxOf('d'), 'htmlItalic' - -Given markdown; -**a b -c** d - -Execute (bold with asterisks in multiple lines): - AssertNotEqual SyntaxOf('a'), 'htmlBold' - AssertNotEqual SyntaxOf('b'), 'htmlBold' - AssertNotEqual SyntaxOf('c'), 'htmlBold' - AssertNotEqual SyntaxOf('d'), 'htmlBold' - -Given markdown; -***a b -c*** d - -Execute (bold italic with asterisks in multiple lines): - AssertNotEqual SyntaxOf('a'), 'htmlBoldItalic' - AssertNotEqual SyntaxOf('b'), 'htmlBoldItalic' - AssertNotEqual SyntaxOf('c'), 'htmlBoldItalic' - AssertNotEqual SyntaxOf('d'), 'htmlBoldItalic' - diff --git a/.vim_runtime/sources_non_forked/vim-markdown/test/syntax.md b/.vim_runtime/sources_non_forked/vim-markdown/test/syntax.md deleted file mode 100644 index 5c6bc86..0000000 --- a/.vim_runtime/sources_non_forked/vim-markdown/test/syntax.md +++ /dev/null @@ -1,87 +0,0 @@ - -syntax.md

Fenced code living in an indented environment is correctly highlighted

- -
    -
  1. run this command to do this:

    - -
    some command
  2. - -
  3. Subsequent list items are correctly highlighted.

  4. -
- -

Fenced code block with language:

- -
def f
-  0
-end
- -

Links

- -

a

- -

[a]()

- -

good spell

- -

badd spell

- -

a

- -

a

- -

a (a) b. Fix: https://github.com/plasticboy/vim-markdown/issues/113

- -

Escaped:

- -

[a](b)

- -

a]b

- -

Known failures

- -

Escape does not work:

- -

[a](b)

- -

Should not be links because of whitespace:

- -

a

- -

a

- -

a

- -

Reference links

- -

Single links:

- -

[a][b]

- -

[good spell][a]

- -

[badd spell][a]

- -

[a][]

- -

[a] []

- -

[a][b] c [d][e]

- -

Reference link followed by inline link:

- -

[a] b

- -

Known failures

- -

Should be shortcut reference links:

- -

[a]

- -

[a] b [c]

- -

Should be a single link:

- -

[a] [b]

- -

[a] b c

diff --git a/.vim_runtime/sources_non_forked/vim-markdown/test/syntax.vader b/.vim_runtime/sources_non_forked/vim-markdown/test/syntax.vader deleted file mode 100644 index d6f5487..0000000 --- a/.vim_runtime/sources_non_forked/vim-markdown/test/syntax.vader +++ /dev/null @@ -1,1285 +0,0 @@ -Before: - unlet! b:mkd_known_filetypes - unlet! b:mkd_included_filetypes - unlet! g:vim_markdown_math - -Given markdown; -a **b** c - -Execute (bold): - AssertNotEqual SyntaxOf('a'), 'htmlBold' - AssertEqual SyntaxOf('b'), 'htmlBold' - AssertNotEqual SyntaxOf('c'), 'htmlBold' - -Given markdown; -a __b__ c - -Execute (bold): - AssertNotEqual SyntaxOf('a'), 'htmlBold' - AssertEqual SyntaxOf('b'), 'htmlBold' - AssertNotEqual SyntaxOf('c'), 'htmlBold' - -Given markdown; -a *b* c - -Execute (italic): - AssertNotEqual SyntaxOf('a'), 'htmlItalic' - AssertEqual SyntaxOf('b'), 'htmlItalic' - AssertNotEqual SyntaxOf('c'), 'htmlItalic' - -Given markdown; -a _b_ c - -Execute (italic): - AssertNotEqual SyntaxOf('a'), 'htmlItalic' - AssertEqual SyntaxOf('b'), 'htmlItalic' - AssertNotEqual SyntaxOf('c'), 'htmlItalic' - -Given markdown; -_a_b_ - -Execute (italic text has underscores): - AssertEqual SyntaxOf('a'), 'htmlItalic' - AssertEqual SyntaxOf('b'), 'htmlItalic' - -Given markdown; -a \*b\* c - -Execute (not italic with escaped asterisks): - AssertNotEqual SyntaxOf('a'), 'htmlItalic' - AssertNotEqual SyntaxOf('b'), 'htmlItalic' - AssertNotEqual SyntaxOf('c'), 'htmlItalic' - -Given markdown; -a \_b\_ c - -Execute (not italic with escaped underscores): - AssertNotEqual SyntaxOf('a'), 'htmlItalic' - AssertNotEqual SyntaxOf('b'), 'htmlItalic' - AssertNotEqual SyntaxOf('c'), 'htmlItalic' - -Given markdown; -a _b\_c_ d - -Execute (italic with escaped underscores): - AssertNotEqual SyntaxOf('a'), 'htmlItalic' - AssertEqual SyntaxOf('b'), 'htmlItalic' - AssertEqual SyntaxOf('c'), 'htmlItalic' - AssertNotEqual SyntaxOf('d'), 'htmlItalic' - -Given markdown; -a_b_c - -Execute (not italic underscores within text): - AssertNotEqual SyntaxOf('a'), 'htmlItalic' - AssertNotEqual SyntaxOf('b'), 'htmlItalic' - AssertNotEqual SyntaxOf('c'), 'htmlItalic' - -Given markdown; -a *b\*c* d - -Execute (italic with escaped asterisks): - AssertNotEqual SyntaxOf('a'), 'htmlItalic' - AssertEqual SyntaxOf('b'), 'htmlItalic' - AssertEqual SyntaxOf('c'), 'htmlItalic' - AssertNotEqual SyntaxOf('d'), 'htmlItalic' - -Given markdown; -a __b\_\_c__ d - -Execute (bold with escaped underscores): - AssertNotEqual SyntaxOf('a'), 'htmlBold' - AssertEqual SyntaxOf('b'), 'htmlBold' - AssertEqual SyntaxOf('c'), 'htmlBold' - AssertNotEqual SyntaxOf('d'), 'htmlBold' - -Given markdown; -_a b -c_ d - -Execute (italic with underscores in multiple lines): - AssertEqual SyntaxOf('a'), 'htmlItalic' - AssertEqual SyntaxOf('b'), 'htmlItalic' - AssertEqual SyntaxOf('c'), 'htmlItalic' - AssertNotEqual SyntaxOf('d'), 'htmlItalic' - -Given markdown; -__a b -c__ d - -Execute (bold with underscores in multiple lines): - AssertEqual SyntaxOf('a'), 'htmlBold' - AssertEqual SyntaxOf('b'), 'htmlBold' - AssertEqual SyntaxOf('c'), 'htmlBold' - AssertNotEqual SyntaxOf('d'), 'htmlBold' - -Given markdown; -___a b -c___ d - -Execute (bold italic with underscores in multiple lines): - AssertEqual SyntaxOf('a'), 'htmlBoldItalic' - AssertEqual SyntaxOf('b'), 'htmlBoldItalic' - AssertEqual SyntaxOf('c'), 'htmlBoldItalic' - AssertNotEqual SyntaxOf('d'), 'htmlBoldItalic' - -Given markdown; -*a b -c* d - -Execute (italic with asterisks in multiple lines): - AssertEqual SyntaxOf('a'), 'htmlItalic' - AssertEqual SyntaxOf('b'), 'htmlItalic' - AssertEqual SyntaxOf('c'), 'htmlItalic' - AssertNotEqual SyntaxOf('d'), 'htmlItalic' - -Given markdown; -**a b -c** d - -Execute (bold with asterisks in multiple lines): - AssertEqual SyntaxOf('a'), 'htmlBold' - AssertEqual SyntaxOf('b'), 'htmlBold' - AssertEqual SyntaxOf('c'), 'htmlBold' - AssertNotEqual SyntaxOf('d'), 'htmlBold' - -Given markdown; -***a b -c*** d - -Execute (bold italic with asterisks in multiple lines): - AssertEqual SyntaxOf('a'), 'htmlBoldItalic' - AssertEqual SyntaxOf('b'), 'htmlBoldItalic' - AssertEqual SyntaxOf('c'), 'htmlBoldItalic' - AssertNotEqual SyntaxOf('d'), 'htmlBoldItalic' - -Given markdown; -*a - -Execute (not italic with an asterisk): - AssertNotEqual SyntaxOf('a'), 'htmlItalic' - -Given markdown; -[__](a) b - -Execute (not bold with double underscores): - AssertNotEqual SyntaxOf('_'), 'htmlBold' - AssertNotEqual SyntaxOf('a'), 'htmlBold' - AssertNotEqual SyntaxOf('b'), 'htmlBold' - -Given markdown; -_a_ - -Execute (conceal italic): - if has('conceal') - setlocal conceallevel=2 - AssertEqual synconcealed(1, 1)[0], 1 - AssertEqual synconcealed(1, 2)[0], 0 - AssertEqual synconcealed(1, 3)[0], 1 - setlocal conceallevel=0 - endif - -Execute (disable conceal): - if has('conceal') - let g:vim_markdown_conceal=0 - syn off | syn on - setlocal conceallevel=2 - AssertEqual synconcealed(1, 1)[0], 0 - AssertEqual synconcealed(1, 2)[0], 0 - AssertEqual synconcealed(1, 3)[0], 0 - - let g:vim_markdown_conceal=1 - syn off | syn on - AssertEqual synconcealed(1, 1)[0], 1 - AssertEqual synconcealed(1, 2)[0], 0 - AssertEqual synconcealed(1, 3)[0], 1 - - setlocal conceallevel=0 - unlet g:vim_markdown_conceal - syn off | syn on - endif - -Given markdown; -*a* - -Execute (conceal italic): - if has('conceal') - setlocal conceallevel=2 - AssertEqual synconcealed(1, 1)[0], 1 - AssertEqual synconcealed(1, 2)[0], 0 - AssertEqual synconcealed(1, 3)[0], 1 - setlocal conceallevel=0 - endif - -Execute (disable conceal): - if has('conceal') - let g:vim_markdown_conceal=0 - syn off | syn on - setlocal conceallevel=2 - AssertEqual synconcealed(1, 1)[0], 0 - AssertEqual synconcealed(1, 2)[0], 0 - AssertEqual synconcealed(1, 3)[0], 0 - - let g:vim_markdown_conceal=1 - syn off | syn on - AssertEqual synconcealed(1, 1)[0], 1 - AssertEqual synconcealed(1, 2)[0], 0 - AssertEqual synconcealed(1, 3)[0], 1 - - setlocal conceallevel=0 - unlet g:vim_markdown_conceal - syn off | syn on - endif - -Given markdown; -__a__ - -Execute (conceal bold): - if has('conceal') - setlocal conceallevel=2 - AssertEqual synconcealed(1, 1)[0], 1 - AssertEqual synconcealed(1, 2)[0], 1 - AssertEqual synconcealed(1, 3)[0], 0 - AssertEqual synconcealed(1, 4)[0], 1 - AssertEqual synconcealed(1, 5)[0], 1 - setlocal conceallevel=0 - endif - -Execute (disable conceal): - if has('conceal') - let g:vim_markdown_conceal=0 - syn off | syn on - setlocal conceallevel=2 - AssertEqual synconcealed(1, 1)[0], 0 - AssertEqual synconcealed(1, 2)[0], 0 - AssertEqual synconcealed(1, 3)[0], 0 - AssertEqual synconcealed(1, 4)[0], 0 - AssertEqual synconcealed(1, 5)[0], 0 - - let g:vim_markdown_conceal=1 - syn off | syn on - AssertEqual synconcealed(1, 1)[0], 1 - AssertEqual synconcealed(1, 2)[0], 1 - AssertEqual synconcealed(1, 3)[0], 0 - AssertEqual synconcealed(1, 4)[0], 1 - AssertEqual synconcealed(1, 5)[0], 1 - - setlocal conceallevel=0 - unlet g:vim_markdown_conceal - syn off | syn on - endif - -Given markdown; -**a** - -Execute (conceal bold): - if has('conceal') - setlocal conceallevel=2 - AssertEqual synconcealed(1, 1)[0], 1 - AssertEqual synconcealed(1, 2)[0], 1 - AssertEqual synconcealed(1, 3)[0], 0 - AssertEqual synconcealed(1, 4)[0], 1 - AssertEqual synconcealed(1, 5)[0], 1 - setlocal conceallevel=0 - endif - -Execute (disable conceal): - if has('conceal') - let g:vim_markdown_conceal=0 - syn off | syn on - setlocal conceallevel=2 - AssertEqual synconcealed(1, 1)[0], 0 - AssertEqual synconcealed(1, 2)[0], 0 - AssertEqual synconcealed(1, 3)[0], 0 - AssertEqual synconcealed(1, 4)[0], 0 - AssertEqual synconcealed(1, 5)[0], 0 - - let g:vim_markdown_conceal=1 - syn off | syn on - AssertEqual synconcealed(1, 1)[0], 1 - AssertEqual synconcealed(1, 2)[0], 1 - AssertEqual synconcealed(1, 3)[0], 0 - AssertEqual synconcealed(1, 4)[0], 1 - AssertEqual synconcealed(1, 5)[0], 1 - - setlocal conceallevel=0 - unlet g:vim_markdown_conceal - syn off | syn on - endif - -Given markdown; -___a___ - -Execute (conceal italic bold): - if has('conceal') - setlocal conceallevel=2 - AssertEqual synconcealed(1, 1)[0], 1 - AssertEqual synconcealed(1, 2)[0], 1 - AssertEqual synconcealed(1, 3)[0], 1 - AssertEqual synconcealed(1, 4)[0], 0 - AssertEqual synconcealed(1, 5)[0], 1 - AssertEqual synconcealed(1, 6)[0], 1 - AssertEqual synconcealed(1, 7)[0], 1 - setlocal conceallevel=0 - endif - -Execute (disable conceal): - if has('conceal') - let g:vim_markdown_conceal=0 - syn off | syn on - setlocal conceallevel=2 - AssertEqual synconcealed(1, 1)[0], 0 - AssertEqual synconcealed(1, 2)[0], 0 - AssertEqual synconcealed(1, 3)[0], 0 - AssertEqual synconcealed(1, 4)[0], 0 - AssertEqual synconcealed(1, 5)[0], 0 - AssertEqual synconcealed(1, 6)[0], 0 - AssertEqual synconcealed(1, 7)[0], 0 - - let g:vim_markdown_conceal=1 - syn off | syn on - AssertEqual synconcealed(1, 1)[0], 1 - AssertEqual synconcealed(1, 2)[0], 1 - AssertEqual synconcealed(1, 3)[0], 1 - AssertEqual synconcealed(1, 4)[0], 0 - AssertEqual synconcealed(1, 5)[0], 1 - AssertEqual synconcealed(1, 6)[0], 1 - AssertEqual synconcealed(1, 7)[0], 1 - - setlocal conceallevel=0 - unlet g:vim_markdown_conceal - syn off | syn on - endif - -Given markdown; -***a*** - -Execute (conceal italic bold): - if has('conceal') - setlocal conceallevel=2 - AssertEqual synconcealed(1, 1)[0], 1 - AssertEqual synconcealed(1, 2)[0], 1 - AssertEqual synconcealed(1, 3)[0], 1 - AssertEqual synconcealed(1, 4)[0], 0 - AssertEqual synconcealed(1, 5)[0], 1 - AssertEqual synconcealed(1, 6)[0], 1 - AssertEqual synconcealed(1, 7)[0], 1 - setlocal conceallevel=0 - endif - -Execute (disable conceal): - if has('conceal') - let g:vim_markdown_conceal=0 - syn off | syn on - setlocal conceallevel=2 - AssertEqual synconcealed(1, 1)[0], 0 - AssertEqual synconcealed(1, 2)[0], 0 - AssertEqual synconcealed(1, 3)[0], 0 - AssertEqual synconcealed(1, 4)[0], 0 - AssertEqual synconcealed(1, 5)[0], 0 - AssertEqual synconcealed(1, 6)[0], 0 - AssertEqual synconcealed(1, 7)[0], 0 - - let g:vim_markdown_conceal=1 - syn off | syn on - AssertEqual synconcealed(1, 1)[0], 1 - AssertEqual synconcealed(1, 2)[0], 1 - AssertEqual synconcealed(1, 3)[0], 1 - AssertEqual synconcealed(1, 4)[0], 0 - AssertEqual synconcealed(1, 5)[0], 1 - AssertEqual synconcealed(1, 6)[0], 1 - AssertEqual synconcealed(1, 7)[0], 1 - - setlocal conceallevel=0 - unlet g:vim_markdown_conceal - syn off | syn on - endif - -# Links - -Given markdown; -[a](b) - -Execute (link with title): - AssertEqual SyntaxOf('a'), 'mkdLink' - AssertEqual SyntaxOf('b'), 'mkdURL' - -Given markdown; -[a -b](c) - -Execute (link text with newline): - AssertEqual SyntaxOf('a'), 'mkdLink' - AssertEqual SyntaxOf('b'), 'mkdLink' - AssertEqual SyntaxOf('c'), 'mkdURL' - -Given markdown; -[a] b [c](d) - -Execute (link text with bracket sections): - AssertNotEqual SyntaxOf('a'), 'mkdLink' - AssertNotEqual SyntaxOf('b'), 'mkdLink' - AssertEqual SyntaxOf('c'), 'mkdLink' - AssertEqual SyntaxOf('d'), 'mkdURL' - -Given markdown; -[^a]: b - -Execute (footnote is not link): - AssertNotEqual SyntaxOf('a'), 'mkdLinkDef' - -Given markdown; -(a) - -(b) - -Execute (parenthesis not in link): - AssertNotEqual SyntaxOf('a'), 'mkdURL' - AssertNotEqual SyntaxOf('b'), 'mkdURL' - -Given markdown; -[a](b) c [d](e) - -Execute (multiple links on a line): - AssertNotEqual SyntaxOf('c'), 'mkdLink' - AssertNotEqual SyntaxOf('c'), 'mkdURL' - -Given markdown; -[a] (b) - -Execute (space is not allowed between link text and parenthesis): - AssertNotEqual SyntaxOf('a'), 'mkdLink' - AssertNotEqual SyntaxOf('b'), 'mkdURL' - -Given markdown; -[a](b) - -Execute (conceal link): - if has('conceal') - setlocal conceallevel=2 - AssertEqual synconcealed(1, 1)[0], 1 - AssertEqual synconcealed(1, 2)[0], 0 - AssertEqual synconcealed(1, 3)[0], 1 - AssertEqual synconcealed(1, 4)[0], 1 - AssertEqual synconcealed(1, 4)[0], 1 - AssertEqual synconcealed(1, 5)[0], 1 - AssertEqual synconcealed(1, 6)[0], 1 - setlocal conceallevel=0 - endif - -Execute (disable conceal): - if has('conceal') - let g:vim_markdown_conceal=0 - syn off | syn on - setlocal conceallevel=2 - AssertEqual synconcealed(1, 1)[0], 0 - AssertEqual synconcealed(1, 2)[0], 0 - AssertEqual synconcealed(1, 3)[0], 0 - AssertEqual synconcealed(1, 4)[0], 0 - AssertEqual synconcealed(1, 4)[0], 0 - AssertEqual synconcealed(1, 5)[0], 0 - AssertEqual synconcealed(1, 6)[0], 0 - - let g:vim_markdown_conceal=1 - syn off | syn on - AssertEqual synconcealed(1, 1)[0], 1 - AssertEqual synconcealed(1, 2)[0], 0 - AssertEqual synconcealed(1, 3)[0], 1 - AssertEqual synconcealed(1, 4)[0], 1 - AssertEqual synconcealed(1, 4)[0], 1 - AssertEqual synconcealed(1, 5)[0], 1 - AssertEqual synconcealed(1, 6)[0], 1 - - setlocal conceallevel=0 - unlet g:vim_markdown_conceal - syn off | syn on - endif - -# Autolinks - -Given markdown; -a c - -Execute (autolink): - AssertNotEqual SyntaxOf('a'), 'mkdInlineURL' - AssertEqual SyntaxOf('<'), 'mkdDelimiter' - AssertEqual SyntaxOf('b'), 'mkdInlineURL' - AssertEqual SyntaxOf('>'), 'mkdDelimiter' - AssertNotEqual SyntaxOf('c'), 'mkdInlineURL' - -Given markdown; -http://12monkeys.foo - -Execute (autolink with domain starting with a number): - AssertEqual SyntaxOf('12monkeys'), 'mkdInlineURL' - -Given markdown; - - -Execute (autolink with scheme case is insensitive): - AssertEqual SyntaxOf('a'), 'mkdInlineURL' - -Given markdown; - - -Execute (autolink without scheme is not a link): - AssertNotEqual SyntaxOf('a'), 'mkdInlineURL' - -Given markdown; -< http://a > - - - -Execute (autolink with space is not a link): - AssertNotEqual SyntaxOf('a'), 'mkdInlineURL' - AssertNotEqual SyntaxOf('b'), 'mkdInlineURL' - AssertNotEqual SyntaxOf('c'), 'mkdInlineURL' - AssertNotEqual SyntaxOf('d'), 'mkdInlineURL' - AssertNotEqual SyntaxOf('e'), 'mkdInlineURL' - -Given markdown; -\ - -Execute (autolinks can be backslash escaped): - AssertNotEqual SyntaxOf('<'), 'mkdDelimiter' - -Given markdown; -a (http://b.bb) c - -Execute (autolink in parenthesis): - AssertNotEqual SyntaxOf('a'), 'mkdInlineURL' - AssertEqual SyntaxOf('('), 'mkdDelimiter' - AssertEqual SyntaxOf('b'), 'mkdInlineURL' - AssertEqual SyntaxOf(')'), 'mkdDelimiter' - AssertNotEqual SyntaxOf('c'), 'mkdInlineURL' - -Given markdown; -[![a](http://b)](http://c) - -Execute (autolink in link text): - AssertEqual SyntaxOf('!'), 'mkdDelimiter' - AssertEqual SyntaxOf('a'), 'mkdLink' - AssertEqual SyntaxOf('b'), 'mkdURL' - AssertEqual SyntaxOf('c'), 'mkdURL' - -Given markdown; -# [h1link](url) - -## [h2link](url) - -### [h3link](url) - -#### [h4link](url) - -##### [h5link](url) - -###### [h6link](url) - -[h1link_b](url) -=============== - -[h2link_b](url) ---------------- - -Execute (link in headers): - AssertEqual SyntaxOf('h1link'), 'mkdLink' - AssertEqual SyntaxOf('h2link'), 'mkdLink' - AssertEqual SyntaxOf('h3link'), 'mkdLink' - AssertEqual SyntaxOf('h4link'), 'mkdLink' - AssertEqual SyntaxOf('h5link'), 'mkdLink' - AssertEqual SyntaxOf('h6link'), 'mkdLink' - AssertEqual SyntaxOf('h1link_b'), 'mkdLink' - AssertEqual SyntaxOf('h2link_b'), 'mkdLink' - -Given markdown; -# http://h1link.foo - -## http://h2link.foo - -### http://h3link.foo - -#### http://h4link.foo - -##### http://h5link.foo - -###### http://h6link.foo - -http://h1link_b.foo -=================== - -http://h2link_b.foo -------------------- - -Execute (inline url in headers): - AssertEqual SyntaxOf('h1link'), 'mkdInlineURL' - AssertEqual SyntaxOf('h2link'), 'mkdInlineURL' - AssertEqual SyntaxOf('h3link'), 'mkdInlineURL' - AssertEqual SyntaxOf('h4link'), 'mkdInlineURL' - AssertEqual SyntaxOf('h5link'), 'mkdInlineURL' - AssertEqual SyntaxOf('h6link'), 'mkdInlineURL' - AssertEqual SyntaxOf('h1link_b'), 'mkdInlineURL' - AssertEqual SyntaxOf('h2link_b'), 'mkdInlineURL' - -Given markdown; -> [a](b) -> http://foo.bar - -Execute (link in blockquote): - AssertEqual SyntaxOf('a'), 'mkdLink' - AssertEqual SyntaxOf('foo'), 'mkdInlineURL' - -Given markdown; -[https://domain.tld](https://domain.com) not_a_link - -Execute (link with url title): - AssertEqual SyntaxOf('https://domain.tld'), 'mkdInlineURL' - AssertNotEqual SyntaxOf(']'), 'mkdInlineURL' - AssertEqual SyntaxOf('https://domain.com'), 'mkdURL' - AssertNotEqual SyntaxOf('not_a_link'), 'mkdInlineURL' - -# Code Blocks - -Given markdown; -~~~ -code -~~~ - -Execute (code blocks can be fenced with tildes): - AssertEqual SyntaxOf('c'), 'mkdCode' - -Given markdown; -~~~~ -code -~~~~~ - -Execute (code blocks can be fenced with tildes longer than 3): - AssertEqual SyntaxOf('c'), 'mkdCode' - -Given markdown; -```` -code -````` - -Execute (code blocks can be fenced with backticks longer than 3): - AssertEqual SyntaxOf('c'), 'mkdCode' - -Given markdown; -~~~ruby -code -~~~ - -Execute (code blocks can have a language specifier): - AssertEqual SyntaxOf('c'), 'mkdCode' - -Given markdown; -```c++ -code -``` - -text - -Execute (code blocks can be fenced with backticks and a language specifier): - AssertEqual SyntaxOf('code'), 'mkdCode' - AssertNotEqual SyntaxOf('text'), 'mkdCode' - -# Indent Code Blocks - -Given markdown; -a - - b - c - -Execute (indent code blocks): - AssertNotEqual SyntaxOf('a'), 'mkdCode' - AssertEqual SyntaxOf('b'), 'mkdCode' - AssertEqual SyntaxOf('c'), 'mkdCode' - -Given markdown; -# a - -b - - c - -Execute (indent code blocks after header): - AssertNotEqual SyntaxOf('a'), 'mkdCode' - AssertNotEqual SyntaxOf('b'), 'mkdCode' - AssertEqual SyntaxOf('c'), 'mkdCode' - -Given markdown; -- a - - b - - c - -Execute (indent code blocks after list): - AssertNotEqual SyntaxOf('a'), 'mkdCode' - AssertNotEqual SyntaxOf('b'), 'mkdCode' - AssertEqual SyntaxOf('c'), 'mkdCode' - -Given markdown; - a - b - -Execute (indent code block at beginning of file): - AssertEqual SyntaxOf('a'), 'mkdCode' - AssertEqual SyntaxOf('b'), 'mkdCode' - -Given markdown; -```c++ -#include -code -``` - -```ruby -def a -end -``` - -Execute (fenced code block syntax with a language specifier): - let b:func = Markdown_GetFunc('vim-markdown/ftplugin/markdown.vim', 'MarkdownRefreshSyntax') - call b:func(0) - AssertEqual SyntaxOf('include'), 'cInclude' - AssertEqual SyntaxOf('code'), 'mkdSnippetCPP' - AssertEqual SyntaxOf('def'), 'rubyDefine' - -Given markdown; -``` c++ -#include -code -``` - -``` vim -let g:a = 1 -``` - -``` ruby -def a -end -``` - -``` -ruby -class B -end -``` - -Execute (fenced code block syntax with a language specifier after whitespace): - let b:func = Markdown_GetFunc('vim-markdown/ftplugin/markdown.vim', 'MarkdownRefreshSyntax') - call b:func(0) - AssertEqual SyntaxOf('include'), 'cInclude' - AssertEqual SyntaxOf('code'), 'mkdSnippetCPP' - AssertEqual SyntaxOf('g:a'), 'vimVar' - AssertEqual SyntaxOf('def'), 'rubyDefine' - AssertNotEqual SyntaxOf('class'), 'rubyClass' - -Given markdown; -```vim -let g:a = 1 -``` - -```viml -let g:b = 1 -``` - -Execute (fenced code block syntax with alias language specifier): - let b:func = Markdown_GetFunc('vim-markdown/ftplugin/markdown.vim', 'MarkdownRefreshSyntax') - call b:func(0) - AssertEqual SyntaxOf('g:a'), 'vimVar' - AssertEqual SyntaxOf('g:b'), 'vimVar' - -Given markdown; -```csharp -var s = "foo"; -``` - -Execute (fenced code block languages setting): - let g:vim_markdown_fenced_languages = ['csharp=cs'] - source ../ftplugin/markdown.vim - let b:func = Markdown_GetFunc('vim-markdown/ftplugin/markdown.vim', 'MarkdownRefreshSyntax') - call b:func(0) - AssertEqual SyntaxOf('foo'), 'csString' - unlet g:vim_markdown_fenced_languages - -Given markdown; -```vim -let g:a = 1 -``` - -Execute (fenced code block includes language syntax with reopening same buffer): - let b:func = Markdown_GetFunc('vim-markdown/ftplugin/markdown.vim', 'MarkdownRefreshSyntax') - call b:func(0) - split - quit - edit - set filetype=markdown - execute "normal! i```vim\let g:a = 1\```" - call b:func(1) - AssertEqual SyntaxOf('g:a'), 'vimVar' - -Given markdown; -```a+b- -code -``` - -Execute (fenced code block syntax with an unknown language specifier): - let b:func = Markdown_GetFunc('vim-markdown/ftplugin/markdown.vim', 'MarkdownRefreshSyntax') - call b:func(0) - AssertEqual SyntaxOf('code'), 'mkdSnippetA_B_' - -Given markdown; -``` -= -a -- -``` - -Execute (first = or - in fenced code block is not setex headers): - AssertEqual SyntaxOf('='), 'mkdCode' - AssertEqual SyntaxOf('-'), 'mkdCode' - -Given markdown; -``` {style=""} -a -``` - -Execute (fenced code block with extended info strings): - AssertEqual SyntaxOf('a'), 'mkdCode' - -# Code Blocks in pre and code tag - -Given markdown; -
-a
-
- -Execute (code block in pre tag): - AssertEqual SyntaxOf('a'), 'mkdCode' - -Given markdown; - -a - - -Execute (code block in code tag): - AssertEqual SyntaxOf('a'), 'mkdCode' - -Given markdown; -\ -a -\ - -Execute (not code block in escaped pre tag): - AssertNotEqual SyntaxOf('a'), 'mkdCode' - -Given markdown; -\ -a -\ - -Execute (not code block in escaped code tag): - AssertNotEqual SyntaxOf('a'), 'mkdCode' - -# Code quotes - -Given markdown; -`a` - -Execute (code in code quotes): - AssertEqual SyntaxOf('a'), 'mkdCode' - -Given markdown; -`a\` b `c\` d - -Execute (code quotes not escaped ending with backslash): - AssertEqual SyntaxOf('a\'), 'mkdCode' - AssertNotEqual SyntaxOf('b'), 'mkdCode' - AssertEqual SyntaxOf('c\'), 'mkdCode' - AssertNotEqual SyntaxOf('d'), 'mkdCode' - -Given markdown; -``a\`` b ``c`\`1`` d - -Execute (double code quotes not escaped ending with backslash): - AssertEqual SyntaxOf('a\'), 'mkdCode' - AssertNotEqual SyntaxOf('b'), 'mkdCode' - AssertEqual SyntaxOf('c`\\`1'), 'mkdCode' - AssertNotEqual SyntaxOf('d'), 'mkdCode' - -# Math - -Given markdown; -a $x$ b -c $$y$$ d -\$e\$ -\$\$f\$\$ - -Execute (math): - AssertNotEqual SyntaxOf('x')[0:2], 'tex' - AssertNotEqual SyntaxOf('y')[0:2], 'tex' - let g:vim_markdown_math=1 - syn off | syn on - AssertNotEqual SyntaxOf('a')[0:2], 'tex' - AssertNotEqual SyntaxOf('b')[0:2], 'tex' - AssertNotEqual SyntaxOf('c')[0:2], 'tex' - AssertNotEqual SyntaxOf('d')[0:2], 'tex' - AssertNotEqual SyntaxOf('e')[0:2], 'tex' - AssertNotEqual SyntaxOf('f')[0:2], 'tex' - AssertEqual SyntaxOf('x')[0:2], 'tex' - AssertEqual SyntaxOf('y')[0:2], 'tex' - let g:vim_markdown_math=0 - syn off | syn on - AssertNotEqual SyntaxOf('x')[0:2], 'tex' - AssertNotEqual SyntaxOf('y')[0:2], 'tex' - -Given markdown; -a - -$ -b -$ - -c - -Execute (multiline math): - let g:vim_markdown_math=1 - syn off | syn on - AssertNotEqual SyntaxOf('a')[0:2], 'tex' - AssertEqual SyntaxOf('b')[0:2], 'tex' - AssertNotEqual SyntaxOf('c')[0:2], 'tex' - -Given markdown; -$ \sqrt{a}{b} $ -$$ \frac{a}{b} $$ - -Execute (math tex highlighting): - let g:vim_markdown_math=0 - syn off | syn on - AssertNotEqual SyntaxOf('sqrt'), 'texStatement' - AssertNotEqual SyntaxOf('frac'), 'texStatement' - let g:vim_markdown_math=1 - syn off | syn on - AssertEqual SyntaxOf('sqrt'), 'texStatement' - AssertEqual SyntaxOf('frac'), 'texStatement' - -Given markdown; -$a b[$ c - -Execute (math ends with $): - let g:vim_markdown_math=1 - syn off | syn on - AssertEqual SyntaxOf('a')[0:2], 'tex' - AssertEqual SyntaxOf('b')[0:2], 'tex' - AssertNotEqual SyntaxOf('c')[0:2], 'tex' - -Given markdown; -$$a b[$$ c - -Execute (math ends with $$): - let g:vim_markdown_math=1 - syn off | syn on - AssertEqual SyntaxOf('a')[0:2], 'tex' - AssertEqual SyntaxOf('b')[0:2], 'tex' - AssertNotEqual SyntaxOf('c')[0:2], 'tex' - -Given markdown; -$(0 \le 1)$ - -Execute (math conceal in $): - if has('conceal') - setlocal conceallevel=2 - let g:vim_markdown_math=1 - syn off | syn on - AssertEqual synconcealed(1, 1)[0], 1, '$' - AssertEqual synconcealed(1, 2)[0], 0 - AssertEqual synconcealed(1, 3)[0], 0 - AssertEqual synconcealed(1, 4)[0], 0 - AssertEqual synconcealed(1, 5)[0], 1, '\le' - AssertEqual synconcealed(1, 6)[0], 1 - AssertEqual synconcealed(1, 7)[0], 1 - AssertEqual synconcealed(1, 8)[0], 0 - AssertEqual synconcealed(1, 9)[0], 0 - AssertEqual synconcealed(1, 10)[0], 0 - AssertEqual synconcealed(1, 11)[0], 1, '$' - setlocal conceallevel=0 - endif - -Given markdown; -$$ -\omega -0 \le 1 -$$ - -Execute (math conceal in $$): - if has('conceal') - setlocal conceallevel=2 - let g:vim_markdown_math=1 - syn off | syn on - AssertEqual synconcealed(1, 1)[0], 1, '$$' - AssertEqual synconcealed(2, 1)[0], 1, '\omega' - AssertEqual synconcealed(3, 1)[0], 0, '0' - AssertEqual synconcealed(3, 3)[0], 1, '\le' - AssertEqual synconcealed(3, 7)[0], 0, '1' - AssertEqual synconcealed(4, 1)[0], 1, '$$' - setlocal conceallevel=0 - endif - -# YAML frontmatter - -Given markdown; ---- -a: b ---- - -Execute (YAML frontmatter is controlled by the option): - AssertNotEqual SyntaxOf('a')[0:3], 'yaml' - let g:vim_markdown_frontmatter=1 - syn off | syn on - AssertEqual SyntaxOf('a')[0:3], 'yaml' - let g:vim_markdown_frontmatter=0 - syn off | syn on - AssertNotEqual SyntaxOf('a')[0:3], 'yaml' - -Given markdown; - ---- -a: b ---- - -Execute (YAML frontmatter only works if it's the first thing in the file): - let g:vim_markdown_frontmatter=1 - syn off | syn on - AssertNotEqual SyntaxOf('a')[0:3], 'yaml' - -Given markdown; ---- -a: b ---- - ---- - -Execute (rules are not mistaken by YAML frontmatter delimiters): - let g:vim_markdown_frontmatter=1 - syn off | syn on - AssertEqual SyntaxAt(5, 1), 'mkdRule' - unlet g:vim_markdown_frontmatter - -# TOML frontmatter - -Given markdown; -+++ -a = "b" -+++ - -Execute (TOML frontmatter is controlled by the option): - syn off | syn on - AssertNotEqual SyntaxOf('b'), 'tomlString' - let g:vim_markdown_toml_frontmatter=1 - syn off | syn on - AssertEqual SyntaxOf('b'), 'tomlString' - let g:vim_markdown_toml_frontmatter=0 - syn off | syn on - AssertNotEqual SyntaxOf('b'), 'tomlString' - -Given markdown; - -+++ -a = "b" -+++ - -Execute (TOML frontmatter only works if it's the first thing in the file): - let g:vim_markdown_toml_frontmatter=1 - syn off | syn on - AssertNotEqual SyntaxOf('b'), 'tomlString' - unlet g:vim_markdown_toml_frontmatter - -# JSON frontmatter - -Given markdown; -{ - "a": "b" -} - -Execute (JSON frontmatter is controlled by the option): - syn off | syn on - AssertNotEqual SyntaxOf('a'), 'jsonKeyword' - let g:vim_markdown_json_frontmatter=1 - syn off | syn on - AssertEqual SyntaxOf('a'), 'jsonKeyword' - let g:vim_markdown_json_frontmatter=0 - syn off | syn on - AssertNotEqual SyntaxOf('a'), 'jsonKeyword' - -Given markdown; - -{ - "a": "b" -} - -Execute (JSON frontmatter only works if it's the first thing in the file): - let g:vim_markdown_json_frontmatter=1 - syn off | syn on - AssertNotEqual SyntaxOf('a'), 'jsonKeyword' - unlet g:vim_markdown_json_frontmatter - -# Header - -Given markdown; -# #a -ccc - -## #b -ddd - -Execute (header title starts with #): - AssertEqual SyntaxOf('a'), 'htmlH1' - AssertEqual SyntaxOf('b'), 'htmlH2' - -Given markdown; -# h1 space - -#h1 nospace - -# h1 2 spaces - -# h1 trailing hash # - -## h2 space - -##h2 nospace - -## h2 trailing hash ## - -### h3 space - -###h3 nospace - -### h3 trailing hash ### - -#### h4 - -##### h5 - -###### h6 - -Execute (atx headers): - AssertEqual SyntaxOf(' h1 space'), 'htmlH1' - AssertEqual SyntaxOf('h1 nospace'), 'htmlH1' - AssertEqual SyntaxOf(' h1 2 spaces'), 'htmlH1' - AssertEqual SyntaxOf(' h1 trailing hash '), 'htmlH1' - AssertEqual SyntaxOf(' h2 space'), 'htmlH2' - AssertEqual SyntaxOf('h2 nospace'), 'htmlH2' - AssertEqual SyntaxOf(' h2 trailing hash '), 'htmlH2' - AssertEqual SyntaxOf(' h3 space'), 'htmlH3' - AssertEqual SyntaxOf('h3 nospace'), 'htmlH3' - AssertEqual SyntaxOf(' h3 trailing hash '), 'htmlH3' - AssertEqual SyntaxOf(' h4'), 'htmlH4' - AssertEqual SyntaxOf(' h5'), 'htmlH5' - AssertEqual SyntaxOf(' h6'), 'htmlH6' - -Given markdown; -# h1 before h2 - -## h2 between h1s - -# h1 after h2 - -Execute (atx headers relative positions): - AssertEqual SyntaxOf(' h1 before h2'), 'htmlH1' - AssertEqual SyntaxOf(' h2 between h1s'), 'htmlH2' - AssertEqual SyntaxOf(' h1 after h2'), 'htmlH1' - -Given markdown; -setex h1 -======== - -setex h2 --------- - -setex h1 single punctuation -= - -setex h1 punctuation longer than header -================================ - -Execute (setex headers): - AssertEqual SyntaxOf('setex h1'), 'htmlH1' - AssertEqual SyntaxOf('^========$'), 'htmlH1' - AssertEqual SyntaxOf('setex h2'), 'htmlH2' - AssertEqual SyntaxOf('--------'), 'htmlH2' - AssertEqual SyntaxOf('setex h1 single punctuation'), 'htmlH1' - AssertEqual SyntaxOf('^=$'), 'htmlH1' - AssertEqual SyntaxOf('setex h1 punctuation longer than header'), 'htmlH1' - AssertEqual SyntaxOf('^================================$'), 'htmlH1' - -Given markdown; -- not Setex -- because list - -Execute (prevent list vs Setex confusion): - AssertNotEqual SyntaxOf('- not Setex'), 'htmlH2' - AssertNotEqual SyntaxOf('- becuase list'), 'htmlH2' - -Given markdown; -setex h1 before atx -=================== - -## atx h2 - -### atx h3 - -# atx h1 - -setex h2 ------------------- - -### atx h3 2 - -Execute (mixed atx and setex headers): - AssertEqual SyntaxOf('setex h1 before atx'), 'htmlH1' - AssertEqual SyntaxOf('==================='), 'htmlH1' - AssertEqual SyntaxOf(' atx h2'), 'htmlH2' - AssertEqual SyntaxOf(' atx h3'), 'htmlH3' - AssertEqual SyntaxOf(' atx h1'), 'htmlH1' - AssertEqual SyntaxOf('setex h2'), 'htmlH2' - AssertEqual SyntaxOf('------------------'), 'htmlH2' - -# List - -Given markdown; -- a & b -1. c > d - -Execute (& and > are not marked as htmlError in lists): - AssertEqual SyntaxOf('-'), 'mkdListItem' - AssertEqual SyntaxOf('1.'), 'mkdListItem' - AssertNotEqual SyntaxOf('&'), 'htmlError' - AssertNotEqual SyntaxOf('>'), 'htmlError' - -Given markdown; -1. a -2. b - -Execute (list after line break): - AssertEqual SyntaxOf('1'), 'mkdListItem' - AssertEqual SyntaxOf('2'), 'mkdListItem' - -# HTML - -Given markdown; -a - -

b

- -- c - -Execute (HTML tag in text): - AssertEqual SyntaxOf('p'), 'htmlTagName' - AssertEqual SyntaxOf('

'), 'htmlTag' - AssertEqual SyntaxOf('

'), 'htmlEndTag' - AssertEqual SyntaxOf('span'), 'htmlTagName' - AssertEqual SyntaxOf(''), 'htmlTag' - AssertEqual SyntaxOf(''), 'htmlEndTag' diff --git a/.vim_runtime/sources_non_forked/vim-markdown/test/table-format.vader b/.vim_runtime/sources_non_forked/vim-markdown/test/table-format.vader deleted file mode 100644 index 2fc06a3..0000000 --- a/.vim_runtime/sources_non_forked/vim-markdown/test/table-format.vader +++ /dev/null @@ -1,44 +0,0 @@ -Before: - let &gdefault = 1 - -After: - let &gdefault = 0 - -Given markdown; -| normal |no space| 2 spaces || -| - |-| --- || -| normal |no space| 2 spaces || - -Execute (format unformatted table): - TableFormat - -Expect (table is formatted): - | normal | no space | 2 spaces | | - |--------|----------|----------|--| - | normal | no space | 2 spaces | | - -Given markdown; -| a | b | -|---|---| -| c | d | - -Execute (format well formatted table): - TableFormat - -Expect (table is not modified): - | a | b | - |---|---| - | c | d | - -Given markdown; -| left |right| center || -| :- | --: |:---:|:| -| left |right| center || - -Execute (format table with colons): - TableFormat - -Expect (preserve colons to align text): - | left | right | center | | - |:-----|------:|:------:|:--| - | left | right | center | | diff --git a/.vim_runtime/sources_non_forked/vim-markdown/test/toc-autofit.vader b/.vim_runtime/sources_non_forked/vim-markdown/test/toc-autofit.vader deleted file mode 100644 index 2678997..0000000 --- a/.vim_runtime/sources_non_forked/vim-markdown/test/toc-autofit.vader +++ /dev/null @@ -1,53 +0,0 @@ -" Tests toc window auto-fit to longest header, but without exceeding half screen. - -Given markdown; -# chap 1 - -# chap 2 - -# chap 3 - -# chap 4 - -# chap 5 - -# chap 6 - -# chap 7 - -# chap 8 - -# chap 9 - -# chap 10 - -# chap 11 - -# chap 12 - -## chap 12.1 - -### chap 12.1.1 - -#### chap 12.1.1.1 - -##### chap 12.1.1.1.1 - -###### chap 12.1.1.1.1.1 - -# chap 13 - -Execute (toc window autofit width): - set number - let g:vim_markdown_toc_autofit = 1 - let line = '###### chap 12.1.1.1.1.1' - AssertEqual getline('33'), line - :Toc - let real_width = winwidth(0) - :lclose - let expected_width = len(line) + 2*5 + 1 + 3 - 7 - AssertEqual real_width, expected_width - set nonumber -" 2 spaces * 5 additional header levels + 1 space for first header + -" 3 spaces for line numbers - 7 chars ('###### ') that don't show up on the TOC - diff --git a/.vim_runtime/sources_non_forked/vim-markdown/test/toc.vader b/.vim_runtime/sources_non_forked/vim-markdown/test/toc.vader deleted file mode 100644 index 5126952..0000000 --- a/.vim_runtime/sources_non_forked/vim-markdown/test/toc.vader +++ /dev/null @@ -1,181 +0,0 @@ -Given markdown; -# a - -Execute (Toc does not set nomodifiable on other files): - " Sanity check. - Assert &modifiable - - :Toc - :lclose - :edit a - - Assert &modifiable - -Given markdown; -header 1 -======== - -test - -header 2 --------- - -test - -### header 3 - -test - -Execute (Toc setex headers): - :Toc - -Expect (setex headers): - header 1 - header 2 - header 3 - -Given markdown; -# header 1 - -test - -## header 2 - -test - -### header 3 - -test - -Execute (Toc atx headers): - :Toc - -Expect (atx headers): - header 1 - header 2 - header 3 - -Given markdown; -ATX tests. - -# h1 space - -#h1 nospace - -# h1 2 spaces - -# h1 trailing hash # - -## h2 space - -##h2 nospace - -## h2 trailing hash ## - -### h3 space - -###h3 nospace - -### h3 trailing hash ### - -#### h4 - -##### h5 - -###### h6 - ---- - -Relative positions. - -# h1 before h2 - -## h2 between h1s - -# h1 after h2 - ---- - -Setex tests. - -setex h1 -======== - -setex h2 --------- - -setex h1 single punctuation -= - -setex h1 punctuation longer than header -================================ - -Prevent list vs Setex confusion: - -- not Setex -- because list - ---- - -Mixed tests. - -setex h1 before atx -=================== - -## atx h2 - -### atx h3 - -# atx h1 - -setex h2 ------------------- - -### atx h3 2 - -Execute (Toc multiple headers): - :Toc - -Expect (multiple headers): - h1 space - h1 nospace - h1 2 spaces - h1 trailing hash - h2 space - h2 nospace - h2 trailing hash - h3 space - h3 nospace - h3 trailing hash - h4 - h5 - h6 - h1 before h2 - h2 between h1s - h1 after h2 - setex h1 - setex h2 - setex h1 single punctuation - setex h1 punctuation longer than header - setex h1 before atx - atx h2 - atx h3 - atx h1 - setex h2 - atx h3 2 - -Execute: - :lclose - -Given markdown; -# header 1 - -## header 2 - -### header 3 - -Execute (Toc cursor on the current header): - normal! G - :Toc - AssertEqual line('.'), 3 - :lclose diff --git a/.vim_runtime/sources_non_forked/vim-markdown/test/vimrc b/.vim_runtime/sources_non_forked/vim-markdown/test/vimrc deleted file mode 100644 index 638ab3f..0000000 --- a/.vim_runtime/sources_non_forked/vim-markdown/test/vimrc +++ /dev/null @@ -1,29 +0,0 @@ -set nocompatible -set rtp+=../ -set rtp+=../build/tabular/ -set rtp+=../build/vim-toml/ -set rtp+=../build/vim-json/ -set rtp+=../build/vader.vim/ -set rtp-=~/.vim -set rtp-=~/.vim/after -let $LANG='en_US' -filetype on -filetype plugin on -filetype indent on -syntax on - -function! Markdown_GetScriptID(fname) abort - let l:snlist = '' - redir => l:snlist - silent! scriptnames - redir END - let l:mx = '^\s*\(\d\+\):\s*\(.*\)$' - for l:line in split(l:snlist, "\n") - if stridx(substitute(l:line, '\\', '/', 'g'), a:fname) >= 0 - return substitute(l:line, l:mx, '\1', '') - endif - endfor -endfunction -function! Markdown_GetFunc(fname, funcname) abort - return function('' . Markdown_GetScriptID(a:fname) . '_' . a:funcname) -endfunction diff --git a/.vim_runtime/sources_non_forked/vim-multiple-cursors/.gitignore b/.vim_runtime/sources_non_forked/vim-multiple-cursors/.gitignore deleted file mode 100644 index 0a56e3f..0000000 --- a/.vim_runtime/sources_non_forked/vim-multiple-cursors/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/doc/tags diff --git a/.vim_runtime/sources_non_forked/vim-multiple-cursors/.rspec b/.vim_runtime/sources_non_forked/vim-multiple-cursors/.rspec deleted file mode 100644 index 397921f..0000000 --- a/.vim_runtime/sources_non_forked/vim-multiple-cursors/.rspec +++ /dev/null @@ -1,2 +0,0 @@ ---color ---format d diff --git a/.vim_runtime/sources_non_forked/vim-multiple-cursors/.travis.yml b/.vim_runtime/sources_non_forked/vim-multiple-cursors/.travis.yml deleted file mode 100644 index 98d432c..0000000 --- a/.vim_runtime/sources_non_forked/vim-multiple-cursors/.travis.yml +++ /dev/null @@ -1,12 +0,0 @@ -os: linux -dist: bionic -language: ruby - -addons: - apt: - packages: - - vim-gtk - - xvfb - -script: - - xvfb-run bundle exec rake diff --git a/.vim_runtime/sources_non_forked/vim-multiple-cursors/CHANGELOG.md b/.vim_runtime/sources_non_forked/vim-multiple-cursors/CHANGELOG.md deleted file mode 100644 index 619f787..0000000 --- a/.vim_runtime/sources_non_forked/vim-multiple-cursors/CHANGELOG.md +++ /dev/null @@ -1,110 +0,0 @@ -CHANGELOG.md

2.2 (06/10/2013)

- -

Bugfixes: - - Fix plugin break in PASTE mode. This fixes #44.

- -

2.1 (04/26/2013)

- -

Bugfixes: - - Fix 1 regression where cursors could potentially get out of sync in insert mode

- -

Features: - - Added some logic to debug latency. Fanning out to 30 cursors in insert mode with my vimrc took over 300ms. It’s like than 20ms with a plain vimrc. Need to debug what setting is causing the slowing down in insert mode and inform users.

- -

2.0 (04/24/2013)

- -

Bugfixes: - - Fix inconsistent undo behavior. Changes made in multicursor insert mode are now undone together. This fixes #22. - - Single key commands that do not terminate properly no longer cause ghostly cursors to linger on screen. An error message is now displayed informing the user the number of cursor locations that the input cannot be properly played back at. This fixes #28.

- -

1.16 (04/23/2013)

- -

Features: - - Add integration tests using vimrunner. Hook up travis-ci to run continous integration on commit.

- -

1.15 (04/22/2013)

- -

Bugfixes: - - Fix plugin causing error bell. This fixes #29.

- -

1.14 (04/22/2013)

- -

Features: - - Allow users to separate start key from next key. (credit: @xanderman)

- -

1.13 (04/22/2013)

- -

Bugfixes: - - Add support for switching to visual line mode from inside multicursor mode - - Fix highlight issue where extra character at end of line is highlighted for visual selections covering more than 2 lines.

- -

1.12 (04/19/2013)

- -

Bugfixes: - - Fix tab character causing highlight errors. This fixes #18 and fixes #32

- -

1.11 (04/18/2013)

- -

Bugfixes: - - Fix regression where C-n doesn’t exhibit correct behavior when all matches have been found - - Clear echo messages when a new input is received

- -

1.10 (04/17/2013)

- -

Bugfixes: - - O works now in normal mode. This fixes #24 - - Turn on lazyredraw during multicursor mode to prevent the sluggish screen redraws

- -

Features: - - Add command MultipleCursorsFind to add multiple virtual cursors using regexp. This closes #20

- -

1.9 (04/17/2013)

- -

Bugfixes: - - Fix starting multicursor mode in visual line mode. This fixes #25 - - Major refactoring to avoid getting in and out of visual mode as much as possible

- -

1.8 (04/16/2013)

- -

Bugfixes: - - Fix regression that causes call stack to explode with too many cursors

- -

1.7 (04/15/2013)

- -

Bugfixes: - - Finally fix the annoying highlighting problem when the last virtual cursor is on the last character of the line. The solution is a hack, but it should be harmless

- -

1.6 (04/15/2013)

- -

Bugfixes: - - Stop chaining dictionary function calls. This fixes #10 and #11

- -

1.5 (04/15/2013)

- -

Bugfixes: - - Exit Vim’s visual mode before waiting for user’s next input. This fixes #14

- -

1.4 (04/14/2013)

- -

Bugfixes: - - Don’t use clearmatches(). It clears highlighting from other plugins. This fixes #13

- -

1.3 (04/14/2013)

- -

Bugfixes: - - Change mapping from using expression-quote syntax to using raw strings

- -

1.2 (04/14/2013)

- -

Bugfixes: - - Restore view when exiting from multicursor mode. This fixes #5 - - Remove the unnecessary user level mapping for ‘prev’ and ‘skip’ in visual mode, since we can purely detect those keys from multicursor mode

- -

1.1 (04/14/2013)

- -

Bugfixes: - - Stop hijacking escape key in normal mode. This fixes #1, #2, and #3

- -

1.0 (04/13/2013)

- -

Initial release

diff --git a/.vim_runtime/sources_non_forked/vim-multiple-cursors/CONTRIBUTING.md b/.vim_runtime/sources_non_forked/vim-multiple-cursors/CONTRIBUTING.md deleted file mode 100644 index 386fbc8..0000000 --- a/.vim_runtime/sources_non_forked/vim-multiple-cursors/CONTRIBUTING.md +++ /dev/null @@ -1,29 +0,0 @@ - -CONTRIBUTING.md

Problems summary

- -

Expected

- -

Environment Information

- -
    -
  • OS:
  • -
  • Neovim/Vim/Gvim version:
  • -
- -

Provide a minimal .vimrc with less than 50 lines

- -
" Your minimal.vimrc
- -

Generate a logfile if appropriate

- -
    -
  1. export NVIM_PYTHON_LOG_FILE=/tmp/log
  2. -
  3. export NVIM_PYTHON_LOG_LEVEL=DEBUG
  4. -
  5. nvim -u minimal.vimrc
  6. -
  7. recreate your issue
  8. -
  9. cat /tmp/log_{PID}
  10. -
- -

Screen shot (if possible)

- -

Upload the log file

diff --git a/.vim_runtime/sources_non_forked/vim-multiple-cursors/Gemfile b/.vim_runtime/sources_non_forked/vim-multiple-cursors/Gemfile deleted file mode 100644 index 7658cb9..0000000 --- a/.vim_runtime/sources_non_forked/vim-multiple-cursors/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source 'https://rubygems.org' -gem 'vimrunner' -gem 'rake' -gem 'rspec' diff --git a/.vim_runtime/sources_non_forked/vim-multiple-cursors/Gemfile.lock b/.vim_runtime/sources_non_forked/vim-multiple-cursors/Gemfile.lock deleted file mode 100644 index 5e909c4..0000000 --- a/.vim_runtime/sources_non_forked/vim-multiple-cursors/Gemfile.lock +++ /dev/null @@ -1,30 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - diff-lcs (1.2.5) - rake (12.3.3) - rspec (3.4.0) - rspec-core (~> 3.4.0) - rspec-expectations (~> 3.4.0) - rspec-mocks (~> 3.4.0) - rspec-core (3.4.1) - rspec-support (~> 3.4.0) - rspec-expectations (3.4.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.4.0) - rspec-mocks (3.4.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.4.0) - rspec-support (3.4.1) - vimrunner (0.3.1) - -PLATFORMS - ruby - -DEPENDENCIES - rake - rspec - vimrunner - -BUNDLED WITH - 1.10.6 diff --git a/.vim_runtime/sources_non_forked/vim-multiple-cursors/MIT-LICENSE.txt b/.vim_runtime/sources_non_forked/vim-multiple-cursors/MIT-LICENSE.txt deleted file mode 100644 index dade7aa..0000000 --- a/.vim_runtime/sources_non_forked/vim-multiple-cursors/MIT-LICENSE.txt +++ /dev/null @@ -1,20 +0,0 @@ -Copyright 2013 Terry Ma - -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/.vim_runtime/sources_non_forked/vim-multiple-cursors/README.md b/.vim_runtime/sources_non_forked/vim-multiple-cursors/README.md deleted file mode 100644 index 1d70566..0000000 --- a/.vim_runtime/sources_non_forked/vim-multiple-cursors/README.md +++ /dev/null @@ -1,284 +0,0 @@ - -README.md

vim-multiple-cursors

- -

Build Status

- -

Contents

- - - -

About

- -

There have been many attempts at bringing Sublime Text’s awesome multiple selection feature into Vim, but none so far have been in my opinion a faithful port that is simplistic to use, yet powerful and intuitive enough for an existing Vim user. vim-multiple-cursors is yet another attempt at that.

- -

It’s great for quick refactoring

- -

Example1

- -

Vim command sequence: fp<C-n><C-n><C-n>cname

- -

Add a cursor to each line of your visual selection

- -

Example2

- -

Vim command sequence: vip<C-n>i"<Right><Right><Right>",<Esc>vipgJ$r]Idays = [

- -

Match characters from visual selection

- -

Example3

- -

Vim command sequence: df[$r,0f,v<C-n>…<C-n>c<CR><Up><Del><Right><Right><Right><Del>

- -

Use the command to match regexp

- -

Example4

- -

To see what keystrokes are used for the above examples, see the wiki page.

- -

Installation

- -

Install using Pathogen, Vundle, Neobundle, vim-plug, or your favorite Vim package manager.

- -

Requires vim 7.4 or newer for full functionality.

- -

vim-plug instructions

- -
    -
  1. Paste this block into the top of ~/.vimrc.
  2. -
- -
call plug#begin()
-
-Plug 'terryma/vim-multiple-cursors'
-
-call plug#end()
- -
    -
  1. Start vim and execute :PlugInstall.
  2. -
- -

Quick Start

- -

normal mode / visual mode

- -
    -
  • start: <C-n> start multicursor and add a virtual cursor + selection on the match - -
      -
    • next: <C-n> add a new virtual cursor + selection on the next match
    • -
    • skip: <C-x> skip the next match
    • -
    • prev: <C-p> remove current virtual cursor + selection and go back on previous match
    • -
  • -
  • select all: <A-n> start multicursor and directly select all matches
  • -
- -

You can now change the virtual cursors + selection with visual mode commands. -For instance: c, s, I, A work without any issues. -You could also go to normal mode by pressing v and use normal commands there.

- -

At any time, you can press <Esc> to exit back to regular Vim.

- -

NOTE: start with g<C-n> to match without boundaries (behaves like g* instead of *)

- -

visual mode when multiple lines are selected

- -
    -
  • start: <C-n> add virtual cursors on each line
  • -
- -

You can now change the virtual cursors with normal mode commands. -For instance: ciw.

- -

command

- -

The command MultipleCursorsFind accepts a range and a pattern (regexp), it creates a visual cursor at the end of each match. -If no range is passed in, then it defaults to the entire buffer.

- -

Mapping

- -

If you don’t like the plugin taking over your key bindings, you can turn it off and reassign them the way you want:

- -
let g:multi_cursor_use_default_mapping=0
-
-" Default mapping
-let g:multi_cursor_start_word_key      = '<C-n>'
-let g:multi_cursor_select_all_word_key = '<A-n>'
-let g:multi_cursor_start_key           = 'g<C-n>'
-let g:multi_cursor_select_all_key      = 'g<A-n>'
-let g:multi_cursor_next_key            = '<C-n>'
-let g:multi_cursor_prev_key            = '<C-p>'
-let g:multi_cursor_skip_key            = '<C-x>'
-let g:multi_cursor_quit_key            = '<Esc>'
- -

NOTE: Please make sure to always map something to g:multi_cursor_quit_key, otherwise you’ll have a tough time quitting from multicursor mode.

- -

Settings

- -

Currently there are four additional global settings one can tweak:

- -

g:multi_cursor_support_imap (Default: 1)

- -

If set to 0, insert mappings won’t be supported in Insert mode anymore.

- -

g:multi_cursor_exit_from_visual_mode (Default: 0)

- -

If set to 1, then pressing g:multi_cursor_quit_key in Visual mode will quit and -delete all existing cursors, just skipping normal mode with multiple cursors.

- -

g:multi_cursor_exit_from_insert_mode (Default: 0)

- -

If set to 1, then pressing g:multi_cursor_quit_key in Insert mode will quit and -delete all existing cursors, just skipping normal mode with multiple cursors.

- -

g:multi_cursor_normal_maps (Default: see below)

- -

{'@': 1, 'F': 1, 'T': 1, '[': 1, '\': 1, ']': 1, '!': 1, '"': 1, 'c': 1, 'd': 1, 'f': 1, 'g': 1, 'm': 1, 'q': 1, 'r': 1, 't': 1, 'y': 1, 'z': 1, '<': 1, '=': 1, '>': 1}

- -

Any key in this map (values are ignored) will cause multi-cursor Normal mode -to pause for map completion just like normal vim. Otherwise keys mapped in -normal mode will “fail to replay” when multiple cursors are active. -For example: {'d':1} makes normal-mode command dw work in multi-cursor mode.

- -

The default list contents should work for anybody, unless they have remapped a -key from an operator-pending command to a non-operator-pending command or -vice versa.

- -

These keys must be manually listed because vim doesn’t provide a way to -automatically see which keys start mappings, and trying to run motion commands -such as j as if they were operator-pending commands can break things.

- -

g:multi_cursor_visual_maps (Default: see below)

- -

{'T': 1, 'a': 1, 't': 1, 'F': 1, 'f': 1, 'i': 1}

- -

Same principle as g:multi_cursor_normal_maps

- -

Interactions with other plugins

- -

Multiple_cursors_before/Multiple_cursors_after (Default: nothing)

- -

Other plugins may be incompatible in insert mode. -That is why we provide hooks to disable those plug-ins when vim-multiple-cursors is active:

- -

For example, if you are using Neocomplete, -add this to your vimrc to prevent conflict:

- -
function! Multiple_cursors_before()
-  if exists(':NeoCompleteLock')==2
-    exe 'NeoCompleteLock'
-  endif
-endfunction
-
-function! Multiple_cursors_after()
-  if exists(':NeoCompleteUnlock')==2
-    exe 'NeoCompleteUnlock'
-  endif
-endfunction
- -

Plugins themselves can register User autocommands on MultipleCursorsPre and -MultipleCursorsPost for automatic integration.

- -

Highlight

- -

The plugin uses the highlight group multiple_cursors_cursor and multiple_cursors_visual to highlight the virtual cursors and their visual selections respectively. You can customize them by putting something similar like the following in your vimrc:

- -
" Default highlighting (see help :highlight and help :highlight-link)
-highlight multiple_cursors_cursor term=reverse cterm=reverse gui=reverse
-highlight link multiple_cursors_visual Visual
- -

FAQ

- -

Q Pressing i after selecting words with C-n makes the plugin hang, why?

- -

A When selecting words with C-n, the plugin behaves like in visual mode. -Once you pressed i, you can still press I to insert text.

- -

Q ALT+n doesn’t seem to work in VIM but works in gVIM, why?

- -

A This is a well known terminal/Vim issue, different terminal have different ways to send Alt+key. -Try adding this in your .vimrc and make sure to replace the string:

- -
if !has('gui_running')
-  map "in Insert mode, type Ctrl+v Alt+n here" <A-n>
-endif
- -

Or remap the following:

- -
g:multi_cursor_start_key
-g:multi_cursor_select_all_key
- -

Q CTRL+n doesn’t seem to work in gVIM?

- -

A Try setting set selection=inclusive in your ~/.gvimrc

- -

A Alternatively, you can just temporarily disable exclusive selection whenever the plugin is active:

- -
augroup MultipleCursorsSelectionFix
-    autocmd User MultipleCursorsPre  if &selection ==# 'exclusive' | let g:multi_cursor_save_selection = &selection | set selection=inclusive | endif
-    autocmd User MultipleCursorsPost if exists('g:multi_cursor_save_selection') | let &selection = g:multi_cursor_save_selection | unlet g:multi_cursor_save_selection | endif
-augroup END
- -

Q deoplete insert giberrish, how to fix this?

- -

A use the Multiple_cursors functions, add this in your vimrc:

- -
    func! Multiple_cursors_before()
-      if deoplete#is_enabled()
-        call deoplete#disable()
-        let g:deoplete_is_enable_before_multi_cursors = 1
-      else
-        let g:deoplete_is_enable_before_multi_cursors = 0
-      endif
-    endfunc
-    func! Multiple_cursors_after()
-      if g:deoplete_is_enable_before_multi_cursors
-        call deoplete#enable()
-      endif
-    endfunc
- -

Q is it also working on Mac?

- -

A On Mac OS, MacVim is known to work.

- -

Q How can I select n keywords with several keystrokes? 200<C-n> does not work.

- -

A You can use :MultipleCursorsFind keyword. I have this binding in my vimrc:

- -
nnoremap <silent> <M-j> :MultipleCursorsFind <C-R>/<CR>
-vnoremap <silent> <M-j> :MultipleCursorsFind <C-R>/<CR>
- -

This allows one to search for the keyword using * and turn search results into cursors with Alt-j.

- -

Contributing

- -

Patches and suggestions are always welcome! A list of open feature requests can be found here.

- -

Issue Creation

- -

Contributor’s time is precious and limited. Please ensure it meets the requirements outlined in CONTRIBUTING.md.

- -

Pull Requests

- -

Running the test suite requires ruby and rake as well as vim of course. Before submitting PR, please ensure the checks are passing:

- -
cd vim-multiple-cursors/spec/
-bundle exec rake
- -

Contributors

- -

This is a community supported project. Here is the list of all the Contributors

- -

Credit

- -

Obviously inspired by Sublime Text’s multiple selection feature, also encouraged by Emac’s multiple cursors implementation by Magnar Sveen

diff --git a/.vim_runtime/sources_non_forked/vim-multiple-cursors/Rakefile b/.vim_runtime/sources_non_forked/vim-multiple-cursors/Rakefile deleted file mode 100644 index 7150a28..0000000 --- a/.vim_runtime/sources_non_forked/vim-multiple-cursors/Rakefile +++ /dev/null @@ -1,11 +0,0 @@ -require 'rspec/core/rake_task' - -RSpec::Core::RakeTask.new(:spec) do |t| - t.pattern = 'spec/multiple_cursors_spec.rb' -end - -RSpec::Core::RakeTask.new(:benchmark) do |t| - t.pattern = 'spec/benchmark_spec.rb' -end - -task :default => :spec diff --git a/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example1.gif b/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example1.gif deleted file mode 100644 index f191985..0000000 Binary files a/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example1.gif and /dev/null differ diff --git a/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example1.gifraw=true b/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example1.gifraw=true deleted file mode 100644 index f191985..0000000 Binary files a/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example1.gifraw=true and /dev/null differ diff --git a/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example2.gif b/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example2.gif deleted file mode 100644 index df14aa3..0000000 Binary files a/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example2.gif and /dev/null differ diff --git a/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example2.gifraw=true b/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example2.gifraw=true deleted file mode 100644 index df14aa3..0000000 Binary files a/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example2.gifraw=true and /dev/null differ diff --git a/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example3.gif b/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example3.gif deleted file mode 100644 index 7873258..0000000 Binary files a/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example3.gif and /dev/null differ diff --git a/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example3.gifraw=true b/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example3.gifraw=true deleted file mode 100644 index 7873258..0000000 Binary files a/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example3.gifraw=true and /dev/null differ diff --git a/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example4.gif b/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example4.gif deleted file mode 100644 index 062e0ca..0000000 Binary files a/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example4.gif and /dev/null differ diff --git a/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example4.gifraw=true b/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example4.gifraw=true deleted file mode 100644 index 062e0ca..0000000 Binary files a/.vim_runtime/sources_non_forked/vim-multiple-cursors/assets/example4.gifraw=true and /dev/null differ diff --git a/.vim_runtime/sources_non_forked/vim-multiple-cursors/autoload/multiple_cursors.vim b/.vim_runtime/sources_non_forked/vim-multiple-cursors/autoload/multiple_cursors.vim deleted file mode 100644 index 32a9aec..0000000 --- a/.vim_runtime/sources_non_forked/vim-multiple-cursors/autoload/multiple_cursors.vim +++ /dev/null @@ -1,1331 +0,0 @@ -"=============================================================================== -" Initialization -"=============================================================================== - -" Tweak key settings. If the key is set using 'expr-quote' (h: expr-quote), then -" there's nothing that we need to do. If it's set using raw strings, then we -" need to convert it. We need to resort to such voodoo exec magic here to get -" it to work the way we like. '' is converted to '\' by the end and -" the global vars are replaced by their new value. This is ok since the mapping -" using '' should already have completed in the plugin file. -for s:key in [ 'g:multi_cursor_next_key', - \ 'g:multi_cursor_prev_key', - \ 'g:multi_cursor_skip_key', - \ 'g:multi_cursor_quit_key' ] - if exists(s:key) - " Translate raw strings like "" into key code like "\" - exec 'let s:temp = '.s:key - if s:temp =~ '^<.*>$' - exec 'let '.s:key.' = "\'.s:temp.'"' - endif - else - " If the user didn't define it, initialize it to an empty string so the - " logic later don't break - exec 'let '.s:key.' = ""' - endif -endfor -unlet! s:key s:temp - -" These keys will not be replicated at every cursor location. Make sure that -" this assignment happens AFTER the key tweak setting above -let s:special_keys = { - \ 'v': [ g:multi_cursor_next_key, g:multi_cursor_prev_key, g:multi_cursor_skip_key ], - \ 'n': [ g:multi_cursor_next_key ], - \ } - -" The highlight group we use for all the cursors -let s:hi_group_cursor = 'multiple_cursors_cursor' - -" The highlight group we use for all the visual selection -let s:hi_group_visual = 'multiple_cursors_visual' - -" Used for preventing multiple calls on before function -let s:before_function_called = 0 - -" Used for searching whole words (search pattern is wrapped with \< and \>) -" Keep old behaviour by default (act like g*) -let s:use_word_boundary = 1 - -" Set up highlighting -if !hlexists(s:hi_group_cursor) - exec "highlight ".s:hi_group_cursor." term=reverse cterm=reverse gui=reverse" -endif -if !hlexists(s:hi_group_visual) - exec "highlight link ".s:hi_group_visual." Visual" -endif - -" Temporary buffer that is used for individual paste buffer save/restore -" operations -let s:paste_buffer_temporary_text = '' -let s:paste_buffer_temporary_type = '' - -"=============================================================================== -" Internal Mappings -"=============================================================================== - -inoremap (multiple-cursors-input) :call process_user_input() -nnoremap (multiple-cursors-input) :call process_user_input() -xnoremap (multiple-cursors-input) :call process_user_input() - -inoremap (multiple-cursors-apply) :call apply_user_input_next('i') -nnoremap (multiple-cursors-apply) :call apply_user_input_next('n') -xnoremap (multiple-cursors-apply) :call apply_user_input_next('v') - -inoremap (multiple-cursors-detect) :call detect_bad_input() -nnoremap (multiple-cursors-detect) :call detect_bad_input() -xnoremap (multiple-cursors-detect) :call detect_bad_input() - -inoremap (multiple-cursors-wait) :call wait_for_user_input('') -nnoremap (multiple-cursors-wait) :call wait_for_user_input('') -xnoremap (multiple-cursors-wait) :call wait_for_user_input('') - -" Note that although these mappings are seemingly triggerd from Visual mode, -" they are in fact triggered from Normal mode. We quit visual mode to allow the -" virtual highlighting to take over -nnoremap (multiple-cursors-prev) :call multiple_cursors#prev() -nnoremap (multiple-cursors-skip) :call multiple_cursors#skip() -nnoremap (multiple-cursors-new) :call multiple_cursors#new('v', 0) -nnoremap (multiple-cursors-new-word) :call multiple_cursors#new('v', 1) - -"=============================================================================== -" Public Functions -"=============================================================================== - -" Print some debugging info -function! multiple_cursors#debug() - call s:cm.debug() -endfunction - -function! multiple_cursors#get_latency_debug_file() - return s:latency_debug_file -endfunction - - -function! s:fire_pre_triggers() - if !s:before_function_called - silent doautocmd User MultipleCursorsPre - if exists('*Multiple_cursors_before') - exe "call Multiple_cursors_before()" - endif - let s:before_function_called = 1 - endif -endfunction - -" Creates a new cursor. Different logic applies depending on the mode the user -" is in and the current state of the buffer. -" 1. In normal mode, a new cursor is created at the end of the word under Vim's -" normal cursor -" 2. In visual mode, if the visual selection covers more than one line, a new -" cursor is created at the beginning of each line -" 3. In visual mode, if the visual selection covers a single line, a new cursor -" is created at the end of the visual selection. Another cursor will be -" attempted to be created at the next occurrence of the visual selection -function! multiple_cursors#new(mode, word_boundary) - " Call before function if exists only once until it is canceled () - call s:fire_pre_triggers() - let s:use_word_boundary = a:word_boundary - if a:mode ==# 'n' - " Reset all existing cursors, don't restore view and setting - call s:cm.reset(0, 0) - - " Select the word under cursor to set the '< and '> marks - exec "normal! viw" - call s:exit_visual_mode() - - " Add cursor with the current visual selection - call s:cm.add(s:pos("'>"), s:region("'<", "'>")) - call s:wait_for_user_input('v') - elseif a:mode ==# 'v' - " If the visual area covers the same line, then do a search for next - " occurrence - let start = line("'<") - let finish = line("'>") - if start != finish - call s:cm.reset(0, 0) - let col = col("'<") - for line in range(line("'<"), line("'>")) - let pos = [line, col] - call s:cm.add(pos) - endfor - " Start in normal mode - call s:wait_for_user_input('n') - else - " Came directly from visual mode - if s:cm.is_empty() - call s:cm.reset(0, 0) - - if visualmode() ==# 'V' - let left = [line('.'), 1] - let right = [line('.'), col('$')-1] - if right[1] == 0 " empty line - return - endif - call s:cm.add(right, [left, right]) - else - call s:cm.add(s:pos("'>"), s:region("'<", "'>")) - endif - endif - let content = s:get_text(s:region("'<", "'>")) - let next = s:find_next(content) - if s:cm.add(next[1], next) - call s:update_visual_markers(next) - else - call cursor(s:cm.get_current().position) - echohl WarningMsg | echo 'No more matches' | echohl None - endif - call s:wait_for_user_input('v') - endif - endif -endfunction - -" Quit out of multicursor mode, fixes #27. -function! multiple_cursors#quit() - call s:exit() -endfunction - -" Delete the current cursor. If there's no more cursors, stop the loop -function! multiple_cursors#prev() - call s:cm.delete_current() - if !s:cm.is_empty() - call s:update_visual_markers(s:cm.get_current().visual) - call cursor(s:cm.get_current().position) - call s:wait_for_user_input('v') - endif -endfunction - -" Skip the current cursor and move to the next cursor -function! multiple_cursors#skip() - call s:cm.delete_current() - let content = s:get_text(s:region("'<", "'>")) - let next = s:find_next(content) - call s:cm.add(next[1], next) - call s:update_visual_markers(next) - call s:wait_for_user_input('v') -endfunction - -" Search for pattern between the start and end line number. For each match, add -" a virtual cursor at the end and start multicursor mode -" This function is called from a command. User commands in Vim do not support -" passing in column ranges. If the user selects a block of text in visual mode, -" but not visual line mode, we only want to match patterns within the actual -" visual selection. We get around this by checking the last visual selection and -" see if its start and end lines match the input. If so, we assume that the user -" did a normal visual selection and we use the '< and '> marks to define the -" region instead of start and end from the method parameter. -function! multiple_cursors#find(start, end, pattern) - let s:cm.saved_winview = winsaveview() - let s:cm.start_from_find = 1 - if visualmode() ==# 'v' && a:start == line("'<") && a:end == line("'>") - let pos1 = s:pos("'<") - let pos2 = s:pos("'>") - else - let pos1 = [a:start, 1] - let pos2 = [a:end, col([a:end, '$'])] - endif - call cursor(pos1) - let first = 1 - while 1 - if first - " Set `virtualedit` to 'onemore' for the first search to consistently - " match patterns like '$' - let saved_virtualedit = &virtualedit - let &virtualedit = "onemore" - " First search starts from the current position - let match = search(a:pattern, 'cW') - else - let match = search(a:pattern, 'W') - endif - if !match - break - endif - let left = s:pos('.') - " Perform an intermediate backward search to correctly match patterns like - " '^' and '$' - let match = search(a:pattern, 'bceW') - let right = s:pos('.') - " Reset the cursor and perform a normal search if the intermediate search - " wasn't successful - if !match || s:compare_pos(right, left) != 0 - call cursor(left) - call search(a:pattern, 'ceW') - let right = s:pos('.') - endif - if first - let &virtualedit = saved_virtualedit - let first = 0 - endif - if s:compare_pos(right, pos2) > 0 - " Position the cursor at the end of the previous match so it'll be on a - " virtual cursor when multicursor mode is started. The `winrestview()` - " call below 'undoes' unnecessary repositionings - call search(a:pattern, 'be') - break - endif - call s:cm.add(right, [left, right]) - " Redraw here forces the cursor movement to be updated. This prevents the - " jerky behavior when doing any action once the cursors are added. But it - " also slows down adding the cursors dramatically. We need to a better - " solution here - " redraw - endwhile - if s:cm.is_empty() - call winrestview(s:cm.saved_winview) - echohl ErrorMsg | echo 'No match found' | echohl None - return - else - echohl Normal | echo 'Added '.s:cm.size().' cursor'.(s:cm.size()>1?'s':'') | echohl None - - " If we've created any cursors, we need to call the before function, end - " function will be called via normal routes - call s:fire_pre_triggers() - - call s:wait_for_user_input('v') - endif -endfunction - -" apply multiple_cursors#find() on the whole buffer -function! multiple_cursors#select_all(mode, word_boundary) - if a:mode == 'v' - let a_save = @a - normal! gv"ay - let pattern = @a - let @a = a_save - elseif a:mode == 'n' - let pattern = expand('') - endif - if a:word_boundary == 1 - let pattern = '\<'.pattern.'\>' - endif - call multiple_cursors#find(1, line('$'), pattern) -endfunction - -"=============================================================================== -" Cursor class -"=============================================================================== -let s:Cursor = {} - -" Create a new cursor. Highlight it and save the current line length -function! s:Cursor.new(position) - let obj = copy(self) - let obj.position = copy(a:position) - let obj.visual = [] - let obj.saved_visual = [] - " Stores text that was yanked after any commands in Normal or Visual mode - let obj.paste_buffer_text = getreg('"') - let obj.paste_buffer_type = getregtype('"') - let obj.cursor_hi_id = s:highlight_cursor(a:position) - let obj.visual_hi_id = 0 - let obj.line_length = col([a:position[0], '$']) - if has('folding') - silent! execute a:position[0] . "foldopen!" - endif - return obj -endfunction - -" Return the line the cursor is on -function! s:Cursor.line() dict - return self.position[0] -endfunction - -" Return the column the cursor is on -function! s:Cursor.column() dict - return self.position[1] -endfunction - -" Move the cursor location by the number of lines and columns specified in the -" input. The input can be negative. -function! s:Cursor.move(line, column) dict - let self.position[0] += a:line - let self.position[1] += a:column - if !empty(self.visual) - let self.visual[0][0] += a:line - let self.visual[0][1] += a:column - let self.visual[1][0] += a:line - let self.visual[1][1] += a:column - endif - call self.update_highlight() -endfunction - -" Update the current position of the cursor -function! s:Cursor.update_position(pos) dict - let self.position[0] = a:pos[0] - let self.position[1] = a:pos[1] - call self.update_highlight() -endfunction - -" Reapply the highlight on the cursor -function! s:Cursor.update_highlight() dict - call s:cm.remove_highlight(self.cursor_hi_id) - let self.cursor_hi_id = s:highlight_cursor(self.position) -endfunction - -" Refresh the length of the line the cursor is on. This could change from -" underneath -function! s:Cursor.update_line_length() dict - let self.line_length = col([self.line(), '$']) -endfunction - -" Update the visual selection and its highlight -function! s:Cursor.update_visual_selection(region) dict - let self.visual = deepcopy(a:region) - call s:cm.remove_highlight(self.visual_hi_id) - let self.visual_hi_id = s:highlight_region(a:region) -endfunction - -" Remove the visual selection and its highlight -function! s:Cursor.remove_visual_selection() dict - let self.saved_visual = deepcopy(self.visual) - let self.visual = [] - " TODO(terryma): Move functionality into separate class - call s:cm.remove_highlight(self.visual_hi_id) - let self.visual_hi_id = 0 -endfunction - -" Restore unnamed register from paste buffer -function! s:Cursor.restore_unnamed_register() dict - call setreg('"', self.paste_buffer_text, self.paste_buffer_type) -endfunction - -" Save contents of the unnamed register into paste buffer -function! s:Cursor.save_unnamed_register() dict - let self.paste_buffer_text = getreg('"') - let self.paste_buffer_type = getregtype('"') -endfunction - -"=============================================================================== -" CursorManager class -"=============================================================================== -let s:CursorManager = {} - -" Constructor -function! s:CursorManager.new() - let obj = copy(self) - " List of Cursors we're managing - let obj.cursors = [] - " Current index into the s:cursors array - let obj.current_index = -1 - " This marks the starting cursor index into the s:cursors array - let obj.starting_index = -1 - " We save some user settings when the plugin loads initially - let obj.saved_settings = { - \ 'virtualedit': &virtualedit, - \ 'cursorline': &cursorline, - \ 'lazyredraw': &lazyredraw, - \ 'paste': &paste, - \ 'clipboard': &clipboard, - \ } - " We save the window view when multicursor mode is entered - let obj.saved_winview = [] - " Track whether we started multicursor mode from calling multiple_cursors#find - let obj.start_from_find = 0 - return obj -endfunction - -" Clear all cursors and their highlights -function! s:CursorManager.reset(restore_view, restore_setting, ...) dict - if a:restore_view - " Return the view back to the beginning - if !empty(self.saved_winview) - call winrestview(self.saved_winview) - endif - - " If the cursor moved, just restoring the view could get confusing, let's - " put the cursor at where the user left it. Only do this if we didn't start - " from find mode - if !self.is_empty() && !self.start_from_find - call cursor(self.get(0).position) - endif - endif - - " Delete all cursors and clear their highlights. Don't do clearmatches() as - " that will potentially interfere with other plugins - if !self.is_empty() - for i in range(self.size()) - call self.remove_highlight(self.get(i).cursor_hi_id) - call self.remove_highlight(self.get(i).visual_hi_id) - endfor - endif - - let self.cursors = [] - let self.current_index = -1 - let self.starting_index = -1 - let self.saved_winview = [] - let self.start_from_find = 0 - let s:char = '' - let s:saved_char = '' - if a:restore_setting - call self.restore_user_settings() - endif - " Call after function if exists and only if action is canceled () - if a:0 && s:before_function_called - if exists('*Multiple_cursors_after') - exe "call Multiple_cursors_after()" - endif - silent doautocmd User MultipleCursorsPost - let s:before_function_called = 0 - endif -endfunction - -" Returns 0 if it's not managing any cursors at the moment -function! s:CursorManager.is_empty() dict - return self.size() == 0 -endfunction - -" Returns the number of cursors it's managing -function! s:CursorManager.size() dict - return len(self.cursors) -endfunction - -" Returns the current cursor -function! s:CursorManager.get_current() dict - return self.cursors[self.current_index] -endfunction - -" Returns the cursor at index i -function! s:CursorManager.get(i) dict - return self.cursors[a:i] -endfunction - -" Removes the current cursor and all its associated highlighting. Also update -" the current index -function! s:CursorManager.delete_current() dict - call self.remove_highlight(self.get_current().cursor_hi_id) - call self.remove_highlight(self.get_current().visual_hi_id) - call remove(self.cursors, self.current_index) - let self.current_index -= 1 -endfunction - -" Remove the highlighting if its matchid exists -function! s:CursorManager.remove_highlight(hi_id) dict - if a:hi_id - " If the user did a matchdelete or a clearmatches, we don't want to barf if - " the matchid is no longer valid - silent! call matchdelete(a:hi_id) - endif -endfunction - -function! s:CursorManager.debug() dict - let i = 0 - for c in self.cursors - echom 'cursor #'.i.': pos='.string(c.position).' visual='.string(c.visual) - let i+=1 - endfor - echom 'input = '.s:char - echom 'index = '.self.current_index - echom 'pos = '.string(s:pos('.')) - echom '''< = '.string(s:pos("'<")) - echom '''> = '.string(s:pos("'>")) - echom 'to mode = '.s:to_mode - echom 'from mode = '.s:from_mode - " echom 'special keys = '.string(s:special_keys) - echom ' ' -endfunction - -" Sync the current cursor to the current Vim cursor. This includes updating its -" location, its highlight, and potentially its visual region. Return true if the -" position changed, false otherwise -function! s:CursorManager.update_current() dict - let cur = self.get_current() - if s:to_mode ==# 'v' || s:to_mode ==# 'V' - " If we're in visual line mode, we need to go to visual mode before we can - " update the visual region - if s:to_mode ==# 'V' - exec "normal! gvv\" - endif - " Sets the cursor at the right place - exec "normal! gv\" - call cur.update_visual_selection(s:get_visual_region(s:pos('.'))) - elseif s:from_mode ==# 'v' || s:from_mode ==# 'V' - " Save contents of unnamed register after each operation in Visual mode. - " This should be executed after user input is processed, when unnamed - " register already contains the text. - call cur.save_unnamed_register() - call cur.remove_visual_selection() - elseif s:from_mode ==# 'i' && s:to_mode ==# 'n' && self.current_index != 0 - normal! h - elseif s:from_mode ==# 'n' - " Save contents of unnamed register after each operation in Normal mode. - call cur.save_unnamed_register() - endif - let pos = s:pos('.') - - " If the total number of lines changed in the buffer, we need to potentially - " adjust other cursor locations - let vdelta = line('$') - s:saved_linecount - if vdelta != 0 - if self.current_index != self.size() - 1 - let cur_column_offset = (cur.column() - col('.')) * -1 - let new_line_length = len(getline('.')) - for i in range(self.current_index+1, self.size()-1) - let hdelta = 0 - " Note: some versions of Vim don't like chaining function calls like - " a.b().c(). For compatibility reasons, don't do it - let c = self.get(i) - " If there're other cursors on the same line, we need to adjust their - " columns. This needs to happen before we adjust their line! - if cur.line() == c.line() || cur.position == pos - if vdelta > 0 - " Added a line - let hdelta = cur_column_offset - else - " Removed a line - let hdelta = new_line_length - endif - endif - call c.move(vdelta, hdelta) - endfor - endif - else - " If the line length changes, for all the other cursors on the same line as - " the current one, update their cursor location as well - let hdelta = col('$') - cur.line_length - " Only do this if we're still on the same line as before - if hdelta != 0 && cur.line() == line('.') - " Update all the cursor's positions that occur after the current cursor on - " the same line - if self.current_index != self.size() - 1 - for i in range(self.current_index+1, self.size()-1) - let c = self.get(i) - " Only do it for cursors on the same line - if cur.line() == c.line() - call c.move(0, hdelta) - else - " Early exit, if we're not on the same line, neither will any cursor - " that come after this - break - endif - endfor - endif - endif - endif - - if cur.position == pos - return 0 - endif - call cur.update_position(pos) - return 1 -endfunction - -" Advance to the next cursor -function! s:CursorManager.next() dict - let self.current_index = (self.current_index + 1) % self.size() -endfunction - -" Start tracking cursor updates -function! s:CursorManager.start_loop() dict - let self.current_index = 0 - let self.starting_index = 0 -endfunction - -" Returns true if we're cycled through all the cursors -function! s:CursorManager.loop_done() dict - return self.current_index == self.starting_index -endfunction - -" Tweak some user settings, and save our current window view. This is called -" every time multicursor mode is entered. -" virtualedit needs to be set to onemore for updates to work correctly -" cursorline needs to be turned off for the cursor highlight to work on the line -" where the real vim cursor is -" lazyredraw needs to be turned on to prevent jerky screen behavior with many -" cursors on screen -" paste mode needs to be switched off since it turns off a bunch of features -" that's critical for the plugin to function -" clipboard should not have unnamed and unnamedplus otherwise plugin cannot -" reliably use unnamed register ('"') -function! s:CursorManager.initialize() dict - let self.saved_settings['virtualedit'] = &virtualedit - let self.saved_settings['cursorline'] = &cursorline - let self.saved_settings['lazyredraw'] = &lazyredraw - let self.saved_settings['paste'] = &paste - let self.saved_settings['clipboard'] = &clipboard - let &virtualedit = "onemore" - let &cursorline = 0 - let &lazyredraw = 1 - let &paste = 0 - set clipboard-=unnamed clipboard-=unnamedplus - " We could have already saved the view from multiple_cursors#find - if !self.start_from_find - let self.saved_winview = winsaveview() - endif - - " Save contents and type of unnamed register upon entering multicursor mode - " to restore it later when leaving mode - let s:paste_buffer_temporary_text = getreg('"') - let s:paste_buffer_temporary_type = getregtype('"') -endfunction - -" Restore user settings. -function! s:CursorManager.restore_user_settings() dict - if !empty(self.saved_settings) - let &virtualedit = self.saved_settings['virtualedit'] - let &cursorline = self.saved_settings['cursorline'] - let &lazyredraw = self.saved_settings['lazyredraw'] - let &paste = self.saved_settings['paste'] - let &clipboard = self.saved_settings['clipboard'] - endif - - " Restore original contents and type of unnamed register. This method is - " called from reset, which calls us only when restore_setting argument is - " true, which happens only when we leave multicursor mode. This should be - " symmetrical to saving of unnamed register upon the start of multicursor - " mode. - call setreg('"', s:paste_buffer_temporary_text, s:paste_buffer_temporary_type) -endfunction - -" Reposition all cursors to the start or end of their region -function! s:CursorManager.reposition_all_within_region(start) dict - for c in self.cursors - call c.update_position(c.saved_visual[a:start ? 0 : 1]) - endfor -endfunction - -" Reselect the current cursor's region in visual mode -function! s:CursorManager.reapply_visual_selection() dict - call s:select_in_visual_mode(self.get_current().visual) -endfunction - -" Creates a new virtual cursor as 'pos' -" Optionally a 'region' object can be passed in as second argument. If set, the -" visual region of the cursor will be set to it -" Return true if the cursor has been successfully added, false otherwise -" Mode change: Normal -> Normal -" Cursor change: None (TODO Should we set Vim's cursor to pos?) -function! s:CursorManager.add(pos, ...) dict - " Lazy init - if self.is_empty() - call self.initialize() - endif - - " Don't add duplicates - let i = 0 - for c in self.cursors - if c.position == a:pos - return 0 - endif - let i+=1 - endfor - - let cursor = s:Cursor.new(a:pos) - - " Save the visual selection - if a:0 > 0 - call cursor.update_visual_selection(a:1) - endif - - call add(self.cursors, cursor) - let self.current_index += 1 - return 1 -endfunction - -"=============================================================================== -" Variables -"=============================================================================== - -" This is the last user input that we're going to replicate, in its string form -let s:char = '' -" This is either `I` or `A`, as input in Visual mode, that we're going to use -" to make the appropriate transition into Insert mode -let s:saved_char = '' -" This is the mode the user is in before s:char -let s:from_mode = '' -" This is the mode the user is in after s:char -let s:to_mode = '' -" This is the total number of lines in the buffer before processing s:char -let s:saved_linecount = -1 -" This is used to apply the highlight fix. See s:apply_highight_fix() -let s:saved_line = 0 -" This is the number of cursor locations where we detected an input that we -" cannot play back -let s:bad_input = 0 -" Singleton cursor manager instance -let s:cm = s:CursorManager.new() - -"=============================================================================== -" Utility functions -"=============================================================================== - -" Return the position of the input marker as a two element array. First element -" is the line number, second element is the column number -function! s:pos(mark) - let pos = getpos(a:mark) - return [pos[1], pos[2]] -endfunction - -" Return the region covered by the input markers as a two element array. First -" element is the position of the start marker, second element is the position of -" the end marker -function! s:region(start_mark, end_mark) - return [s:pos(a:start_mark), s:pos(a:end_mark)] -endfunction - -" Exit visual mode and go back to normal mode -" The reason for the additional gv\ is that it allows the cursor to stay -" on where it was before exiting -" Mode change: Normal -> Normal or Visual -> Normal -" Cursor change: If in visual mode, changed to exactly where it was on screen in -" visual mode. If in normal mode, changed to where the cursor was when the last -" visual selection ended -function! s:exit_visual_mode() - exec "normal! \gv\" - - " Call before function if exists only once until it is canceled () - if exists('*Multiple_cursors_before') && !s:before_function_called - exe "call Multiple_cursors_before()" - let s:before_function_called = 1 - endif -endfunction - -" Visually select input region, where region is an array containing the start -" and end position. If start is after end, the selection simply goes backwards. -" Typically m<, m>, and gv would be a simple way of accomplishing this, but on -" some systems, the m< and m> marks are not supported. Note that v`` has random -" behavior if `` is the same location as the cursor location. -" Mode change: Normal -> Visual -" Cursor change: Set to end of region -" TODO: Refactor this and s:update_visual_markers -" FIXME: By using m` we're destroying the user's jumplist. We should use a -" different mark and use :keepjump -function! s:select_in_visual_mode(region) - if a:region[0] == a:region[1] - normal! v - else - call cursor(a:region[1]) - normal! m` - call cursor(a:region[0]) - normal! v`` - endif - - " Unselect and reselect it again to properly set the '< and '> markers - exec "normal! \gv" -endfunction - -" Update '< and '> to the input region -" Mode change: Normal -> Normal -" Cursor change: Set to the end of the region -function! s:update_visual_markers(region) - if a:region[0] == a:region[1] - normal! v - else - call cursor(a:region[1]) - normal! m` - call cursor(a:region[0]) - normal! v`` - endif - call s:exit_visual_mode() -endfunction - -" Finds the next occurrence of the input text in the current buffer. -" Search is case sensitive -" Mode change: Normal -> Normal -" Cursor change: Set to the end of the match -function! s:find_next(text) - let pattern = substitute(escape(a:text, '\'), '\n', '\\n', 'g') - if s:use_word_boundary == 1 - let pattern = '\<'.pattern.'\>' - endif - let pattern = '\V\C'.pattern - call search(pattern) - let start = s:pos('.') - call search(pattern, 'ce') - let end = s:pos('.') - return [start, end] -endfunction - -" Highlight the position using the cursor highlight group -function! s:highlight_cursor(pos) - " Give cursor highlight high priority, to overrule visual selection - return matchadd(s:hi_group_cursor, '\%'.a:pos[0].'l\%'.a:pos[1].'c', 99999) -endfunction - -" Compare two position arrays. Return a negative value if lhs occurs before rhs, -" positive value if after, and 0 if they are the same. -function! s:compare_pos(l, r) - " If number lines are the same, compare columns - return a:l[0] ==# a:r[0] ? a:l[1] - a:r[1] : a:l[0] - a:r[0] -endfunction - -" Highlight the area bounded by the input region. The logic here really stinks, -" it's frustrating that Vim doesn't have a built in easier way to do this. None -" of the \%V or \%'m solutions work because we need the highlighting to stay for -" multiple places. -function! s:highlight_region(region) - let s = sort(copy(a:region), "s:compare_pos") - if s:to_mode ==# 'V' - let pattern = '\%>'.(s[0][0]-1).'l\%<'.(s[1][0]+1).'l.*\ze.\_$' - else - if (s[0][0] == s[1][0]) - " Same line - let pattern = '\%'.s[0][0].'l\%>'.(s[0][1]-1).'c.*\%<'.(s[1][1]+1).'c.' - else - " Two lines - let s1 = '\%'.s[0][0].'l.\%>'.s[0][1].'c.*' - let s2 = '\%'.s[1][0].'l.*\%<'.s[1][1].'c..' - let pattern = s1.'\|'.s2 - " More than two lines - if (s[1][0] - s[0][0] > 1) - let pattern = pattern.'\|\%>'.s[0][0].'l\%<'.s[1][0].'l.*\ze.\_$' - endif - endif - endif - return matchadd(s:hi_group_visual, pattern) -endfunction - -" Perform the operation that's necessary to revert us from one mode to another -function! s:revert_mode(from, to) - if a:to ==# 'v' - call s:cm.reapply_visual_selection() - elseif a:to ==# 'V' - call s:cm.reapply_visual_selection() - normal! V - elseif a:to ==# 'n' && a:from ==# 'i' - stopinsert - endif -endfunction - -" Consume all the additional character the user typed between the last -" getchar() and here, to avoid potential race condition. -let s:saved_keys = "" -function! s:feedkeys(keys) - while 1 - let c = getchar(0) - let char_type = type(c) - " Checking type is important, when strings are compared with integers, - " strings are always converted to ints, and all strings are equal to 0 - if char_type == 0 - if c == 0 - break - else - let s:saved_keys .= nr2char(c) - endif - elseif char_type == 1 " char with more than 8 bits (as string) - let s:saved_keys .= c - endif - endwhile - call feedkeys(a:keys) -endfunction - -" Take the user input and apply it at every cursor -function! s:process_user_input() - " Grr this is frustrating. In Insert mode, between the feedkey call and here, - " the current position could actually CHANGE for some odd reason. Forcing a - " position reset here - let cursor_position = s:cm.get_current() - call cursor(cursor_position.position) - - " Before applying the user input, we need to revert back to the mode the user - " was in when the input was entered - call s:revert_mode(s:to_mode, s:from_mode) - - " Update the line length BEFORE applying any actions. TODO(terryma): Is there - " a better place to do this? - " let cursor_position = s:cm.get_current() - call cursor_position.update_line_length() - let s:saved_linecount = line('$') - - " Restore unnamed register only in Normal mode. This should happen before user - " input is processed. - if s:from_mode ==# 'n' || s:from_mode ==# 'v' || s:from_mode ==# 'V' - call cursor_position.restore_unnamed_register() - endif - - " Apply the user input. Note that the above could potentially change mode, we - " use the mapping below to help us determine what the new mode is - " Note that it's possible that \(multiple-cursors-apply) never gets called, we have a - " detection mechanism using \(multiple-cursors-detect). See its documentation for more details - - " Assume that input is not valid - let s:valid_input = 0 - - " If we're coming from insert mode or going into insert mode, always chain the - " undos together. - " FIXME(terryma): Undo always places the cursor at the beginning of the line. - " Figure out why. - if s:from_mode ==# 'i' || s:to_mode ==# 'i' - silent! undojoin | call s:feedkeys(s:char."\(multiple-cursors-apply)") - else - call s:feedkeys(s:char."\(multiple-cursors-apply)") - endif - - " Even when s:char produces invalid input, this method is always called. The - " 't' here is important - call feedkeys("\(multiple-cursors-detect)", 't') -endfunction - -" This method is always called during fanout, even when a bad user input causes -" s:apply_user_input_next to not be called. We detect that and force the method -" to be called to continue the fanout process -function! s:detect_bad_input() - if !s:valid_input - " To invoke the appropriate `(multiple-cursors-apply)` mapping, we - " need to revert back to the mode the user was in when the input was entered - call s:revert_mode(s:to_mode, s:from_mode) - " We ignore the bad input and force invoke s:apply_user_input_next - call feedkeys("\(multiple-cursors-apply)") - let s:bad_input += 1 - endif -endfunction - -" Complete transition into Insert mode when `I` or `A` is input in Visual mode -function! s:handle_visual_IA_to_insert() - if !empty(s:saved_char) && s:char =~# 'v\|V' && s:to_mode ==# 'n' - if s:saved_char ==# 'I' - call s:cm.reposition_all_within_region(1) - endif - call feedkeys(tolower(s:saved_char)) - let s:saved_char = '' - endif -endfunction - -" Begin transition into Insert mode when `I` or `A` is input in Visual mode -function! s:handle_visual_IA_to_normal() - if s:char =~# 'I\|A' && s:from_mode =~# 'v\|V' - let s:saved_char = s:char - let s:char = s:from_mode " spoof a 'v' or 'V' input to transiton from Visual into Normal mode - endif -endfunction - -" Apply the user input at the next cursor location -function! s:apply_user_input_next(mode) - let s:valid_input = 1 - - " Save the current mode, only if we haven't already - if empty(s:to_mode) - let s:to_mode = a:mode - if s:to_mode ==# 'v' - if visualmode() ==# 'V' - let s:to_mode = 'V' - endif - endif - endif - - " Update the current cursor's information - let changed = s:cm.update_current() - - " Advance the cursor index - call s:cm.next() - - " We're done if we're made the full round - if s:cm.loop_done() - if s:to_mode ==# 'v' || s:to_mode ==# 'V' - " This is necessary to set the "'<" and "'>" markers properly - call s:update_visual_markers(s:cm.get_current().visual) - endif - call feedkeys("\(multiple-cursors-wait)") - call s:handle_visual_IA_to_insert() - else - " Continue to next - call feedkeys("\(multiple-cursors-input)") - endif -endfunction - -" If pos is equal to the left side of the visual selection, the region start -" from end to start -function! s:get_visual_region(pos) - let left = s:pos("'<") - let right = s:pos("'>") - if a:pos == left - let region = [right, left] - else - let region = [left, right] - endif - return region -endfunction - -function! s:strpart(s, i, l) - if a:l == 0 - return '' - endif - let [s, l] = ['', 0] - for c in split(a:s[a:i :], '\zs') - let s .= c - let l += len(c) - if l >= a:l - break - endif - endfor - return s -endfunction - -" Return the content of the buffer between the input region. This is used to -" find the next match in the buffer -" Mode change: Normal -> Normal -" Cursor change: None -function! s:get_text(region) - let lines = getline(a:region[0][0], a:region[1][0]) - let lines[-1] = s:strpart(lines[-1], 0, a:region[1][1]) - let lines[0] = lines[0][a:region[0][1] - 1:] - return join(lines, "\n") -endfunction - -" Wrapper around getchar() that returns the string representation of the user -" input -function! s:get_char(...) - let c = (a:0 == 0) ? getchar() : getchar(a:1) - " If the character is a number, then it's not a special key - if type(c) == 0 - let c = nr2char(c) - endif - return c -endfunction - -" Quits multicursor mode and clears all cursors. Return true if exited -" successfully. -function! s:exit() - if s:char !=# g:multi_cursor_quit_key - return 0 - endif - let exit = 0 - if s:from_mode ==# 'n' - let exit = 1 - elseif (s:from_mode ==# 'v' || s:from_mode ==# 'V') && - \ g:multi_cursor_exit_from_visual_mode - let exit = 1 - elseif s:from_mode ==# 'i' && g:multi_cursor_exit_from_insert_mode - stopinsert - let exit = 1 - endif - if exit - call s:cm.reset(1, 1, 1) - return 1 - endif - return 0 -endfunction - -" These keys don't get faned out to all cursor locations. Instead, they're used -" to add new / remove existing cursors -" Precondition: The function is only called when the keys and mode respect the -" setting in s:special_keys -function! s:handle_special_key(key, mode) - " Use feedkeys here instead of calling the function directly to prevent - " increasing the call stack, since feedkeys execute after the current call - " finishes - if a:key == g:multi_cursor_next_key - if s:use_word_boundary == 1 - call s:feedkeys("\(multiple-cursors-new-word)") - else - call s:feedkeys("\(multiple-cursors-new)") - endif - elseif a:key == g:multi_cursor_prev_key - call s:feedkeys("\(multiple-cursors-prev)") - elseif a:key == g:multi_cursor_skip_key - call s:feedkeys("\(multiple-cursors-skip)") - endif -endfunction - -" The last line where the normal Vim cursor is always seems to highlighting -" issues if the cursor is on the last column. Vim's cursor seems to override the -" highlight of the virtual cursor. This won't happen if the virtual cursor isn't -" the last character on the line. This is a hack to add an empty space on the -" Vim cursor line right before we do the redraw, we'll revert the change -" immedidately after the redraw so the change should not be intrusive to the -" user's buffer content -function! s:apply_highlight_fix() - " Only do this if we're on the last character of the line - if col('.') == col('$') - let s:saved_line = getline('.') - if s:from_mode ==# 'i' - silent! undojoin | call setline('.', s:saved_line.' ') - else - call setline('.', s:saved_line.' ') - endif - endif -endfunction - -" Revert the fix if it was applied earlier -function! s:revert_highlight_fix() - if type(s:saved_line) == 1 - if s:from_mode ==# 'i' - silent! undojoin | call setline('.', s:saved_line) - else - call setline('.', s:saved_line) - endif - endif - let s:saved_line = 0 -endfunction - -let s:retry_keys = "" -function! s:display_error() - if s:bad_input == s:cm.size() - \ && ((s:from_mode ==# 'n' && has_key(g:multi_cursor_normal_maps, s:char[0])) - \ || (s:from_mode =~# 'v\|V' && has_key(g:multi_cursor_visual_maps, s:char[0]))) - " we couldn't replay it anywhere but we're told it's the beginning of a - " multi-character map like the `d` in `dw` - let s:retry_keys = s:char - else - let s:retry_keys = "" - if s:bad_input > 0 - echohl ErrorMsg | - \ echo "Key '".s:char."' cannot be replayed at ". - \ s:bad_input." cursor location".(s:bad_input == 1 ? '' : 's') | - \ echohl Normal - endif - endif - let s:bad_input = 0 -endfunction - -let s:latency_debug_file = '' -function! s:start_latency_measure() - if g:multi_cursor_debug_latency - let s:start_time = reltime() - endif -endfunction - -function! s:skip_latency_measure() - if g:multi_cursor_debug_latency - let s:skip_latency_measure = 1 - endif -endfunction - -function! s:end_latency_measure() - if g:multi_cursor_debug_latency && !empty(s:char) - if empty(s:latency_debug_file) - let s:latency_debug_file = tempname() - exec 'redir >> '.s:latency_debug_file - silent! echom "Starting latency debug at ".reltimestr(reltime()) - redir END - endif - - if !s:skip_latency_measure - exec 'redir >> '.s:latency_debug_file - silent! echom "Processing '".s:char."' took ".string(str2float(reltimestr(reltime(s:start_time)))*1000).' ms in '.s:cm.size().' cursors. mode = '.s:from_mode - redir END - endif - endif - let s:skip_latency_measure = 0 -endfunction - -function! s:get_time_in_ms() - return str2nr(substitute(reltimestr(reltime()), '\.\(...\).*', '\1', '')) -endfunction - -function! s:last_char() - return s:char[len(s:char)-1] -endfunction - -function! s:wait_for_user_input(mode) - call s:display_error() - - let s:from_mode = a:mode - if empty(a:mode) - let s:from_mode = s:to_mode - endif - let s:to_mode = '' - - " Right before redraw, apply the highlighting bug fix - call s:apply_highlight_fix() - - redraw - - " Immediately revert the change to leave the user's buffer unchanged - call s:revert_highlight_fix() - - call s:end_latency_measure() - - let s:char = s:retry_keys . s:saved_keys - if len(s:saved_keys) == 0 - let s:char .= s:get_char() - call s:handle_visual_IA_to_normal() - else - let s:saved_keys = "" - endif - - " ambiguous mappings are not supported; e.g.: - " imap jj JJ - " imap jjj JJJ - " will always trigger the 'jj' mapping - if s:from_mode ==# 'i' && mapcheck(s:char, "i") != "" && g:multi_cursor_support_imap - let map_dict = {} - let s_time = s:get_time_in_ms() - while 1 - let map_dict = maparg(s:char, "i", 0, 1) - " break if chars exactly match mapping - if map_dict != {} - if get(map_dict, 'expr', 0) - " handle case where {rhs} is a function - exec 'let char_mapping = ' . map_dict['rhs'] - else - let char_mapping = maparg(s:char, "i") - endif - " handle case where mapping is - exec 'let s:char = "'.substitute(char_mapping, '<', '\\<', 'g').'"' - break - endif - " break if chars don't match beginning of mapping anymore - if mapcheck(s:char, "i") == "" - break - endif - if s:get_time_in_ms() > (s_time + &timeoutlen) - break - endif - let new_char = s:get_char(0) - let s:char .= new_char - if new_char == '' - sleep 50m - endif - endwhile - elseif s:from_mode !=# 'i' && s:char[0] ==# ":" - call feedkeys(s:char) - call s:cm.reset(1, 1, 1) - return - elseif s:from_mode ==# 'n' || s:from_mode =~# 'v\|V' - while match(s:last_char(), "\\d") == 0 - if match(s:char, '\(^\|\a\)0') == 0 - " fixes an edge case concerning the `0` key. - " The 0 key behaves differently from [1-9]. - " It's consumed immediately when it is the - " first key typed while we're waiting for input. - " References: issue #152, pull #241 - break - endif - let s:char .= s:get_char() - endwhile - endif - - call s:start_latency_measure() - - " Clears any echoes we might've added - normal! : - - " add chars to s:char if it start like a special/quit key - let is_special_key = 0 - let sk_list = get(s:special_keys, s:from_mode, []) - let is_special_key = (index(sk_list, s:char) != -1) - let is_quit_key = 0 - let s_time = s:get_time_in_ms() - while 1 - let start_special_key = (index(map(sk_list[:], 'v:val[0:len(s:char)-1] == s:char'), 1) > -1) - let start_quit_key = (g:multi_cursor_quit_key[0:len(s:char)-1] == s:char) - if start_special_key == 0 && start_quit_key == 0 - break - else - let is_special_key = (index(sk_list, s:char) != -1) - let is_quit_key = (g:multi_cursor_quit_key == s:char) - if is_special_key == 1 || is_quit_key == 1 - break - else - if s:get_time_in_ms() > (s_time + &timeoutlen) - break - endif - let new_char = s:get_char(0) - let s:char .= new_char - if new_char == '' - sleep 50m - endif - endif - end - endwhile - - if s:exit() - return - endif - - " If the key is a special key and we're in the right mode, handle it - if is_special_key == 1 - call s:handle_special_key(s:char, s:from_mode) - call s:skip_latency_measure() - else - call s:cm.start_loop() - call s:feedkeys("\(multiple-cursors-input)") - endif -endfunction diff --git a/.vim_runtime/sources_non_forked/vim-multiple-cursors/doc/multiple_cursors.txt b/.vim_runtime/sources_non_forked/vim-multiple-cursors/doc/multiple_cursors.txt deleted file mode 100644 index ab86815..0000000 --- a/.vim_runtime/sources_non_forked/vim-multiple-cursors/doc/multiple_cursors.txt +++ /dev/null @@ -1,250 +0,0 @@ -*vim-multiple-cursors.txt* True Sublime Text multiple selection in Vim - - ____ _ __ - ____ ___ __ __/ / /_(_)___ / /__ _______ ________________ __________ - / __ `__ \/ / / / / __/ / __ \/ / _ \ / ___/ / / / ___/ ___/ __ \/ ___/ ___/ - / / / / / / /_/ / / /_/ / /_/ / / __/ / /__/ /_/ / / (__ ) /_/ / / (__ ) -/_/ /_/ /_/\__,_/_/\__/_/ .___/_/\___/ \___/\__,_/_/ /____/\____/_/ /____/ - /_/ - - - Reference Manual~ - - -============================================================================== - -CONTENTS *multiple-cursors-contents* - 1.Intro...................................|multiple-cursors-intro| - 2.Usage...................................|multiple-cursors-usage| - 3.Mappings................................|multiple-cursors-mappings| - 4.Global Options..........................|multiple-cursors-global-options| - 5.Interactions with other plugins.........|multiple-cursors-other-plugins| - 6.Highlight...............................|multiple-cursors-highlight| - 7.FAQ.....................................|multiple-cursors-faq| - 8.Contributing............................|multiple-cursors-contributing| - 9.License.................................|multiple-cursors-license| - 10.Credit..................................|multiple-cursors-credit| - 11.References..............................|multiple-cursors-references| - -============================================================================== -1. Intro *multiple-cursors-intro* - -There [1] have [2] been [3] many [4] attempts [5] at bringing Sublime Text's -awesome multiple selection [6] feature into Vim, but none so far have been in -my opinion a faithful port that is simplistic to use, yet powerful and -intuitive enough for an existing Vim user. *vim-multiple-cursors* is yet -another attempt at that. - -============================================================================== -2. Usage *multiple-cursors-usage* - -normal mode / visual mode~ - - - start: `` start multicursor and add a virtual cursor + visual selection on the match - + next: `` add a new virtual cursor + visual selection on the next match - + skip: `` skip the next match - + prev: `` remove current virtual cursor + visual selection and go back on previous match - - select all: `` start muticursor and directly select all matches - -You can now change the virtual cursors + visual selection with |visual-mode| commands. -For instance: `c`, `s`, `I`, `A` work without any issues. -You could also go to |normal-mode| by pressing `v` and use normal commands there. - -At any time, you can press `` to exit back to regular Vim. - -NOTE: start with `g` to match without boundaries (behaves like `g*` instead of `*`, see |gstar|) - -visual mode when multiple lines are selected~ - - - start: `` add virtual cursors on each line - -You can now change the virtual cursors with |normal-mode| commands. -For instance: `ciw`. - -command~ - -The command `MultipleCursorsFind` accepts a range and a pattern (regexp), it -creates a visual cursor at the end of each match. -If no range is passed in, then it defaults to the entire buffer. - -============================================================================== -3. Mappings *multiple-cursors-mappings* - -If you don't like the plugin taking over your favorite key bindings, you can -turn off the default with > - - let g:multi_cursor_use_default_mapping=0 - - " Default mapping - let g:multi_cursor_start_word_key = '' - let g:multi_cursor_select_all_word_key = '' - let g:multi_cursor_start_key = 'g' - let g:multi_cursor_select_all_key = 'g' - let g:multi_cursor_next_key = '' - let g:multi_cursor_prev_key = '' - let g:multi_cursor_skip_key = '' - let g:multi_cursor_quit_key = '' -< - -NOTE: Please make sure to always map something to |g:multi_cursor_quit_key|, -otherwise you'll have a tough time quitting from multicursor mode. - -============================================================================== -4. Global Options *multiple-cursors-global-options* - -Currently there are four additional global settings one can tweak: - -*g:multi_cursor_support_imap* (Default: 1) - -If set to 0, insert mappings won't be supported in |insert-mode| anymore. - -*g:multi_cursor_exit_from_visual_mode* (Default: 0) - -If set to 0, then pressing |g:multi_cursor_quit_key| in |visual-mode| will quit -and delete all existing cursors, skipping normal mode with multiple cursors. - -*g:multi_cursor_exit_from_insert_mode* (Default: 0) - -If set to 1, then pressing |g:multi_cursor_quit_key| in |insert-mode| will quit -and delete all existing cursors, skipping normal mode with multiple cursors. - -*g:multi_cursor_normal_maps* (Default: see below) - -`{'@': 1, 'F': 1, 'T': 1, '[': 1, '\': 1, ']': 1, '!': 1, '"': 1, 'c': 1, 'd': 1, 'f': 1, 'g': 1, 'm': 1, 'q': 1, 'r': 1, 't': 1, 'y': 1, 'z': 1, '<': 1, '=': 1, '>': 1}` - -Any key in this map (values are ignored) will cause multi-cursor _Normal_ mode -to pause for map completion just like normal vim. Otherwise keys mapped in -normal mode will "fail to replay" when multiple cursors are active. For -example: `{'d':1}` makes normal-mode command `dw` work in multi-cursor mode. - -The default list contents should work for anybody, unless they have remapped a -key from an operator-pending command to a non-operator-pending command or -vice versa. - -These keys must be manually listed because vim doesn't provide a way to -automatically see which keys _start_ mappings, and trying to run motion commands -such as `j` as if they were operator-pending commands can break things. - -*g:multi_cursor_visual_maps* (Default: ) - -`{'T': 1, 'a': 1, 't': 1, 'F': 1, 'f': 1, 'i': 1}` - -Same principle as |g:multi_cursor_normal_maps| - -============================================================================== -5. Interactions with other plugins *multiple-cursors-other-plugins* - -Other plugins may be incompatible in insert mode. That is why we provide -hooks to disable those plug-ins when vim-multiple-cursors is active: - -For example, if you are using `Neocomplete`, add this to your vimrc to prevent -conflict: - > - function! Multiple_cursors_before() - if exists(':NeoCompleteLock')==2 - exe 'NeoCompleteLock' - endif - endfunction - - function! Multiple_cursors_after() - if exists(':NeoCompleteUnlock')==2 - exe 'NeoCompleteUnlock' - endif - endfunction - -Plugins themselves can register |User| |autocommand| on `MultipleCursorsPre` and -`MultipleCursorsPost` for automatic integration. - -============================================================================== -6. Highlight *multiple-cursors-highlight* -> -The plugin uses the highlight group `multiple_cursors_cursor` and -`multiple_cursors_visual` to highlight the virtual cursors and their visual -selections respectively. You can customize them by putting something similar -like the following in your vimrc: > - " Default highlighting (see help :highlight and help :highlight-link) - highlight multiple_cursors_cursor term=reverse cterm=reverse gui=reverse - highlight link multiple_cursors_visual Visual - -============================================================================== -7. FAQ *multiple-cursors-faq* - -Q: Pressing after selecting words with makes the plugin hang, why? -A: When selecting words with , the plugin behaves like in `visual` mode. - Once you pressed , you can still press to insert text. - -Q: doesn't seem to work in VIM but works in gVIM, why? -A: This is a well known terminal/Vim [9], different terminal have different - ways to send `Alt+key`. Try adding this in your `.vimrc` and make sure - to replace the string: > - if !has('gui_running') - map "in Insert mode, type Ctrl+v Alt+n here" - endif -Or remap the following: > - g:multi_cursor_start_key - g:multi_cursor_select_all_key - -Q: doesn't seem to work in gVIM? -A: Try setting `set selection=inclusive` in your `~/.gvimrc` - -Q: deoplete insert giberrish, how to fix this? -A: use the `Multiple_cursors` functions, add this in your vimrc: > - func! Multiple_cursors_before() - if deoplete#is_enabled() - call deoplete#disable() - let g:deoplete_is_enable_before_multi_cursors = 1 - else - let g:deoplete_is_enable_before_multi_cursors = 0 - endif - endfunc - func! Multiple_cursors_after() - if g:deoplete_is_enable_before_multi_cursors - call deoplete#enable() - endif - endfunc - -Q: is it also working on Mac? -A: On Mac OS, MacVim[10] is known to work. - -Q: How can I select `n` keywords with several keystrokes? `200` does not work. -A: You can use :MultipleCursorsFind keyword. I have this binding in my vimrc: > - nnoremap :MultipleCursorsFind / - vnoremap :MultipleCursorsFind / -This allows one to search for the keyword using `*` and turn search results into cursors with `Alt-j`. - -============================================================================== -8. Contributing *multiple-cursors-contributing* - -The project is hosted on Github. Patches, feature requests and suggestions are -always welcome! - -Find the latest version of the plugin here: - http://github.com/terryma/vim-multiple-cursors - -============================================================================== -9. License *multiple-cursors-license* - -The project is licensed under the MIT license [7]. Copyright 2013 Terry Ma - -============================================================================== -10. Credit *multiple-cursors-credit* - -The plugin is obviously inspired by Sublime Text's awesome multiple selection -[6] feature. Some inspiration was also taken from Emac's multiple cursors [8] -implementation. - -============================================================================== -10. References *multiple-cursors-references* - -[1] https://github.com/paradigm/vim-multicursor -[2] https://github.com/felixr/vim-multiedit -[3] https://github.com/hlissner/vim-multiedit -[4] https://github.com/adinapoli/vim-markmultiple -[5] https://github.com/AndrewRadev/multichange.vim -[6] http://www.sublimetext.com/docs/2/multiple_selection_with_the_keyboard.html -[7] http://opensource.org/licenses/MIT -[8] https://github.com/magnars/multiple-cursors.el -[9] http://vim.wikia.com/wiki/Get_Alt_key_to_work_in_terminal -[10] https://code.google.com/p/macvim - - vim:tw=78:sw=4:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/vim-multiple-cursors/plugin/multiple_cursors.vim b/.vim_runtime/sources_non_forked/vim-multiple-cursors/plugin/multiple_cursors.vim deleted file mode 100644 index e7f975a..0000000 --- a/.vim_runtime/sources_non_forked/vim-multiple-cursors/plugin/multiple_cursors.vim +++ /dev/null @@ -1,104 +0,0 @@ -"=============================================================================== -" File: multiple_cursors.vim -" Author: Terry Ma -" Description: Emulate Sublime Text's multi selection feature -" Potential Features: -" - Create a blinking cursor effect? Good place to do it would be instead of -" waiting for user input, cycle through the highlight -" - Integrate with the status line? Maybe show a special multicursor mode? -" - Support mouse? Ctrl/Cmd click to set cursor? -"=============================================================================== -let s:save_cpo = &cpo -set cpo&vim - -function! s:init_settings(settings) - for [key, value] in items(a:settings) - let sub = '' - if type(value) == 0 - let sub = '%d' - elseif type(value) == 1 - let sub = '"%s"' - endif - let fmt = printf("let g:multi_cursor_%%s=get(g:, 'multi_cursor_%%s', %s)", - \ sub) - exec printf(fmt, key, key, value) - endfor -endfunction - -" Settings -let s:settings = { - \ 'exit_from_visual_mode': 0, - \ 'exit_from_insert_mode': 0, - \ 'use_default_mapping': 1, - \ 'debug_latency': 0, - \ 'support_imap': 1, - \ } - -let s:settings_if_default = { - \ 'quit_key': '', - \ 'start_key': 'g', - \ 'start_word_key': '', - \ 'next_key': '', - \ 'prev_key': '', - \ 'skip_key': '', - \ 'select_all_key': 'g', - \ 'select_all_word_key': '', - \ } - -let s:default_normal_maps = {'!':1, '@':1, '=':1, 'q':1, 'r':1, 't':1, 'T':1, 'y':1, '[':1, ']':1, '\':1, 'd':1, 'f':1, 'F':1, 'g':1, '"':1, 'z':1, 'c':1, 'm':1, '<':1, '>':1} -let s:default_visual_maps = {'i':1, 'a':1, 'f':1, 'F':1, 't':1, 'T':1} - -let g:multi_cursor_normal_maps = - \ get(g:, 'multi_cursor_normal_maps', s:default_normal_maps) -let g:multi_cursor_visual_maps = - \ get(g:, 'multi_cursor_visual_maps', s:default_visual_maps) - -call s:init_settings(s:settings) - -if g:multi_cursor_use_default_mapping - call s:init_settings(s:settings_if_default) -endif - -if !exists('g:multi_cursor_start_word_key') - if exists('g:multi_cursor_next_key') - let g:multi_cursor_start_word_key = g:multi_cursor_next_key - endif -endif - -" External mappings -if exists('g:multi_cursor_start_key') - exec 'nnoremap '.g:multi_cursor_start_key. - \' :call multiple_cursors#new("n", 0)' - exec 'xnoremap '.g:multi_cursor_start_key. - \' :call multiple_cursors#new("v", 0)' -endif - -if exists('g:multi_cursor_start_word_key') - exec 'nnoremap '.g:multi_cursor_start_word_key. - \' :call multiple_cursors#new("n", 1)' - " In Visual mode word boundary is not used - exec 'xnoremap '.g:multi_cursor_start_word_key. - \' :call multiple_cursors#new("v", 0)' -endif - -if exists('g:multi_cursor_select_all_key') - exec 'nnoremap '.g:multi_cursor_select_all_key. - \' :call multiple_cursors#select_all("n", 0)' - exec 'xnoremap '.g:multi_cursor_select_all_key. - \' :call multiple_cursors#select_all("v", 0)' -endif - -if exists('g:multi_cursor_select_all_word_key') - exec 'nnoremap '.g:multi_cursor_select_all_word_key. - \' :call multiple_cursors#select_all("n", 1)' - " In Visual mode word boundary is not used - exec 'xnoremap '.g:multi_cursor_select_all_word_key. - \' :call multiple_cursors#select_all("v", 0)' -endif - -" Commands -command! -nargs=1 -range=% MultipleCursorsFind - \ call multiple_cursors#find(, , ) - -let &cpo = s:save_cpo -unlet s:save_cpo diff --git a/.vim_runtime/sources_non_forked/vim-multiple-cursors/spec/benchmark_spec.rb b/.vim_runtime/sources_non_forked/vim-multiple-cursors/spec/benchmark_spec.rb deleted file mode 100644 index 73c81c5..0000000 --- a/.vim_runtime/sources_non_forked/vim-multiple-cursors/spec/benchmark_spec.rb +++ /dev/null @@ -1,142 +0,0 @@ -require 'vimrunner' -require 'vimrunner/rspec' - -Vimrunner::RSpec.configure do |config| - - # Use a single Vim instance for the test suite. Set to false to use an - # instance per test (slower, but can be easier to manage). - config.reuse_server = false - - # Decide how to start a Vim instance. In this block, an instance should be - # spawned and set up with anything project-specific. - config.start_vim do - # vim = Vimrunner.start - # vim = Vimrunner::Server.new("/usr/local/bin/vim").start - - # Or, start a GUI instance: - vim = Vimrunner.start_gvim - - # Setup your plugin in the Vim instance - plugin_path = File.expand_path('../..', __FILE__) - vim.add_plugin(plugin_path, 'plugin/multiple_cursors.vim') - - # The returned value is the Client available in the tests. - vim - end -end - -def set_file_content(string) - string = normalize_string_indent(string) - File.open(filename, 'w'){ |f| f.write(string) } - vim.edit filename -end - -def get_file_content() - vim.write - IO.read(filename).strip -end - -def before(string) - set_file_content(string) -end - -def after(string) - get_file_content().should eq normalize_string_indent(string) - type ":q" -end - -def type(string) - string.scan(/<.*?>|./).each do |key| - if /<.*>/.match(key) - vim.feedkeys "\\#{key}" - else - vim.feedkeys key - end - end - sleep 0.2 -end - -describe "Multiple Cursors" do - let(:filename) { 'test.txt' } - let(:options) { [] } - - specify "#benchmark" do - before <<-EOF - hello - hello - hello - hello - hello - hello - hello - hello - hello - hello - hello - hello - hello - hello - hello - hello - hello - hello - hello - hello - hello - hello - hello - hello - hello - hello - hello - hello - hello - hello - EOF - - # type ':profile start /tmp/test.result' - # type ':profile! file *multiple_cursors.vim' - type ':let g:multi_cursor_debug_latency=1' - - type 'VGVchellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello' - - type ':echo multiple_cursors#get_latency_debug_file()' - sleep 3 - latency_file = vim.command 'echo multiple_cursors#get_latency_debug_file()' - puts 'latency file = ' + latency_file - - after <<-EOF - hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello - hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello - hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello - hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello - hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello - hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello - hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello - hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello - hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello - hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello - hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello - hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello - hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello - hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello - hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello - hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello - hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello - hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello - hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello - hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello - hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello - hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello - hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello - hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello - hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello - hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello - hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello - hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello - hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello - hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello - EOF - end - -end diff --git a/.vim_runtime/sources_non_forked/vim-multiple-cursors/spec/multiple_cursors_spec.rb b/.vim_runtime/sources_non_forked/vim-multiple-cursors/spec/multiple_cursors_spec.rb deleted file mode 100644 index 867e665..0000000 --- a/.vim_runtime/sources_non_forked/vim-multiple-cursors/spec/multiple_cursors_spec.rb +++ /dev/null @@ -1,977 +0,0 @@ -# -*- encoding: utf-8 -*- -require 'spec_helper' - -def set_file_content(string) - string = normalize_string_indent(string) - File.open(filename, 'w'){ |f| f.write(string) } - vim.edit filename -end - -def get_file_content() - vim.write - IO.read(filename).strip -end - -def before(string) - options.each { |x| vim.command(x) } - set_file_content(string) -end - -def after(string) - expect(get_file_content()).to eq normalize_string_indent(string) -end - -def type(string) - string.scan(/<.*?>|./).each do |key| - if /<.*>/.match(key) - vim.feedkeys "\\#{key}" - else - vim.feedkeys key - end - end -end - -describe "Multiple Cursors op pending & exit from insert|visual mode" do - let(:filename) { 'test.txt' } - let(:options) { ['let g:multi_cursor_exit_from_insert_mode = 0', - 'let g:multi_cursor_exit_from_visual_mode = 0'] } - # the default value of g:multi_cursor_normal_maps already works - # for testing operator-pending - - specify "#paste from unnamed register to 3 cursors" do - before <<-EOF - yankme - a b c - a b c - a b c - EOF - - type 'yiwjvwwp' - - after <<-EOF - yankme - a b cyankme - a b cyankme - a b cyankme - EOF - end - - specify "#paste buffer normal caw then p" do - before <<-EOF - hello jan world - hello feb world - hello mar world - EOF - - type 'vwcawbP' - - after <<-EOF - jan hello world - feb hello world - mar hello world - EOF - end - - specify "#paste buffer normal C then ABC then p" do - before <<-EOF - hello jan world - hello feb world - hello mar world - EOF - - type 'vwCABC p' - - after <<-EOF - hello ABC jan world - hello ABC feb world - hello ABC mar world - EOF - end - - specify "#paste buffer normal daw then P" do - before <<-EOF - hello jan world - hello feb world - hello mar world - EOF - - type 'vwdawbP' - - after <<-EOF - jan hello world - feb hello world - mar hello world - EOF - end - - specify "#paste buffer normal D then P" do - before <<-EOF - hello jan world - hello feb world - hello mar world - EOF - - type 'vwwhDbhP' - - after <<-EOF - hello world jan - hello world feb - hello world mar - EOF - end - - specify "#paste buffer normal s then p" do - before <<-EOF - hello jan world - hello feb world - hello mar world - EOF - - type 'vws1p' - - after <<-EOF - hello 1jan world - hello 1feb world - hello 1mar world - EOF - end - - specify "#normal mode '0': goes to 1st char of line" do - before <<-EOF - hello jan world - hello feb world - hello mar world - EOF - - type 'vw0dw' - - after <<-EOF - jan world - feb world - mar world - EOF - end - - specify "#normal mode 'd0': deletes backward to 1st char of line" do - before <<-EOF - hello jan world - hello feb world - hello mar world - EOF - - type 'vwd0' - - after <<-EOF - jan world - feb world - mar world - EOF - end - -end - -describe "Multiple Cursors when using insert mappings" do - let(:filename) { 'test.txt' } - let(:options) { ['set timeoutlen=10000', - 'imap jj ', - 'imap jojo dude', - 'imap jk :%s/bla/hey/g', - 'let g:multi_cursor_exit_from_insert_mode = 1', - 'let g:multi_cursor_exit_from_visual_mode = 1'] } - specify "#mapping doing " do - before <<-EOF - hello world! - hello world! - bla bla bla - bla bla bla - EOF - - type 'wcjjidude' - - after <<-EOF - hello dude! - hello ! - bla bla bla - bla bla bla - EOF - end - - specify "#mapping doing and running a command" do - before <<-EOF - hello world! - hello world! - bla bla bla - bla bla bla - EOF - - type 'wctherejk' - - after <<-EOF - hello there! - hello there! - hey hey hey - hey hey hey - EOF - end - - specify "#mapping using more than 2 characters" do - before <<-EOF - hello - hello - bla bla bla - bla bla bla - EOF - - type 'A jojo' - - after <<-EOF - hello dude - hello dude - bla bla bla - bla bla bla - EOF - end - - specify "#unused mapping" do - before <<-EOF - hello world! - hello world! - bla bla bla - bla bla bla - EOF - - type 'wchey joseph blah blah blah' - - after <<-EOF - hello hey joseph blah blah blah! - hello hey joseph blah blah blah! - bla bla bla - bla bla bla - EOF - end - -end - -describe "Multiple Cursors when normal_maps is empty" do - let(:filename) { 'test.txt' } - let(:options) { ['let g:multi_cursor_normal_maps = {}'] } - - # Operator-pending commands are handled correctly thanks to their inclusion - # in `g:multi_cursor_normal_maps`. - # - # When an operator-pending command like 'd' is missing from that setting's - # value, then it should result in a no-op, but we should still remain in - # multicursor mode. - specify "#normal mode 'd'" do - before <<-EOF - hello - hello - EOF - - type 'vdx' - - after <<-EOF - hell - hell - EOF - end - -end - -describe "Multiple Cursors when visual_maps is empty" do - let(:filename) { 'test.txt' } - let(:options) { ['let g:multi_cursor_visual_maps = {}'] } - - # Operator-pending commands are handled correctly thanks to their inclusion - # in `g:multi_cursor_visual_maps`. - # - # When an operator-pending command like 'f' is missing from that setting's - # value, then it should result in a no-op, but we should still remain in - # multicursor mode. - specify "#visual mode 'i'" do - before <<-EOF - hello world x - hello world x - EOF - - type 'fwfx' - - after <<-EOF - hello x - hello x - EOF - end - -end - -describe "Multiple Cursors when changing the line count" do - let(:filename) { 'test.txt' } - let(:options) { ['set backspace=indent,eol,start'] } - - specify "#backspace on first char of the line, then carriage return" do - before <<-EOF - madec - - antoine - andre - joseph - EOF - - type 'Gvipi' - - after <<-EOF - madec - - antoine - andre - joseph - EOF - end - - specify "#del at EOL, then carriage return" do - before <<-EOF - madec - antoine - joseph - - andre - EOF - - type 'vipA' - - after <<-EOF - madec - antoine - joseph - - andre - EOF - end - -end - -describe "Multiple Cursors misc" do - let(:filename) { 'test.txt' } - let(:options) { ['set autoindent'] } - - specify "#paste buffer normal x then p" do - before <<-EOF - jan - feb - mar - EOF - - type 'jjxp' - - after <<-EOF - ajn - efb - amr - EOF - end - - specify "#paste buffer visual y then p" do - before <<-EOF - hello jan world - hello feb world - hello mar world - EOF - - type 'vwvelywhp' - - after <<-EOF - hello jan jan world - hello feb feb world - hello mar mar world - EOF - end - - specify "#paste buffer initial visual y then P" do - before <<-EOF - hello jan world - hello feb world - hello mar world - EOF - - type 'wywbp' - - after <<-EOF - jan jan world - jan feb world - jan mar world - EOF - end - - specify "#paste buffer visual y then P" do - before <<-EOF - hello jan world - hello feb world - hello mar world - EOF - - type 'vwvely^P' - - after <<-EOF - jan hello jan world - feb hello feb world - mar hello mar world - EOF - end - - specify "#paste buffer visual Y then P" do - before <<-EOF - hello jan world - hello feb world - hello mar world - EOF - - type 'vwvY^P' - - after <<-EOF - hello jan world - hello jan world - hello feb world - hello feb world - hello mar world - hello mar world - EOF - end - - specify "#multiline replacement" do - before <<-EOF - hello - hello - hello - EOF - - type 'cworld' - - after <<-EOF - world - world - world - EOF - end - - specify "#single line replacement" do - before <<-EOF - hello hello hello - EOF - - type 'cworld' - - after <<-EOF - world world world - EOF - end - - specify "#mixed line replacement" do - before <<-EOF - hello hello - hello - EOF - - type 'cworld' - - after <<-EOF - world world - world - EOF - end - - specify "#new line in insert mode" do - before <<-EOF - hello - hello - EOF - - type 'chelloworld' - - after <<-EOF - hello - world - hello - world - EOF - end - - specify "#new line in insert mode middle of line" do - before <<-EOF - hello world - hello world - EOF - - type 'vlxi' - - after <<-EOF - hello - world - hello - world - EOF - end - - specify "#multiple new lines on one line in insert mode" do - before <<-EOF - 'a','b','c','d','e' - EOF - - type 'f,vc' - - after <<-EOF - 'a' - 'b' - 'c' - 'd' - 'e' - EOF - end - - specify "#multiple new lines on one line in insert mode with indents" do - before <<-EOF - 'a','b','c','d','e' - EOF - - type '4if,vc:%s/^/^' - - after <<-EOF - ^ 'a' - ^ 'b' - ^ 'c' - ^ 'd' - ^ 'e' - EOF - end - - specify "#normal mode 'o'" do - before <<-EOF - hello - hello - EOF - - type 'voworld' - - after <<-EOF - hello - world - hello - world - EOF - end - - specify "#normal mode 'O'" do - before <<-EOF - hello - hello - EOF - - type 'vOworld' - - after <<-EOF - world - hello - world - hello - EOF - end - - specify "#find command basic" do - before <<-EOF - hello - hello - EOF - - vim.normal ':MultipleCursorsFind hello' - type 'cworld' - - after <<-EOF - world - world - EOF - end - - specify "#find command start-of-line" do - before <<-EOF - hello - world - - hello - world - EOF - - vim.normal ':MultipleCursorsFind ^' - type 'Ibegin' - - after <<-EOF - beginhello - beginworld - begin - beginhello - beginworld - EOF - end - - specify "#find command end-of-line" do - before <<-EOF - hello - world - - hello - world - EOF - - vim.normal ':MultipleCursorsFind $' - type 'Iend' - - after <<-EOF - helloend - worldend - end - helloend - worldend - EOF - end - - specify "#visual line mode replacement" do - before <<-EOF - hello world - hello world - EOF - - type 'Vchi!' - - after <<-EOF - hi! - hi! - EOF - end - - specify "#skip key" do - before <<-EOF - hello - hello - hello - EOF - - type 'cworld' - - after <<-EOF - world - hello - world - EOF - end - - specify "#prev key" do - before <<-EOF - hello - hello - hello - EOF - - type 'cworld' - - after <<-EOF - world - world - hello - EOF - end - - specify "#visual mode 'i'" do - before <<-EOF - hi (hello world jan) bye - hi (hello world feb) bye - hi (hello world mar) bye - EOF - - type 'fwibcone' - - after <<-EOF - hi (one) bye - hi (one) bye - hi (one) bye - EOF - end - - specify "#visual mode 'a'" do - before <<-EOF - hi (hello world jan) bye - hi (hello world feb) bye - hi (hello world mar) bye - EOF - - type 'fwabcone' - - after <<-EOF - hi one bye - hi one bye - hi one bye - EOF - end - - specify "#visual mode 'f'" do - before <<-EOF - hi (hello world jan) bye - hi (hello world feb) bye - hi (hello world mar) bye - EOF - - type 'fwf)cone' - - after <<-EOF - hi (hello one bye - hi (hello one bye - hi (hello one bye - EOF - end - - specify "#visual mode 'F'" do - before <<-EOF - hi (hello world jan) bye - hi (hello world feb) bye - hi (hello world mar) bye - EOF - - type 'fwF(cbefore' - - after <<-EOF - hi beforeorld jan) bye - hi beforeorld feb) bye - hi beforeorld mar) bye - EOF - end - - specify "#visual mode 't'" do - before <<-EOF - hello.jan - hello hi.feb - hello hi bye.mar - EOF - - type 't.cone' - - after <<-EOF - one.jan - one.feb - one.mar - EOF - end - - specify "#visual mode 'T'" do - before <<-EOF - jan.world - feb.hi world - mar.bye hi world - EOF - - type 'fwT.cbefore' - - after <<-EOF - jan.beforeorld - feb.beforeorld - mar.beforeorld - EOF - end - - specify "#visual line mode 'f'" do - before <<-EOF - hello jan world - hello feb world - hello mar world - EOF - - type 'VfwvAafter' - - after <<-EOF - hello jan wafterorld - hello feb wafterorld - hello mar wafterorld - EOF - end - - specify "#visual mode 'I'" do - before <<-EOF - hello world jan - hello world feb - hello world mar - EOF - - type 'wIbefore' - - after <<-EOF - hello beforeworld jan - hello beforeworld feb - hello beforeworld mar - EOF - end - - specify "#visual mode 'A'" do - before <<-EOF - hello world jan - hello world feb - hello world mar - EOF - - type 'wAafter' - - after <<-EOF - hello worldafter jan - hello worldafter feb - hello worldafter mar - EOF - end - - specify "#resize regions visual mode 'I'" do - before <<-EOF - hello world jan - hello world feb - hello world mar - EOF - - type 'whhhIbefore' - - after <<-EOF - hello beforeworld jan - hello beforeworld feb - hello beforeworld mar - EOF - end - - specify "#resize regions visual mode 'A'" do - before <<-EOF - hello world jan - hello world feb - hello world mar - EOF - - type 'whhhAbefore' - - after <<-EOF - hello wobeforerld jan - hello wobeforerld feb - hello wobeforerld mar - EOF - end - - specify "#no word boundries visual mode 'I'" do - before <<-EOF - hello hibye world - hello hibye world - hello hibye world - EOF - - vim.normal ':MultipleCursorsFind bye' - type 'Ibefore' - - after <<-EOF - hello hibeforebye world - hello hibeforebye world - hello hibeforebye world - EOF - end - - specify "#variable-length regions visual mode 'I'" do - before <<-EOF - hello hii world - hello hiiii world - hello hiiiiii world - EOF - - vim.normal ':MultipleCursorsFind \' - type 'Ibefore' - - after <<-EOF - hello beforehii world - hello beforehiiii world - hello beforehiiiiii world - EOF - end - - specify "#normal mode 'I'" do - before <<-EOF - hello - hello - EOF - - type 'vIworld ' - - after <<-EOF - world hello - world hello - EOF - end - - specify "#normal mode 'A'" do - before <<-EOF - hello - hello - EOF - - type 'vA world' - - after <<-EOF - hello world - hello world - EOF - end - - specify "#undo" do - before <<-EOF - hello - hello - EOF - - type 'cworldu' - - after <<-EOF - hello - hello - EOF - end - - specify "#multiline visual mode" do - before <<-EOF - hello - hello - EOF - - type 'VjA world' - - after <<-EOF - hello world - hello world - EOF - end - - specify "#set paste mode" do - before <<-EOF - hello - hello - EOF - - type ':set pastecworld:set nopaste' - - after <<-EOF - world - world - EOF - end - - specify "#multi-byte strings" do - before <<-EOF - こんにちわビム - 世界の中心でビムを叫ぶ - ビム大好き - EOF - - type '/ビムcヴィム' - - after <<-EOF - こんにちわヴィム - 世界の中心でヴィムを叫ぶ - ヴィム大好き - EOF - end - -end diff --git a/.vim_runtime/sources_non_forked/vim-multiple-cursors/spec/spec_helper.rb b/.vim_runtime/sources_non_forked/vim-multiple-cursors/spec/spec_helper.rb deleted file mode 100644 index 4e0ad99..0000000 --- a/.vim_runtime/sources_non_forked/vim-multiple-cursors/spec/spec_helper.rb +++ /dev/null @@ -1,25 +0,0 @@ -require 'vimrunner' -require 'vimrunner/rspec' - -Vimrunner::RSpec.configure do |config| - - # Use a single Vim instance for the test suite. Set to false to use an - # instance per test (slower, but can be easier to manage). - config.reuse_server = false - - # Decide how to start a Vim instance. In this block, an instance should be - # spawned and set up with anything project-specific. - config.start_vim do - # vim = Vimrunner.start - - # Or, start a GUI instance: - vim = Vimrunner.start_gvim - - # Setup your plugin in the Vim instance - plugin_path = File.expand_path('../..', __FILE__) - vim.add_plugin(plugin_path, 'plugin/multiple_cursors.vim') - - # The returned value is the Client available in the tests. - vim - end -end diff --git a/.vim_runtime/sources_non_forked/vim-pug/README.md b/.vim_runtime/sources_non_forked/vim-pug/README.md deleted file mode 100644 index 779a94f..0000000 --- a/.vim_runtime/sources_non_forked/vim-pug/README.md +++ /dev/null @@ -1,21 +0,0 @@ - -README.md

vim-pug

- -

Vim syntax highlighting for Pug (formerly Jade) templates.

- -

For best results consider using this with an (improved) HTML5 syntax plugin.

- -

Installation

- -

I prefer to install plugins using Tim Pope’s -pathogen.vim. Installation using -pathogen is quite simple.

- -
cd ~/.vim/bundle
-git clone git://github.com/digitaltoad/vim-pug.git
- -

If you do not want to use pathogen. You can always install vim-pug in the -normal manner by copying each directory to your ~/.vim directory. Make sure -not to overwrite any existing directory of the same name and instead copy only -the contents of the source directory to the directory of the same name in your -~/.vim directory.

diff --git a/.vim_runtime/sources_non_forked/vim-pug/ftdetect/pug.vim b/.vim_runtime/sources_non_forked/vim-pug/ftdetect/pug.vim deleted file mode 100644 index 08d962f..0000000 --- a/.vim_runtime/sources_non_forked/vim-pug/ftdetect/pug.vim +++ /dev/null @@ -1,5 +0,0 @@ -" Pug -autocmd BufNewFile,BufReadPost *.pug set filetype=pug - -" Jade -autocmd BufNewFile,BufReadPost *.jade set filetype=pug diff --git a/.vim_runtime/sources_non_forked/vim-pug/ftplugin/pug.vim b/.vim_runtime/sources_non_forked/vim-pug/ftplugin/pug.vim deleted file mode 100644 index db071fa..0000000 --- a/.vim_runtime/sources_non_forked/vim-pug/ftplugin/pug.vim +++ /dev/null @@ -1,57 +0,0 @@ -" Vim filetype plugin -" Language: Pug -" Maintainer: Joshua Borton -" Credits: Tim Pope - -" Only do this when not done yet for this buffer -if exists("b:did_ftplugin") - finish -endif - -let s:save_cpo = &cpo -set cpo-=C - -setlocal iskeyword+=- - -" Define some defaults in case the included ftplugins don't set them. -let s:undo_ftplugin = "" -let s:browsefilter = "All Files (*.*)\t*.*\n" -let s:match_words = "" - -runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim -unlet! b:did_ftplugin - -" Override our defaults if these were set by an included ftplugin. -if exists("b:undo_ftplugin") - let s:undo_ftplugin = b:undo_ftplugin - unlet b:undo_ftplugin -endif -if exists("b:browsefilter") - let s:browsefilter = b:browsefilter - unlet b:browsefilter -endif -if exists("b:match_words") - let s:match_words = b:match_words - unlet b:match_words -endif - -" Change the browse dialog on Win32 to show mainly Haml-related files -if has("gui_win32") - let b:browsefilter="Pug Files (*.pug)\t*.pug\n" . s:browsefilter -endif - -" Load the combined list of match_words for matchit.vim -if exists("loaded_matchit") - let b:match_words = s:match_words -endif - -setlocal comments=://-,:// commentstring=//\ %s - -setlocal suffixesadd+=.pug - -let b:undo_ftplugin = "setl cms< com< " - \ " | unlet! b:browsefilter b:match_words | " . s:undo_ftplugin - -let &cpo = s:save_cpo - -" vim:set sw=2: diff --git a/.vim_runtime/sources_non_forked/vim-pug/indent/pug.vim b/.vim_runtime/sources_non_forked/vim-pug/indent/pug.vim deleted file mode 100644 index bc7f2b4..0000000 --- a/.vim_runtime/sources_non_forked/vim-pug/indent/pug.vim +++ /dev/null @@ -1,70 +0,0 @@ -" Vim indent file -" Language: Pug -" Maintainer: Joshua Borton -" Credits: Tim Pope (vim-pug) -" Last Change: 2010 Sep 22 - -if exists("b:did_indent") - finish -endif - -unlet! b:did_indent -let b:did_indent = 1 - -setlocal autoindent -setlocal indentexpr=GetPugIndent() -setlocal indentkeys=o,O,*,},],0),!^F - -" Only define the function once. -if exists("*GetPugIndent") - finish -endif - -let s:attributes = '\%((.\{-\})\)' -let s:tag = '\([%.#][[:alnum:]_-]\+\|'.s:attributes.'\)*[<>]*' - -if !exists('g:pug_self_closing_tags') - let g:pug_self_closing_tags = 'meta|link|img|hr|br|input' -endif - -setlocal formatoptions+=r -setlocal comments+=n:\| - -function! GetPugIndent() - let lnum = prevnonblank(v:lnum-1) - if lnum == 0 - return 0 - endif - let line = substitute(getline(lnum),'\s\+$','','') - let cline = substitute(substitute(getline(v:lnum),'\s\+$','',''),'^\s\+','','') - let lastcol = strlen(line) - let line = substitute(line,'^\s\+','','') - let indent = indent(lnum) - let cindent = indent(v:lnum) - let increase = indent + &sw - if indent == indent(lnum) - let indent = cindent <= indent ? -1 : increase - endif - - let group = synIDattr(synID(lnum,lastcol,1),'name') - - if line =~ '^!!!' - return indent - elseif line =~ '^/\%(\[[^]]*\]\)\=$' - return increase - elseif line =~ '^\%(if\|else\|unless\|for\|each\|block\|mixin\|append\|case\|when\)' - return increase - elseif line =~ '^'.s:tag.'[&!]\=[=~-].*,\s*$' - return increase - elseif line == '-#' - return increase - elseif line =~? '^\v%('.g:pug_self_closing_tags.')>' - return indent - elseif group =~? '\v^%(pugAttributesDelimiter|pugClass|pugId|htmlTagName|htmlSpecialTagName|pugFilter|pugTagBlockChar)$' - return increase - else - return indent - endif -endfunction - -" vim:set sw=2: diff --git a/.vim_runtime/sources_non_forked/vim-pug/syntax/pug.vim b/.vim_runtime/sources_non_forked/vim-pug/syntax/pug.vim deleted file mode 100644 index a9ae422..0000000 --- a/.vim_runtime/sources_non_forked/vim-pug/syntax/pug.vim +++ /dev/null @@ -1,114 +0,0 @@ -" Vim syntax file -" Language: Pug -" Maintainer: Joshua Borton -" Credits: Tim Pope -" Filenames: *.pug - -if exists("b:current_syntax") - finish -endif - -if !exists("main_syntax") - let main_syntax = 'pug' -endif - -silent! syntax include @htmlCoffeescript syntax/coffee.vim -unlet! b:current_syntax -silent! syntax include @htmlStylus syntax/stylus.vim -unlet! b:current_syntax -silent! syntax include @htmlCss syntax/css.vim -unlet! b:current_syntax -silent! syntax include @htmlMarkdown syntax/markdown.vim -unlet! b:current_syntax - -syn case match - -syn region javascriptParenthesisBlock start="(" end=")" contains=@htmlJavascript contained keepend -syn cluster htmlJavascript add=javascriptParenthesisBlock - -syn region pugJavascript matchgroup=pugJavascriptOutputChar start="[!&]\==\|\~" skip=",\s*$" end="$" contained contains=@htmlJavascript keepend -syn region pugJavascript matchgroup=pugJavascriptChar start="\(^\|\s\)\@<=-" skip=",\s*$" end="$" contained contains=@htmlJavascript keepend - -syn cluster pugTop contains=pugBegin,pugComment,pugHtmlComment,pugJavascript -syn match pugBegin "^\s*\%([<>]\|&[^=~ ]\)\@!" nextgroup=pugTag,pugClassChar,pugIdChar,pugPlainChar,pugJavascript,pugScriptConditional,pugScriptStatement,pugPipedText -syn match pugTag "+\?[[:alnum:]_-]\+\%(:\w\+\)\=" contained contains=htmlTagName,htmlSpecialTagName,pugJavascript nextgroup=@pugComponent -syn cluster pugComponent contains=pugAttributes,pugIdChar,pugBlockExpansionChar,pugClassChar,pugPlainChar,pugJavascript,pugTagBlockChar,pugTagInlineText -syn keyword pugCommentTodo contained TODO FIXME XXX TBD -syn match pugComment '\(\s\+\|^\)\/\/.*$' contains=pugCommentTodo,@Spell -syn region pugCommentBlock start="\z(\s\+\|^\)\/\/.*$" end="^\%(\z1\s\|\s*$\)\@!" contains=pugCommentTodo,@Spell keepend -syn region pugHtmlConditionalComment start="" contains=pugCommentTodo,@Spell -syn region pugAngular2 start="(" end=")" contains=htmlEvent -syn region pugJavascriptString start=+"+ skip=+\\\("\|$\)+ end=+"\|$+ contained -syn region pugJavascriptString start=+'+ skip=+\\\('\|$\)+ end=+'\|$+ contained -syn region pugJavascriptString start=+`+ skip=+\\\(`\|$\)+ end=+`\|$+ contains=javascriptInterpolation contained -syn region pugAttributes matchgroup=pugAttributesDelimiter start="(" end="\(.\zs)\)\|)" contained contains=pugJavascriptString,pugHtmlArg,pugAngular2,htmlArg,htmlEvent,htmlCssDefinition nextgroup=@pugComponent -syn match pugClassChar "\." containedin=htmlTagName nextgroup=pugClass -syn match pugBlockExpansionChar ":\s\+" contained nextgroup=pugTag,pugClassChar,pugIdChar -syn match pugIdChar "#[[{]\@!" contained nextgroup=pugId -syn match pugClass "\%(\w\|-\)\+" contained nextgroup=@pugComponent -syn match pugId "\%(\w\|-\)\+" contained nextgroup=@pugComponent -syn region pugDocType start="^\s*\(!!!\|doctype\)" end="$" -" Unless I'm mistaken, syntax/html.vim requires -" that the = sign be present for these matches. -" This adds the matches back for pug. -syn keyword pugHtmlArg contained href title - -syn match pugPlainChar "\\" contained -syn region pugInterpolation matchgroup=pugInterpolationDelimiter start="[#!]{" end="}" contains=@htmlJavascript -syn match pugInterpolationEscape "\\\@[?!]\@!" -syn match pugScriptStatement "^\s*\<\%(each\|for\|block\|prepend\|append\|mixin\|extends\|include\)\>[?!]\@!" -syn region pugScriptLoopRegion start="^\s*\(for\|each\)" end="$" contains=pugScriptLoopKeywords -syn keyword pugScriptLoopKeywords contained for each in - -syn region pugJavascript start="^\z(\s*\)script\%(:\w\+\)\=" end="^\%(\z1\s\|\s*$\)\@!" contains=@htmlJavascript,pugJavascriptTag,pugCoffeescriptFilter keepend -syn region javascriptInterpolation start=/${/ end=/}/ contained - -syn region pugCoffeescriptFilter matchgroup=pugFilter start="^\z(\s*\):coffee-\?script\s*$" end="^\%(\z1\s\|\s*$\)\@!" contains=@htmlCoffeescript contained -syn region pugJavascriptTag contained start="^\z(\s*\)script\%(:\w\+\)\=" end="$" contains=pugBegin,pugTag -syn region pugCssBlock start="^\z(\s*\)style" nextgroup=@pugComponent,pugError end="^\%(\z1\s\|\s*$\)\@!" contains=@htmlCss keepend - -syn match pugError "\$" contained - -hi def link pugPlainChar Special -hi def link pugScriptConditional PreProc -hi def link pugScriptLoopKeywords PreProc -hi def link pugScriptStatement PreProc -hi def link pugHtmlArg htmlArg -hi def link pugAttributeString String -hi def link pugAttributesDelimiter Identifier -hi def link pugIdChar Special -hi def link pugClassChar Special -hi def link pugBlockExpansionChar Special -hi def link pugPipeChar Special -hi def link pugTagBlockChar Special -hi def link pugId Identifier -hi def link pugClass Type -hi def link pugInterpolationDelimiter Delimiter -hi def link pugInlineDelimiter Delimiter -hi def link pugFilter PreProc -hi def link pugDocType PreProc -hi def link pugCommentTodo Todo -hi def link pugComment Comment -hi def link pugCommentBlock Comment -hi def link pugHtmlConditionalComment pugComment -hi def link pugJavascriptString String -hi def link javascriptInterpolation Delimiter - -let b:current_syntax = "pug" - -if main_syntax == "pug" - unlet main_syntax -endif diff --git a/.vim_runtime/sources_non_forked/vim-pyte/README b/.vim_runtime/sources_non_forked/vim-pyte/README deleted file mode 100644 index 22bbca4..0000000 --- a/.vim_runtime/sources_non_forked/vim-pyte/README +++ /dev/null @@ -1,11 +0,0 @@ -This is a version of Henning Hasemann's vim theme (http://www.vim.org/scripts/script.php?script_id=1492) packaged to work with Tim Pope's pathogen plugin (http://www.vim.org/scripts/script.php?script_id=2332). - -To use it (assuming you're using pathogen): - -- go to your bundle directory (.vim/bundle or .vimbundles) and clone the repo: - - git clone git://github.com/therubymug/vim-pyte.git - -- edit your .vimrc and add: - - :colorscheme pyte diff --git a/.vim_runtime/sources_non_forked/vim-pyte/colors/pyte.vim b/.vim_runtime/sources_non_forked/vim-pyte/colors/pyte.vim deleted file mode 100644 index cf81d29..0000000 --- a/.vim_runtime/sources_non_forked/vim-pyte/colors/pyte.vim +++ /dev/null @@ -1,94 +0,0 @@ - -set background=light - -hi clear -if exists("syntax_on") - syntax reset -endif - -let colors_name = "pyte" - -if version >= 700 - hi CursorLine guibg=#f6f6f6 - hi CursorColumn guibg=#eaeaea - hi MatchParen guifg=white guibg=#80a090 gui=bold - - "Tabpages - hi TabLine guifg=black guibg=#b0b8c0 gui=italic - hi TabLineFill guifg=#9098a0 - hi TabLineSel guifg=black guibg=#f0f0f0 gui=italic,bold - - "P-Menu (auto-completion) - hi Pmenu guifg=white guibg=#808080 - "PmenuSel - "PmenuSbar - "PmenuThumb -endif -" -" Html-Titles -hi Title guifg=#202020 gui=bold -hi Underlined guifg=#202020 gui=underline - - -hi Cursor guifg=black guibg=#b0b4b8 -hi lCursor guifg=black guibg=white -hi LineNr guifg=#ffffff guibg=#c0d0e0 - -hi Normal guifg=#404850 guibg=#f0f0f0 - -hi StatusLine guifg=white guibg=#8090a0 gui=bold,italic -hi StatusLineNC guifg=#506070 guibg=#a0b0c0 gui=italic -hi VertSplit guifg=#a0b0c0 guibg=#a0b0c0 gui=NONE - -" hi Folded guifg=#708090 guibg=#c0d0e0 -hi Folded guifg=#a0a0a0 guibg=#e8e8e8 gui=italic - -hi NonText guifg=#c0c0c0 guibg=#e0e0e0 -" Kommentare -hi Comment guifg=#a0b0c0 gui=italic - -" Konstanten -hi Constant guifg=#a07040 -hi String guifg=#4070a0 -hi Number guifg=#40a070 -hi Float guifg=#70a040 -"hi Statement guifg=#0070e0 gui=NONE -" Python: def and so on, html: tag-names -hi Statement guifg=#007020 gui=bold - - -" HTML: arguments -hi Type guifg=#e5a00d gui=italic -" Python: Standard exceptions, True&False -hi Structure guifg=#007020 gui=italic -hi Function guifg=#06287e gui=italic - -hi Identifier guifg=#5b3674 gui=italic - -hi Repeat guifg=#7fbf58 gui=bold -hi Conditional guifg=#4c8f2f gui=bold - -" Cheetah: #-Symbol, function-names -hi PreProc guifg=#1060a0 gui=NONE -" Cheetah: def, for and so on, Python: Decorators -hi Define guifg=#1060a0 gui=bold - -hi Error guifg=red guibg=white gui=bold,underline -hi Todo guifg=#a0b0c0 guibg=NONE gui=italic,bold,underline - -" Python: %(...)s - constructs, encoding -hi Special guifg=#70a0d0 gui=italic - -hi Operator guifg=#408010 - -" color of s etc... -"hi SpecialKey guifg=#d8a080 guibg=#e8e8e8 gui=italic -hi SpecialKey guifg=#d0b0b0 guibg=#f0f0f0 gui=none - -" Diff -hi DiffChange guifg=NONE guibg=#e0e0e0 gui=italic,bold -hi DiffText guifg=NONE guibg=#f0c8c8 gui=italic,bold -hi DiffAdd guifg=NONE guibg=#c0e0d0 gui=italic,bold -hi DiffDelete guifg=NONE guibg=#f0e0b0 gui=italic,bold - - diff --git a/.vim_runtime/sources_non_forked/vim-python-pep8-indent/.circleci/config.yml b/.vim_runtime/sources_non_forked/vim-python-pep8-indent/.circleci/config.yml deleted file mode 100644 index 8d54439..0000000 --- a/.vim_runtime/sources_non_forked/vim-python-pep8-indent/.circleci/config.yml +++ /dev/null @@ -1,37 +0,0 @@ -version: 2 - -common: &common - working_directory: ~/repo - docker: - - image: blueyed/vim-python-pep8-indent-vims-for-test:3@sha256:e7e3c4f4b021954a40f2f1d88dc470f119dc65603c63724d1c58cbe437fdc2d4 - -jobs: - test: - <<: *common - steps: - - checkout - - run: - name: Run tests - command: | - spec/make-coverage - - run: - name: Report coverage - command: | - covimerage xml - codecov -X search gcov pycov -f coverage.xml - - checkqa: - <<: *common - steps: - - checkout - - run: - name: Lint - command: | - vint **/*.vim - -workflows: - version: 2 - test: - jobs: - - test - - checkqa diff --git a/.vim_runtime/sources_non_forked/vim-python-pep8-indent/.coveragerc b/.vim_runtime/sources_non_forked/vim-python-pep8-indent/.coveragerc deleted file mode 100644 index 74cc24e..0000000 --- a/.vim_runtime/sources_non_forked/vim-python-pep8-indent/.coveragerc +++ /dev/null @@ -1,7 +0,0 @@ -[run] -plugins = covimerage -data_file = .coverage_covimerage -source = indent/python.vim - -[report] -include = indent/python.vim diff --git a/.vim_runtime/sources_non_forked/vim-python-pep8-indent/.dockerignore b/.vim_runtime/sources_non_forked/vim-python-pep8-indent/.dockerignore deleted file mode 100644 index 1a99a79..0000000 --- a/.vim_runtime/sources_non_forked/vim-python-pep8-indent/.dockerignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!Gemfile diff --git a/.vim_runtime/sources_non_forked/vim-python-pep8-indent/.gitignore b/.vim_runtime/sources_non_forked/vim-python-pep8-indent/.gitignore deleted file mode 100644 index e8035f6..0000000 --- a/.vim_runtime/sources_non_forked/vim-python-pep8-indent/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -.*.swp -.coverage_covimerage -Gemfile.lock diff --git a/.vim_runtime/sources_non_forked/vim-python-pep8-indent/CONTRIBUTING.rst b/.vim_runtime/sources_non_forked/vim-python-pep8-indent/CONTRIBUTING.rst deleted file mode 100644 index 094f20a..0000000 --- a/.vim_runtime/sources_non_forked/vim-python-pep8-indent/CONTRIBUTING.rst +++ /dev/null @@ -1,37 +0,0 @@ -How To Contribute -================= - -``vim-python-pep8-indent`` is always open for suggestions and contributions by generous developers. -I’ve collected a few tips to get you started. - -Please: - -- *Always* add tests for your code. -- Write `good commit messages`_. - - -Running Tests -------------- - -- They are written in Ruby_ (sorry :() using vimrunner_ which requires rspec_. -- The tests go into ``spec/indent/indent_spec.rb``. - Look at the ``describe`` blocks to get the hang of it. -- Run the tests with the command:: - - $ rspec spec -- Alternatively you can use Docker:: - - $ make test_docker - -- You can select tests based on line numbers, e.g.:: - - $ rspec ./spec/indent/indent_spec.rb:385 - $ make test_docker RSPEC_ARGS=./spec/indent/indent_spec.rb:385 - -Thank you for considering to contribute! - - -.. _Ruby: https://www.ruby-lang.org/ -.. _`good commit messages`: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html -.. _vimrunner: https://github.com/AndrewRadev/vimrunner -.. _rspec: https://github.com/rspec/rspec diff --git a/.vim_runtime/sources_non_forked/vim-python-pep8-indent/COPYING.txt b/.vim_runtime/sources_non_forked/vim-python-pep8-indent/COPYING.txt deleted file mode 100644 index 0e259d4..0000000 --- a/.vim_runtime/sources_non_forked/vim-python-pep8-indent/COPYING.txt +++ /dev/null @@ -1,121 +0,0 @@ -Creative Commons Legal Code - -CC0 1.0 Universal - - CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE - LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN - ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS - INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES - REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS - PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM - THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED - HEREUNDER. - -Statement of Purpose - -The laws of most jurisdictions throughout the world automatically confer -exclusive Copyright and Related Rights (defined below) upon the creator -and subsequent owner(s) (each and all, an "owner") of an original work of -authorship and/or a database (each, a "Work"). - -Certain owners wish to permanently relinquish those rights to a Work for -the purpose of contributing to a commons of creative, cultural and -scientific works ("Commons") that the public can reliably and without fear -of later claims of infringement build upon, modify, incorporate in other -works, reuse and redistribute as freely as possible in any form whatsoever -and for any purposes, including without limitation commercial purposes. -These owners may contribute to the Commons to promote the ideal of a free -culture and the further production of creative, cultural and scientific -works, or to gain reputation or greater distribution for their Work in -part through the use and efforts of others. - -For these and/or other purposes and motivations, and without any -expectation of additional consideration or compensation, the person -associating CC0 with a Work (the "Affirmer"), to the extent that he or she -is an owner of Copyright and Related Rights in the Work, voluntarily -elects to apply CC0 to the Work and publicly distribute the Work under its -terms, with knowledge of his or her Copyright and Related Rights in the -Work and the meaning and intended legal effect of CC0 on those rights. - -1. Copyright and Related Rights. A Work made available under CC0 may be -protected by copyright and related or neighboring rights ("Copyright and -Related Rights"). Copyright and Related Rights include, but are not -limited to, the following: - - i. the right to reproduce, adapt, distribute, perform, display, - communicate, and translate a Work; - ii. moral rights retained by the original author(s) and/or performer(s); -iii. publicity and privacy rights pertaining to a person's image or - likeness depicted in a Work; - iv. rights protecting against unfair competition in regards to a Work, - subject to the limitations in paragraph 4(a), below; - v. rights protecting the extraction, dissemination, use and reuse of data - in a Work; - vi. database rights (such as those arising under Directive 96/9/EC of the - European Parliament and of the Council of 11 March 1996 on the legal - protection of databases, and under any national implementation - thereof, including any amended or successor version of such - directive); and -vii. other similar, equivalent or corresponding rights throughout the - world based on applicable law or treaty, and any national - implementations thereof. - -2. Waiver. To the greatest extent permitted by, but not in contravention -of, applicable law, Affirmer hereby overtly, fully, permanently, -irrevocably and unconditionally waives, abandons, and surrenders all of -Affirmer's Copyright and Related Rights and associated claims and causes -of action, whether now known or unknown (including existing as well as -future claims and causes of action), in the Work (i) in all territories -worldwide, (ii) for the maximum duration provided by applicable law or -treaty (including future time extensions), (iii) in any current or future -medium and for any number of copies, and (iv) for any purpose whatsoever, -including without limitation commercial, advertising or promotional -purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each -member of the public at large and to the detriment of Affirmer's heirs and -successors, fully intending that such Waiver shall not be subject to -revocation, rescission, cancellation, termination, or any other legal or -equitable action to disrupt the quiet enjoyment of the Work by the public -as contemplated by Affirmer's express Statement of Purpose. - -3. Public License Fallback. Should any part of the Waiver for any reason -be judged legally invalid or ineffective under applicable law, then the -Waiver shall be preserved to the maximum extent permitted taking into -account Affirmer's express Statement of Purpose. In addition, to the -extent the Waiver is so judged Affirmer hereby grants to each affected -person a royalty-free, non transferable, non sublicensable, non exclusive, -irrevocable and unconditional license to exercise Affirmer's Copyright and -Related Rights in the Work (i) in all territories worldwide, (ii) for the -maximum duration provided by applicable law or treaty (including future -time extensions), (iii) in any current or future medium and for any number -of copies, and (iv) for any purpose whatsoever, including without -limitation commercial, advertising or promotional purposes (the -"License"). The License shall be deemed effective as of the date CC0 was -applied by Affirmer to the Work. Should any part of the License for any -reason be judged legally invalid or ineffective under applicable law, such -partial invalidity or ineffectiveness shall not invalidate the remainder -of the License, and in such case Affirmer hereby affirms that he or she -will not (i) exercise any of his or her remaining Copyright and Related -Rights in the Work or (ii) assert any associated claims and causes of -action with respect to the Work, in either case contrary to Affirmer's -express Statement of Purpose. - -4. Limitations and Disclaimers. - - a. No trademark or patent rights held by Affirmer are waived, abandoned, - surrendered, licensed or otherwise affected by this document. - b. Affirmer offers the Work as-is and makes no representations or - warranties of any kind concerning the Work, express, implied, - statutory or otherwise, including without limitation warranties of - title, merchantability, fitness for a particular purpose, non - infringement, or the absence of latent or other defects, accuracy, or - the present or absence of errors, whether or not discoverable, all to - the greatest extent permissible under applicable law. - c. Affirmer disclaims responsibility for clearing rights of other persons - that may apply to the Work or any use thereof, including without - limitation any person's Copyright and Related Rights in the Work. - Further, Affirmer disclaims responsibility for obtaining any necessary - consents, permissions or other rights required for any use of the - Work. - d. Affirmer understands and acknowledges that Creative Commons is not a - party to this document and has no duty or obligation with respect to - this CC0 or use of the Work. diff --git a/.vim_runtime/sources_non_forked/vim-python-pep8-indent/Dockerfile b/.vim_runtime/sources_non_forked/vim-python-pep8-indent/Dockerfile deleted file mode 100644 index 14e39ea..0000000 --- a/.vim_runtime/sources_non_forked/vim-python-pep8-indent/Dockerfile +++ /dev/null @@ -1,24 +0,0 @@ -FROM testbed/vim:latest - -RUN apk --no-cache add gtk+2.0-dev libx11-dev libxt-dev mcookie xauth xvfb -# NOTE: +profile needs huge features. -RUN install_vim -tag v8.1.0129 -name vim --with-features=huge \ - --disable-channel --disable-netbeans --disable-xim \ - --enable-gui=gtk2 --with-x -build -RUN ln -s /vim-build/bin/vim /usr/bin/gvim -RUN gvim --version - -# Install covimerage and vint. -# NOTE: we have py2 already via gtk+2.0-dev. -# NOTE: enum34+pathlib+typing gets installed as workaround for broken vim-vint wheel. -RUN apk --no-cache add py2-pip \ - && pip install --no-cache-dir codecov covimerage==0.0.9 vim-vint enum34 pathlib typing \ - && rm -rf /usr/include /usr/lib/python*/turtle* /usr/lib/python*/tkinter - -WORKDIR /vim-python-pep8-indent - -ADD Gemfile . -RUN apk --no-cache add coreutils ruby-bundler -RUN bundle install - -ENTRYPOINT ["rspec", "spec"] diff --git a/.vim_runtime/sources_non_forked/vim-python-pep8-indent/Gemfile b/.vim_runtime/sources_non_forked/vim-python-pep8-indent/Gemfile deleted file mode 100644 index 9bbf596..0000000 --- a/.vim_runtime/sources_non_forked/vim-python-pep8-indent/Gemfile +++ /dev/null @@ -1,3 +0,0 @@ -source 'https://rubygems.org' -gem "vimrunner", "0.3.4" -gem "rspec" diff --git a/.vim_runtime/sources_non_forked/vim-python-pep8-indent/Makefile b/.vim_runtime/sources_non_forked/vim-python-pep8-indent/Makefile deleted file mode 100644 index 2566d41..0000000 --- a/.vim_runtime/sources_non_forked/vim-python-pep8-indent/Makefile +++ /dev/null @@ -1,25 +0,0 @@ -test: - VIMRUNNER_REUSE_SERVER=1 xvfb-run bundle exec rspec - -# Run tests in dockerized Vims. -DOCKER_REPO:=blueyed/vim-python-pep8-indent-vims-for-test -DOCKER_TAG:=3 -DOCKER_IMAGE:=$(DOCKER_REPO):$(DOCKER_TAG) - -docker_image: - docker build -t $(DOCKER_REPO):$(DOCKER_TAG) . -docker_push: - docker push $(DOCKER_REPO):$(DOCKER_TAG) -docker_update_latest: - docker tag $(DOCKER_REPO):$(DOCKER_TAG) $(DOCKER_REPO):latest - docker push $(DOCKER_REPO):latest - -test_docker: XVFB_ERRORFILE:=/dev/null -test_docker: - @set -x; export DISPLAY=$(if $(VIMRUNNER_TEST_DISPLAY),$(VIMRUNNER_TEST_DISPLAY),172.17.0.1:99; Xvfb -ac -listen tcp :99 >$(XVFB_ERRORFILE) 2>&1 & XVFB_PID=$$!); \ - docker run --rm -ti -e DISPLAY -e VIMRUNNER_REUSE_SERVER=1 \ - -v $(CURDIR):/vim-python-pep8-indent $(DOCKER_IMAGE) $(RSPEC_ARGS) \ - $(if $(VIMRUNNER_TEST_DISPLAY),,; ret=$$?; kill $$XVFB_PID; exit $$ret) - -test_coverage: - spec/make-coverage diff --git a/.vim_runtime/sources_non_forked/vim-python-pep8-indent/README.rst b/.vim_runtime/sources_non_forked/vim-python-pep8-indent/README.rst deleted file mode 100644 index 77be58c..0000000 --- a/.vim_runtime/sources_non_forked/vim-python-pep8-indent/README.rst +++ /dev/null @@ -1,169 +0,0 @@ -vim-python-pep8-indent -====================== - -.. image:: https://circleci.com/gh/Vimjas/vim-python-pep8-indent.svg?style=svg - :target: https://circleci.com/gh/Vimjas/vim-python-pep8-indent -.. image:: https://codecov.io/gh/Vimjas/vim-python-pep8-indent/branch/master/graph/badge.svg - :target: https://codecov.io/gh/Vimjas/vim-python-pep8-indent - -This small script modifies Vim_’s indentation behavior to comply with PEP8_ and my aesthetic preferences. -Most importantly:: - - foobar(foo, - bar) - -and:: - - foobar( - foo, - bar - ) - - -Installation ------------- - -Install the plugin using your favorite plugin manager / method, a few examples -follow: - -Pathogen -^^^^^^^^ - -Follow the instructions on installing Pathogen_ and then: - -.. code-block:: shell-session - - $ cd ~/.vim/bundle - $ git clone https://github.com/Vimjas/vim-python-pep8-indent.git - - -Vundle -^^^^^^ - -Follow the instructions on installing Vundle_ and add the appropriate plugin line into your ``.vimrc``: - -.. code-block:: vim - - Plugin 'Vimjas/vim-python-pep8-indent' - - -NeoBundle -^^^^^^^^^ - -Follow the instructions on installing NeoBundle_ and add the appropriate NeoBundle line into your ``.vimrc``: - -.. code-block:: vim - - NeoBundle 'Vimjas/vim-python-pep8-indent' - - -Configuration -------------- - -g:python_pep8_indent_multiline_string -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -You can configure the initial indentation of multiline strings using ``g:python_pep8_indent_multiline_string`` (which can also be set per buffer). -This defaults to ``0``, which means that multiline strings are not indented. -``-1`` and positive values will be used as-is, where ``-1`` is a special value for Vim's ``indentexpr``, and will keep the existing indent (using Vim's ``autoindent`` setting). -``-2`` is meant to be used for strings that are wrapped with ``textwrap.dedent`` etc. It will add a level of indentation if the multiline string started in the previous line, without any content in it already:: - - testdir.makeconftest(""" - _ - -With content already, it will be aligned to the opening parenthesis:: - - testdir.makeconftest("""def pytest_addoption(parser): - _ - -Existing indentation (including ``0``) in multiline strings will be kept, so this setting only applies to the indentation of new/empty lines. - -g:python_pep8_indent_hang_closing -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Control closing bracket indentation with ``python_pep8_indent_hang_closing``, set globally or per buffer. - -By default (set to ``0``), closing brackets line up with the opening line:: - - my_list = [ - 1, 2, 3, - 4, 5, 6, - ] - result = some_function_that_takes_arguments( - 'a', 'b', 'c', - 'd', 'e', 'f', - ) - -With ``python_pep8_indent_hang_closing = 1``, closing brackets line up with the items:: - - my_list = [ - 1, 2, 3, - 4, 5, 6, - ] - result = some_function_that_takes_arguments( - 'a', 'b', 'c', - 'd', 'e', 'f', - ) - - -Troubleshooting ---------------- - -In case it is not working, please make sure your Vim is configured to load -indent files (``filetype indent on``). -This is typically the case when using a plugin manager, but check its docs. - -Check ``:verbose set indentexpr?`` in a Python file, which should show -something like the following: - - indentexpr=GetPythonPEPIndent(v:lnum) - Last set from ~/…/plugged/vim-python-pep8-indent/indent/python.vim - - -Notes ------ - -Please note that Kirill Klenov’s python-mode_ ships its own version of this bundle. -Therefore, if you want to use this version specifically, you’ll have to disable python-mode’s using: - -.. code-block:: vim - - let g:pymode_indent = 0 - - -License and Authorship ----------------------- - -This script is based on one from Vim’s official `script repo`_ that was *not* originally written by me. -Unfortunately the indentation was off by one character in one case and the script hasn’t been updated since 2005. - -Even more unfortunately, I wasn’t able to reach any of the original authors/maintainers: -**David Bustos** and **Eric Mc Sween**. - -So I fixed the annoyance with the help of `Steve Losh`_ and am putting it out here so you don’t have to patch the original yourself. -The original patch is still available here_. - -Over the time a lot more improvements have been contributed_ by `generous people`_. - -I’d like to thank the original authors here for their work and release it hereby to the *Public Domain* (using the CC0_ licence) since I hope that would be in their spirit. -If anyone with a say in this objects, please let me_ know immediately. -Also, if someone is in contact with one of them, I would appreciate being introduced. - -While my Vimscript_ skills are still feeble, I intend to maintain it for now. -This mainly means that I’ll triage through bugs and pull requests but won’t be fixing much myself. - - -.. _Vim: http://www.vim.org/ -.. _PEP8: http://www.python.org/dev/peps/pep-0008/ -.. _`script repo`: http://www.vim.org/scripts/script.php?script_id=974 -.. _`Steve Losh`: http://stevelosh.com/ -.. _here: https://gist.github.com/2965846 -.. _Neobundle: https://github.com/Shougo/neobundle.vim -.. _Pathogen: https://github.com/tpope/vim-pathogen -.. _python-mode: https://github.com/klen/python-mode -.. _`Vimscript`: http://learnvimscriptthehardway.stevelosh.com/ -.. _vundle: https://github.com/gmarik/Vundle.vim -.. _me: https://hynek.me/ -.. _CC0: http://creativecommons.org/publicdomain/zero/1.0/ -.. _contributed: https://github.com/hynek/vim-python-pep8-indent/blob/master/CONTRIBUTING.rst -.. _`generous people`: https://github.com/hynek/vim-python-pep8-indent/graphs/contributors diff --git a/.vim_runtime/sources_non_forked/vim-python-pep8-indent/docker-compose.yml b/.vim_runtime/sources_non_forked/vim-python-pep8-indent/docker-compose.yml deleted file mode 100644 index 71760c2..0000000 --- a/.vim_runtime/sources_non_forked/vim-python-pep8-indent/docker-compose.yml +++ /dev/null @@ -1,6 +0,0 @@ -version: '2' -services: - rspec: - build: . - volumes: - - .:/vim-python-pep8-indent diff --git a/.vim_runtime/sources_non_forked/vim-python-pep8-indent/indent/cython.vim b/.vim_runtime/sources_non_forked/vim-python-pep8-indent/indent/cython.vim deleted file mode 100644 index 4407bc1..0000000 --- a/.vim_runtime/sources_non_forked/vim-python-pep8-indent/indent/cython.vim +++ /dev/null @@ -1 +0,0 @@ -python.vim \ No newline at end of file diff --git a/.vim_runtime/sources_non_forked/vim-python-pep8-indent/indent/python.vim b/.vim_runtime/sources_non_forked/vim-python-pep8-indent/indent/python.vim deleted file mode 100644 index 047ae3d..0000000 --- a/.vim_runtime/sources_non_forked/vim-python-pep8-indent/indent/python.vim +++ /dev/null @@ -1,454 +0,0 @@ -" PEP8 compatible Python indent file -" Language: Python -" Maintainer: Daniel Hahler -" Prev Maintainer: Hynek Schlawack -" Prev Maintainer: Eric Mc Sween (address invalid) -" Original Author: David Bustos (address invalid) -" License: CC0 -" -" vim-python-pep8-indent - A nicer Python indentation style for vim. -" Written in 2004 by David Bustos -" Maintained from 2004-2005 by Eric Mc Sween -" Maintained from 2013 by Hynek Schlawack -" Maintained from 2017 by Daniel Hahler -" -" To the extent possible under law, the author(s) have dedicated all copyright -" and related and neighboring rights to this software to the public domain -" worldwide. This software is distributed without any warranty. -" You should have received a copy of the CC0 Public Domain Dedication along -" with this software. If not, see -" . - -" Only load this indent file when no other was loaded. -if exists('b:did_indent') - finish -endif -let b:did_indent = 1 - -setlocal nolisp -setlocal autoindent -setlocal indentexpr=GetPythonPEPIndent(v:lnum) -setlocal indentkeys=!^F,o,O,<:>,0),0],0},=elif,=except - -if !exists('g:python_pep8_indent_multiline_string') - let g:python_pep8_indent_multiline_string = 0 -endif - -if !exists('g:python_pep8_indent_hang_closing') - let g:python_pep8_indent_hang_closing = 0 -endif - -" TODO: check required patch for timeout argument, likely lower than 7.3.429 though. -if !exists('g:python_pep8_indent_searchpair_timeout') - if has('patch-8.0.1483') - let g:python_pep8_indent_searchpair_timeout = 150 - else - let g:python_pep8_indent_searchpair_timeout = 0 - endif -endif - -let s:block_rules = { - \ '^\s*elif\>': [['if', 'elif'], ['else']], - \ '^\s*except\>': [['try', 'except'], []], - \ '^\s*finally\>': [['try', 'except', 'else'], []] - \ } -let s:block_rules_multiple = { - \ '^\s*else\>': [['if', 'elif', 'for', 'try', 'except'], []] - \ } -" Pairs to look for when searching for opening parenthesis. -" The value is the maximum offset in lines. -let s:paren_pairs = {'()': 50, '[]': 100, '{}': 1000} - -if &filetype ==# 'pyrex' || &filetype ==# 'cython' - let b:control_statement = '\v^\s*(class|def|if|while|with|for|except|cdef|cpdef)>' -else - let b:control_statement = '\v^\s*(class|def|if|while|with|for|except)>' -endif -let s:stop_statement = '^\s*\(break\|continue\|raise\|return\|pass\)\>' - -let s:skip_after_opening_paren = 'synIDattr(synID(line("."), col("."), 0), "name") ' . - \ '=~? "\\vcomment|jedi\\S"' - -let s:special_chars_syn_pattern = "\\vstring|comment|^pythonbytes%(contents)=$|pythonTodo|jedi\\S" - -if !get(g:, 'python_pep8_indent_skip_concealed', 0) || !has('conceal') - " Skip strings and comments. Return 1 for chars to skip. - " jedi* refers to syntax definitions from jedi-vim for call signatures, which - " are inserted temporarily into the buffer. - function! s:_skip_special_chars(line, col) - return synIDattr(synID(a:line, a:col, 0), 'name') - \ =~? s:special_chars_syn_pattern - endfunction -else - " Also ignore anything concealed. - " TODO: doc; likely only necessary with jedi-vim, where a better version is - " planned (https://github.com/Vimjas/vim-python-pep8-indent/pull/98). - - " Wrapper around synconcealed for older Vim (7.3.429, used on Travis CI). - function! s:is_concealed(line, col) - let concealed = synconcealed(a:line, a:col) - return len(concealed) && concealed[0] - endfunction - - function! s:_skip_special_chars(line, col) - return synIDattr(synID(a:line, a:col, 0), 'name') - \ =~? s:special_chars_syn_pattern - \ || s:is_concealed(a:line, a:col) - endfunction -endif - -" Use 'shiftwidth()' instead of '&sw'. -" (Since Vim patch 7.3.629, 'shiftwidth' can be set to 0 to follow 'tabstop'). -if exists('*shiftwidth') - function! s:sw() - return shiftwidth() - endfunction -else - function! s:sw() - return &shiftwidth - endfunction -endif - -" Find backwards the closest open parenthesis/bracket/brace. -function! s:find_opening_paren(lnum, col) - " Return if cursor is in a comment. - if synIDattr(synID(a:lnum, a:col, 0), 'name') =~? 'comment' - return [0, 0] - endif - - call cursor(a:lnum, a:col) - - let nearest = [0, 0] - let timeout = g:python_pep8_indent_searchpair_timeout - let skip_special_chars = 's:_skip_special_chars(line("."), col("."))' - for [p, maxoff] in items(s:paren_pairs) - let stopline = max([0, line('.') - maxoff, nearest[0]]) - let next = searchpairpos( - \ '\V'.p[0], '', '\V'.p[1], 'bnW', skip_special_chars, stopline, timeout) - if next[0] && (next[0] > nearest[0] || (next[0] == nearest[0] && next[1] > nearest[1])) - let nearest = next - endif - endfor - return nearest -endfunction - -" Find the start of a multi-line statement -function! s:find_start_of_multiline_statement(lnum) - let lnum = a:lnum - while lnum > 0 - if getline(lnum - 1) =~# '\\$' - let lnum = prevnonblank(lnum - 1) - else - let [paren_lnum, _] = s:find_opening_paren(lnum, 1) - if paren_lnum < 1 - return lnum - else - let lnum = paren_lnum - endif - endif - endwhile -endfunction - -" Find possible indent(s) of the block starter that matches the current line. -function! s:find_start_of_block(lnum, types, skip, multiple) abort - let r = [] - let re = '\V\^\s\*\('.join(a:types, '\|').'\)\>' - if !empty(a:skip) - let re_skip = '\V\^\s\*\('.join(a:skip, '\|').'\)\>' - else - let re_skip = '' - endif - let last_indent = indent(a:lnum) + 1 - let lnum = a:lnum - 1 - while lnum > 0 && last_indent > 0 - let indent = indent(lnum) - if indent < last_indent - let line = getline(lnum) - if !empty(re_skip) && line =~# re_skip - let last_indent = indent - elseif line =~# re - if !a:multiple - return [indent] - endif - if index(r, indent) == -1 - let r += [indent] - endif - let last_indent = indent - endif - endif - let lnum = prevnonblank(lnum - 1) - endwhile - return r -endfunction - -" Is "expr" true for every position in "lnum", beginning at "start"? -" (optionally up to a:1 / 4th argument) -function! s:match_expr_on_line(expr, lnum, start, ...) - let text = getline(a:lnum) - let end = a:0 ? a:1 : len(text) - if a:start > end - return 1 - endif - let save_pos = getpos('.') - let r = 1 - for i in range(a:start, end) - call cursor(a:lnum, i) - if !(eval(a:expr) || text[i-1] =~# '\s') - let r = 0 - break - endif - endfor - call setpos('.', save_pos) - return r -endfunction - -" Line up with open parenthesis/bracket/brace. -function! s:indent_like_opening_paren(lnum) - let [paren_lnum, paren_col] = s:find_opening_paren(a:lnum, 1) - if paren_lnum <= 0 - return -2 - endif - let text = getline(paren_lnum) - let base = indent(paren_lnum) - - let nothing_after_opening_paren = s:match_expr_on_line( - \ s:skip_after_opening_paren, paren_lnum, paren_col+1) - let starts_with_closing_paren = getline(a:lnum) =~# '^\s*[])}]' - - let hang_closing = get(b:, 'python_pep8_indent_hang_closing', - \ get(g:, 'python_pep8_indent_hang_closing', 0)) - - if nothing_after_opening_paren - if starts_with_closing_paren && !hang_closing - let res = base - else - let res = base + s:sw() - - " Special case for parenthesis. - if text[paren_col-1] ==# '(' && getline(a:lnum) !~# '\v\)\s*:?\s*$' - return res - endif - endif - else - " Indent to match position of opening paren. - let res = paren_col - endif - - " If this line is the continuation of a control statement - " indent further to distinguish the continuation line - " from the next logical line. - if text =~# b:control_statement && res == base + s:sw() - " But only if not inside parens itself (Flake's E127). - let [paren_lnum, _] = s:find_opening_paren(paren_lnum, 1) - if paren_lnum <= 0 - return res + s:sw() - endif - endif - return res -endfunction - -" Match indent of first block of this type. -function! s:indent_like_block(lnum) - let text = getline(a:lnum) - for [multiple, block_rules] in [ - \ [0, s:block_rules], - \ [1, s:block_rules_multiple], - \ ] - for [line_re, blocks_ignore] in items(block_rules) - if text !~# line_re - continue - endif - - let [blocks, skip] = blocks_ignore - let indents = s:find_start_of_block(a:lnum, blocks, skip, multiple) - if empty(indents) - return -1 - endif - if len(indents) == 1 - return indents[0] - endif - - " Multiple valid indents, e.g. for 'else' with both try and if. - let indent = indent(a:lnum) - if index(indents, indent) != -1 - " The indent is valid, keep it. - return indent - endif - " Fallback to the first/nearest one. - return indents[0] - endfor - endfor - return -2 -endfunction - -function! s:indent_like_previous_line(lnum) - let lnum = prevnonblank(a:lnum - 1) - - " No previous line, keep current indent. - if lnum < 1 - return -1 - endif - - let text = getline(lnum) - let start = s:find_start_of_multiline_statement(lnum) - let base = indent(start) - let current = indent(a:lnum) - - " Ignore last character in previous line? - let lastcol = len(text) - let col = lastcol - - " Search for final colon that is not inside something to be ignored. - while 1 - if col == 1 | break | endif - if text[col-1] =~# '\s' || s:_skip_special_chars(lnum, col) - let col = col - 1 - continue - elseif text[col-1] ==# ':' - return base + s:sw() - endif - break - endwhile - - if text =~# '\\$' && !s:_skip_special_chars(lnum, lastcol) - " If this line is the continuation of a control statement - " indent further to distinguish the continuation line - " from the next logical line. - if getline(start) =~# b:control_statement - return base + s:sw() * 2 - endif - - " Nest (other) explicit continuations only one level deeper. - return base + s:sw() - endif - - let empty = getline(a:lnum) =~# '^\s*$' - - " Current and prev line are empty, next is not -> indent like next. - if empty && a:lnum > 1 && - \ (getline(a:lnum - 1) =~# '^\s*$') && - \ !(getline(a:lnum + 1) =~# '^\s*$') - return indent(a:lnum + 1) - endif - - " If the previous statement was a stop-execution statement or a pass - if getline(start) =~# s:stop_statement - " Remove one level of indentation if the user hasn't already dedented - if empty || current > base - s:sw() - return base - s:sw() - endif - " Otherwise, trust the user - return -1 - endif - - if (current || !empty) && s:is_dedented_already(current, base) - return -1 - endif - - " In all other cases, line up with the start of the previous statement. - return base -endfunction - -" If this line is dedented and the number of indent spaces is valid -" (multiple of the indentation size), trust the user. -function! s:is_dedented_already(current, base) - let dedent_size = a:current - a:base - return (dedent_size < 0 && a:current % s:sw() == 0) ? 1 : 0 -endfunction - -" Is the syntax at lnum (and optionally cnum) a python string? -function! s:is_python_string(lnum, ...) - let line = getline(a:lnum) - if a:0 - let cols = type(a:1) != type([]) ? [a:1] : a:1 - else - let cols = range(1, max([1, len(line)])) - endif - for cnum in cols - if match(map(synstack(a:lnum, cnum), - \ "synIDattr(v:val, 'name')"), 'python\S*String') == -1 - return 0 - end - endfor - return 1 -endfunction - -function! GetPythonPEPIndent(lnum) - " First line has indent 0 - if a:lnum == 1 - return 0 - endif - - let line = getline(a:lnum) - let prevline = getline(a:lnum-1) - - " Multilinestrings: continous, docstring or starting. - if s:is_python_string(a:lnum-1, max([1, len(prevline)])) - \ && (s:is_python_string(a:lnum, 1) - \ || match(line, '^\%("""\|''''''\)') != -1) - - " Indent closing quotes as the line with the opening ones. - let match_quotes = match(line, '^\s*\zs\%("""\|''''''\)') - if match_quotes != -1 - " closing multiline string - let quotes = line[match_quotes:(match_quotes+2)] - call cursor(a:lnum, 1) - let pairpos = searchpairpos(quotes, '', quotes, 'bW', '', 0, g:python_pep8_indent_searchpair_timeout) - if pairpos[0] != 0 - return indent(pairpos[0]) - else - return -1 - endif - endif - - if s:is_python_string(a:lnum-1) - " Previous line is (completely) a string: keep current indent. - return -1 - endif - - if match(prevline, '^\s*\%("""\|''''''\)') != -1 - " docstring. - return indent(a:lnum-1) - endif - - let indent_multi = get(b:, 'python_pep8_indent_multiline_string', - \ get(g:, 'python_pep8_indent_multiline_string', 0)) - if match(prevline, '\v%("""|'''''')$') != -1 - " Opening multiline string, started in previous line. - if (&autoindent && indent(a:lnum) == indent(a:lnum-1)) - \ || match(line, '\v^\s+$') != -1 - " with empty line or to split up 'foo("""bar' into - " 'foo("""' and 'bar'. - if indent_multi == -2 - return indent(a:lnum-1) + s:sw() - endif - return indent_multi - endif - endif - - " Keep existing indent. - if match(line, '\v^\s*\S') != -1 - return -1 - endif - - if indent_multi != -2 - return indent_multi - endif - - return s:indent_like_opening_paren(a:lnum) - endif - - " Parens: If we can find an open parenthesis/bracket/brace, line up with it. - let indent = s:indent_like_opening_paren(a:lnum) - if indent >= -1 - return indent - endif - - " Blocks: Match indent of first block of this type. - let indent = s:indent_like_block(a:lnum) - if indent >= -1 - return indent - endif - - return s:indent_like_previous_line(a:lnum) -endfunction diff --git a/.vim_runtime/sources_non_forked/vim-python-pep8-indent/spec/make-coverage b/.vim_runtime/sources_non_forked/vim-python-pep8-indent/spec/make-coverage deleted file mode 100644 index f425496..0000000 --- a/.vim_runtime/sources_non_forked/vim-python-pep8-indent/spec/make-coverage +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh - -set -ex - -rm -f .coverage_covimerage -export PYTHON_PEP8_INDENT_TEST_PROFILE_BASE=/tmp/vim-python-pep8-profile - -Xvfb :99 2>/dev/null >&2 & -export DISPLAY=:99 - -export VIMRUNNER_REUSE_SERVER=1 - -ret=0 -for file in ./spec/indent/*_spec.rb; do - # shellcheck disable=SC2086 - bundle exec rspec "$file" $RSPEC_OPTIONS || ret=1 - - for p in "${PYTHON_PEP8_INDENT_TEST_PROFILE_BASE}".*; do - covimerage write_coverage --append "$p" - rm "$p" - covimerage report -m - done -done -exit $ret diff --git a/.vim_runtime/sources_non_forked/vim-python-pep8-indent/spec/spec_helper.rb b/.vim_runtime/sources_non_forked/vim-python-pep8-indent/spec/spec_helper.rb deleted file mode 100644 index c6cc517..0000000 --- a/.vim_runtime/sources_non_forked/vim-python-pep8-indent/spec/spec_helper.rb +++ /dev/null @@ -1,70 +0,0 @@ -require 'vimrunner' -require 'vimrunner/rspec' -require 'vimrunner/server' - -# Explicitly enable usage of "should". -RSpec.configure do |config| - config.expect_with(:rspec) { |c| c.syntax = :should } -end - -Vimrunner::RSpec.configure do |config| - # Use a single Vim instance for the test suite. Set to false to use an - # instance per test (slower, but can be easier to manage). - # This requires using gvim, otherwise it hangs after a few tests. - config.reuse_server = ENV['VIMRUNNER_REUSE_SERVER'] == '1' ? true : false - - config.start_vim do - exe = config.reuse_server ? Vimrunner::Platform.gvim : Vimrunner::Platform.vim - vimrc = File.expand_path("../vimrc", __FILE__) - vim = Vimrunner::Server.new(:executable => exe, - :vimrc => vimrc).start - # More friendly killing. - # Otherwise profiling information might not be written. - def vim.kill - normal(':qall!') - - Timeout.timeout(5) do - sleep 0.1 while server.running? - end - end - - plugin_path = File.expand_path('../..', __FILE__) - vim.command "set rtp^=#{plugin_path}" - vim.command "set filetype=python" - - def shiftwidth - @shiftwidth ||= vim.echo("exists('*shiftwidth') ? shiftwidth() : &sw").to_i - end - def tabstop - @tabstop ||= vim.echo("&tabstop").to_i - end - def indent - vim.echo("indent('.')").to_i - end - def previous_indent - pline = vim.echo("line('.')").to_i - 1 - vim.echo("indent('#{pline}')").to_i - end - def proposed_indent - line = vim.echo("line('.')") - col = vim.echo("col('.')") - indent_value = vim.echo("GetPythonPEPIndent(#{line})").to_i - vim.command("call cursor(#{line}, #{col})") - return indent_value - end - def multiline_indent(prev, default) - i = vim.echo("get(g:, 'python_pep8_indent_multiline_string', 0)").to_i - return (i == -2 ? default : i), i < 0 ? (i == -1 ? prev : default) : i - end - def hang_closing - i = vim.echo("get(g:, 'python_pep8_indent_hang_closing', 0)").to_i - return (i != 0) - end - def set_hang_closing(value) - i = value ? 1 : 0 - vim.command("let g:python_pep8_indent_hang_closing=#{i}") - end - - vim - end -end diff --git a/.vim_runtime/sources_non_forked/vim-python-pep8-indent/spec/vimrc b/.vim_runtime/sources_non_forked/vim-python-pep8-indent/spec/vimrc deleted file mode 100644 index e549f80..0000000 --- a/.vim_runtime/sources_non_forked/vim-python-pep8-indent/spec/vimrc +++ /dev/null @@ -1,22 +0,0 @@ -" vint: -ProhibitSetNoCompatible -set nocompatible - -filetype plugin on -filetype indent on -syntax on - -set noswapfile nobackup - -" remove default ~/.vim directories to avoid loading plugins -set runtimepath-=~/.vim -set runtimepath-=~/.vim/after - -let sfile = expand('') -let plugin_path = fnamemodify(sfile, ':p:h:h') -exe 'set runtimepath^='.plugin_path - -if !empty($PYTHON_PEP8_INDENT_TEST_PROFILE_BASE) - execute printf('profile start %s.%s', - \ $PYTHON_PEP8_INDENT_TEST_PROFILE_BASE, getpid()) - execute 'profile! file '. plugin_path . '/indent/python.vim' -endif diff --git a/.vim_runtime/sources_non_forked/vim-repeat/.github/FUNDING.yml b/.vim_runtime/sources_non_forked/vim-repeat/.github/FUNDING.yml deleted file mode 100644 index e2a49d1..0000000 --- a/.vim_runtime/sources_non_forked/vim-repeat/.github/FUNDING.yml +++ /dev/null @@ -1,2 +0,0 @@ -github: tpope -custom: ["https://www.paypal.me/vimpope"] diff --git a/.vim_runtime/sources_non_forked/vim-repeat/README.markdown b/.vim_runtime/sources_non_forked/vim-repeat/README.markdown deleted file mode 100644 index 699dae5..0000000 --- a/.vim_runtime/sources_non_forked/vim-repeat/README.markdown +++ /dev/null @@ -1,51 +0,0 @@ - -README.markdown

repeat.vim

- -

If you’ve ever tried using the . command after a plugin map, you were -likely disappointed to discover it only repeated the last native command -inside that map, rather than the map as a whole. That disappointment -ends today. Repeat.vim remaps . in a way that plugins can tap into -it.

- -

The following plugins support repeat.vim:

- - - -

Adding support to a plugin is generally as simple as the following -command at the end of your map functions.

- -
silent! call repeat#set("\<Plug>MyWonderfulMap", v:count)
- -

Installation

- -

Install using your favorite package manager, or use Vim’s built-in package -support:

- -
mkdir -p ~/.vim/pack/tpope/start
-cd ~/.vim/pack/tpope/start
-git clone https://tpope.io/vim/repeat.git
- -

Contributing

- -

See the contribution guidelines for -pathogen.vim.

- -

Self-Promotion

- -

Like repeat.vim? Follow the repository on -GitHub and vote for it on -vim.org. And if -you’re feeling especially charitable, follow tpope on -Twitter and -GitHub.

- -

License

- -

Copyright © Tim Pope. Distributed under the same terms as Vim itself. -See :help license.

diff --git a/.vim_runtime/sources_non_forked/vim-repeat/autoload/repeat.vim b/.vim_runtime/sources_non_forked/vim-repeat/autoload/repeat.vim deleted file mode 100644 index 708c318..0000000 --- a/.vim_runtime/sources_non_forked/vim-repeat/autoload/repeat.vim +++ /dev/null @@ -1,165 +0,0 @@ -" repeat.vim - Let the repeat command repeat plugin maps -" Maintainer: Tim Pope -" Version: 1.2 -" GetLatestVimScripts: 2136 1 :AutoInstall: repeat.vim - -" Installation: -" Place in either ~/.vim/plugin/repeat.vim (to load at start up) or -" ~/.vim/autoload/repeat.vim (to load automatically as needed). -" -" License: -" Copyright (c) Tim Pope. Distributed under the same terms as Vim itself. -" See :help license -" -" Developers: -" Basic usage is as follows: -" -" silent! call repeat#set("\MappingToRepeatCommand",3) -" -" The first argument is the mapping that will be invoked when the |.| key is -" pressed. Typically, it will be the same as the mapping the user invoked. -" This sequence will be stuffed into the input queue literally. Thus you must -" encode special keys by prefixing them with a backslash inside double quotes. -" -" The second argument is the default count. This is the number that will be -" prefixed to the mapping if no explicit numeric argument was given. The -" value of the v:count variable is usually correct and it will be used if the -" second parameter is omitted. If your mapping doesn't accept a numeric -" argument and you never want to receive one, pass a value of -1. -" -" Make sure to call the repeat#set function _after_ making changes to the -" file. -" -" For mappings that use a register and want the same register used on -" repetition, use: -" -" silent! call repeat#setreg("\MappingToRepeatCommand", v:register) -" -" This function can (and probably needs to be) called before making changes to -" the file (as those typically clear v:register). Therefore, the call sequence -" in your mapping will look like this: -" -" nnoremap MyMap -" \ :execute 'silent! call repeat#setreg("\Plug>MyMap", v:register)' -" \ call MyFunction(v:register, ...) -" \ silent! call repeat#set("\Plug>MyMap") - -if exists("g:loaded_repeat") || &cp || v:version < 700 - finish -endif -let g:loaded_repeat = 1 - -let g:repeat_tick = -1 -let g:repeat_reg = ['', ''] - -" Special function to avoid spurious repeats in a related, naturally repeating -" mapping when your repeatable mapping doesn't increase b:changedtick. -function! repeat#invalidate() - autocmd! repeat_custom_motion - let g:repeat_tick = -1 -endfunction - -function! repeat#set(sequence,...) - let g:repeat_sequence = a:sequence - let g:repeat_count = a:0 ? a:1 : v:count - let g:repeat_tick = b:changedtick - augroup repeat_custom_motion - autocmd! - autocmd CursorMoved let g:repeat_tick = b:changedtick | autocmd! repeat_custom_motion - augroup END -endfunction - -function! repeat#setreg(sequence,register) - let g:repeat_reg = [a:sequence, a:register] -endfunction - - -function! s:default_register() - let values = split(&clipboard, ',') - if index(values, 'unnamedplus') != -1 - return '+' - elseif index(values, 'unnamed') != -1 - return '*' - else - return '"' - endif -endfunction - -function! repeat#run(count) - try - if g:repeat_tick == b:changedtick - let r = '' - if g:repeat_reg[0] ==# g:repeat_sequence && !empty(g:repeat_reg[1]) - " Take the original register, unless another (non-default, we - " unfortunately cannot detect no vs. a given default register) - " register has been supplied to the repeat command (as an - " explicit override). - let regname = v:register ==# s:default_register() ? g:repeat_reg[1] : v:register - if regname ==# '=' - " This causes a re-evaluation of the expression on repeat, which - " is what we want. - let r = '"=' . getreg('=', 1) . "\" - else - let r = '"' . regname - endif - endif - - let c = g:repeat_count - let s = g:repeat_sequence - let cnt = c == -1 ? "" : (a:count ? a:count : (c ? c : '')) - if ((v:version == 703 && has('patch100')) || (v:version == 704 && !has('patch601'))) - exe 'norm ' . r . cnt . s - elseif v:version <= 703 - call feedkeys(r . cnt, 'n') - call feedkeys(s, '') - else - call feedkeys(s, 'i') - call feedkeys(r . cnt, 'ni') - endif - else - if ((v:version == 703 && has('patch100')) || (v:version == 704 && !has('patch601'))) - exe 'norm! '.(a:count ? a:count : '') . '.' - else - call feedkeys((a:count ? a:count : '') . '.', 'ni') - endif - endif - catch /^Vim(normal):/ - return 'echoerr v:errmsg' - endtry - return '' -endfunction - -function! repeat#wrap(command,count) - let preserve = (g:repeat_tick == b:changedtick) - call feedkeys((a:count ? a:count : '').a:command, 'n') - exe (&foldopen =~# 'undo\|all' ? 'norm! zv' : '') - if preserve - let g:repeat_tick = b:changedtick - endif -endfunction - -nnoremap (RepeatDot) :exe repeat#run(v:count) -nnoremap (RepeatUndo) :call repeat#wrap('u',v:count) -nnoremap (RepeatUndoLine) :call repeat#wrap('U',v:count) -nnoremap (RepeatRedo) :call repeat#wrap("\C-R>",v:count) - -if !hasmapto('(RepeatDot)', 'n') - nmap . (RepeatDot) -endif -if !hasmapto('(RepeatUndo)', 'n') - nmap u (RepeatUndo) -endif -if maparg('U','n') ==# '' && !hasmapto('(RepeatUndoLine)', 'n') - nmap U (RepeatUndoLine) -endif -if !hasmapto('(RepeatRedo)', 'n') - nmap (RepeatRedo) -endif - -augroup repeatPlugin - autocmd! - autocmd BufLeave,BufWritePre,BufReadPre * let g:repeat_tick = (g:repeat_tick == b:changedtick || g:repeat_tick == 0) ? 0 : -1 - autocmd BufEnter,BufWritePost * if g:repeat_tick == 0|let g:repeat_tick = b:changedtick|endif -augroup END - -" vim:set ft=vim et sw=4 sts=4: diff --git a/.vim_runtime/sources_non_forked/vim-ruby/.gitignore b/.vim_runtime/sources_non_forked/vim-ruby/.gitignore deleted file mode 100644 index 926ccaa..0000000 --- a/.vim_runtime/sources_non_forked/vim-ruby/.gitignore +++ /dev/null @@ -1 +0,0 @@ -doc/tags diff --git a/.vim_runtime/sources_non_forked/vim-ruby/.rspec b/.vim_runtime/sources_non_forked/vim-ruby/.rspec deleted file mode 100644 index 4e1e0d2..0000000 --- a/.vim_runtime/sources_non_forked/vim-ruby/.rspec +++ /dev/null @@ -1 +0,0 @@ ---color diff --git a/.vim_runtime/sources_non_forked/vim-ruby/CONTRIBUTORS b/.vim_runtime/sources_non_forked/vim-ruby/CONTRIBUTORS deleted file mode 100644 index 732f0cf..0000000 --- a/.vim_runtime/sources_non_forked/vim-ruby/CONTRIBUTORS +++ /dev/null @@ -1,19 +0,0 @@ -Maintainers: - Mark Guzman - Doug Kearns - Tim Pope - Andrew Radev - Nikolai Weibull - -Other contributors: - Michael Brailsford - Sean Flanagan - Tim Hammerquist - Ken Miller - Hugh Sasse - Tilman Sauerbeck - Bertram Scharpf - Gavin Sinclair - Aaron Son - Ned Konz - Pan Thomakos diff --git a/.vim_runtime/sources_non_forked/vim-ruby/ChangeLog b/.vim_runtime/sources_non_forked/vim-ruby/ChangeLog deleted file mode 100644 index 65b659f..0000000 --- a/.vim_runtime/sources_non_forked/vim-ruby/ChangeLog +++ /dev/null @@ -1,1579 +0,0 @@ -This file is no longer maintained. Consult the Git log for newer changes. - -2009-09-27 Mark Guzman - - * autoload/rubycomplete.vim: pplying a patch from Yoshimasa Niwa resolving - a possible runaway CPU issue when matching context regexes - -2008-08-11 Doug Kearns - - * ftdetect/ruby.vim: match irbrc as a Ruby filetype - -2008-07-15 Doug Kearns - - * FAQ, README, etc/website/index.html: update the references to - RubyGarden's VimRubySupport page - -2008-07-08 Doug Kearns - - * NEWS: begin updating for the pending release - -2008-06-29 Mark Guzman - - * autoload/rubycomplete.vim: resolve a typo in the configuration initialization - section - -2008-06-29 Tim Pope - - * syntax/ruby.vim: revert highlighting of - as number - -2008-06-29 Tim Pope - - * indent/eruby.vim: fix quirk in optional argument handling - -2008-06-29 Tim Pope - - * syntax/ruby.vim: don't match $_foo as an invalid variable - -2008-04-25 Tim Pope - - * ftplugin/eruby.vim, syntax/eruby.vim: guard against recursion - -2008-04-21 Tim Pope - - * indent/eruby.vim: don't let ruby indent %> lines - * indent/ruby.vim: hack around <%= and <%- from eruby - -2008-04-20 Tim Pope - - * syntax/ruby.vim: don't highlight x /= y as regexp - -2008-02-17 Tim Pope - - * indent/ruby.vim: Copy previous string indent inside strings - -2008-02-13 Tim Pope - - * syntax/ruby.vim: keepend on // regexps and add \/ escape - -2008-02-01 Mark Guzman - - * autoload/rubycomplete.vim: switch vim variable checking to a more - rubyish method - -2008-01-31 Tim Pope - - * indent/eruby.vim: setlocal, not set indentexpr - -2008-01-28 Tim Pope - - * syntax/ruby.vim: better heuristic for regexps as method arguments - -2008-01-25 Tim Pope - - * syntax/ruby.vim: highlight several regexp constructs - -2008-01-21 Tim Pope - - * indent/eruby.vim: per Bram's advice, use 'W' searchpair flag - -2008-01-21 Tim Pope - - * indent/eruby.vim: indent { and } like do and end - -2007-12-17 Tim Pope - - * indent/eruby.vim: treat <%- like <% - -2007-10-01 Tim Pope - - * syntax/ruby.vim: removed some false positives (e.g., include?, nil?) - -2007-09-14 Tim Pope - - * compiler/rspec.vim: new compiler plugin for rspec - -2007-09-06 Tim Pope - - * syntax/eruby.vim: remove Vim 5.x specific sections - * syntax/ruby.vim: highlight negative sign in numbers - -2007-08-07 Tim Pope - - * indent/ruby.vim: fix while/until/for match in skip regexp - -2007-07-30 Tim Pope - - * syntax/ruby.vim: highlight undef like def - -2007-07-16 Tim Pope - - * indent/ruby.vim: prevent symbols like :for from indenting - -2007-07-14 Tim Pope - - * syntax/eruby.vim: fixed ALLBUT clauses to refer to right group - -2007-06-22 Tim Pope - - * syntax/ruby.vim: include operator highlighting in class/module - declarations (for ::) - -2007-06-04 Tim Pope - - * syntax/ruby.vim: fixed %s() highlighting - -2007-05-26 Tim Pope - - * syntax/ruby.vim: added rubyBlockParameter to @rubyNoTop - -2007-05-25 Tim Pope - - * indent/ruby.vim: removed string delimiters from string matches - -2007-05-25 Tim Pope - - * syntax/ruby.vim: cleaned up string highlighting - * indent/ruby.vim: lines starting with strings are no longer ignored - -2007-05-22 Tim Pope - - * syntax/ruby.vim: made module declaration match mirror class - declaration match - * ftdetect/ruby.vim: added .irbrc - -2007-05-16 Tim Pope - - * syntax/ruby.vim: revert from using TOP to ALLBUT - -2007-05-15 Tim Pope - - * syntax/eruby.vim: handle %%> properly - -2007-05-14 Tim Pope - - * syntax/ruby.vim: fixed problem highlighting [foo[:bar]] - * syntax/ruby.vim: don't highlight = in {:foo=>"bar"} - -2007-05-11 Tim Pope - - * indent/eruby.vim: GetRubyIndent() takes an argument for debugging - * doc/ft-ruby-syntax.txt: clean up some cruft - -2007-05-09 Tim Pope - - * syntax/ruby.vim: added module_function keyword - -2007-05-06 Tim Pope - - * doc/ft-ruby-syntax.txt: bring into sync with upstream - * ftdetect/ruby.vim: Rails extensions - -2007-05-06 Tim Pope - - * NEWS: update documentation for next release - * syntax/eruby.vim: allow for nesting (foo.erb.erb) - * syntax/ruby.vim: removed : from rubyOptionalDoLine (falsely matches - on symbols, and the syntax is deprecated anyways) - -2007-05-06 Tim Pope - - * ftplugin/ruby.vim: maps for [[, ]], [], ][, [m, ]m, [M, ]M - -2007-05-06 Tim Pope - - * ftplugin/eruby.vim, syntax/eruby.vim: added a default subtype option - -2007-05-06 Tim Pope - - * syntax/ruby.vim: Highlight punctuation variables in string - interpolation, and flag invalid ones as errors - -2007-05-05 Tim Pope - - * syntax/ruby.vim: eliminated some false positves for here docs, - symbols, ASCII codes, and conditionals as statement modifiers - * syntax/ruby.vim: added "neus" to regexp flags - -2007-04-24 Tim Pope - - * ftplugin/eruby.vim, syntax/eruby.vim: fixed typo in subtype - detection - -2007-04-20 Tim Pope - - * ftplugin/eruby.vim, syntax/eruby.vim: refined subtype detection - -2007-04-17 Tim Pope - - * syntax/ruby.vim: highlight %s() as a symbol, not a string - * ftplugin/eruby.vim: determine and use eruby subtype - -2007-04-16 Tim Pope - - * ftplugin/ruby.vim: add *.erb to the browse filter - * indent/eruby.vim: use 'indentexpr' from subtype - -2007-04-16 Tim Pope - - * ftdetect/ruby.vim: detect *.erb as eruby - * syntax/eruby.vim: determine subtype by inspecting filename - -2007-04-03 Doug Kearns - - * syntax/ruby.vim: allow text to appear after, and on the same line, - as '=begin' in rubyDocumentation regions - -2007-03-31 Doug Kearns - - * ftplugin/ruby.vim: add break, redo, next, and retry to b:match_words - -2007-03-28 Doug Kearns - - * syntax/ruby.vim: add matchgroup to rubyArrayLiteral so that - contained square brackets do not match in the start/end patterns - -2007-03-28 Doug Kearns - - * syntax/ruby.vim: don't match [!=?] as part of a sigil prefixed - symbol name - -2007-03-28 Doug Kearns - - * syntax/ruby.vim: rename the rubyNoDoBlock, rubyCaseBlock, - rubyConditionalBlock, and rubyOptionalDoBlock syntax groups to - rubyBlockExpression, rubyCaseExpression, rubyConditionalExpression, - and rubyRepeatExpression respectively - -2007-03-28 Doug Kearns - - * syntax/ruby.vim: remove accidentally included matchgroup from - rubyArrayLiteral - -2007-03-20 Doug Kearns - - * indent/ruby.vim: ignore instance, class, and global variables named - "end" when looking to deindent the closing end token - -2007-03-20 Doug Kearns - - * syntax/ruby.vim, syntax/eruby.vim: remove the Vim version 5 - compatibility code - -2007-03-20 Doug Kearns - - * syntax/ruby.vim: add rubyArrayLiteral syntax group for folding - multiline array literals - -2007-03-19 Doug Kearns - - * syntax/ruby.vim: highlight the scope and range operators when - ruby_operators is set; simplify block parameter highlighting by adding - the rubyBlockParameterList syntax group - -2007-03-17 Doug Kearns - - * syntax/ruby.vim: when ruby_operators is set don't match '>' in '=>'; - fix some minor bugs in the highlighting of pseudo operators and - contain TOP in rubyBracketOperator - -2007-03-17 Doug Kearns - - * syntax/ruby.vim: allow regexp literals to be highlighted after the - 'else' keyword - -2007-03-09 Tim Pope - - * syntax/ruby.vim: Added OPTIMIZE alongside FIXME and TODO. Mirrors - Edge Rails' new annotations extractor tasks. - -2007-03-09 Tim Pope - - * ftplugin/ruby.vim: Skip class= and for= with matchit (really belongs - in ftplugin/eruby.vim). - -2007-03-05 Doug Kearns - - * ftplugin/ruby.vim: add sigil prefixed identifiers to b:match_skip - -2007-03-03 Doug Kearns - - * ftplugin/ruby.vim: simplify the b:match_words pattern by making - better use of b:match_skip in concert with the previous syntax group - additions - -2007-03-03 Doug Kearns - - * syntax/ruby.vim: add rubyConditionalModifier and rubyRepeatModifier - syntax groups for conditional and loop modifiers and match the - optional 'do' or ':' in looping statements with a new rubyOptionalDo - syntax group - -2007-03-02 Doug Kearns - - * NEWS: fix typo - -2007-03-02 Doug Kearns - - * NEWS: update documentation for next release - -2007-03-02 Tim Pope - - * syntax/ruby.vim: Cope with (nonsensical) inclusion of : in - iskeyword. - -2007-03-02 Tim Pope - - * NEWS: Documented changes to omnicompletion. - -2007-03-02 Doug Kearns - - * ftplugin/ruby.vim: refine the conditional/loop expression vs - modifier matchit heuristic - -2007-03-01 Doug Kearns - - * syntax/ruby.vim: refine the conditional/loop expression vs modifier - highlighting heuristic - -2007-02-28 Doug Kearns - - * syntax/ruby.vim: highlight conditional and loop expressions properly - when used with the ternary operator and in blocks - -2007-02-28 Doug Kearns - - * NEWS, CONTRIBUTORS: update documentation for next release - -2007-02-27 Tim Pope - - * ftplugin/ruby.vim: Provide 'balloonexpr'. - -2007-02-27 Doug Kearns - - * syntax/ruby.vim: add rubyPredefinedVariable to short-form - rubyInterpolation's contains list - -2007-02-27 Doug Kearns - - * syntax/ruby.vim: :retab! the file to save a few bytes - -2007-02-26 Tim Pope - - * syntax/ruby.vim: Limit then, else, elsif, and when to inside - conditional statements. - -2007-02-26 Doug Kearns - - * syntax/ruby.vim: make sure 'class << self' is always highlighted - -2007-02-26 Doug Kearns - - * syntax/ruby.vim: reorganise string interpolation syntax groups - -2007-02-26 Doug Kearns - - * syntax/ruby.vim: highlight interpolation regions preceded by - multiple backslashes properly - -2007-02-26 Doug Kearns - - * syntax/ruby.vim: highlight methods named "end" when the definition - is distributed over multiple lines (i.e. allow more "def end" madness) - -2007-02-25 Tim Pope - - * syntax/ruby.vim: Highlight predefined global variables in aliases. - -2007-02-25 Tim Pope - - * syntax/ruby.vim: Highlight symbols and global variables in aliases. - Highlight capitalized method names. - -2007-02-24 Tim Pope - - * ftplugin/ruby.vim: set keywordprg=ri - - * syntax/ruby.vim: Allow for "def end" madness - -2007-02-24 Doug Kearns - - * syntax/ruby.vim: allow escape sequences and interpolation inside - symbol 'names' specified with a string - -2007-02-24 Doug Kearns - - * syntax/ruby.vim: highlight == and & 'operator' redefinitions - properly - -2007-02-23 Tim Pope - - * doc/ft-ruby-syntax.txt: Recommend hi link rubyIdentifier NONE over - ruby_no_identifiers. - -2007-02-23 Tim Pope - - * syntax/ruby.vim: Fixed method highlighting when not at the end of - the line. Highlight aliases. Account for \ before #{} interpolation. - -2007-02-23 Doug Kearns - - * syntax/ruby.vim: make sure multi-line backslash escaped - interpolation regions are highlighted as rubyString - -2007-02-23 Doug Kearns - - * syntax/ruby.vim: link the rubyLoop syntax group to the Repeat - highlight group - -2007-02-22 Tim Pope - - * indent/eruby.vim: Fixed an edge case. - - * syntax/ruby.vim: Simpler method and class declaration highlighting. - Changed some contains=ALLBUT,... to contains=TOP. Altered some - highlight links: rubyConstant is now Type; rubySymbol is now Constant. - New groups like rubyLoop and rubyCondition. - -2007-02-22 Doug Kearns - - * syntax/ruby.vim: highlight short format interpolated variables - -2007-02-20 Tim Pope - - * syntax/ruby.vim: Place class/module declarations in a separate - group. Allow self to be highlighted in a method declaration. - -2007-02-18 Tim Pope - - * syntax/ruby.vim: Separate Regexp group. Nest Ruby code inside - string interpolation. Restored highlighting of method, class, and - module declarations. - -2007-02-10 Doug Kearns - - * ftplugin/ruby.vim: only reset 'ofu' if it exists and was set by the - ftplugin (for Vim 6 compatibility) - -2007-01-22 Tim Pope - - * ftplugin/ruby.vim: Limited path detection code to Windows, again. - -2006-12-13 Mark Guzman - - * autoload/rubycomplete.vim: added support for lambda and '&' defined - procs. - -2006-12-07 Mark Guzman - - * ftplugin/ruby.vim: modified the path detection code use - the built-in interpreter if it's available in all cases. - -2006-12-04 Tim Pope - - * indent/eruby.vim: Special case for "end" on first line of multi-line - eRuby block. - -2006-12-03 Doug Kearns - - * CONTRIBUTORS: add tpope - -2006-12-01 Mark Guzman - - * ftplugin/ruby.vim: changed the path detection code to use the - built-in interpreter if it's available under windows - -2006-11-30 Mark Guzman - - * autoload/rubycomplete.vim: Display constants as defines. Added a - rails preloading option. Fixed a bug detecting ranges defined with - %r{. Added support for completion in rails migrations. Will now - fail-over to syntax completion automatically, if the vim isn't built - with ruby support. Added support for class detection using - ObjectSpace. Tweeked buffer searching code to find modules/classes - reliably in more cases. - -2006-11-09 Tim Pope - - * indent/ruby.vim: Only increase one 'shiftwidth' after a line ending - with an open parenthesis. - -2006-11-08 Tim Pope - - * indent/eruby.vim: Rearranged keywords; new 'indentkeys' - -2006-11-08 Tim Pope - - * indent/eruby.vim: new indenting algorithm - -2006-11-08 Doug Kearns - - * syntax/ruby.vim: don't include trailing whitespace in matches for - 'def', 'class', and 'module' keywords - -2006-10-28 Doug Kearns - - * syntax/ruby.vim: remove accidently included nextgroup arg in - 'heredoc' syntax group definitions - -2006-10-24 Doug Kearns - - * syntax/eruby.vim: recognise '-' trim mode block delimiters (Nikolai - Weibull) - -2006-09-19 Mark Guzman - - * autoload/rubycomplete.vim: improved rails view support. included - rails helpers in rails completions. kernel elements are also included - in default completions. improved the handling of "broken" code. - -2006-09-07 Mark Guzman - - * autoload/rubycomplete.vim: autoload rubygems if possible. added - debugging print. clean up the buffer loading code a bit - -2006-08-21 Mark Guzman - - * autoload/rubycomplete.vim: modified the buffer loading code to prevent - syntax errors from stopping completion - -2006-07-12 Mark Guzman - - * autoload/rubycomplete.vim: added in-buffer method def handling. also - added an inital attempt at handling completion in a rails view - -2006-07-11 Doug Kearns - - * FAQ, INSTALL, NEWS, README, doc/ft-ruby-syntax.txt: update - documentation for next release - - * ftplugin/ruby.vim: only set 'omnifunc' if Vim has been compiled with - the Ruby interface - -2006-07-10 Doug Kearns - - * syntax/ruby.vim: fold all multiline strings - -2006-06-19 Mark Guzman - - * autoload/rubycomplete.vim: modified to change the default - buffer loading behavior. buffers are no longer loaded/parsed - automatically. enabling this feature requires setting the - variable g:rubycomplete_buffer_loading. this was done as - a security measure, the default vim7 install should not - execute any code. - - * autoload/rubycomplete.vim: symbol completion now works. i - tested with global symbols as well as rails symbols. - -2006-05-26 Doug Kearns - - * ftplugin/ruby.vim: fix typo - -2006-05-25 Mark Guzman - - * autoload/rubycomplete.vim: added rails column support. - switched to dictionary with type specifiers for methods, - classes, and variables. started/added rails 1.0 support. - added rails database connection support. - -2006-05-25 Doug Kearns - - * syntax/ruby.vim: use a region for the rubyMultiLineComment syntax - group instead of a multiline match pattern as it is faster; rename - rubyMultiLineComment to rubyMultilineComment - -2006-05-13 Doug Kearns - - * ftplugin/ruby.vim: test for '&omnifunc', rather than the Vim - version, before setting it; add omnifunc to b:undo_ftplugin - -2006-05-12 Doug Kearns - - * syntax/ruby.vim: match the pseudo operators such as '+=' when - ruby_operators is defined - -2006-05-11 Mark Guzman - - * autoload/rubycomplete.vim: added checks for the existance of - global config variables per dkearns' patch. refined error messages - to use vim error style - -2006-05-11 Doug Kearns - - * syntax/ruby.vim: make sure rubyDocumentation is highlighted even if - ruby_no_comment_fold is defined; improve rubyDocumentation match - patterns - -2006-05-09 Doug Kearns - - * syntax/ruby.vim: make folding of comments configurable via the - ruby_no_comment_fold variable - - * syntax/ruby.vim: add rubyMultiLineComment syntax group to allow - folding of comment blocks - -2006-05-08 Doug Kearns - - * syntax/ruby.vim: simplify rubyNoDoBlock, rubyOptDoLine match - patterns - - * syntax/ruby.vim: add initial support for highlighting 'operators'. - This is off by default and enabled by defining the ruby_operators - variable - - * syntax/ruby.vim: if/unless immediately following a method name - should always be highlighted as modifiers and not the beginning of an - expression - -2006-05-07 Mark Guzman - - * autoload/rubycomplete.vim: Switched to script local vars, - per patch from dkearns. removed secondary array clause. applied - patch provided by dkearns, fixes input handling. - -2006-05-07 Doug Kearns - - * autoload/rubycomplete.vim: set 'foldmethod' to marker in the - modeline - -2006-05-03 Doug Kearns - - * ftplugin/ruby.vim: add patterns for braces, brackets and parentheses - to b:match_words - -2006-05-01 Mark Guzman - - * autoload/rubycomplete.vim: Added error trapping and messages - for class import errors - -2006-04-28 Mark Guzman - - * autoload/rubycomplete.vim: started adding raw range support - 1..2.. fixed the symbol completion bug, where you - would end up with a double colon. - -2006-04-27 Mark Guzman - - * autoload/rubycomplete.vim: added variable type detection for - Ranges. added handlers for string completion: "test". - -2006-04-26 Mark Guzman - - * autoload/rubycomplete.vim: removed cWORD expansion in favor of - grabbing the whole line. added support for completing variables - inside operations and parameter lists. removed excess cruft code. - removed commented code. - - * autoload/rubycomplete.vim: fixed the truncation code. this fixes - f.chomp! returning chomp! again, where it should provide - the global list. It also fixes f.foo( a.B, b. returning a's - list when it should return b's. - -2006-04-26 Doug Kearns - - * autoload/rubycomplete.vim: set 'expandtab' properly - -2006-04-25 Mark Guzman - - * autoload/rubycomplete.vim: started stripping out preceding - assigment operation stuff. "x = A", would attempt to complete - A using the global list. I've started removing old/commented - code in an effort to slim down the file. - -2006-04-25 Doug Kearns - - * autoload/rubycomplete.vim: remove excess whitespace - - * indent/ruby.vim: make sure 'smartindent' is disabled - -2006-04-24 Mark Guzman - - * autoload/rubycomplete.vim: fixed a completion bug where the entered - text was not taken to account. it will now be used to limit the entries - returned - -2006-04-24 Doug Kearns - - * Rakefile: add vim help files, the new FAQ and rubycomplete.vim to - the gemspec file list - -2006-04-22 Mark Guzman - - * autoload/rubycomplete.vim: changed the rails load code to match the - console load, we're now pulling everything in. completion of class - members from within the class definition now works properly. - -2006-04-21 Mark Guzman - - * autoload/rubycomplete.vim: renamed the vim global variable - controlling the addition of classes defined in the current buffer to - the global completion list - - * autoload/rubycomplete.vim: the global variable list is now sorted - and dups are removed - - * autoload/rubycomplete.vim: fixed a bug with rails support, where - rails standard methods would be added to a completion list when not - in a rails project - - * doc/ft-ruby-omni.txt: added information about the classes in global - completion option - -2006-04-21 Doug Kearns - - * doc/ft-ruby-omni.txt: add highlighting to example setting of - g:rubycomplete_rails variable - -2006-04-21 Mark Guzman - - * autoload/rubycomplete.vim: added support for adding classes defined - in the current buffer to the global completion list - when completing - with no text outside of a class definition - -2006-04-20 Doug Kearns - - * doc/ft-ruby-omni.txt: add new omni completion documentation - - * doc/ft-ruby-syntax.txt, syntax/doc/ruby.txt: move syntax - documentation to ft-ruby-syntax.txt - -2006-04-20 Mark Guzman - - * autoload/rubycomplete.vim: fixed a completion hang/crash when - completing symbols globally switched to smaller chunks being added to - the dictionary - - * autoload/rubycomplete.vim: it will now complete rails classes - - * autoload/rubycomplete.vim: removed left over debug prints - -2006-04-19 Mark Guzman - - * autoload/rubycomplete.vim: in-buffer class completion seems to work - properly in my test cases added range variable detection - contributed - -2006-04-19 Doug Kearns - - * ftdetect/ruby.vim: add RJS and RXML template file detection - -2006-04-19 Gavin Sinclair - - * CONTRIBUTORS, ftplugin/ruby.vim: update Gavin's email address - -2006-04-18 Mark Guzman - - * autoload/rubycomplete.vim: revised the in-buffer class loading, - needs a little more work but its testable - -2006-04-17 Doug Kearns - - * CONTRIBUTORS, indent/ruby.vim: update Nikolai's email address - -2006-04-16 Mark Guzman - - * autoload/rubycomplete.vim: added a work-around for the cWORD bug - found by dkearns; added support for completion of in-buffer classes; - switched return-type over to a dictionary - -2006-04-15 Doug Kearns - - * autoload/rubycomplete.vim: rename rbcomplete#Complete to match - script file name - - * autoload/rubycomplete.vim, compiler/rubyunit.vim, ftdetect/ruby.vim, - ftplugin/ruby.vim, indent/ruby.vim, syntax/ruby.vim, - compiler/eruby.vim, compiler/ruby.vim, ftplugin/eruby.vim, - indent/eruby.vim, syntax/eruby.vim: add Release-Coordinator header - line and remove GPL license - - * CONTRIBUTORS, bin/vim-ruby-install.rb: add Mark to the list of - maintainers; add rubycomplete.vim to the installer script's list of - files - -2006-04-14 Mark Guzman - - * autoload/rubycomplete.vim, ftplugin/ruby.vim: added ruby - omni-completion files; modified the ftplugin to set the omnifunc - -2005-10-14 Gavin Sinclair - - * indent/ruby.vim: Changed maintainer to Nikolai. - -2005-10-13 Doug Kearns - - * compiler/eruby.vim, compiler/rubyunit.vim, ftplugin/eruby.vim, - ftplugin/ruby.vim, indent/eruby.vim, indent/ruby.vim, - syntax/eruby.vim, syntax/ruby.vim: fix typo in URL header - - * ftdetect/ruby.vim: add filetype detection for Rantfiles - -2005-10-07 Doug Kearns - - * NEWS: updated for new release - - * syntax/doc/ruby.txt: update formatting for Vim 6.4 release - -2005-10-06 Doug Kearns - - * ftplugin/ruby.vim: prevent symbols from matching as matchit - match_words - -2005-10-05 Doug Kearns - - * NEWS: updated for new release - - * bin/vim-ruby-install.rb: raise an exception if there are unknown - args passed to the script - - * ftplugin/ruby.vim: add '.' to the head of 'path' so that files - relative to the directory of the current file are found first - -2005-10-04 Doug Kearns - - * syntax/ruby.vim: make the use of 'ruby_no_expensive' local to the - buffer for eruby files - - * compiler/eruby.vim, compiler/rubyunit.vim, compiler/ruby.vim, - ftdetect/ruby.vim, ftplugin/eruby.vim, ftplugin/ruby.vim, - indent/eruby.vim, indent/ruby.vim, syntax/eruby.vim, syntax/ruby.vim: - replace spaces with tabs, where possible, to reduce file sizes as - requested by BM - -2005-09-30 Doug Kearns - - * ftplugin/ruby.vim: place Gems after the standard $LOAD_PATH in - 'path' - -2005-09-27 Doug Kearns - - * ftplugin/ruby.vim: replace a single '.' with ',,' in all locations - in 'path' - -2005-09-26 Doug Kearns - - * ftplugin/ruby.vim: use print instead of puts to generate s:rubypath - -2005-09-25 Doug Kearns - - * syntax/ruby.vim: allow comments to be highlighted directly after - module/class/method definitions without intervening whitespace - -2005-09-24 Doug Kearns - - * syntax/ruby.vim: allow regexp's as hash values and after a ';' - - * NEWS: updated for new release - - * syntax/ruby.vim: fix typo in rubyControl highlight group name - - * bin/vim-ruby-install.rb: add --backup option and include short - options for it and --windows; make sure the backup directory is - written to CWD - -2005-09-22 Doug Kearns - - * compiler/rubyunit.vim: improve compiler message output and behaviour - to match that of the GUI test runners - - * syntax/ruby: allow while/until modifiers after methods with names - ending in [!=?]; assume (for now) that while/until expressions used as - args will be specified with parentheses - -2005-09-21 Doug Kearns - - * bin/vim-ruby-install.rb, indent/eruby.vim: add a new indent file for - eRuby; just use the html indent file for now - - * compiler/eruby.vim: use the ruby compiler plugin 'efm' and add a - eruby_compiler config variable to allow for using eruby as the - 'makeprg' rather than the default erb - -2005-09-20 Doug Kearns - - * syntax/ruby.vim: match and highlight exit! as a 'special' method - -2005-09-18 Nikolai Weibull - - * indent/ruby.vim: Fix bug #2481 - -2005-09-18 Nikolai Weibull - - * indent/ruby.vim: Fix for #2473 - -2005-09-18 Doug Kearns - - * bin/vim-ruby-install.rb: make sure that the latest vim-ruby, rather - than vim-ruby-devel, gem is being used - -2005-09-16 Doug Kearns - - * ftdetect/ruby.vim: use 'set filetype' rather than 'setfiletype' to - override any previously set filetype - -2005-09-15 Doug Kearns - - * syntax/ruby.vim: add $LOADED_FEATURES and $PROGRAM_NAME to - rubyPredefinedVariable - - * NEWS: correct release number - - * INSTALL: add a precautionary note about backing up files prior to - using the installer - -2005-09-14 Doug Kearns - - * Rakefile: add INSTALL and NEWS files to FileList - - * INSTALL, NEWS: add INSTALL and NEWS files - -2005-09-13 Doug Kearns - - * syntax/eruby.vim: make sure escaped eRuby tags aren't highlighted as - block delimiters with a trailing '%' - -2005-09-11 Doug Kearns - - * CONTRIBUTORS: update pcp's email address - - * indent/ruby.vim: reinsert license in header - - * ftplugin/ruby.vim: include gems load path in 'path' option - - * indent/ruby.vim: ignore the rescue 'modifier' when indenting (#2296) - - * indent/ruby.vim: fix comment typo - -2005-09-10 Nikolai Weibull - - * indent/ruby.vim: Fixes bugs introduced in earlier commits. Been - running without fault for two-three weeks now. It's about as good as - it gets without a major reworking. Enjoy! - -2005-09-10 Doug Kearns - - * Rakefile: use GMT time in the version string - - * compiler/rubyunit.vim: save each message from error backtraces - - * README, etc/website/index.html: update the package naming - description - - * Rakefile: set the package task's need_zip attribute so that zip - package archives are also created - - * ftplugin/ruby.vim: remove 'multiline' patterns from b:match_words - -2005-09-09 Doug Kearns - - * syntax/ruby: allow if/unless/while/until expressions to be - highlighted when used as method args following a ',' - -2005-09-08 Doug Kearns - - * syntax/ruby.vim: allow while/until expressions to be highlighted - - * bin/vim-ruby-install.rb: rescue Win32::Registry::Error when - accessing the Windows registry - - * ChangeLog, Rakefile, compiler/eruby.vim, compiler/rubyunit.vim, - compiler/ruby.vim, ftplugin/eruby.vim, indent/ruby.vim, - syntax/eruby.vim, syntax/ruby.vim: normalise vim modelines - - * etc/release/release.sh: add -z to cvsrelease call to create a zip - release file as well as a tar.gz - - * Rakefile: add CONTRIBUTORS file to FileList - - * ftplugin/ruby.vim: escape \'s in b:match_skip pattern - - * Rakefile: update filetype/ to ftdetect/ in FileList - -2005-09-07 Doug Kearns - - * ftplugin/ruby.vim: improve b:match_words pattern - -2005-09-06 Doug Kearns - - * syntax/ruby.vim: move hyphen to end of collection in rubyNoDoBlock - pattern - -2005-09-03 Doug Kearns - - * syntax/ruby.vim: allow if/unless expressions after the %, ^, | and & - operators - -2005-09-02 Doug Kearns - - * bin/vim-ruby-install.rb: add ftplugin/eruby.vim to list of source - files - - * ftplugin/eruby.vim: add new eRuby ftplugin - - * ftplugin/ruby.vim: merge most features from Ned Konz's ftplugin - - * compiler/eruby.vim: match eruby specific error messages and parse - the error's column number when provided - -2005-09-01 Doug Kearns - - * bin/vim-ruby-install.rb, compiler/eruby.vim: add new eruby compiler - plugin - - * syntax/eruby.vim, syntax/ruby.vim: split erubyBlock into erubyBlock - and erubyExpression; allow expressions inside blocks; set - ruby_no_expensive if highlighting eRuby; add spell checking and - rubyTodo to erubyComment - - * syntax/eruby.vim: make sure that eRubyOneLiner starts at the - very beginning of a line - - * syntax/eruby.vim: make sure that eRubyOneLiner cannot be extended - over multiple lines - -2005-08-30 Doug Kearns - - * syntax/ruby.vim: remove rubyIterator HiLink command line - -2005-08-27 Doug Kearns - - * bin/vim-ruby-install.rb: add Env.determine_home_dir using - %HOMEDRIVE%%HOMEPATH% as HOME on Windows if HOME is not explicitly set - - * syntax/ruby.vim: fix regression in rubyOptDoBlock - - * syntax/ruby.vim: fix typo in rubyBlockParameter pattern - -2005-08-26 Nikolai Weibull - - * indent/ruby.vim: Updated to indent correctly. There's more to be - done, as a statement may be contained in other stuff than a '... = ', - so that '=' should be [=+-...]. Soon to be fixed. - -2005-08-26 Doug Kearns - - * syntax/ruby.vim: only match rubyBlockParameter after 'do' that is a - 'keyword' - -2005-08-25 Doug Kearns - - * syntax/ruby.vim: rename rubyIterator to rubyBlockParameter; ensure - it only highlights these after a 'do' or '{'; match parameters in - parentheses - - * syntax/doc/ruby.txt: minor reorganisation of options - - * bin/vim-ruby-install.rb: don't use $0 == __FILE__ idiom to start - installer file as this will fail when running as a gem as - vim-ruby-install.rb is loaded by the gem driver; make _same_contents - a private method; fix a bug in BackupDir.backup where it was writing - the backup to an incorrect location - -2005-08-24 Nikolai Weibull - - * indent/ruby.vim: - 1. resetting of cpoptions (wouldn't always be done, depending on if - GetRubyIndent was defined. - - 2. Bugs #166, #1914, #2296 should be fixed - - 3. Somewhat simpler processing of the contents of the file. - - Most of the work was removing complexity that was trying to be clever - about understanding the syntax/semantics of the file, while actually - making things slow and actually not matching correctly. - -2005-08-24 Doug Kearns - - * syntax/ruby.vim: remove 'contains=rubyString' from the - rubyInterpolation group until that is more comprehensively improved - -2005-08-18 Doug Kearns - - * syntax/ruby.vim: explicitly match block arguments so that &keyword - isn't highlighted as a 'keyword' prefixed with & - - * syntax/ruby.vim: improve highlighting of heredocs used as method - arguments - -2005-08-17 Doug Kearns - - * syntax/ruby.vim: improve highlighting of the optional 'do' in - looping constructs - - * syntax/ruby.vim: remove accidentally added 'keepend' from - rubyOptDoBlock - - * syntax/ruby.vim: merge 'while|until' start patterns of - rubyOptDoBlock syntax group - -2005-08-16 Doug Kearns - - * bin/vim-ruby-install.rb: wrap 'main' in a begin/end block - - * bin/vim-ruby-install.rb: add FIXME comment (Hugh Sasse) - - * README, bin/vim-ruby-install.rb, etc/website/index.html: offer - $VIM/vimfiles and $HOME/{.vim,vimfiles} rather than $VIMRUNTIME as the - two default installation directories - -2005-08-15 Doug Kearns - - * syntax/ruby.vim: remove character offset 'hs' from the - rubyOptDoBlock start match - - * syntax/ruby.vim: exclude leading whitespace from the rubyOptDoBlock - syntax group start patterns with \zs - -2005-08-11 Doug Kearns - - * CONTRIBUTORS, bin/vim-ruby-install.rb, syntax/eruby.vim: add syntax - highlighting for eRuby files - - * ftdetect/ruby.vim: reorder autocommands for eRuby setf line - -2005-08-08 Doug Kearns - - * bin/vim-ruby-install.rb: add ftdetect/ruby.vim to list of source - files - -2005-08-07 Doug Kearns - - * filetype/ruby.vim, ftdetect/ruby.vim: move ruby.vim from filetype/ - to ftdetect/ - - * filetype/filetype.vim, filetype/ruby.vim: move filetype.vim to - ruby.vim; add eRuby filetype detection - -2005-08-06 Doug Kearns - - * syntax/ruby.vim: match rubyConstant and rubyLocalVariableOrMethod - with a leading word boundary - - * syntax/ruby.vim: move ruby_no_identifiers test to the default - highlighting block so that all identifiers are still matched when this - is config variable set - - * syntax/ruby.vim: remove display argument from rubyConstant now that - the match is multiline - -2005-08-03 Doug Kearns - - * CONTRIBUTORS: add new file listing project contributors - -2005-08-02 Doug Kearns - - * syntax/ruby.vim: differentiate between constants and capitalized - class methods invoked with the scope operator '::' - -2005-08-01 Doug Kearns - - * syntax/ruby.vim: undo reordering of identifier matching and make $_ - a special case to prevent it matching against global variables with a - leading underscore - -2005-07-30 Doug Kearns - - * syntax/ruby.vim: reorder identifier matching so that identifiers - 'containing' predefined identifiers, such as $_, match properly - -2005-07-28 Doug Kearns - - * syntax/ruby.vim: improve matching of conditional expressions - -2005-07-27 Doug Kearns - - * Rakefile: add 'package' as the default target - -2005-07-26 Doug Kearns - - * syntax/ruby.vim: replace leading context 'lc' offsets with the - '\@<=' pattern construct when matching 'normal regular expressions' - (Aaron Son) - -2005-07-22 Doug Kearns - - * syntax/ruby.vim: allow strings inside interpolation regions - -2005-07-04 Doug Kearns - - * bin/vim-ruby-install.rb: improve source directory detection (Hugh - Sasse) - -2005-04-05 Doug Kearns - - * syntax/ruby.vim: match rubyNested*, and rubyDelimEscape as - transparent items; add closing escaped delimiters to rubyDelimEscape - syntax group - -2005-04-04 Doug Kearns - - * syntax/ruby.vim: highlight nested delimiters in generalized quotes - (Aaron Son, Bertram Scharpf and Ken Miller) - -2005-04-04 Doug Kearns - - * syntax/ruby.vim: minor improvement to block parameter highlighting - -2005-04-04 Doug Kearns - - * syntax/doc/ruby.txt: add documentation for the ruby_space_errors, - ruby_no_trail_space_error and ruby_no_tab_space_error configuration - variables - -2005-03-30 Doug Kearns - - * syntax/ruby.vim: add configurable highlighting of trailing space and - 'space before tab' errors (Tilman Sauerbeck) - -2005-03-24 Gavin Sinclair - - * syntax/ruby.vim: Improved hilighting of %{...} strings with - nested brackets (Ken Miller). - * indent/ruby.vim: Improved indenting of %{...} strings with - nested brackets (Ken Miller). - * syntax/ruby.vim: Corrected hilighting of |(x,y)| iterator - parameters (Tilman Sauerbeck). - -2004-11-27 Doug Kearns - - * compiler/ruby.vim, compiler/rubyunit.vim, syntax/ruby.vim: update - DJK's email address - -2004-09-30 Doug Kearns - - * syntax/ruby.vim: match regexp values in hash literals - -2004-09-20 Gavin Sinclair - - * bin/vim-ruby-install.rb: added - * Rakefile: 'rake package' generates TGZ and GEM - * install.rb: removed - * build.rb: removed - -2004-09-04 Doug Kearns - - * compiler/rubyunit.vim, compiler/ruby.vim: update to use new - CompilerSet command - -2004-05-19 Doug Kearns - - * compiler/rubyunit.vim: match assert messages - -2004-05-12 Doug Kearns - - * syntax/ruby.vim: check for the folding feature rather than just the - vim version when testing if the foldmethod should be set to syntax - -2004-05-11 Doug Kearns - - * compiler/rubyunit.vim: add initial support for parsing Test::Unit - errors - -2004-05-11 Doug Kearns - - * syntax/doc/ruby.txt: add documentation for the - ruby_no_special_methods and ruby_fold configuration variables - -2004-04-29 Doug Kearns - - * filetype/filetype.vim: move matching of [Rr]akefile* to a separate - section which is located later in the file to avoid incorrectly - matching other filetypes prefixed with [Rr]akefile - -2005-04-27 Doug Kearns - - * filetype/filetype.vim: match 'rakefile' as a Rakefile - -2004-04-23 Ward Wouts - - * syntax/ruby.vim: add ruby_fold variable to control the setting of - the foldmethod option - -2004-04-06 Doug Kearns - - * filetype/filetype.vim: add RubyGems specification and installation - files and Rakefiles - -2004-04-01 Doug Kearns - - * compiler/rubyunit.vim: add a new compiler plugin for Test::Unit - -2004-03-23 Doug Kearns - - * etc/website/index.html, etc/website/djk-theme.css: add simple CSS - style sheet - -2004-02-08 Doug Kearns - - * etc/website/index.html: convert to valid HTML 4.01 Strict. - -2004-01-11 Gavin Sinclair - - * ftplugin/ruby.vim: Added matchit instructions. - -2003-11-06 Doug Kearns - - * README: update DJK's current location. - -2003-11-06 Doug Kearns - - * syntax/ruby.vim: add support for the new decimal and octal base - indicators and capitalization of all base indicators. - -2003-10-20 Nikolai Weibull - - * indent/ruby.vim: Added support for ?: multilining, such as - a ? - b : - c. - -2003-10-18 Nikolai Weibull - - * indent/ruby.vim: Fixed a silly bug with the [] matching. - -2003-10-17 Gavin Sinclair - - * README: Minor addition. - * etc/website/index.html: Synced with README. - -2003-10-15 Nikolai Weibull - - * indent/ruby.vim: Fixed bug #114. Also fixed a related problem with - documentation blocks. They would indent relative to the other code. - Now it simply indents with zero width (to match =begin) by default. - Otherwise acts like 'autoindent'. Also fixed a problem with | and & - not being recognized as continuation lines. This may cause problems - with do blocks, we'll see. - * indent/ruby.vim: In response to previous note. It proved fatal. - Fixed now. - -2003-10-14 Nikolai Weibull - - * syntax/ruby.vim: Readded matching of $' and $" when - ruby_no_identifiers was off. Got accidentaly removed with previous - fix. - -2003-10-13 Nikolai Weibull - - * indent/ruby.vim: General cleanup, speedup, fixup. Fixes bug #62. - Indentiation of tk.rb (5200+ lines) takes under 13 seconds now. - * ftplugin/ruby.vim: Cleanup. Nested if's unnecessary. Also modified - modeline. - -2003-10-12 Nikolai Weibull - - * indent/ruby.vim: Fixed bugs #89 and #102. - * syntax/ruby.vim: The $' and $" variables weren't being matched if - ruby_no_identifiers was on. This messed up string matching. - * indent/ruby.vim: Basically did a total rewrite in the process. - Everything is well documented now, and should be rather simple to - understand. There is probably room for optimization still, but it - works rather fast, indenting tk.rb (5200+ lines) in under 15 seconds. - I'm betting searchpair() may be executing a bit too often still, but a - lot of special cases have now been taken care of. This version also - fixes bug #59 and #71. - -2003-10-03 Doug Kearns - - * syntax/ruby.vim: simplify the rubyData pattern by using the new EOF - atom. - -2003-10-03 Doug Kearns - - * syntax/ruby.vim: link rubyBoolean to rubyPseudoVariable; link - rubyPseudoVariable to the Constant highlight group. - -2003-09-30 Doug Kearns - - * syntax/ruby.vim: create rubyPseudoVariable syntax group; move self, - nil, __LINE__ and __FILE_ to rubyPseudoVariable. - -2003-09-30 Doug Kearns - - * etc/website/index.html: update DJK's current location. - -2003-09-26 Doug Kearns - - * etc/website/index.html: close the open PRE element and add a DOCTYPE - declaration. - -2003-09-26 Doug Kearns - - * indent/ruby.vim: update references to rubyExprSubst - this syntax - group has been split into rubyInterpolation, rubyNoInterpolation and - rubyEscape. - -2003-09-26 Gavin Sinclair - - * etc/release/*: added to aid in the production of releases. - * etc/website/*: now anyone can have a crack at the - vim.ruby.rubyforge.org website! - -2003-09-25 Doug Kearns - - * syntax/ruby.vim: link the rubyNoInterpolation syntax group to - rubyString; merge rubyHexadecimal, rubyDecimal, rubyOctal, rubyBinary - into rubyInteger. - -2003-09-22 Doug Kearns - - * syntax/ruby.vim: link the rubyOperator syntax group to the Operator - highlight group. - -2003-09-21 Doug Kearns - - * syntax/ruby.vim: match regexps after split, scan, sub and gsub. - -2003-09-21 Doug Kearns - - * syntax/ruby.vim: highlight escaped string interpolation correctly; - allow hexadecimal and octal escape sequences to match with less than 3 - and 2 digits respectively; split rubyExprSubst into multiple syntax - groups - rubyInterpolation, rubyNoInterpolation, rubyEscape. - -2003-09-19 Doug Kearns - - * syntax/ruby.vim: match singleton class definitions with no - whitespace between 'class' and '<<'. - -2003-09-19 Doug Kearns - - * install.rb, syntax/doc/ruby.txt: fix minor typos. - -2003-09-18 Doug Kearns - - * syntax/ruby.vim: improve float and decimal matching; split - rubyInteger into multiple syntax groups - rubyASCIICode, - rubyHexadecimal, rubyDecimal, rubyOctal, rubyBinary. - -2003-09-18 Doug Kearns - - * syntax/ruby.vim: replace all patterns surrounded by \(\) with \%(\) - when the sub-expression is not used. - -2003-09-18 Gavin Sinclair - - * install.rb: Included comments and USAGE string from revisino 1.1. - -2003-09-18 Doug Kearns - - * syntax/ruby.vim: match regexp after 'not' and 'then'; match if and - unless expressions following '=' and '('. - -2003-09-17 Gavin Sinclair - - * ftplugin/ruby.vim: implemented matchit support (thanks to Ned Konz - and Hugh Sasse). - -2003-09-17 Gavin Sinclair - - * install.rb: replaced with Hugh Sasse's contribution. Alpha state - until tested, and with several issues and todos listed. - -2003-09-11 Doug Kearns - - * syntax/ruby.vim: fix my accidental redefinition of the - ruby_no_expensive matchgroups. - -2003-09-11 Doug Kearns - - * syntax/ruby.vim: improve support for symbols, integers and floating - point numbers; add the display argument to :syntax where appropriate. - -2003-09-09 Doug Kearns - - * syntax/ruby.vim: remove Vim 5.x specific sections and simplify the - generalized string, regular expression, symbol, and word list literal - syntax groups. - -2003-09-09 Doug Kearns - - * indent/ruby.vim, syntax/ruby.vim: rename the rubyStringDelimit - syntax group rubyStringDelimiter. - -2003-09-09 Doug Kearns - - * syntax/ruby.vim: highlight one line module, class, and method - definitions, using the ';' terminator, correctly; split - rubyClassOrModule into two new syntax groups - rubyClass and - rubyModule. - -2003-09-08 Doug Kearns - - * syntax/ruby.vim: add the @Spell cluster to support spell checking - of comment text. - -2003-09-08 Doug Kearns - - * syntax/ruby.vim: add support for the new %s() symbol literal. - -2003-09-03 Doug Kearns - - * compiler/ruby.vim: update the maintainer's email address. - -2003-09-02 Doug Kearns - - * syntax/ruby.vim: make sure that the optional do after for, until or - while is not matched as the beginning of a do/end code block; also - highlight the optional ':' for these loop constructs. - -2003-08-28 Doug Kearns - - * syntax/ruby.vim: add folding support to embedded data sections after - an __END__ directive. - -2003-08-27 Doug Kearns - - * syntax/ruby.vim: don't allow '<<' after '.' or '::' to match as the - beginning of a heredoc. - -2003-08-26 Doug Kearns - - * syntax/ruby.vim: fix shebang highlighting which was being ignored - all together. - -2003-08-25 Doug Kearns - - * syntax/ruby.vim: add the new %W() word list literal with - interpolation; add folding to %q() single quoted strings and %w() word - list literals. - -2003-08-24 Doug Kearns - - * syntax/ruby.vim: add $deferr to rubyPredefinedVariable; add several - new methods (abort, at_exit, attr, attr_accessor, attr_reader, - attr_writer, autoload, callcc, caller, exit, extend, fork, eval, - class_eval, instance_eval, module_eval, private, protected, public, - trap) to the Special Methods section. - -2003-08-21 Doug Kearns - - * syntax/ruby.vim: add access control methods (public, protected and - private) to a new rubyAccess syntax group. - -2003-08-21 Doug Kearns - - * syntax/ruby.vim: no longer match NotImplementError as a predefined - global constant; move rubyTodo to the Comments and Documentation - section; create a Special Methods section and add the - ruby_no_special_methods variable to allow the highlighting of these - 'special' methods to be disabled. - -2003-08-18 Doug Kearns - - * compiler/ruby.vim, ftplugin/ruby.vim, indent/ruby.vim, - syntax/ruby.vim: retab the header section - Bram prefers as many TAB - characters as possible. - -2003-08-18 Doug Kearns - - * syntax/ruby.vim: allow for, while and until loop bodies to contain - do...end and {...} blocks - rubyOptDoBlock should contain rubyDoBlock - and rubyCurlyBlock. - -2003-08-16 Doug Kearns - - * syntax/ruby.vim: string expression substitution of class variables - does not require braces. - diff --git a/.vim_runtime/sources_non_forked/vim-ruby/Gemfile b/.vim_runtime/sources_non_forked/vim-ruby/Gemfile deleted file mode 100644 index c543a5d..0000000 --- a/.vim_runtime/sources_non_forked/vim-ruby/Gemfile +++ /dev/null @@ -1,4 +0,0 @@ -source 'http://rubygems.org' - -gem 'rspec' -gem 'vimrunner' diff --git a/.vim_runtime/sources_non_forked/vim-ruby/Gemfile.lock b/.vim_runtime/sources_non_forked/vim-ruby/Gemfile.lock deleted file mode 100644 index a2d6c65..0000000 --- a/.vim_runtime/sources_non_forked/vim-ruby/Gemfile.lock +++ /dev/null @@ -1,28 +0,0 @@ -GEM - remote: http://rubygems.org/ - specs: - diff-lcs (1.3) - 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) - vimrunner (0.3.0) - -PLATFORMS - ruby - -DEPENDENCIES - rspec - vimrunner - -BUNDLED WITH - 1.13.7 diff --git a/.vim_runtime/sources_non_forked/vim-ruby/INSTALL.markdown b/.vim_runtime/sources_non_forked/vim-ruby/INSTALL.markdown deleted file mode 100644 index 79ee240..0000000 --- a/.vim_runtime/sources_non_forked/vim-ruby/INSTALL.markdown +++ /dev/null @@ -1,31 +0,0 @@ - -INSTALL.markdown

Installation

- -

In general, your favorite method works. Here are some options.

- -

With pathogen.vim

- -

Install pathogen.vim, -then copy and paste:

- -
git clone git://github.com/vim-ruby/vim-ruby.git ~/.vim/bundle/vim-ruby
- -

With Vundle

- -

Install Vundle, then add the -following to your vimrc:

- -
Bundle 'vim-ruby/vim-ruby'
- -

With patience

- -

Wait for an upgrade to Vim and install it. Vim ships with the latest -version of vim-ruby at the time of its release. (Remember this when -choosing another installation method. The version you download will -supersede the version that ships with Vim, so you will now be -responsible for keeping it up-to-date.)

- -

Manually

- -

Download and -extract the relevant files to ~/.vim (or $HOME/vimfiles on Windows).

diff --git a/.vim_runtime/sources_non_forked/vim-ruby/NEWS b/.vim_runtime/sources_non_forked/vim-ruby/NEWS deleted file mode 100644 index 388dffe..0000000 --- a/.vim_runtime/sources_non_forked/vim-ruby/NEWS +++ /dev/null @@ -1,243 +0,0 @@ -This file is no longer maintained. Consult the Git log for newer changes. - -= 2008.07.XX - -== Filetype Detection - -The IRB RC file (.irbrc) is now detected as being a Ruby file. - - -= 2007.05.07 - -== Ruby Syntax Highlighting - -Highlight OPTIMIZE alongside FIXME and TODO. - -Multiline array literals can now be folded. - -== Ruby Filetype Support - -Added mappings for [[, ]], [], ][, [m, ]m, [M, and ]M. The first four bounce -between class and module declarations, and the last four between method -declarations. - -== eRuby Syntax Highlighting - -Tim Pope has taken over maintenance of the eRuby syntax file. The subtype of -the file is now determined dynamically from the filename, rather than being -hardwired to HTML. It can be overridden with b:eruby_subtype. - -== eRuby Filetype Support - -Tim Pope has taken over maintenance of the eRuby filetype plugin. Like with -the syntax file, the subtype is now determined dynamically. - -== eRuby Indenting - -As with the syntax file and filetype plugin, the subtype is now determined -dynamically. - -== Bug Fixes - -Ruby syntax file - - when ruby_operators is set, highlight scope and range operators, and don't - match '>' in =>' - - regexp literals are highlighted after the 'else' keyword - - don't match [!=?] as part of a sigil prefixed symbol name - - allow text to appear after, and on the same line, as '=begin' in - rubyDocumentation regions - - highlight %s() ans a symbol, not a string - - eliminated some false positves for here docs, symbols, ASCII codes, and - conditionals as statement modifiers - - added "neus" to regexp flags - - Highlight punctuation variables in string interpolation, and flag invalid - ones as errors - - removed : from rubyOptionalDoLine (falsely matches on symbols) - -Ruby filetype plugin - - eliminated some false positives with the matchit patterns - -Ruby indent plugin - - ignore instance, class, and global variables named "end" - - -= 2007.03.02 - -== Omni Completion - -Fall back to syntax highlighting completion if Vim lacks the Ruby interface. - -RubyGems is now loaded by default if available. - -Classes are detected using ObjectSpace. Kernel methods are included in method -completion. - -Added completion in Rails views. Rails helpers are included. Rails migrations -now have completion. - -== Ruby Syntax Highlighting - -Ruby code is highlighted inside interpolation regions. - -Symbols are now highlighted with the Constant highlight group; Constants and -class names with the Type highlight group. - -Symbol names specified with a string recognise interpolation and escape -sequences. - -Alias statements receive special highlighting similar to other 'definitions'. - -== Ruby Filetype Support - -Matchit support has been improved to include (), {}, and [] in the list of -patterns so that these will be appropriately skipped when included in comments. - -ri has been added as the 'keywordprg' and 'balloonexpr' is set to return the -output of ri. - -== eRuby Indenting - -Tim Pope has taken over maintenance of the eRuby indent file. Ruby code is now -indented appropriately. - -== Bug Fixes - -Ruby syntax file - - trailing whitespace is no longer included with the def, class, module - keywords. - - escaped interpolation regions should now be ignored in all cases. - - conditional and loop statements are now highlighted correctly in more - locations (where they're used as expressions). - -eRuby syntax file - - '-' trim mode block delimiters are now recognised. - -Omni Completion - - more robustness; failure to parse buffer no longer errors or prevents - completion. - - -= 2006.07.11 - -== Omni Completion - -A new omni completion function is now included which offers IntelliSense-like -functionality. See :help ft-ruby-omni for further information. - -Note: This will only work with Vim 7.x, compiled with the Ruby interface -(+ruby), and Ruby 1.8.x - -== Ruby Filetype Support - -Matchit support has been improved to include (), {}, and [] in the list of -patterns meaning these will be appropriately skipped when included in comments. - -== Ruby Syntax Highlighting - -Operators can now be highlighted by defining the Vim global variable -"ruby_operators". - -Multiline comments will now be folded. This can be disabled by defining the -"ruby_no_comment_fold" Vim variable. - -== Filetype Detection - -RJS and RXML templates are now detected as being 'filetype=ruby'. - -== FAQ - -There is a new FAQ document included. This is a work in progress and any -feedback would be appreciated. - -== Bug Fixes - -Ruby syntax file - if/unless modifiers after a method name ending with [?!=] -should now be highlighted correctly. - - -= 2005.10.07 - -== Vim 6.4 - -This release is included in Vim 6.4. - -== Bug Fixes - -Ruby filetype plugin - symbols were incorrectly being matched as match_words -causing the matchit motion command to jump to an incorrect location in some -circumstances. - - -= 2005.10.05 - -== Bug Fixes - -Ruby syntax file - allow for comments directly after module/class/def lines -without intervening whitespace (fold markers were breaking syntax highlighting). - -Ruby filetype plugin - improve ordering of 'path' elements. - -eRuby syntax file - make use of ruby_no_expensive local to the buffer. - - -= 2005.09.24 - -== Filetype Detection - -The eruby filetype is now detected solely based on the file's extension. This -was being overridden by the scripts.vim detection script. - -Note: Only files ending in *.rhtml are detected as filetype eruby since these -are currently assumed to be Ruby embedded in (X)HTML only. Other filetypes -could be supported if requested. - -== eRuby Indent File - -There is a new eRuby indent file which simply sources the HTML indent file for -now. - -== eRuby Compiler Plugin - -This now supports erb as the default 'makeprg'. To use eruby set the -eruby_compiler variable to "eruby" in your .vimrc - -== Test::Unit Compiler Plugin - -This has been improved and should now display messages similar to, though more -detailed than, the GUI test runners. - -== Bug Fixes - -A few minor bugs have been fixed in the Ruby syntax and indent files. - - -= 2005.09.15 - -== eRuby Support - -There are new syntax, compiler, and ftplugin files for eRuby. This support is -incomplete and we're keen to hear of any problems or suggestions you may have -to improve it. - -== Ruby Filetype Support - -The Ruby filetype plugin has been improved to include as many useful settings -as possible without intruding too much on an individual user's preferences. -Matchit support has been improved, and the following options are now set to -appropriate values: comments, commentstring, formatoptions, include, -includeexpr, path, and suffixesadd - -== Filetype Detection - -The new ftdetect mechanism of Vim 6.3 is being utilized to enable filetype -detection of eRuby files until this is officially added to the next release of -Vim. - -== Installation Directories - -The installer script now, where possible, automatically determines both the -user and system-wide preferences directory. - -== Bug Fixes - -A large number of bugs have been fixed in the Ruby syntax and indent files. diff --git a/.vim_runtime/sources_non_forked/vim-ruby/README b/.vim_runtime/sources_non_forked/vim-ruby/README deleted file mode 100644 index 39d9d91..0000000 --- a/.vim_runtime/sources_non_forked/vim-ruby/README +++ /dev/null @@ -1,73 +0,0 @@ - +---------------------------------+ - | vim-ruby github project README | - +---------------------------------+ - -Summary: - This project contains Vim configuration files for editing and compiling Ruby - within Vim. See the project homepage for more details. - -Web links: - Homepage: https://github.com/vim-ruby - Explanation: https://github.com/vim-ruby/vim-ruby/wiki - -For regular users: - - The project page should have two tarballs for download: - - vim-ruby-YYYY.MM.DD.tar.gz (the current stable release) - - vim-ruby-devel-YYYY.MM.DD.tar.gz (cutting-edge features we'd like you - to test) - - Please give feedback through the bug tracking and feature request features - of GitHub. - - Feel free to join discussions on the vim-ruby-devel mailing list: - http://rubyforge.org/mail/?group_id=16 - -For would-be contributors: - - Please get the latest from Git. - - Please join the mailing list and discuss changes, submit patches, etc. - - Thank you very much for taking an interest. - -Contents of the project: - - The autoload, compiler, ftdetect, ftplugin, indent and syntax directories - contain the ruby*.vim files that are to be copied to a location somewhere - in the Vim 'runtimepath'. - -How you get these files into Vim: - - By downloading the project via a snapshot or Git, you can keep up with - the latest, make changes, and install the files to a Vim directory. - - By downloading one of the tarballs, you can easily install the latest - stable or development version wherever you like on your machine. No - README etc. just Vim files. You would typically install these into either - $VIM/vimfiles, for system-wide use, or $HOME/.vim ($HOME/vimfiles on - Windows) for personal use. - - Remember that when you install Vim in the first place, all of these files - are present. The purpose of downloading and installing them from - GitHub is to get the latest version of them. - -Git topics: - - Project was migrated from CVS in August, 2008. - - Files are tagged according to which version of Vim they are released in. - - The project was initiated in July 2003, when the current version of Vim - was 6.2. Thus every file began its life tagged as vim6.2. - - Modifications to the files are made in the expectation that they need to - be tested by interested users. They therefore (probably) don't have a - tag, and are available via "git pull --rebase", or a development snapshot. - - When a modification is considered stable, it is given a tag. - Everything that is stable gets released in vim-ruby-YYY.MM.DD.tar.gz files. - - When a new version of Vim is about to be released, the stable tarball is - contributed to it. After it has been released, the files are tagged - accordingly. - - MORAL OF THE STORY: modifications are committed to the head of the tree; - when they are ready for release into userland, they are tagged "stable". - -Any questions or suggestions? - - If there's something about the project or its concepts that you don't - understand, send an email to the release coordinator, Doug Kearns - (dougkearns at gmail.com). - - To ask about the contents of the configuration files, open a GitHub issue - or ask on the mailing list, as different people maintain the different - files. - -Project gossip: - - While the individual effort to maintain these files has a long history, - this actual project began in late July 2003. - - --= End of Document =-- diff --git a/.vim_runtime/sources_non_forked/vim-ruby/autoload/rubycomplete.vim b/.vim_runtime/sources_non_forked/vim-ruby/autoload/rubycomplete.vim deleted file mode 100644 index 8eff800..0000000 --- a/.vim_runtime/sources_non_forked/vim-ruby/autoload/rubycomplete.vim +++ /dev/null @@ -1,871 +0,0 @@ -" Vim completion script -" Language: Ruby -" Maintainer: Mark Guzman -" URL: https://github.com/vim-ruby/vim-ruby -" Release Coordinator: Doug Kearns -" ---------------------------------------------------------------------------- -" -" Ruby IRB/Complete author: Keiju ISHITSUKA(keiju@ishitsuka.com) -" ---------------------------------------------------------------------------- - -" {{{ requirement checks - -function! s:ErrMsg(msg) - echohl ErrorMsg - echo a:msg - echohl None -endfunction - -if !has('ruby') - call s:ErrMsg( "Error: Rubycomplete requires vim compiled with +ruby" ) - call s:ErrMsg( "Error: falling back to syntax completion" ) - " lets fall back to syntax completion - setlocal omnifunc=syntaxcomplete#Complete - finish -endif - -if version < 700 - call s:ErrMsg( "Error: Required vim >= 7.0" ) - finish -endif -" }}} requirement checks - -" {{{ configuration failsafe initialization -if !exists("g:rubycomplete_rails") - let g:rubycomplete_rails = 0 -endif - -if !exists("g:rubycomplete_classes_in_global") - let g:rubycomplete_classes_in_global = 0 -endif - -if !exists("g:rubycomplete_buffer_loading") - let g:rubycomplete_buffer_loading = 0 -endif - -if !exists("g:rubycomplete_include_object") - let g:rubycomplete_include_object = 0 -endif - -if !exists("g:rubycomplete_include_objectspace") - let g:rubycomplete_include_objectspace = 0 -endif -" }}} configuration failsafe initialization - -" {{{ regex patterns - -" Regex that defines the start-match for the 'end' keyword. -let s:end_start_regex = - \ '\C\%(^\s*\|[=,*/%+\-|;{]\|<<\|>>\|:\s\)\s*\zs' . - \ '\<\%(module\|class\|if\|for\|while\|until\|case\|unless\|begin' . - \ '\|\%(\K\k*[!?]\?\s\+\)\=def\):\@!\>' . - \ '\|\%(^\|[^.:@$]\)\@<=\' - -" Regex that defines the middle-match for the 'end' keyword. -let s:end_middle_regex = '\<\%(ensure\|else\|\%(\%(^\|;\)\s*\)\@<=\\|when\|elsif\):\@!\>' - -" Regex that defines the end-match for the 'end' keyword. -let s:end_end_regex = '\%(^\|[^.:@$]\)\@<=\' - -" }}} regex patterns - -" {{{ vim-side support functions -let s:rubycomplete_debug = 0 - -function! s:dprint(msg) - if s:rubycomplete_debug == 1 - echom a:msg - endif -endfunction - -function! s:GetBufferRubyModule(name, ...) - if a:0 == 1 - let [snum,enum] = s:GetBufferRubyEntity(a:name, "module", a:1) - else - let [snum,enum] = s:GetBufferRubyEntity(a:name, "module") - endif - return snum . '..' . enum -endfunction - -function! s:GetBufferRubyClass(name, ...) - if a:0 >= 1 - let [snum,enum] = s:GetBufferRubyEntity(a:name, "class", a:1) - else - let [snum,enum] = s:GetBufferRubyEntity(a:name, "class") - endif - return snum . '..' . enum -endfunction - -function! s:GetBufferRubySingletonMethods(name) -endfunction - -function! s:GetBufferRubyEntity( name, type, ... ) - let lastpos = getpos(".") - let lastline = lastpos - if (a:0 >= 1) - let lastline = [ 0, a:1, 0, 0 ] - call cursor( a:1, 0 ) - endif - - let stopline = 1 - - let crex = '^\s*\<' . a:type . '\>\s*\<' . escape(a:name, '*') . '\>\s*\(<\s*.*\s*\)\?' - let [lnum,lcol] = searchpos( crex, 'w' ) - "let [lnum,lcol] = searchpairpos( crex . '\zs', '', '\(end\|}\)', 'w' ) - - if lnum == 0 && lcol == 0 - call cursor(lastpos[1], lastpos[2]) - return [0,0] - endif - - let curpos = getpos(".") - let [enum,ecol] = searchpairpos( s:end_start_regex, s:end_middle_regex, s:end_end_regex, 'W' ) - call cursor(lastpos[1], lastpos[2]) - - if lnum > enum - return [0,0] - endif - " we found a the class def - return [lnum,enum] -endfunction - -function! s:IsInClassDef() - return s:IsPosInClassDef( line('.') ) -endfunction - -function! s:IsPosInClassDef(pos) - let [snum,enum] = s:GetBufferRubyEntity( '.*', "class" ) - let ret = 'nil' - - if snum < a:pos && a:pos < enum - let ret = snum . '..' . enum - endif - - return ret -endfunction - -function! s:IsInComment(pos) - let stack = synstack(a:pos[0], a:pos[1]) - if !empty(stack) - return synIDattr(stack[0], 'name') =~ 'ruby\%(.*Comment\|Documentation\)' - else - return 0 - endif -endfunction - -function! s:GetRubyVarType(v) - let stopline = 1 - let vtp = '' - let curpos = getpos('.') - let sstr = '^\s*#\s*@var\s*'.escape(a:v, '*').'\>\s\+[^ \t]\+\s*$' - let [lnum,lcol] = searchpos(sstr,'nb',stopline) - if lnum != 0 && lcol != 0 - call setpos('.',curpos) - let str = getline(lnum) - let vtp = substitute(str,sstr,'\1','') - return vtp - endif - call setpos('.',curpos) - let ctors = '\(now\|new\|open\|get_instance' - if exists('g:rubycomplete_rails') && g:rubycomplete_rails == 1 && s:rubycomplete_rails_loaded == 1 - let ctors = ctors.'\|find\|create' - else - endif - let ctors = ctors.'\)' - - let fstr = '=\s*\([^ \t]\+.' . ctors .'\>\|[\[{"''/]\|%[xwQqr][(\[{@]\|[A-Za-z0-9@:\-()\.]\+...\?\|lambda\|&\)' - let sstr = ''.escape(a:v, '*').'\>\s*[+\-*/]*'.fstr - let pos = searchpos(sstr,'bW') - while pos != [0,0] && s:IsInComment(pos) - let pos = searchpos(sstr,'bW') - endwhile - if pos != [0,0] - let [lnum, col] = pos - let str = matchstr(getline(lnum),fstr,col) - let str = substitute(str,'^=\s*','','') - - call setpos('.',pos) - if str == '"' || str == '''' || stridx(tolower(str), '%q[') != -1 - return 'String' - elseif str == '[' || stridx(str, '%w[') != -1 - return 'Array' - elseif str == '{' - return 'Hash' - elseif str == '/' || str == '%r{' - return 'Regexp' - elseif strlen(str) >= 4 && stridx(str,'..') != -1 - return 'Range' - elseif stridx(str, 'lambda') != -1 || str == '&' - return 'Proc' - elseif strlen(str) > 4 - let l = stridx(str,'.') - return str[0:l-1] - end - return '' - endif - call setpos('.',curpos) - return '' -endfunction - -"}}} vim-side support functions - -"{{{ vim-side completion function -function! rubycomplete#Init() - execute "ruby VimRubyCompletion.preload_rails" -endfunction - -function! rubycomplete#Complete(findstart, base) - "findstart = 1 when we need to get the text length - if a:findstart - let line = getline('.') - let idx = col('.') - while idx > 0 - let idx -= 1 - let c = line[idx-1] - if c =~ '\w' - continue - elseif ! c =~ '\.' - let idx = -1 - break - else - break - endif - endwhile - - return idx - "findstart = 0 when we need to return the list of completions - else - let g:rubycomplete_completions = [] - execute "ruby VimRubyCompletion.get_completions('" . a:base . "')" - return g:rubycomplete_completions - endif -endfunction -"}}} vim-side completion function - -"{{{ ruby-side code -function! s:DefRuby() -ruby << RUBYEOF -# {{{ ruby completion - -begin - require 'rubygems' # let's assume this is safe...? -rescue Exception - #ignore? -end -class VimRubyCompletion -# {{{ constants - @@debug = false - @@ReservedWords = [ - "BEGIN", "END", - "alias", "and", - "begin", "break", - "case", "class", - "def", "defined", "do", - "else", "elsif", "end", "ensure", - "false", "for", - "if", "in", - "module", - "next", "nil", "not", - "or", - "redo", "rescue", "retry", "return", - "self", "super", - "then", "true", - "undef", "unless", "until", - "when", "while", - "yield", - ] - - @@Operators = [ "%", "&", "*", "**", "+", "-", "/", - "<", "<<", "<=", "<=>", "==", "===", "=~", ">", ">=", ">>", - "[]", "[]=", "^", ] -# }}} constants - -# {{{ buffer analysis magic - def load_requires - - custom_paths = VIM::evaluate("get(g:, 'rubycomplete_load_paths', [])") - - if !custom_paths.empty? - $LOAD_PATH.concat(custom_paths).uniq! - end - - buf = VIM::Buffer.current - enum = buf.line_number - nums = Range.new( 1, enum ) - nums.each do |x| - - ln = buf[x] - begin - if /.*require_relative\s*(.*)$/.match( ln ) - eval( "require %s" % File.expand_path($1) ) - elsif /.*require\s*(["'].*?["'])/.match( ln ) - eval( "require %s" % $1 ) - end - rescue Exception => e - dprint e.inspect - end - end - end - - def load_gems - fpath = VIM::evaluate("get(g:, 'rubycomplete_gemfile_path', 'Gemfile')") - return unless File.file?(fpath) && File.readable?(fpath) - want_bundler = VIM::evaluate("get(g:, 'rubycomplete_use_bundler')") - parse_file = !want_bundler - begin - require 'bundler' - Bundler.setup - Bundler.require - rescue Exception - parse_file = true - end - if parse_file - File.new(fpath).each_line do |line| - begin - require $1 if /\s*gem\s*['"]([^'"]+)/.match(line) - rescue Exception - end - end - end - end - - def load_buffer_class(name) - dprint "load_buffer_class(%s) START" % name - classdef = get_buffer_entity(name, 's:GetBufferRubyClass("%s")') - return if classdef == nil - - pare = /^\s*class\s*(.*)\s*<\s*(.*)\s*\n/.match( classdef ) - load_buffer_class( $2 ) if pare != nil && $2 != name # load parent class if needed - - mixre = /.*\n\s*(include|prepend)\s*(.*)\s*\n/.match( classdef ) - load_buffer_module( $2 ) if mixre != nil && $2 != name # load mixins if needed - - begin - eval classdef - rescue Exception - VIM::evaluate( "s:ErrMsg( 'Problem loading class \"%s\", was it already completed?' )" % name ) - end - dprint "load_buffer_class(%s) END" % name - end - - def load_buffer_module(name) - dprint "load_buffer_module(%s) START" % name - classdef = get_buffer_entity(name, 's:GetBufferRubyModule("%s")') - return if classdef == nil - - begin - eval classdef - rescue Exception - VIM::evaluate( "s:ErrMsg( 'Problem loading module \"%s\", was it already completed?' )" % name ) - end - dprint "load_buffer_module(%s) END" % name - end - - def get_buffer_entity(name, vimfun) - loading_allowed = VIM::evaluate("exists('g:rubycomplete_buffer_loading') && g:rubycomplete_buffer_loading") - return nil if loading_allowed.to_i.zero? - return nil if /(\"|\')+/.match( name ) - buf = VIM::Buffer.current - nums = eval( VIM::evaluate( vimfun % name ) ) - return nil if nums == nil - return nil if nums.min == nums.max && nums.min == 0 - - dprint "get_buffer_entity START" - visited = [] - clscnt = 0 - bufname = VIM::Buffer.current.name - classdef = "" - cur_line = VIM::Buffer.current.line_number - while (nums != nil && !(nums.min == 0 && nums.max == 0) ) - dprint "visited: %s" % visited.to_s - break if visited.index( nums ) - visited << nums - - nums.each do |x| - if x != cur_line - next if x == 0 - ln = buf[x] - is_const = false - if /^\s*(module|class|def|include)\s+/.match(ln) || is_const = /^\s*?[A-Z]([A-z]|[1-9])*\s*?[|]{0,2}=\s*?.+\s*?/.match(ln) - clscnt += 1 if /class|module/.match($1) - # We must make sure to load each constant only once to avoid errors - if is_const - ln.gsub!(/\s*?[|]{0,2}=\s*?/, '||=') - end - #dprint "\$1$1 - classdef += "%s\n" % ln - classdef += "end\n" if /def\s+/.match(ln) - dprint ln - end - end - end - - nm = "%s(::.*)*\", %s, \"" % [ name, nums.last ] - nums = eval( VIM::evaluate( vimfun % nm ) ) - dprint "nm: \"%s\"" % nm - dprint "vimfun: %s" % (vimfun % nm) - dprint "got nums: %s" % nums.to_s - end - if classdef.length > 1 - classdef += "end\n"*clscnt - # classdef = "class %s\n%s\nend\n" % [ bufname.gsub( /\/|\\/, "_" ), classdef ] - end - - dprint "get_buffer_entity END" - dprint "classdef====start" - lns = classdef.split( "\n" ) - lns.each { |x| dprint x } - dprint "classdef====end" - return classdef - end - - def get_var_type( receiver ) - if /(\"|\')+/.match( receiver ) - "String" - else - VIM::evaluate("s:GetRubyVarType('%s')" % receiver) - end - end - - def dprint( txt ) - print txt if @@debug - end - - def escape_vim_singlequote_string(str) - str.to_s.gsub(/'/,"\\'") - end - - def get_buffer_entity_list( type ) - # this will be a little expensive. - loading_allowed = VIM::evaluate("exists('g:rubycomplete_buffer_loading') && g:rubycomplete_buffer_loading") - allow_aggressive_load = VIM::evaluate("exists('g:rubycomplete_classes_in_global') && g:rubycomplete_classes_in_global") - return [] if allow_aggressive_load.to_i.zero? || loading_allowed.to_i.zero? - - buf = VIM::Buffer.current - eob = buf.length - ret = [] - rg = 1..eob - re = eval( "/^\s*%s\s*([A-Za-z0-9_:-]*)(\s*<\s*([A-Za-z0-9_:-]*))?\s*/" % type ) - - rg.each do |x| - if re.match( buf[x] ) - next if type == "def" && eval( VIM::evaluate("s:IsPosInClassDef(%s)" % x) ) != nil - ret.push $1 - end - end - - return ret - end - - def get_buffer_modules - return get_buffer_entity_list( "modules" ) - end - - def get_buffer_methods - return get_buffer_entity_list( "def" ) - end - - def get_buffer_classes - return get_buffer_entity_list( "class" ) - end - - def load_rails - allow_rails = VIM::evaluate("exists('g:rubycomplete_rails') && g:rubycomplete_rails") - return if allow_rails.to_i.zero? - - buf_path = VIM::evaluate('expand("%:p")') - file_name = VIM::evaluate('expand("%:t")') - vim_dir = VIM::evaluate('getcwd()') - file_dir = buf_path.gsub( file_name, '' ) - file_dir.gsub!( /\\/, "/" ) - vim_dir.gsub!( /\\/, "/" ) - vim_dir << "/" - dirs = [ vim_dir, file_dir ] - sdirs = [ "", "./", "../", "../../", "../../../", "../../../../" ] - rails_base = nil - - dirs.each do |dir| - sdirs.each do |sub| - trail = "%s%s" % [ dir, sub ] - tcfg = "%sconfig" % trail - - if File.exists?( tcfg ) - rails_base = trail - break - end - end - break if rails_base - end - - return if rails_base == nil - $:.push rails_base unless $:.index( rails_base ) - - bootfile = rails_base + "config/boot.rb" - envfile = rails_base + "config/environment.rb" - if File.exists?( bootfile ) && File.exists?( envfile ) - begin - require bootfile - require envfile - begin - require 'console_app' - require 'console_with_helpers' - rescue Exception - dprint "Rails 1.1+ Error %s" % $! - # assume 1.0 - end - #eval( "Rails::Initializer.run" ) #not necessary? - VIM::command('let s:rubycomplete_rails_loaded = 1') - dprint "rails loaded" - rescue Exception - dprint "Rails Error %s" % $! - VIM::evaluate( "s:ErrMsg('Error loading rails environment')" ) - end - end - end - - def get_rails_helpers - allow_rails = VIM::evaluate("exists('g:rubycomplete_rails') && g:rubycomplete_rails") - rails_loaded = VIM::evaluate('s:rubycomplete_rails_loaded') - return [] if allow_rails.to_i.zero? || rails_loaded.to_i.zero? - - buf_path = VIM::evaluate('expand("%:p")') - buf_path.gsub!( /\\/, "/" ) - path_elm = buf_path.split( "/" ) - dprint "buf_path: %s" % buf_path - types = [ "app", "db", "lib", "test", "components", "script" ] - - i = nil - ret = [] - type = nil - types.each do |t| - i = path_elm.index( t ) - break if i - end - type = path_elm[i] - type.downcase! - - dprint "type: %s" % type - case type - when "app" - i += 1 - subtype = path_elm[i] - subtype.downcase! - - dprint "subtype: %s" % subtype - case subtype - when "views" - ret += ActionView::Base.instance_methods - ret += ActionView::Base.methods - when "controllers" - ret += ActionController::Base.instance_methods - ret += ActionController::Base.methods - when "models" - ret += ActiveRecord::Base.instance_methods - ret += ActiveRecord::Base.methods - end - - when "db" - ret += ActiveRecord::ConnectionAdapters::SchemaStatements.instance_methods - ret += ActiveRecord::ConnectionAdapters::SchemaStatements.methods - end - - return ret - end - - def add_rails_columns( cls ) - allow_rails = VIM::evaluate("exists('g:rubycomplete_rails') && g:rubycomplete_rails") - rails_loaded = VIM::evaluate('s:rubycomplete_rails_loaded') - return [] if allow_rails.to_i.zero? || rails_loaded.to_i.zero? - - begin - eval( "#{cls}.establish_connection" ) - return [] unless eval( "#{cls}.ancestors.include?(ActiveRecord::Base).to_s" ) - col = eval( "#{cls}.column_names" ) - return col if col - rescue - dprint "add_rails_columns err: (cls: %s) %s" % [ cls, $! ] - return [] - end - return [] - end - - def clean_sel(sel, msg) - ret = sel.reject{|x|x.nil?}.uniq - ret = ret.grep(/^#{Regexp.quote(msg)}/) if msg != nil - ret - end - - def get_rails_view_methods - allow_rails = VIM::evaluate("exists('g:rubycomplete_rails') && g:rubycomplete_rails") - rails_loaded = VIM::evaluate('s:rubycomplete_rails_loaded') - return [] if allow_rails.to_i.zero? || rails_loaded.to_i.zero? - - buf_path = VIM::evaluate('expand("%:p")') - buf_path.gsub!( /\\/, "/" ) - pelm = buf_path.split( "/" ) - idx = pelm.index( "views" ) - - return [] unless idx - idx += 1 - - clspl = pelm[idx].camelize.pluralize - cls = clspl.singularize - - ret = [] - begin - ret += eval( "#{cls}.instance_methods" ) - ret += eval( "#{clspl}Helper.instance_methods" ) - rescue Exception - dprint "Error: Unable to load rails view helpers for %s: %s" % [ cls, $! ] - end - - return ret - end -# }}} buffer analysis magic - -# {{{ main completion code - def self.preload_rails - a = VimRubyCompletion.new - if VIM::evaluate("has('nvim')") == 0 - require 'thread' - Thread.new(a) do |b| - begin - b.load_rails - rescue - end - end - end - a.load_rails - rescue - end - - def self.get_completions(base) - b = VimRubyCompletion.new - b.get_completions base - end - - def get_completions(base) - loading_allowed = VIM::evaluate("exists('g:rubycomplete_buffer_loading') && g:rubycomplete_buffer_loading") - if loading_allowed.to_i == 1 - load_requires - load_rails - end - - want_gems = VIM::evaluate("get(g:, 'rubycomplete_load_gemfile')") - load_gems unless want_gems.to_i.zero? - - input = VIM::Buffer.current.line - cpos = VIM::Window.current.cursor[1] - 1 - input = input[0..cpos] - input += base - input.sub!(/.*[ \t\n\"\\'`><=;|&{(]/, '') # Readline.basic_word_break_characters - input.sub!(/self\./, '') - input.sub!(/.*((\.\.[\[(]?)|([\[(]))/, '') - - dprint 'input %s' % input - message = nil - receiver = nil - methods = [] - variables = [] - classes = [] - constants = [] - - case input - when /^(\/[^\/]*\/)\.([^.]*)$/ # Regexp - receiver = $1 - message = Regexp.quote($2) - methods = Regexp.instance_methods(true) - - when /^([^\]]*\])\.([^.]*)$/ # Array - receiver = $1 - message = Regexp.quote($2) - methods = Array.instance_methods(true) - - when /^([^\}]*\})\.([^.]*)$/ # Proc or Hash - receiver = $1 - message = Regexp.quote($2) - methods = Proc.instance_methods(true) | Hash.instance_methods(true) - - when /^(:[^:.]*)$/ # Symbol - dprint "symbol" - if Symbol.respond_to?(:all_symbols) - receiver = $1 - message = $1.sub( /:/, '' ) - methods = Symbol.all_symbols.collect{|s| s.id2name} - methods.delete_if { |c| c.match( /'/ ) } - end - - when /^::([A-Z][^:\.\(]*)?$/ # Absolute Constant or class methods - dprint "const or cls" - receiver = $1 - methods = Object.constants.collect{ |c| c.to_s }.grep(/^#{receiver}/) - - when /^(((::)?[A-Z][^:.\(]*)+?)::?([^:.]*)$/ # Constant or class methods - receiver = $1 - message = Regexp.quote($4) - dprint "const or cls 2 [recv: \'%s\', msg: \'%s\']" % [ receiver, message ] - load_buffer_class( receiver ) - load_buffer_module( receiver ) - begin - constants = eval("#{receiver}.constants").collect{ |c| c.to_s }.grep(/^#{message}/) - methods = eval("#{receiver}.methods").collect{ |m| m.to_s }.grep(/^#{message}/) - rescue Exception - dprint "exception: %s" % $! - constants = [] - methods = [] - end - - when /^(:[^:.]+)\.([^.]*)$/ # Symbol - dprint "symbol" - receiver = $1 - message = Regexp.quote($2) - methods = Symbol.instance_methods(true) - - when /^([0-9_]+(\.[0-9_]+)?(e[0-9]+)?)\.([^.]*)$/ # Numeric - dprint "numeric" - receiver = $1 - message = Regexp.quote($4) - begin - methods = eval(receiver).methods - rescue Exception - methods = [] - end - - when /^(\$[^.]*)$/ #global - dprint "global" - methods = global_variables.grep(Regexp.new(Regexp.quote($1))) - - when /^((\.?[^.]+)+?)\.([^.]*)$/ # variable - dprint "variable" - receiver = $1 - message = Regexp.quote($3) - load_buffer_class( receiver ) - - cv = eval("self.class.constants") - vartype = get_var_type( receiver ) - dprint "vartype: %s" % vartype - - invalid_vartype = ['', "gets"] - if !invalid_vartype.include?(vartype) - load_buffer_class( vartype ) - - begin - methods = eval("#{vartype}.instance_methods") - variables = eval("#{vartype}.instance_variables") - rescue Exception - dprint "load_buffer_class err: %s" % $! - end - elsif (cv).include?(receiver) - # foo.func and foo is local var. - methods = eval("#{receiver}.methods") - vartype = receiver - elsif /^[A-Z]/ =~ receiver and /\./ !~ receiver - vartype = receiver - # Foo::Bar.func - begin - methods = eval("#{receiver}.methods") - rescue Exception - end - else - # func1.func2 - ObjectSpace.each_object(Module){|m| - next if m.name != "IRB::Context" and - /^(IRB|SLex|RubyLex|RubyToken)/ =~ m.name - methods.concat m.instance_methods(false) - } - end - variables += add_rails_columns( "#{vartype}" ) if vartype && !invalid_vartype.include?(vartype) - - when /^\(?\s*[A-Za-z0-9:^@.%\/+*\(\)]+\.\.\.?[A-Za-z0-9:^@.%\/+*\(\)]+\s*\)?\.([^.]*)/ - message = $1 - methods = Range.instance_methods(true) - - when /^\.([^.]*)$/ # unknown(maybe String) - message = Regexp.quote($1) - methods = String.instance_methods(true) - - else - dprint "default/other" - inclass = eval( VIM::evaluate("s:IsInClassDef()") ) - - if inclass != nil - dprint "inclass" - classdef = "%s\n" % VIM::Buffer.current[ inclass.min ] - found = /^\s*class\s*([A-Za-z0-9_-]*)(\s*<\s*([A-Za-z0-9_:-]*))?\s*\n$/.match( classdef ) - - if found != nil - receiver = $1 - message = input - load_buffer_class( receiver ) - begin - methods = eval( "#{receiver}.instance_methods" ) - variables += add_rails_columns( "#{receiver}" ) - rescue Exception - found = nil - end - end - end - - if inclass == nil || found == nil - dprint "inclass == nil" - methods = get_buffer_methods - methods += get_rails_view_methods - - cls_const = Class.constants - constants = cls_const.select { |c| /^[A-Z_-]+$/.match( c ) } - classes = eval("self.class.constants") - constants - classes += get_buffer_classes - classes += get_buffer_modules - - include_objectspace = VIM::evaluate("exists('g:rubycomplete_include_objectspace') && g:rubycomplete_include_objectspace") - ObjectSpace.each_object(Class) { |cls| classes << cls.to_s } if include_objectspace == "1" - message = receiver = input - end - - methods += get_rails_helpers - methods += Kernel.public_methods - end - - include_object = VIM::evaluate("exists('g:rubycomplete_include_object') && g:rubycomplete_include_object") - methods = clean_sel( methods, message ) - methods = (methods-Object.instance_methods) if include_object == "0" - rbcmeth = (VimRubyCompletion.instance_methods-Object.instance_methods) # lets remove those rubycomplete methods - methods = (methods-rbcmeth) - - variables = clean_sel( variables, message ) - classes = clean_sel( classes, message ) - ["VimRubyCompletion"] - constants = clean_sel( constants, message ) - - valid = [] - valid += methods.collect { |m| { :name => m.to_s, :type => 'm' } } - valid += variables.collect { |v| { :name => v.to_s, :type => 'v' } } - valid += classes.collect { |c| { :name => c.to_s, :type => 't' } } - valid += constants.collect { |d| { :name => d.to_s, :type => 'd' } } - valid.sort! { |x,y| x[:name] <=> y[:name] } - - outp = "" - - rg = 0..valid.length - rg.step(150) do |x| - stpos = 0+x - enpos = 150+x - valid[stpos..enpos].each { |c| outp += "{'word':'%s','item':'%s','kind':'%s'}," % [ c[:name], c[:name], c[:type] ].map{|x|escape_vim_singlequote_string(x)} } - outp.sub!(/,$/, '') - - VIM::command("call extend(g:rubycomplete_completions, [%s])" % outp) - outp = "" - end - end -# }}} main completion code - -end # VimRubyCompletion -# }}} ruby completion -RUBYEOF -endfunction - -let s:rubycomplete_rails_loaded = 0 - -call s:DefRuby() -"}}} ruby-side code - -" vim:tw=78:sw=4:ts=8:et:fdm=marker:ft=vim:norl: diff --git a/.vim_runtime/sources_non_forked/vim-ruby/compiler/eruby.vim b/.vim_runtime/sources_non_forked/vim-ruby/compiler/eruby.vim deleted file mode 100644 index cb42a71..0000000 --- a/.vim_runtime/sources_non_forked/vim-ruby/compiler/eruby.vim +++ /dev/null @@ -1,39 +0,0 @@ -" Vim compiler file -" Language: eRuby -" Maintainer: Doug Kearns -" URL: https://github.com/vim-ruby/vim-ruby -" Release Coordinator: Doug Kearns - -if exists("current_compiler") - finish -endif -let current_compiler = "eruby" - -if exists(":CompilerSet") != 2 " older Vim always used :setlocal - command -nargs=* CompilerSet setlocal -endif - -let s:cpo_save = &cpo -set cpo-=C - -if exists("eruby_compiler") && eruby_compiler == "eruby" - CompilerSet makeprg=eruby -else - CompilerSet makeprg=erb -endif - -CompilerSet errorformat= - \eruby:\ %f:%l:%m, - \%+E%f:%l:\ parse\ error, - \%W%f:%l:\ warning:\ %m, - \%E%f:%l:in\ %*[^:]:\ %m, - \%E%f:%l:\ %m, - \%-C%\t%\\d%#:%#\ %#from\ %f:%l:in\ %.%#, - \%-Z%\t%\\d%#:%#\ %#from\ %f:%l, - \%-Z%p^, - \%-G%.%# - -let &cpo = s:cpo_save -unlet s:cpo_save - -" vim: nowrap sw=2 sts=2 ts=8: diff --git a/.vim_runtime/sources_non_forked/vim-ruby/compiler/rake.vim b/.vim_runtime/sources_non_forked/vim-ruby/compiler/rake.vim deleted file mode 100644 index ba404c8..0000000 --- a/.vim_runtime/sources_non_forked/vim-ruby/compiler/rake.vim +++ /dev/null @@ -1,39 +0,0 @@ -" Vim compiler file -" Language: Rake -" Maintainer: Tim Pope -" URL: https://github.com/vim-ruby/vim-ruby -" Release Coordinator: Doug Kearns - -if exists("current_compiler") - finish -endif -let current_compiler = "rake" - -if exists(":CompilerSet") != 2 " older Vim always used :setlocal - command -nargs=* CompilerSet setlocal -endif - -let s:cpo_save = &cpo -set cpo-=C - -CompilerSet makeprg=rake - -CompilerSet errorformat= - \%D(in\ %f), - \%\\s%#%\\d%#:%#\ %#from\ %f:%l:%m, - \%\\s%#%\\d%#:%#\ %#from\ %f:%l:, - \%\\s%##\ %f:%l:%m%\\&%.%#%\\D:%\\d%\\+:%.%#, - \%\\s%##\ %f:%l%\\&%.%#%\\D:%\\d%\\+, - \%\\s%#[%f:%l:\ %#%m%\\&%.%#%\\D:%\\d%\\+:%.%#, - \%\\s%#%f:%l:\ %#%m%\\&%.%#%\\D:%\\d%\\+:%.%#, - \%\\s%#%f:%l:, - \%m\ [%f:%l]:, - \%+Erake\ aborted!, - \%+EDon't\ know\ how\ to\ build\ task\ %.%#, - \%+Einvalid\ option:%.%#, - \%+Irake\ %\\S%\\+%\\s%\\+#\ %.%# - -let &cpo = s:cpo_save -unlet s:cpo_save - -" vim: nowrap sw=2 sts=2 ts=8: diff --git a/.vim_runtime/sources_non_forked/vim-ruby/compiler/rspec.vim b/.vim_runtime/sources_non_forked/vim-ruby/compiler/rspec.vim deleted file mode 100644 index 06e4de4..0000000 --- a/.vim_runtime/sources_non_forked/vim-ruby/compiler/rspec.vim +++ /dev/null @@ -1,35 +0,0 @@ -" Vim compiler file -" Language: RSpec -" Maintainer: Tim Pope -" URL: https://github.com/vim-ruby/vim-ruby -" Release Coordinator: Doug Kearns - -if exists("current_compiler") - finish -endif -let current_compiler = "rspec" - -if exists(":CompilerSet") != 2 " older Vim always used :setlocal - command -nargs=* CompilerSet setlocal -endif - -let s:cpo_save = &cpo -set cpo-=C - -CompilerSet makeprg=rspec - -CompilerSet errorformat= - \%f:%l:\ %tarning:\ %m, - \%E%.%#:in\ `load':\ %f:%l:%m, - \%E%f:%l:in\ `%*[^']':\ %m, - \%-Z\ \ \ \ \ %\\+\#\ %f:%l:%.%#, - \%E\ \ \ \ \ Failure/Error:\ %m, - \%E\ \ \ \ \ Failure/Error:, - \%C\ \ \ \ \ %m, - \%C%\\s%#, - \%-G%.%# - -let &cpo = s:cpo_save -unlet s:cpo_save - -" vim: nowrap sw=2 sts=2 ts=8: diff --git a/.vim_runtime/sources_non_forked/vim-ruby/compiler/ruby.vim b/.vim_runtime/sources_non_forked/vim-ruby/compiler/ruby.vim deleted file mode 100644 index 64429a2..0000000 --- a/.vim_runtime/sources_non_forked/vim-ruby/compiler/ruby.vim +++ /dev/null @@ -1,44 +0,0 @@ -" Vim compiler file -" Language: Ruby -" Function: Syntax check and/or error reporting -" Maintainer: Tim Pope -" URL: https://github.com/vim-ruby/vim-ruby -" Release Coordinator: Doug Kearns - -if exists("current_compiler") - finish -endif -let current_compiler = "ruby" - -if exists(":CompilerSet") != 2 " older Vim always used :setlocal - command -nargs=* CompilerSet setlocal -endif - -let s:cpo_save = &cpo -set cpo-=C - -" default settings runs script normally -" add '-c' switch to run syntax check only: -" -" CompilerSet makeprg=ruby\ -c -" -" or add '-c' at :make command line: -" -" :make -c % -" -CompilerSet makeprg=ruby - -CompilerSet errorformat= - \%+E%f:%l:\ parse\ error, - \%W%f:%l:\ warning:\ %m, - \%E%f:%l:in\ %*[^:]:\ %m, - \%E%f:%l:\ %m, - \%-C%\t%\\d%#:%#\ %#from\ %f:%l:in\ %.%#, - \%-Z%\t%\\d%#:%#\ %#from\ %f:%l, - \%-Z%p^, - \%-G%.%# - -let &cpo = s:cpo_save -unlet s:cpo_save - -" vim: nowrap sw=2 sts=2 ts=8: diff --git a/.vim_runtime/sources_non_forked/vim-ruby/compiler/rubyunit.vim b/.vim_runtime/sources_non_forked/vim-ruby/compiler/rubyunit.vim deleted file mode 100644 index ed0639b..0000000 --- a/.vim_runtime/sources_non_forked/vim-ruby/compiler/rubyunit.vim +++ /dev/null @@ -1,35 +0,0 @@ -" Vim compiler file -" Language: Test::Unit - Ruby Unit Testing Framework -" Maintainer: Doug Kearns -" URL: https://github.com/vim-ruby/vim-ruby -" Release Coordinator: Doug Kearns - -if exists("current_compiler") - finish -endif -let current_compiler = "rubyunit" - -if exists(":CompilerSet") != 2 " older Vim always used :setlocal - command -nargs=* CompilerSet setlocal -endif - -let s:cpo_save = &cpo -set cpo-=C - -CompilerSet makeprg=testrb -" CompilerSet makeprg=ruby\ -Itest -" CompilerSet makeprg=m - -CompilerSet errorformat=\%W\ %\\+%\\d%\\+)\ Failure:, - \%C%m\ [%f:%l]:, - \%E\ %\\+%\\d%\\+)\ Error:, - \%C%m:, - \%C\ \ \ \ %f:%l:%.%#, - \%C%m, - \%Z\ %#, - \%-G%.%# - -let &cpo = s:cpo_save -unlet s:cpo_save - -" vim: nowrap sw=2 sts=2 ts=8: diff --git a/.vim_runtime/sources_non_forked/vim-ruby/doc/ft-ruby-indent.txt b/.vim_runtime/sources_non_forked/vim-ruby/doc/ft-ruby-indent.txt deleted file mode 100644 index 02f613e..0000000 --- a/.vim_runtime/sources_non_forked/vim-ruby/doc/ft-ruby-indent.txt +++ /dev/null @@ -1,109 +0,0 @@ -RUBY *ft-ruby-indent* - - Ruby: Access modifier indentation |ruby-access-modifier-indentation| - Ruby: Block style indentation |ruby-block-style-indentation| - Ruby: Assignment style indentation |ruby-assignment-style-indentation| - - *ruby-access-modifier-indentation* - *g:ruby_indent_access_modifier_style* - Ruby: Access modifier indentation ~ - -Different access modifier indentation styles can be used by setting: > - - :let g:ruby_indent_access_modifier_style = 'normal' - :let g:ruby_indent_access_modifier_style = 'indent' - :let g:ruby_indent_access_modifier_style = 'outdent' -< -By default, the "normal" access modifier style is used. - -Access modifier style "normal": -> - class Indent - private :method - protected :method - private - def method; end - protected - def method; end - public - def method; end - end -< -Access modifier style "indent": -> - class Indent - private :method - protected :method - private - def method; end - protected - def method; end - public - def method; end - end -< -Access modifier style "outdent": -> - class Indent - private :method - protected :method - private - def method; end - protected - def method; end - public - def method; end - end -< - *ruby-block-style-indentation* - *g:ruby_indent_block_style* - Ruby: Block style indentation ~ - -Different block indentation styles can be used by setting: > - - :let g:ruby_indent_block_style = 'expression' - :let g:ruby_indent_block_style = 'do' -< -By default, the "expression" block indent style is used. - -Block indent style "expression": -> - first - .second do |x| - something - end -< -Block indent style "do": -> - first - .second do |x| - something - end -< - - *ruby-assignment-style-indentation* - *g:ruby_indent_assignment_style* - Ruby: Assignment style indentation ~ - -Different styles of indenting assignment for multiline expressions: -> - :let g:ruby_indent_assignment_style = 'hanging' - :let g:ruby_indent_assignment_style = 'variable' -< -By default, the "hanging" style is used. - -Assignment indent style "hanging": -> - x = if condition - something - end -< -Assignment indent style "variable": -> - x = if condition - something - end -< - - - vim:tw=78:sw=4:ts=8:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/vim-ruby/doc/ft-ruby-omni.txt b/.vim_runtime/sources_non_forked/vim-ruby/doc/ft-ruby-omni.txt deleted file mode 100644 index f678089..0000000 --- a/.vim_runtime/sources_non_forked/vim-ruby/doc/ft-ruby-omni.txt +++ /dev/null @@ -1,51 +0,0 @@ -RUBY *ft-ruby-omni* - -Completion of Ruby code requires that Vim be built with |+ruby|. - -Ruby completion will parse your buffer on demand in order to provide a list of -completions. These completions will be drawn from modules loaded by "require" -and modules defined in the current buffer. - -The completions provided by CTRL-X CTRL-O are sensitive to the context: - - CONTEXT COMPLETIONS PROVIDED ~ - - 1. Not inside a class definition Classes, constants and globals - - 2. Inside a class definition Methods or constants defined in the class - - 3. After '.', '::' or ':' Methods applicable to the object being - dereferenced - - 4. After ':' or ':foo' Symbol name (beginning with "foo") - -Notes: - - Vim will load/evaluate code in order to provide completions. This may - cause some code execution, which may be a concern. This is no longer - enabled by default, to enable this feature add > - let g:rubycomplete_buffer_loading = 1 -< - In context 1 above, Vim can parse the entire buffer to add a list of - classes to the completion results. This feature is turned off by default, - to enable it add > - let g:rubycomplete_classes_in_global = 1 -< to your vimrc - - In context 2 above, anonymous classes are not supported. - - In context 3 above, Vim will attempt to determine the methods supported by - the object. - - Vim can detect and load the Rails environment for files within a rails - project. The feature is disabled by default, to enable it add > - let g:rubycomplete_rails = 1 -< to your vimrc - - Vim can parse a Gemfile, in case gems are being implicitly required. To - activate the feature: > - let g:rubycomplete_load_gemfile = 1 -< To specify an alternative path, use: > - let g:rubycomplete_gemfile_path = 'Gemfile.aux' -< To use Bundler.require instead of parsing the Gemfile, set: > - let g:rubycomplete_use_bundler = 1 -< To use custom paths that should be added to $LOAD_PATH to correctly - resolve requires, set: > - let g:rubycomplete_load_paths = ["/path/to/code", "./lib/example"] - - - vim:tw=78:sw=4:ts=8:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/vim-ruby/doc/ft-ruby-plugin.txt b/.vim_runtime/sources_non_forked/vim-ruby/doc/ft-ruby-plugin.txt deleted file mode 100644 index 527a8b6..0000000 --- a/.vim_runtime/sources_non_forked/vim-ruby/doc/ft-ruby-plugin.txt +++ /dev/null @@ -1,79 +0,0 @@ -RUBY *ft-ruby-plugin* - - Ruby: Recommended settings |ruby-recommended| - Ruby: Motion commands |ruby-motion| - Ruby: Text objects |ruby-text-objects| - - *ruby-recommended* - *g:ruby_recommended_style* - Ruby: Recommended settings ~ - -The `g:ruby_recommended_style` variable activates indentation settings -according to the most common ruby convention: two spaces for indentation. It's -turned on by default to ensure an unsurprising default experience for most -ruby developers. - -If you'd like to enforce your own style, it's possible to apply your own -preferences in your own configuration in `after/ftplugin/ruby.vim`. You can -also disable the setting by setting the variable to 0: -> - let g:ruby_recommended_style = 0 -< - - *ruby-motion* - Ruby: Motion commands ~ - -Vim provides motions such as |[m| and |]m| for jumping to the start or end of -a method definition. Out of the box, these work for curly-bracket languages, -but not for Ruby. The vim-ruby plugin enhances these motions, by making them -also work on Ruby files. - - *ruby-]m* -]m Go to start of next method definition. - - *ruby-]M* -]M Go to end of next method definition. - - *ruby-[m* -[m Go to start of previous method definition. - - *ruby-[M* -[M Go to end of previous method definition. - - *ruby-]]* -]] Go to start of next module or class definition. - - *ruby-][* -][ Go to end of next module or class definition. - - *ruby-[[* -[[ Go to start of previous module or class definition. - - *ruby-[]* -[] Go to end of previous module or class definition. - - *ruby-text-objects* - Ruby: Text objects ~ - -Vim's |text-objects| can be used to select or operate upon regions of text -that are defined by structure. The vim-ruby plugin adds text objects for -operating on methods and classes. - - *ruby-v_am* *ruby-am* -am "a method", select from "def" until matching "end" - keyword. - - *ruby-v_im* *ruby-im* -im "inner method", select contents of "def"/"end" block, - excluding the "def" and "end" themselves. - - *ruby-v_aM* *ruby-aM* -aM "a class", select from "class" until matching "end" - keyword. - - *ruby-v_iM* *ruby-iM* -iM "inner class", select contents of "class"/"end" - block, excluding the "class" and "end" themselves. - - - vim:tw=78:sw=4:ts=8:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/vim-ruby/doc/ft-ruby-syntax.txt b/.vim_runtime/sources_non_forked/vim-ruby/doc/ft-ruby-syntax.txt deleted file mode 100644 index 72c826a..0000000 --- a/.vim_runtime/sources_non_forked/vim-ruby/doc/ft-ruby-syntax.txt +++ /dev/null @@ -1,118 +0,0 @@ -RUBY *ruby.vim* *ft-ruby-syntax* - - Ruby: Operator highlighting |ruby_operators| - Ruby: Whitespace errors |ruby_space_errors| - Ruby: Syntax errors |ruby_syntax_errors| - Ruby: Folding |ruby_fold| |ruby_foldable_groups| - Ruby: Reducing expensive operations |ruby_no_expensive| |ruby_minlines| - Ruby: Spellchecking strings |ruby_spellcheck_strings| - - *ruby_operators* - Ruby: Operator highlighting ~ - -Operators, and pseudo operators, can be highlighted by defining: > - - :let ruby_operators = 1 - :let ruby_pseudo_operators = 1 -< -The supported pseudo operators are ., &., ::, *, **, &, <, << and ->. - - *ruby_space_errors* - Ruby: Whitespace errors ~ - -Whitespace errors can be highlighted by defining "ruby_space_errors": > - - :let ruby_space_errors = 1 -< -This will highlight trailing whitespace and tabs preceded by a space character -as errors. This can be refined by defining "ruby_no_trail_space_error" and -"ruby_no_tab_space_error" which will ignore trailing whitespace and tabs after -spaces respectively. - - *ruby_syntax_errors* - Ruby: Syntax errors ~ - -Redundant line continuations and predefined global variable look-alikes (such -as $# and $-z) can be highlighted as errors by defining: -> - :let ruby_line_continuation_error = 1 - :let ruby_global_variable_error = 1 -< - *ruby_fold* - Ruby: Folding ~ - -Folding can be enabled by defining "ruby_fold": > - - :let ruby_fold = 1 -< -This will set the value of 'foldmethod' to "syntax" locally to the current -buffer or window, which will enable syntax-based folding when editing Ruby -filetypes. - - *ruby_foldable_groups* -Default folding is rather detailed, i.e., small syntax units like "if", "do", -"%w[]" may create corresponding fold levels. - -You can set "ruby_foldable_groups" to restrict which groups are foldable: > - - :let ruby_foldable_groups = 'if case %' -< -The value is a space-separated list of keywords: - - keyword meaning ~ - -------- ------------------------------------- ~ - ALL Most block syntax (default) - NONE Nothing - if "if" or "unless" block - def "def" block - class "class" block - module "module" block - do "do" block - begin "begin" block - case "case" block - for "for", "while", "until" loops - { Curly bracket block or hash literal - [ Array literal - % Literal with "%" notation, e.g.: %w(STRING), %!STRING! - / Regexp - string String and shell command output (surrounded by ', ", `) - : Symbol - # Multiline comment - << Here documents - __END__ Source code after "__END__" directive - -NONE and ALL have priority, in that order, over all other folding groups. - - *ruby_no_expensive* - Ruby: Reducing expensive operations ~ - -By default, the "end" keyword is colorized according to the opening statement -of the block it closes. While useful, this feature can be expensive; if you -experience slow redrawing (or you are on a terminal with poor color support) -you may want to turn it off by defining the "ruby_no_expensive" variable: > - - :let ruby_no_expensive = 1 -< -In this case the same color will be used for all control keywords. - - *ruby_minlines* - -If you do want this feature enabled, but notice highlighting errors while -scrolling backwards, which are fixed when redrawing with CTRL-L, try setting -the "ruby_minlines" variable to a value larger than 50: > - - :let ruby_minlines = 100 -< -Ideally, this value should be a number of lines large enough to embrace your -largest class or module. - - *ruby_spellcheck_strings* - Ruby: Spellchecking strings ~ - -Ruby syntax will perform spellchecking of strings if you define -"ruby_spellcheck_strings": > - - :let ruby_spellcheck_strings = 1 -< - - vim:tw=78:sw=4:ts=8:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/vim-ruby/ftdetect/ruby.vim b/.vim_runtime/sources_non_forked/vim-ruby/ftdetect/ruby.vim deleted file mode 100644 index e11cfad..0000000 --- a/.vim_runtime/sources_non_forked/vim-ruby/ftdetect/ruby.vim +++ /dev/null @@ -1,42 +0,0 @@ -" Officially distributed filetypes - -" Support functions {{{ -function! s:setf(filetype) abort - if &filetype !~# '\<'.a:filetype.'\>' - let &filetype = a:filetype - endif -endfunction - -func! s:StarSetf(ft) - if expand("") !~ g:ft_ignore_pat - exe 'setf ' . a:ft - endif -endfunc -" }}} - -" HTML with Ruby - eRuby -au BufNewFile,BufRead *.erb,*.rhtml call s:setf('eruby') - -" Interactive Ruby shell -au BufNewFile,BufRead .irbrc,irbrc call s:setf('ruby') - -" Ruby -au BufNewFile,BufRead *.rb,*.rbw,*.gemspec call s:setf('ruby') - -" Rackup -au BufNewFile,BufRead *.ru call s:setf('ruby') - -" Bundler -au BufNewFile,BufRead Gemfile call s:setf('ruby') - -" Ruby on Rails -au BufNewFile,BufRead *.builder,*.rxml,*.rjs,*.ruby call s:setf('ruby') - -" Rakefile -au BufNewFile,BufRead [rR]akefile,*.rake call s:setf('ruby') -au BufNewFile,BufRead [rR]akefile* call s:StarSetf('ruby') - -" Rantfile -au BufNewFile,BufRead [rR]antfile,*.rant call s:setf('ruby') - -" vim: nowrap sw=2 sts=2 ts=8 noet fdm=marker: diff --git a/.vim_runtime/sources_non_forked/vim-ruby/ftdetect/ruby_extra.vim b/.vim_runtime/sources_non_forked/vim-ruby/ftdetect/ruby_extra.vim deleted file mode 100644 index 68e1567..0000000 --- a/.vim_runtime/sources_non_forked/vim-ruby/ftdetect/ruby_extra.vim +++ /dev/null @@ -1,69 +0,0 @@ -" All other filetypes - -" Support functions {{{ -function! s:setf(filetype) abort - if &filetype !=# a:filetype - let &filetype = a:filetype - endif -endfunction -" }}} - -" Appraisal -au BufNewFile,BufRead Appraisals call s:setf('ruby') - -" Autotest -au BufNewFile,BufRead .autotest call s:setf('ruby') - -" Axlsx -au BufNewFile,BufRead *.axlsx call s:setf('ruby') - -" Buildr Buildfile -au BufNewFile,BufRead [Bb]uildfile call s:setf('ruby') - -" Capistrano -au BufNewFile,BufRead Capfile,*.cap call s:setf('ruby') - -" Chef -au BufNewFile,BufRead Cheffile call s:setf('ruby') -au BufNewFile,BufRead Berksfile call s:setf('ruby') - -" CocoaPods -au BufNewFile,BufRead Podfile,*.podspec call s:setf('ruby') - -" Guard -au BufNewFile,BufRead Guardfile,.Guardfile call s:setf('ruby') - -" Jbuilder -au BufNewFile,BufRead *.jbuilder call s:setf('ruby') - -" Kitchen Sink -au BufNewFile,BufRead KitchenSink call s:setf('ruby') - -" Opal -au BufNewFile,BufRead *.opal call s:setf('ruby') - -" Pry config -au BufNewFile,BufRead .pryrc call s:setf('ruby') - -" Puppet librarian -au BufNewFile,BufRead Puppetfile call s:setf('ruby') - -" Rabl -au BufNewFile,BufRead *.rabl call s:setf('ruby') - -" Routefile -au BufNewFile,BufRead [rR]outefile call s:setf('ruby') - -" SimpleCov -au BufNewFile,BufRead .simplecov call s:setf('ruby') - -" Sorbet RBI files -au BufNewFile,BufRead *.rbi call s:setf('ruby') - -" Thor -au BufNewFile,BufRead [tT]horfile,*.thor call s:setf('ruby') - -" Vagrant -au BufNewFile,BufRead [vV]agrantfile call s:setf('ruby') - -" vim: nowrap sw=2 sts=2 ts=8 noet fdm=marker: diff --git a/.vim_runtime/sources_non_forked/vim-ruby/ftplugin/eruby.vim b/.vim_runtime/sources_non_forked/vim-ruby/ftplugin/eruby.vim deleted file mode 100644 index 6d6e616..0000000 --- a/.vim_runtime/sources_non_forked/vim-ruby/ftplugin/eruby.vim +++ /dev/null @@ -1,131 +0,0 @@ -" Vim filetype plugin -" Language: eRuby -" Maintainer: Tim Pope -" URL: https://github.com/vim-ruby/vim-ruby -" Release Coordinator: Doug Kearns - -" Only do this when not done yet for this buffer -if exists("b:did_ftplugin") - finish -endif - -let s:save_cpo = &cpo -set cpo-=C - -" Define some defaults in case the included ftplugins don't set them. -let s:undo_ftplugin = "" -let s:browsefilter = "All Files (*.*)\t*.*\n" -let s:match_words = "" - -if !exists("g:eruby_default_subtype") - let g:eruby_default_subtype = "html" -endif - -if &filetype =~ '^eruby\.' - let b:eruby_subtype = matchstr(&filetype,'^eruby\.\zs\w\+') -elseif !exists("b:eruby_subtype") - let s:lines = getline(1)."\n".getline(2)."\n".getline(3)."\n".getline(4)."\n".getline(5)."\n".getline("$") - let b:eruby_subtype = matchstr(s:lines,'eruby_subtype=\zs\w\+') - if b:eruby_subtype == '' - let b:eruby_subtype = matchstr(substitute(expand("%:t"),'\c\%(\.erb\|\.eruby\|\.erubis\|\.example\)\+$','',''),'\.\zs\w\+\%(\ze+\w\+\)\=$') - endif - if b:eruby_subtype == 'rhtml' - let b:eruby_subtype = 'html' - elseif b:eruby_subtype == 'rb' - let b:eruby_subtype = 'ruby' - elseif b:eruby_subtype == 'yml' - let b:eruby_subtype = 'yaml' - elseif b:eruby_subtype == 'js' - let b:eruby_subtype = 'javascript' - elseif b:eruby_subtype == 'txt' - " Conventional; not a real file type - let b:eruby_subtype = 'text' - elseif b:eruby_subtype == '' - let b:eruby_subtype = g:eruby_default_subtype - endif -endif - -if exists("b:eruby_subtype") && b:eruby_subtype != '' && b:eruby_subtype !=? 'eruby' - exe "runtime! ftplugin/".b:eruby_subtype.".vim ftplugin/".b:eruby_subtype."_*.vim ftplugin/".b:eruby_subtype."/*.vim" -else - runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim -endif -unlet! b:did_ftplugin - -" Override our defaults if these were set by an included ftplugin. -if exists("b:undo_ftplugin") - let s:undo_ftplugin = b:undo_ftplugin - unlet b:undo_ftplugin -endif -if exists("b:browsefilter") - let s:browsefilter = b:browsefilter - unlet b:browsefilter -endif -if exists("b:match_words") - let s:match_words = b:match_words - unlet b:match_words -endif - -let s:cfilemap = v:version >= 704 ? maparg('', 'c', 0, 1) : {} -if !get(s:cfilemap, 'buffer') || !s:cfilemap.expr || s:cfilemap.rhs =~# 'ErubyAtCursor()' - let s:cfilemap = {} -endif -if !has_key(s:cfilemap, 'rhs') - let s:cfilemap.rhs = "substitute(&l:inex =~# '\\' && len(expand('')) ? eval(substitute(&l:inex, '\\', '\\=string(expand(\"\"))', 'g')) : '', '^$', \"\\022\\006\",'')" -endif -let s:ctagmap = v:version >= 704 ? maparg('', 'c', 0, 1) : {} -if !get(s:ctagmap, 'buffer') || !s:ctagmap.expr || s:ctagmap.rhs =~# 'ErubyAtCursor()' - let s:ctagmap = {} -endif -let s:include = &l:include -let s:path = &l:path -let s:suffixesadd = &l:suffixesadd - -runtime! ftplugin/ruby.vim ftplugin/ruby_*.vim ftplugin/ruby/*.vim -let b:did_ftplugin = 1 - -" Combine the new set of values with those previously included. -if exists("b:undo_ftplugin") - let s:undo_ftplugin = b:undo_ftplugin . " | " . s:undo_ftplugin -endif -if exists ("b:browsefilter") - let s:browsefilter = substitute(b:browsefilter,'\cAll Files (\*\.\*)\t\*\.\*\n','','') . s:browsefilter -endif -if exists("b:match_words") - let s:match_words = b:match_words . ',' . s:match_words -endif - -if len(s:include) - let &l:include = s:include -endif -let &l:path = s:path . (s:path =~# ',$\|^$' ? '' : ',') . &l:path -let &l:suffixesadd = s:suffixesadd . (s:suffixesadd =~# ',$\|^$' ? '' : ',') . &l:suffixesadd -exe 'cmap

Contributors

- -

SnipMate was originally authored by Michael Sanders -(Vim, -GitHub).

- -

It is currently maintained by Rok Garbas, Marc -Weber, and Adnan Zafar with -additional contributions from:

- - diff --git a/.vim_runtime/sources_non_forked/vim-snipmate/README.md b/.vim_runtime/sources_non_forked/vim-snipmate/README.md deleted file mode 100644 index 1a967e6..0000000 --- a/.vim_runtime/sources_non_forked/vim-snipmate/README.md +++ /dev/null @@ -1,209 +0,0 @@ - -README.md

SnipMate

- -

SnipMate aims to provide support for textual snippets, similar to TextMate or -other Vim plugins like UltiSnips. For -example, in C, typing for<tab> could be expanded to

- -
for (i = 0; i < count; i++) {
-    /* code */
-}
- -

with successive presses of tab jumping around the snippet.

- -

Originally authored by Michael Sanders, SnipMate was forked in 2011 -after a stagnation in development. This fork is currently maintained by Rok -Garbas, Marc Weber, and Adnan Zafar.

- -

Installing SnipMate

- -

We recommend one of the following methods for installing SnipMate and its -dependencies. SnipMate depends on vim-addon-mw-utils and -tlib.

- -
-

NOTE: SnipMate does not ship with any snippets out of the box. We suggest -looking at the vim-snippets repository.

-
- -
    -
  • Using VAM, add vim-snippets to the list of packages to be installed.

  • - -
  • Using Pathogen, run the following commands:

    - -
    % cd ~/.vim/bundle
    -% git clone https://github.com/tomtom/tlib_vim.git
    -% git clone https://github.com/MarcWeber/vim-addon-mw-utils.git
    -% git clone https://github.com/garbas/vim-snipmate.git
    -
    -
    -# Optional:
    -% git clone https://github.com/honza/vim-snippets.git
  • - -
  • Using Vundle, add the following to your vimrc then run -:PluginInstall

    - -
    Plugin 'MarcWeber/vim-addon-mw-utils'
    -Plugin 'tomtom/tlib_vim'
    -Plugin 'garbas/vim-snipmate'
    -
    -
    -" Optional:
    -Plugin 'honza/vim-snippets'
  • -
- -

Using SnipMate

- -

Press and try :SnipMateOpenSnippetFiles for starting. -Also see doc/SnipMate.txt to learn all SnipMate

- -

FAQ

- -
-

SnipMate doesn’t work / My snippets aren’t triggering

-
- -

Try all of the following:

- -
    -
  • Check that SnipMate is loaded. This can be done by looking for -<Plug>snipMateTrigger and similar maps in the output of :imap. -Additionally make sure either <Plug>snipMateTrigger or -<Plug>snipMateNextOrTrigger is mapped to the key you expect.

  • - -
  • Check that the snippets file you mean to use exists, and that it contains the -snippet you’re trying to expand.

  • - -
  • Check that your snippets file is located inside a foo/snippets directory, -where foo is a path listed in your runtimepath.

  • - -
  • Check that your snippets file is in scope by either the filetype matching the -path of the snippet file or the scope explicitly loaded.

  • - -
  • Check if any snippets from your snippets file are available. This can be done -with the “show available snips” map, by default bound to <C-R><Tab> in -insert mode.

  • -
- -

If all of the above check out, please open an issue stating your Vim version, -a sample snippet, and a description of exactly what happens when you try to -trigger a snippet.

- -
-

How does SnipMate determine which snippets to load? How can I separate, for -example, my Rails snippets from my Ruby snippets?

-
- -

Primarily SnipMate looks at the 'filetype' and 'syntax' settings. Taking -“scopes” from these options, it looks in each snippets/ directory in -'runtimepath' for files named scope.snippets, scope/*.snippets, or -scope_*.snippets.

- -

However we understand this may not allow for the flexibility desired by some -languages. For this we provide two options: scope aliases and the -:SnipMateLoadScope command. Scope aliases simply say “whenever this scope is -loaded, also load this other scope:

- -
let g:snipMate = get(g:, 'snipMate', {}) " Allow for vimrc re-sourcing
-let g:snipMate.scope_aliases = {}
-let g:snipMate.scope_aliases['ruby'] = 'ruby,rails'
- -

will load the ruby-rails scope whenever the ruby scope is active. The -:SnipMateLoadScope foo command will always load the foo scope in the current -buffer. The vim-rails plugin automatically -does :SnipMateLoadScope rails when editing a Rails project for example.

- -
-

What are the snippet parser versions and what’s the difference between them?

-
- -

Originally SnipMate used regex to parse a snippet. Determining where stops were, -what the placeholders were, where mirrors were, etc. were all done with regex. -Needless to say this was a little fragile. When the time came for a rewritten -parser, some incompatibilities were a little necessary. Rather than break -everyone’s snippets everywhere, we provided both the new (version 1) and the old -(version 0) and let the user choose between them.

- -

Version 0 is considered legacy and not a lot of effort is going to go into -improving or even maintaining it. Version 1 is the future, and one can expect -new features to only exist for version 1 users. A full list of differences can -be found in the docs at :h SnipMate-parser-versions.

- -

Release Notes

- -

0.89 - 2016-05-29

- -
    -
  • Various regex updates to legacy parser
  • -
  • Addition of double bang syntax to completely remove a snippet from lookup
  • -
  • Group various SnipMate autocommands
  • -
  • Support setting ‘shiftwidth’ to 0
  • -
  • Parser now operates linewise, adding some flexibility
  • -
  • Mirror substitutions are more literal
  • -
  • Mirror length is calculated correctly when substitutions occur
  • -
- -

0.88 - 2015-04-04

- -
    -
  • Implement simple caching

  • - -
  • Remove expansion guards

  • - -
  • Add :SnipMateLoadScope command and buffer-local scope aliases

  • - -
  • Load <scope>_*.snippets files

  • - -
  • Use CursorMoved autocmd events entirely

  • - -
  • The nested branch has been merged

    - -
      -
    • A new snippet parser has been added. The g:snipmate.version as well as -version lines in snippet files determines which is used
    • -
    • The new parser supports tab stops placed within placeholders, -substitutions, non-consecutive stop numbers, and fewer ambiguities
    • -
    • The stop jumping code has been updated
    • -
    • Tests have been added for the jumping code and the new parser
    • -
  • - -
  • The override branch has been merged

    - -
      -
    • The g:snipMate.override option is added. When enabled, if two snippets -share the same name, the later-loaded one is kept and the other discarded
    • -
    • Override behavior can be enabled on a per-snippet basis with a bang (!) in -the snippet file
    • -
    • Otherwise, SnipMate tries to preserve all snippets loaded
    • -
  • - -
  • Fix bug with mirrors in the first column

  • - -
  • Fix bug with tabs in indents (#143)

  • - -
  • Fix bug with mirrors in placeholders

  • - -
  • Fix reading single snippet files

  • - -
  • Fix the use of the visual map at the end of a line

  • - -
  • Fix expansion of stops containing only the zero tab stop

  • - -
  • Remove select mode mappings

  • - -
  • Indent visual placeholder expansions and remove extraneous lines (#177 -and #178)

  • -
- -

0.87 - 2014-01-04

- -
    -
  • Stop indenting empty lines when expanding snippets
  • -
  • Support extends keyword in .snippets files
  • -
  • Fix visual placeholder support
  • -
  • Add zero tabstop support
  • -
  • Support negative ‘softtabstop’
  • -
  • Add g:snipMate_no_default_aliases option
  • -
  • Add snipMateTrigger for triggering an expansion inside a snippet
  • -
  • Add snipMate#CanBeTriggered() function
  • -
diff --git a/.vim_runtime/sources_non_forked/vim-snipmate/addon-info.json b/.vim_runtime/sources_non_forked/vim-snipmate/addon-info.json deleted file mode 100644 index 8d9930f..0000000 --- a/.vim_runtime/sources_non_forked/vim-snipmate/addon-info.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name" : "snipMate", - "version" : "dev", - "author" : "Michael Sanders -> original project http://github.com/msanders/snipmate.vim", - "maintainer" : "Rok Garbas / Marc Weber", - "repository" : {"type": "git", "url": "git://github.com/garbas/vim-snipmate.git"}, - "dependencies" : { - "vim-addon-mw-utils": {}, - "tlib": {} - }, - "description" : "snipMate.vim aims to be a concise vim script that implements some of TextMate's snippets features in Vim. See README.md to learn about the features this fork adds" -} diff --git a/.vim_runtime/sources_non_forked/vim-snipmate/autoload/snipMate.vim b/.vim_runtime/sources_non_forked/vim-snipmate/autoload/snipMate.vim deleted file mode 100644 index 4952879..0000000 --- a/.vim_runtime/sources_non_forked/vim-snipmate/autoload/snipMate.vim +++ /dev/null @@ -1,648 +0,0 @@ -" config which can be overridden (shared lines) -if !exists('g:snipMate') - let g:snipMate = {} -endif - -try - call tlib#input#List('mi', '', []) -catch /.*/ - echoe "tlib is missing. See install instructions at ".expand(':h:h').'/README.md' -endtry - -fun! Filename(...) abort - let filename = expand('%:t:r') - if filename == '' | return a:0 == 2 ? a:2 : '' | endif - return !a:0 || a:1 == '' ? filename : substitute(a:1, '$1', filename, 'g') -endf - -let s:cache = {} - -function! snipMate#expandSnip(snip, version, col) abort - let lnum = line('.') - let col = a:col - let line = getline(lnum) - let indent = match(line, '\S\|$') + 1 - let b:snip_state = snipmate#jumping#state() - - if a:version == 1 - let [snippet, b:snip_state.stops] = snipmate#parse#snippet(a:snip) - " Build stop/mirror info - let b:snip_state.stop_count = s:build_stops(snippet, b:snip_state.stops, lnum, col, indent) - else - let snippet = snipmate#legacy#process_snippet(a:snip) - let [b:snip_state.stops, b:snip_state.stop_count] = snipmate#legacy#build_stops(snippet, lnum, col - indent, indent) - endif - - " Abort if the snippet is empty - if empty(snippet) - return '' - endif - - let col = s:insert_snippet_text(snippet, lnum, col, indent) - - " Open any folds snippet expands into - if &foldenable - silent! exec lnum . ',' . (lnum + len(snipLines) - 1) . 'foldopen' - endif - - aug snipmate_changes - au CursorMoved,CursorMovedI if exists('b:snip_state') | - \ call b:snip_state.update_changes() | - \ else | - \ silent! au! snipmate_changes * | - \ endif - aug END - - let b:snip_state.stop_no = 0 - return b:snip_state.set_stop(0) -endfunction - -function! s:insert_snippet_text(snippet, lnum, col, indent) - let line = getline(a:lnum) - let col = a:col - let snippet = type(a:snippet) == type([]) ? a:snippet : split(a:snippet, "\n", 1) - let lnum = a:lnum - - " Keep text after the cursor - let afterCursor = strpart(line, col - 1) - if afterCursor != "\t" && afterCursor != ' ' - let line = strpart(line, 0, col - 1) - else - let afterCursor = '' - " For some reason the cursor needs to move one right after this - if line != '' && col == 1 && &ve != 'all' && &ve != 'onemore' - let col += 1 - endif - endif - - call setline(lnum, '') - call append(lnum, repeat([''], len(snippet) - 1)) - - for item in snippet - let add = lnum == a:lnum ? line : strpart(line, 0, a:indent - 1) - - if !(empty(item) || (type(item) == type([]) && empty(item[0]))) - if type(item) == type([]) - call setline(lnum, add . - \ snipMate#sniplist_str(item, b:snip_state.stops)) - else - call setline(lnum, add . - \ substitute(item, printf('%s\d\+\|%s{\d\+.\{-}}', - \ g:snipmate#legacy#sigil, g:snipmate#legacy#sigil), - \ '', 'g')) - endif - endif - - let lnum += 1 - endfor - - call setline(lnum - 1, getline(lnum - 1) . afterCursor) - - return col -endfunction - -function! snipMate#placeholder_str(num, stops) abort - return snipMate#sniplist_str(a:stops[a:num].placeholder, a:stops) -endfunction - -function! snipMate#sniplist_str(snippet, stops) abort - let str = '' - let pos = 0 - let add_to = 1 - let seen_stops = [] - - while pos < len(a:snippet) - let item = a:snippet[pos] - - if type(item) == type('') - let str .= item - elseif type(item) == type([]) - let placeholder = snipMate#placeholder_str(item[0], a:stops) - if len(item) > 1 && type(item[1]) == type({}) - let placeholder = substitute(placeholder, - \ get(item[1], 'pat', ''), - \ get(item[1], 'sub', ''), - \ get(item[1], 'flags', '')) - endif - let str .= placeholder - endif - - let pos += 1 - unlet item " avoid E706 - endwhile - - return str -endfunction - -function! s:build_stops(snippet, stops, lnum, col, indent) abort - let stops = a:stops - let lnum = a:lnum - let col = a:col - - for line in a:snippet - let col = s:build_loc_info(line, stops, lnum, col, []) - if line isnot a:snippet[-1] - let lnum += 1 - let col = a:indent - endif - endfor - - " add zero tabstop if it doesn't exist and then link it to the highest stop - " number - let stops[0] = get(stops, 0, - \ { 'placeholder' : [], 'line' : lnum, 'col' : col }) - let stop_count = max(keys(stops)) + 2 - let stops[stop_count - 1] = stops[0] - - return stop_count -endfunction - -function! s:build_loc_info(snippet, stops, lnum, col, seen_items) abort - let stops = a:stops - let lnum = a:lnum - let col = a:col - let pos = 0 - let in_text = 0 - let seen_items = a:seen_items - - for item in a:snippet - if type(item) == type('') - let col += len(item) - elseif type(item) == type([]) - let id = item[0] - let stub = item[-1] - let stub.line = lnum - let stub.col = col - call s:add_update_objects(stub, seen_items) - - if len(item) > 2 && type(item[1]) != type({}) - let col = s:build_loc_info(item[1:-2], stops, lnum, col, seen_items) - else - let col += len(snipMate#placeholder_str(id, stops)) - endif - - let in_text = 0 - endif - unlet item " avoid E706 - endfor - - return col -endfunction - -function! s:add_update_objects(object, targets) abort - let targets = a:targets - - for item in targets - let item.update_objects = get(item, 'update_objects', []) - call add(item.update_objects, a:object) - endfor - - call add(targets, a:object) -endfunction - -" reads a .snippets file -" returns list of -" ['triggername', 'name', 'contents'] -" if triggername is not set 'default' is assumed -" TODO: better error checking -fun! snipMate#ReadSnippetsFile(file) abort - let result = [] - let new_scopes = [] - if !filereadable(a:file) | return [result, new_scopes] | endif - let inSnip = 0 - let line_no = 0 - let snipversion = get(g:snipMate, 'snippet_version', 0) - for line in readfile(a:file) + ["\n"] - let line_no += 1 - - if inSnip && (line[0] == "\t" || line == '') - let content .= strpart(line, 1)."\n" - continue - elseif inSnip - call add(result, [trigger, name, - \ content[:-2], bang, snipversion]) - let inSnip = 0 - endif - - if line[:6] == 'snippet' - let inSnip = 1 - let bang = (line[7] == '!') - if bang - let bang += line[8] == '!' - endif - let trigger = strpart(line, 8 + bang) - let name = '' - let space = stridx(trigger, ' ') + 1 - if space " Process multi snip - let name = strpart(trigger, space) - let trigger = strpart(trigger, 0, space - 1) - endif - let content = '' - if trigger =~ '^\s*$' " discard snippets with empty triggers - echom 'Invalid snippet in' a:file 'near line' line_no - let inSnip = 0 - endif - elseif line[:6] == 'extends' - call extend(new_scopes, map(split(strpart(line, 8)), - \ "substitute(v:val, ',*$', '', '')")) - elseif line[:6] == 'version' - let snipversion = +strpart(line, 8) - endif - endfor - return [result, new_scopes] -endf - -function! s:GetScopes() abort - let ret = exists('b:snipMate.scope_aliases') ? copy(b:snipMate.scope_aliases) : {} - let global = get(g:snipMate, 'scope_aliases', {}) - for alias in keys(global) - if has_key(ret, alias) - let ret[alias] = join(split(ret[alias], ',') - \ + split(global[alias], ','), ',') - else - let ret[alias] = global[alias] - endif - endfor - return ret -endfunction - -" adds scope aliases to list. -" returns new list -" the aliases of aliases are added recursively -fun! s:AddScopeAliases(list) abort - let did = {} - let scope_aliases = s:GetScopes() - let new = a:list - let new2 = [] - while !empty(new) - for i in new - if !has_key(did, i) - let did[i] = 1 - call extend(new2, split(get(scope_aliases,i,''),',')) - endif - endfor - let new = new2 - let new2 = [] - endwhile - return keys(did) -endf - -augroup SnipMateSource - au SourceCmd *.snippet,*.snippets call s:source_snippet() -augroup END - -function! s:info_from_filename(file) abort - let parts = split(fnamemodify(a:file, ':r'), '/') - let snipidx = len(parts) - index(reverse(copy(parts)), 'snippets') - 1 - let rtp_prefix = join(parts[(snipidx - - \ (parts[snipidx - 1] == 'after' ? 3 : 2)):snipidx - 1], '/') - let trigger = get(parts, snipidx + 2, '') - let desc = get(parts, snipidx + 3, get(g:snipMate, 'override', 0) ? - \ '' : fnamemodify(a:file, ':t')) - return [rtp_prefix, trigger, desc] -endfunction - -function! s:source_snippet() abort - let file = expand(':p') - let [rtp_prefix, trigger, desc] = s:info_from_filename(file) - let new_snips = [] - if fnamemodify(file, ':e') == 'snippet' - call add(new_snips, [trigger, desc, join(readfile(file), "\n"), 0, - \ get(g:snipMate, 'snippet_version', 0)]) - else - let [snippets, extends] = s:CachedSnips(file) - let new_snips = deepcopy(snippets) - call extend(s:lookup_state.extends, extends) - endif - for snip in new_snips - if get(g:snipMate, 'override', 0) - let snip[1] = join([s:lookup_state.scope, snip[1]]) - else - let snip[1] = join([s:lookup_state.scope, rtp_prefix, - \ empty(snip[1]) ? desc : snip[1]]) - endif - endfor - call extend(s:lookup_state.snips, new_snips) -endfunction - -function! s:CachedSnips(file) abort - let mtime = getftime(a:file) - if has_key(s:cache, a:file) && s:cache[a:file].mtime >= mtime - return s:cache[a:file].contents - endif - let s:cache[a:file] = {} - let s:cache[a:file].mtime = mtime - let s:cache[a:file].contents = snipMate#ReadSnippetsFile(a:file) - return s:cache[a:file].contents -endfunction - -function! s:snippet_filenames(scope, trigger) abort - let mid = ['', '_*', '/*'] - let mid += map(copy(mid), "'/' . a:trigger . '*' . v:val") - call map(mid, "'snippets/' . a:scope . v:val . '.snippet'") - return map(mid[:2], 'v:val . "s"') + mid[3:] -endfunction - -function! snipMate#SetByPath(dict, trigger, path, snippet, bang, snipversion) abort - let d = a:dict - if a:bang == 2 - unlet! d[a:trigger] - return - elseif !has_key(d, a:trigger) || a:bang == 1 - let d[a:trigger] = {} - endif - let d[a:trigger][a:path] = [a:snippet, a:snipversion] -endfunction - -if v:version < 704 || has('win32') - function! s:Glob(path, expr) - let res = [] - for p in split(a:path, ',') - let h = split(fnamemodify(a:expr, ':h'), '/')[0] - if isdirectory(p . '/' . h) - call extend(res, split(glob(p . '/' . a:expr), "\n")) - endif - endfor - return filter(res, 'filereadable(v:val)') - endfunction -else - function! s:Glob(path, expr) - return split(globpath(a:path, a:expr), "\n") - endfunction -endif - -" default triggers based on paths -function! snipMate#DefaultPool(scopes, trigger, result) abort - let scopes = s:AddScopeAliases(a:scopes) - let scopes_done = [] - let s:lookup_state = {} - let s:lookup_state.snips = [] - - while !empty(scopes) - let scope = remove(scopes, 0) - let s:lookup_state.scope = scope - let s:lookup_state.extends = [] - - for expr in s:snippet_filenames(scope, escape(a:trigger, "*[]?{}`'$|#%")) - for path in s:snippet_dirs() - for file in s:Glob(path, expr) - source `=file` - endfor - endfor - endfor - - call add(scopes_done, scope) - call extend(scopes, s:lookup_state.extends) - call filter(scopes, 'index(scopes_done, v:val) == -1') - endwhile - - for [trigger, desc, contents, bang, snipversion] in s:lookup_state.snips - if trigger =~ '\V\^' . escape(a:trigger, '\') - call snipMate#SetByPath(a:result, trigger, desc, contents, bang, snipversion) - endif - endfor -endfunction - -" return a dict of snippets found in runtimepath matching trigger -" scopes: list of scopes. usually this is the filetype. eg ['c','cpp'] -" trigger may contain glob patterns. Thus use '*' to get all triggers -" -fun! snipMate#GetSnippets(scopes, trigger) abort - let result = {} - - for F in values(g:snipMateSources) - call funcref#Call(F, [a:scopes, a:trigger, result]) - endfor - return result -endf - -function! s:snippet_dirs() abort - return get(g:snipMate, 'snippet_dirs', split(&rtp, ',')) -endfunction - -function! snipMate#OpenSnippetFiles() abort - let files = [] - let scopes_done = [] - let exists = [] - let notexists = [] - for scope in s:AddScopeAliases(snipMate#ScopesByFile()) - let files += s:snippet_filenames(scope, '') - endfor - call filter(files, "v:val !~# '\\*'") - for path in s:snippet_dirs() - let fullpaths = map(copy(files), 'printf("%s/%s", path, v:val)') - let exists += filter(copy(fullpaths), 'filereadable(v:val)') - let notexists += map(filter(copy(fullpaths), - \ 'v:val =~# "\.snippets" && !filereadable(v:val)'), - \ '"does not exist: " . v:val') - endfor - let all = exists + notexists - let select = tlib#input#List('mi', 'select files to be opened in splits', all) - for idx in select - exec 'sp' all[idx - 1] - endfor -endfunction - -fun! snipMate#ScopesByFile() abort - " duplicates are removed in AddScopeAliases - return filter(funcref#Call(g:snipMate.get_scopes), "v:val != ''") -endf - -" used by both: completion and insert snippet -fun! snipMate#GetSnippetsForWordBelowCursor(word, exact) abort - " Split non-word characters into their own piece - " so 'foo.bar..baz' becomes ['foo', '.', 'bar', '.', '.', 'baz'] - " First split just after a \W and then split each resultant string just - " before a \W - let parts = filter(tlib#list#Flatten( - \ map(split(a:word, '\W\zs'), 'split(v:val, "\\ze\\W")')), - \ '!empty(v:val)') - " Only look at the last few possibilities. Too many can be slow. - if len(parts) > 5 - let parts = parts[-5:] - endif - let lookups = [a:word] - let lookup = '' - for w in reverse(parts) - let lookup = w . lookup - if index(lookups, lookup) == -1 - call add(lookups, lookup) - endif - endfor - - " Remove empty lookup entries, but only if there are other nonempty lookups - if len(lookups) > 1 - call filter(lookups, 'v:val != ""') - endif - - let matching_snippets = [] - let snippet = '' - " prefer longest word - for word in lookups - let g:snipMate.word = word - for [k,snippetD] in items(funcref#Call(g:snipMate['get_snippets'], [snipMate#ScopesByFile(), word])) - " hack: require exact match - if a:exact && k !=# word - continue - endif - call add(matching_snippets, [k, snippetD]) - if a:exact - break - endif - endfor - endfor - return matching_snippets -endf - -" snippets: dict containing snippets by name -" usually this is just {'default' : snippet_contents } -fun! s:ChooseSnippet(snippets) abort - let snippet = [] - let keys = keys(a:snippets) - let i = 1 - for snip in keys - let snippet += [i.'. '.snip] - let i += 1 - endfor - if len(snippet) == 1 || get(g:snipMate, 'always_choose_first', 0) == 1 - " there's only a single snippet, choose it - let idx = 0 - else - let idx = tlib#input#List('si','select snippet by name',snippet) -1 - if idx == -1 - return '' - endif - endif - " if a:snippets[..] is a String Call returns it - " If it's a function or a function string the result is returned - return funcref#Call(a:snippets[keys(a:snippets)[idx]]) -endf - -fun! snipMate#WordBelowCursor() abort - return matchstr(getline('.'), '\S\+\%' . col('.') . 'c') -endf - -fun! snipMate#GetSnippetsForWordBelowCursorForComplete(word) abort - let matches = snipMate#GetSnippetsForWordBelowCursor(a:word, 0) - let snippets = [] - for [trigger, dict] in matches - if get(g:snipMate, 'description_in_completion', 0) - call extend(snippets, map(keys(dict), - \ '{ "word" : trigger, "menu" : v:val, "dup" : 1 }')) - else - call add(snippets, { "word" : trigger }) - endif - endfor - return filter(snippets, - \ 'v:val.word =~# "\\V\\^' . escape(a:word, '"\') . '"') -endf - -fun! snipMate#CanBeTriggered() abort - let word = snipMate#WordBelowCursor() - let matches = snipMate#GetSnippetsForWordBelowCursorForComplete(word) - return len(matches) > 0 -endf - -fun! snipMate#ShowAvailableSnips() abort - let col = col('.') - let word = snipMate#WordBelowCursor() - let matches = snipMate#GetSnippetsForWordBelowCursorForComplete(word) - - " Pretty hacky, but really can't have the tab swallowed! - if len(matches) == 0 - call feedkeys(g:snipMate['no_match_completion_feedkeys_chars'], 'n') - return "" - endif - - call complete(col - len(word), sort(matches)) - return '' -endf - -" Pass an argument to force snippet expansion instead of triggering or jumping -function! snipMate#TriggerSnippet(...) abort - if exists('g:SuperTabMappingForward') - if g:SuperTabMappingForward == "" - let SuperTabPlug = maparg('SuperTabForward', 'i') - if SuperTabPlug == "" - let SuperTabKey = "\" - else - exec "let SuperTabKey = \"" . escape(SuperTabPlug, '<') . "\"" - endif - elseif g:SuperTabMappingBackward == "" - let SuperTabPlug = maparg('SuperTabBackward', 'i') - if SuperTabPlug == "" - let SuperTabKey = "\" - else - exec "let SuperTabKey = \"" . escape(SuperTabPlug, '<') . "\"" - endif - endif - endif - - if pumvisible() " Update snippet if completion is used, or deal with supertab - if exists('SuperTabKey') - call feedkeys(SuperTabKey) | return '' - endif - call feedkeys("\a", 'n') " Close completion menu - call feedkeys("\") | return '' - endif - - if exists('b:snip_state') && a:0 == 0 " Jump only if no arguments - let jump = b:snip_state.jump_stop(0) - if type(jump) == 1 " returned a string - return jump - endif - endif - - let word = matchstr(getline('.'), '\S\+\%'.col('.').'c') - let list = snipMate#GetSnippetsForWordBelowCursor(word, 1) - if empty(list) - let snippet = '' - else - let [trigger, snippetD] = list[0] - let snippet = s:ChooseSnippet(snippetD) - " Before expanding snippet, create new undo point |i_CTRL-G| - let &undolevels = &undolevels - let col = col('.') - len(trigger) - sil exe 's/\V'.escape(trigger, '/\.').'\%#//' - return snipMate#expandSnip(snippet[0], snippet[1], col) - endif - - " should allow other plugins to register hooks instead (duplicate code) - if exists('SuperTabKey') - call feedkeys(SuperTabKey) - return '' - endif - return word == '' - \ ? "\" - \ : "\=snipMate#ShowAvailableSnips()\" -endfunction - -fun! snipMate#BackwardsSnippet() abort - if exists('b:snip_state') | return b:snip_state.jump_stop(1) | endif - - if exists('g:SuperTabMappingForward') - if g:SuperTabMappingForward == "" - let SuperTabPlug = maparg('SuperTabForward', 'i') - if SuperTabPlug == "" - let SuperTabKey = "\" - else - exec "let SuperTabKey = \"" . escape(SuperTabPlug, '<') . "\"" - endif - elseif g:SuperTabMappingBackward == "" - let SuperTabPlug = maparg('SuperTabBackward', 'i') - if SuperTabPlug == "" - let SuperTabKey = "\" - else - exec "let SuperTabKey = \"" . escape(SuperTabPlug, '<') . "\"" - endif - endif - endif - " should allow other plugins to register hooks instead (duplicate code) - if exists('SuperTabKey') - call feedkeys(SuperTabKey) - return '' - endif - return "\" -endf - -" vim:noet:sw=4:ts=4:ft=vim diff --git a/.vim_runtime/sources_non_forked/vim-snipmate/autoload/snipMate_python_demo.vim b/.vim_runtime/sources_non_forked/vim-snipmate/autoload/snipMate_python_demo.vim deleted file mode 100644 index de495d2..0000000 --- a/.vim_runtime/sources_non_forked/vim-snipmate/autoload/snipMate_python_demo.vim +++ /dev/null @@ -1,47 +0,0 @@ -" This file demonstrates -" - how to register your own snippet sources (call snipMate_python_demo#Activate() in ftplugin/python.vim) -" - implents a source which creates snippets based on python function -" definitions found in the current file -" -" Example: -" -" def abc(a,b,c=None) -" will create a snippet on the fly which looks like this: -" abc(${1:a}, ${2:b}, ${3:c=None}) - -fun! snipMate_python_demo#Activate() abort - if !exists('g:snipMateSources') - let g:snipMateSources = {} - endif - - let g:snipMateSources['python'] = funcref#Function('snipMate_python_demo#FunctionsFromCurrentFileAndTags') -endf - -fun! s:Add(dict, line, source, trigger) abort - let matched = matchlist(a:line,'def\s\+\([^( \t]\+\)[ \t]*(\([^)]*\)') - if len(matched) > 2 - let name = matched[1] - " TODO: is this a glob? - if name !~ a:trigger | return | endif - let a:dict[name] = get(a:dict, name, {}) - let sd = a:dict[name] - let args = [] - let nr=1 - for arg in split(matched[2], '\s*,\s*') - call add(args, '${'.nr.':'.arg.'}') - let nr+=1 - endfor - let sd[a:source] = name.'('.join(args,', ').')' - endif -endf -fun! snipMate_python_demo#FunctionsFromCurrentFileAndTags(scopes, trigger, result) abort - " getting all might be too much - if a:trigger == '*' | return | endif - if index(a:scopes, 'python') < 0 | return | endif - for t in taglist('^'.a:trigger) - call s:Add(a:result, t.cmd, 'tags-' . t.filename, a:trigger) - endfor - for l in getline(0, line('$')) - call s:Add(a:result, l, 'current-file', a:trigger) - endfor -endf diff --git a/.vim_runtime/sources_non_forked/vim-snipmate/doc/snipMate.txt b/.vim_runtime/sources_non_forked/vim-snipmate/doc/snipMate.txt deleted file mode 100644 index cb5f9ff..0000000 --- a/.vim_runtime/sources_non_forked/vim-snipmate/doc/snipMate.txt +++ /dev/null @@ -1,704 +0,0 @@ -*SnipMate.txt* Plugin for using TextMate-style snippets in Vim. - -SnipMate *snippet* *snippets* *SnipMate* - -1. Description |SnipMate-description| -2. Usage |SnipMate-usage| -3. Interface and Settings |SnipMate-interface| |SnipMate-settings| -4. Snippets |SnipMate-snippets| - - Snippet files |SnipMate-snippet-files| - - Snippet syntax |SnipMate-syntax| -5. Snippet sources |SnipMate-snippet-sources| -6. Disadvantages to TextMate |SnipMate-disadvantages| -7. Contact |SnipMate-contact| -8. License |SnipMate-license| - -For Vim version 7.0 or later. -This plugin only works if 'compatible' is not set. -{Vi does not have any of these features.} - -SnipMate depends on vim-addon-mw-utils and tlib. - -============================================================================== -DESCRIPTION *SnipMate-description* - -SnipMate implements snippet features in Vim. A snippet is like a template, -reducing repetitive insertion of pieces of text. Snippets can contain -placeholders for modifying the text if necessary or interpolated code for -evaluation. For example, in C, typing "for" then pushing could expand -to: > - - for (i = 0; i < count; i++) { - /* code */ - } - -SnipMate is inspired by TextMate's snippet features. - -============================================================================== -USAGE *SnipMate-usage* - -Every snippet consists of an expansion and a trigger. Typing a trigger into -your buffer and then hitting your trigger key ( by default, see -|SnipMate-mappings|) will replace the trigger with the expansion text. - -The expansion text can optionally include tab stops. When it does, upon -expansion of the snippet, the cursor is placed at the first one, and the user -can jump between each tab stop. Each of these tab stops can be represented by -default placeholder text. If such a placeholder is provided, then the text of -the placeholder can be repeated in the snippet at specified mirrors. Any edits -to the placeholder are instantly updated at every mirror. - -SnipMate allows multiple snippets to use the same trigger. When triggered, -a list of all snippets with that trigger is provided and prompts for which -snippet to use. - - *SnipMate-scopes* -SnipMate searches for snippets inside a directory named "snippets" inside each -entry in 'runtimepath'. Which files are loaded depends on 'filetype' and -'syntax'; see |SnipMate-syntax| for more information. Snippets are loaded and -refreshed automatically on demand. - -Note: SnipMate does not ship with any snippets. In order to use it, the user -must either write their own snippets or obtain some from a repository like -https://github.com/honza/vim-snippets - -============================================================================== -INTERFACE AND SETTINGS *SnipMate-interface* *SnipMate-settings* - - *SnipMate-commands* -Commands~ - - *:SnipMateOpenSnippetFiles* -:SnipMateOpenSnippetFiles Opens a list of all valid snippet locations - based on the current scope |SnipMate-scopes|. - Only existing files and non-existing .snippets - files will be shown, with the existing files - shown first. - -:SnipMateLoadScope[!] scope [scope ...] - Load snippets from additional scopes. Without - [!] the additional scopes are loaded only in - the current buffer. For example > - :SnipMateLoadScopes rails -< will load all rails.snippets in the current - buffer. - - *SnipMate-options* -Options~ - -g:snips_author A variable used in some snippets in place of - the author's (your) name. Similar to - $TM_FULLNAME in TextMate. For example, > - snippet name - `g:snips_author` -< creates a snippet "name" that expands to your - name. - -g:snipMate This |Dictionary| contains other SnipMate - options. In short add > - let g:snipMate = {} -< to your .vimrc before setting other SnipMate - options. - -g:snipMate.scope_aliases A |Dictionary| associating certain filetypes - with other scopes |SnipMate-scopes|. The - entries consist of a filetype as the key and - a comma-separated list of aliases as the - value. For example, > - let g:snipMate.scope_aliases = {} - let g:snipMate.scope_aliases['ruby'] - \ = 'ruby,ruby-rails' -< tells SnipMate that "ruby-rails" snippets in - addition to "ruby" snippets should be loaded - when editing files with 'filetype' set to - "ruby" or contains "ruby" as an entry in the - case of dotted filetypes. A buffer local - variant b:snipMate_scope_aliases is merged - with the global variant. - -g:snipMate_no_default_aliases Note: This has been renamed to the following. - -g:snipMate.no_default_aliases - When set to 1, prevents SnipMate from loading - default scope aliases. The defaults are: - Filetype Alias ~ - cpp c - cu c - eruby eruby-rails,html - html javascript - mxml actionscript - objc c - php php,html,javascript - ur html,javascript - xhtml html - Individual defaults can be disabled by setting - them to an empty value: > - let g:snipMate.scope_aliases.php = '' -< will disable the default PHP alias. - Note: Setting this option does not disable - scope aliases entirely, only those made by - SnipMate itself. Any scope aliases created by - the user or someone else will still be in - effect. - -g:snipMate.snippet_version - The snippet parser version to use. The - possible values are: - 0 Use the older parser - 1 Use the newer parser - If unset, SnipMate defaults to version 0. The - value of this option is also used for all - .snippet files. See |SnipMate-parser-versions| - for more information. - -g:snipMate.override - As detailed below, when two snippets with the - same name and description are loaded, both are - kept and differentiated by the location of the - file they were in. When this option is enabled - (set to 1), the snippet originating in the - last loaded file is kept, similar to how Vim - maps and other settings work. Note: Load order - is determined by 'runtimepath'. - - Duplicates are only dropped after reading one - snippet file. If multiple files contain a - snippet see always_choose_first -g:snipMate.always_choose_first - Always choose first snippet if there are - multiple left - -g:snipMate.description_in_completion - If set to 1 (default is 0), snippet - descriptions will be included in the popup - menu used for snippet completion, like with - snipMateShow. - -g:snipMate['no_match_completion_feedkeys_chars'] - A string inserted when no match for a trigger - is found. By default a tab is inserted - according to 'expandtab', 'tabstop', and - 'softtabstop'. Set it to the empty string to - prevent anything from being inserted. - - *SnipMate-mappings* -Mappings~ - -The mappings SnipMate uses can be customized with the |:map| commands. For -example, to change the key that triggers snippets and moves to the next -tab stop, > - - :imap snipMateNextOrTrigger - :smap snipMateNextOrTrigger - -Note: The noremap variants of the map commands must NOT be used. - -The list of possible mappings is as follows: - -snipMateNextOrTrigger Default: Mode: Insert, Select - Jumps to the next tab stop or, if none exists, - try to expand a snippet. Use in both insert - and select modes. - -snipMateTrigger Default: unmapped Mode: Insert - Try to expand a snippet regardless of any - existing snippet expansion. If done within an - expanded snippet, the outer snippet's tab - stops are lost, unless expansion failed. - -snipMateBack Default: Mode: Insert, Select - Jump to the previous tab stop, if it exists. - Use in both insert and select modes. - -snipMateShow Default: Mode: Insert - Show all available snippets (that start with - the previous text, if it exists). Use in - insert mode. - -snipMateVisual Default: Mode: Visual - See |SnipMate-visual|. - -Additionally, is mapped in visual mode in .snippets files for retabbing -snippets. - -============================================================================== -SNIPPETS *SnipMate-snippets* - - *SnipMate-snippet-files* -Snippet Files ~ - -Note: SnipMate does not ship with any snippets. - -SnipMate looks inside of each entry of 'rtp' (or |SnipMate-snippet-sources|) -for a directory named /snippets/. Based on the 'filetype' and 'syntax' -settings (dotted filetypes are parsed), the following files are read for -snippets: > - - .../snippets/.snippets - .../snippets/_.snippets - .../snippets//.snippets - .../snippets//.snippet - .../snippets///.snippet - -where is a scope or 'filetype' or 'syntax', is an arbitrary -name, is the trigger for a snippet, and is -a description used for |SnipMate-multisnip|. - -A .snippet file defines a single snippet with the trigger (and description) -determined by the filename. The entire contents of the file are used as the -snippet expansion text. - -Multiple snippets can be defined in *.snippets files. Each snippet definition -looks something like: > - - snippet trigger optional description - expanded text - more expanded text - -< *SnipMate-multisnip* -The description is optional. If it is left out, the description "default" is -used. When two snippets in the same scope have the same name and the same -description, SnipMate will try to preserve both. The g:snipMate.override -option disables this, in favor of keeping the last-loaded snippet. This can be -overridden on a per-snippet basis by defining the snippet with a bang (!): > - - snippet! trigger optional description - expanded text - more expanded text - -Two bangs will remove the trigger entirely from SnipMate's lookup. In this -case any snippet text is unused. - -Note: Hard tabs in the expansion text are required. When the snippet is -expanded in the text and 'expandtab' is set, each tab will be replaced with -spaces based on 'softtabstop' if nonzero or 'shiftwidth' otherwise. - - -SnipMate currently provides two versions for the snippet parser. The -differences between them can be found at |SnipMate-parser-versions|. Which -version parser the snippets in a file should be used with can be specified -with a version line, e.g.: > - - version 1 - -Specification of a version applies to the snippets following it. Multiple -version specifications can appear in a single file to intermix version 0 and -version 1 snippets. The default is determined by the -g:snipMate.snippet_version option. |SnipMate-options| - -Comments can be made in .snippets files by starting a line with a # character. -However these can't be used inside of snippet definitions: > - - # this is a correct comment - snippet trigger - expanded text - snippet another_trigger - # this isn't a comment! - expanded text - -This should hopefully be clear with the included syntax highlighting. - - *SnipMate-extends* -Borrowing from UltiSnips, .snippets files can also contain an extends -directive, for example: > - - extends html, javascript, css - -will tell SnipMate to also read html, javascript, and css snippets. - -SNIPPET SYNTAX *snippet-syntax* *SnipMate-syntax* - -As mentioned above, there are two versions of the snippet parser. They are -selected by the g:snipMate.snippet_version option (|SnipMate-options|) or the -version directive in .snippets files. Differences will be mentioned throughout -with a summary at |SnipMate-parser-versions|. - -Anywhere in a snippet, a backslash escapes the character following it, -regardless of whether that character is special or not. That is, '\a' will -always result in an 'a' in the output. A single backslash can be output by -using '\\'. - - *SnipMate-tabstops* -Tab stops~ - -When triggering a snippet, SnipMate will by default jump to the very end of -the snippet text. This can be changed through the use of tab stops: $1, $2, -and so on. After expansion, SnipMate will jump to the first tab stop. From -then on, the snipMateNextOrTrigger map will jump to the next higher -numbered tabs top. - -In the case of an ambiguity, for example if a stop occurs just before -a literal number, braces may be placed around the stop number to resolve it: -${3}79 is the third tab stop followed by the string "79". - -NOTE: In the version 0 snippet parser, the braces are mandatory. - - *SnipMate-zero-tabstop* -SnipMate will always stop at the special zero tab stop $0. Once it jumps to -the zero tab stop, snippet expansion is finished. If the zero tab stop is not -present in a definition, it will be put at the end. - -For example, to place the cursor first on the id of a
tag, then on its -class, and finally end editing its contents: > - - snippet div -
- $0 -
- -< *SnipMate-placeholders* -In addition to being simply a location, each tab stop contains a placeholder, -or some default text. The placeholder can be specified for every tab stop -(including the zero tab stop) with a colon after the stop ID, as in -${1:default text}. The braces are required only when specifying a placeholder. -Once a tab stop with a placeholder is reached, the placeholder will be -selected in |Select-mode|. For example, > - - snippet div -
- $0 -
- -Finally, placeholders can contain mirrors and evaluations (detailed below) and -even entire other tab stops. If the placeholder is edited, then these nested -tab stops are removed and skipped entirely. For example, > - - snippet div - - $0 -
- -When expanded, this snippet selects the entirety of the id attribute. If this -stop is edited, then the second tab stop is removed and the third tab stop -becomes the next one. If the first tab stop is left unedited, then SnipMate -jumps to the second tab stop. This allows the user to use a single div snippet -that can be used for instances where the id or class attributes are desired -and those where they are not. - - *SnipMate-mirrors* -Mirrors~ - -A mirror is simply a copy of a tab stop's text, updated as the tab stop is -edited. These look like a tab stop without a placeholder; $1 for example. In -the event that no placeholder is specified for a certain tab stop--say $1--the -first instance becomes the tab stop and the rest become mirrors. - -Additionally, in version 1 of the parser, substitutions similar to -|:substitute| can be performed. For instance ${1/foo/bar/g} will replace all -instances of "foo" in the $1 mirror with "bar". This uses |substitute()| -behind the scenes. - -Note: Just like with tab stops, braces can be used to avoid ambiguities: ${1}2 -is a mirror of the first tab stop followed by a 2. Version 0 of the snippet -parser offers no way to resolve such ambiguities. Version 0 also requires that -a tabstop have a placeholder before its mirrors work. - -As an example, > - - snippet for - for ($1 = ${2:start}; ${1:i} < ${3:end}; $1${4:++}) { - ${0:/* code */} - } - -< *SnipMate-eval* -Expression Evaluation~ - -Snippets can contain Vim script expressions that are evaluated as the snippet -is expanded. Expressions are specified inside backticks: > - - snippet date - `strftime("%Y-%m-%d")` - -If the expression results in any Vim error, the error will be displayed (or -found in :messages) and the result of the expression will be the empty string. - -Filename([{expr}] [, {defaultText}]) *SnipMate-Filename()* - -Since the current filename is used often in snippets, a default function -has been defined for it in SnipMate.vim, appropriately called Filename(). - -With no arguments, the default filename without an extension is returned; -the first argument specifies what to place before or after the filename, -and the second argument supplies the default text to be used if the file -has not been named. "$1" in the first argument is replaced with the filename; -if you only want the filename to be returned, the first argument can be left -blank. Examples: > - - snippet filename - `Filename()` - snippet filename_with_default - `Filename('', 'name')` - snippet filename_foo - `Filename('$1_foo')` - -The first example returns the filename if it the file has been named, and an -empty string if it hasn't. The second returns the filename if it's been named, -and "name" if it hasn't. The third returns the filename followed by "_foo" if -it has been named, and an empty string if it hasn't. - - *SnipMate-visual* -The VISUAL Stop~ - -While tab stops have numeric IDs, a special one exists with the ID 'VISUAL'. -When a snippet is expanded, if any text had been grabbed with the -snipMateVisual mapping (see |SnipMate-mappings|), all instances of the VISUAL -stop will be replaced with it. Both transformations as well as a default -placeholder can be used with the VISUAL stop. - -Note: Both $VISUAL and ${VISUAL} are valid in version 1 of the snippet parser. -In version 0, only {VISUAL} is valid (without the $), and neither -transformations nor a default placeholder can be used. - -Example: > - - snippet div -
- ${0:${VISUAL:}} -
-< - *SnipMate-parser-versions* -Parser Versions~ - -SnipMate provides two versions for its snippet parser. Version 0 is the legacy -regex based version and is updated sparingly. Version 1 is the revamped -version with new features. Any newly developed features will likely only be -available to version 1 users. - -Which version is used is determined by version directives in snippet files -(|SnipMate-snippet-files|) and by the g:snipMate.snippet_version option -(|SnipMate-options|). - -A complete list of current differences is as follows: -- Backslash escaping is guaranteed to work in version 1. In certain edge cases - this may not work in version 0. -- Certain syntactic errors, such as a missing closing brace for a tabstop, are - more gracefully handled in version 1. In most cases, the parser will either - discard the error or, as in the previous example, end an item at the end of - line. Version 0 may not be predictable in this regard. -- Braces are not mandatory in version 1. SnipMate will determine which - instance of a stop ID to use based on the presence of a placeholder, or - whichever instance occurs first. Braces can therefore be used to - disambiguate between stop 12, $12, and stop 1 followed by a 2, ${1}2. In - other words, version 0 makes a distinction between a mirror and a stop while - version 1 resolves the differences for you. -- Placeholders are not mandatory to enable mirror support in version 1. -- Version 0 uses the confusing syntax {VISUAL} to refer to visual content. - Version 1 treats it as just another stop ID, so both $VISUAL and ${VISUAL} - work. Plus version 1 allows a default value in case no visual selection has - been made. -- Transformations similar to |:substitute| can be preformed on any mirror, - including visual content. - -============================================================================== -SNIPPET SOURCES *SnipMate-snippet-sources* - -SnipMate is configurable. - -plugin/SnipMate.vim assigns a couple important keys: > - - " default implementation collecting snippets by handlers - let g:SnipMate['get_snippets'] = SnipMate#GetSnippets - " default handler: - let g:SnipMateSources['default'] = SnipMate#DefaultPool - -You can override both of those settings. - -You can see that the default set of snippets is determined by Vim's 'rtp'. - -Example 1:~ -autoload/SnipMate_python_demo.vim shows how you can register additional -sources such as creating snippets on the fly representing python function -definitions found in the current file. - -Example 2:~ -Add to your ~/.vimrc: For each know snippet add a second version ending in _ -adding folding markers > - - let g:commentChar = { - \ 'vim': '"', - \ 'c': '//', - \ 'cpp': '//', - \ 'sh': '#', - \ 'python': '#' - \ } - " url https://github.com/garbas/vim-snipmate/issues/49 - fun! AddFolding(text) - return substitute(a:text,'\n'," ".g:commentChar[&ft]." {{{\n",1)."\n".g:commentChar[&ft]." }}}" - endf - - fun! SnippetsWithFolding(scopes, trigger, result) - " hacky: temporarely remove this function to prevent infinite recursion: - call remove(g:SnipMateSources, 'with_folding') - " get list of snippets: - let result = SnipMate#GetSnippets(a:scopes, substitute(a:trigger,'_\(\*\)\?$','\1','')) - let g:SnipMateSources['with_folding'] = funcref#Function('SnippetsWithFolding') - - " add folding: - for k in keys(result) - let a:result[k.'_'] = map(result[k],'AddFolding(v:val)') - endfor - endf - - " force setting default: - runtime plugin/SnipMate.vim - " add our own source - let g:SnipMateSources['with_folding'] = funcref#Function('SnippetsWithFolding') - -See |SnipMate-syntax| for more details about all possible relative locations -to 'rtp' can be found in. - -============================================================================== -KNOWN ISSUES *SnipMate-known-issues* - -SnipMate.vim currently has the following disadvantages to TextMate's snippets: - - Placeholders cannot span multiple lines. - - Activating snippets in different scopes of the same file is - not possible. - - Vim formatting with fo=t or fo=a can mess up SnipMate. - -Perhaps some of these features will be added in a later release. - -============================================================================== -CHANGELOG *SnipMate-changelog* - -0.89 - 2016-05-29 ------------------ - -* Various regex updates to legacy parser Addition of double bang syntax to -* completely remove a snippet from lookup Group various SnipMate autocommands -* Support setting 'shiftwidth' to 0 Parser now operates linewise, adding some -* flexibility Mirror substitutions are more literal Mirror length is -* calculated correctly when substitutions occur - -0.88 - 2015-04-04 ------------------ - -* Implement simple caching -* Remove expansion guards -* Add `:SnipMateLoadScope` command and buffer-local scope aliases -* Load `_*.snippets` files -* Use CursorMoved autocmd events entirely - -* The nested branch has been merged - * A new snippet parser has been added. The g:snipmate.version as well as - version lines in snippet files determines which is used - * The new parser supports tab stops placed within placeholders, - substitutions, non-consecutive stop numbers, and fewer ambiguities - * The stop jumping code has been updated - * Tests have been added for the jumping code and the new parser - -* The override branch has been merged - * The g:snipMate.override option is added. When enabled, if two snippets - share the same name, the later-loaded one is kept and the other discarded - * Override behavior can be enabled on a per-snippet basis with a bang (!) in - the snippet file - * Otherwise, SnipMate tries to preserve all snippets loaded - -* Fix bug with mirrors in the first column -* Fix bug with tabs in indents - -* Fix bug with mirrors in placeholders -* Fix reading single snippet files -* Fix the use of the visual map at the end of a line -* Fix expansion of stops containing only the zero tab stop -* Remove select mode mappings -* Indent visual placeholder expansions and remove extraneous lines - - - -0.87 - 2014-01-04 ------------------ - -* Stop indenting empty lines when expanding snippets -* Support extends keyword in .snippets files -* Fix visual placeholder support -* Add zero tabstop support -* Support negative 'softtabstop' -* Add g:snipMate_no_default_aliases option -* Add snipMateTrigger for triggering an expansion inside a snippet -* Add snipMate#CanBeTriggered() function - -0.86 - 2013-06-15 ------------------ -* Use more idiomatic maps -* Remove most select mode mappings - -* Fix disappearing variables bug (hpesoj) -* Fix cursor position bug when a variable is on the same line as the stop -* Fix undo point creation causing problems with Supertab -* Fix bug where SnipMate would use a typed trigger as a regular expression - -0.85 - 2013-04-03 ------------------ - -* Allow trigger key customization -* Enable undoing of snippet expansion -* Support backslash escaping in snippets -* Add support for {VISUAL} -* Expand filetype extension with scope_aliases -* Add expansion guards -* Enable per-buffer expansion of snippets -* Fix 'cpo' compatibility -* Update supertab compatibility -* Enable customization of various things through g:SnipMate - -* Disable spelling in snippet files -* Highlight trigger names in .snippets files - -* Update many snippets -* Separate sample snippets into separate repository - -0.84 ----- - -* Unreleased version by Michael Sanders, available on his GitHub, - - -0.83 - 2009-07-13 ------------------ - -* Last release done by Michael Sanders, available at - - -============================================================================== -CONTACT *SnipMate-contact* *SnipMate-author* - -SnipMate is currently maintained by: - - Rok Garbas - - Marc Weber (marco-oweber@gmx.de) - - Adnan Zafar - -For bug reports, issues, or questions, check out the Issues page on GitHub: -https://github.com/garbas/vim-snipmate/issues - -The original author, Michael Sanders, can be reached at: -msanders42+snipmate gmail com - - -============================================================================== -LICENSE *SnipMate-license* - -SnipMate is released under the MIT license: - -Copyright 2009-2010 Michael Sanders. All rights reserved. - -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. - -============================================================================== - vim:tw=78:ts=8:ft=help:norl: diff --git a/.vim_runtime/sources_non_forked/vim-snipmate/ftplugin/html_snip_helper.vim b/.vim_runtime/sources_non_forked/vim-snipmate/ftplugin/html_snip_helper.vim deleted file mode 100644 index 4d52392..0000000 --- a/.vim_runtime/sources_non_forked/vim-snipmate/ftplugin/html_snip_helper.vim +++ /dev/null @@ -1,10 +0,0 @@ -" Helper function for (x)html snippets -if exists('s:did_snip_helper') || &cp || !exists('loaded_snips') - finish -endif -let s:did_snip_helper = 1 - -" Automatically closes tag if in xhtml -fun! Close() abort - return stridx(&ft, 'xhtml') == -1 ? '' : ' /' -endf diff --git a/.vim_runtime/sources_non_forked/vim-snipmate/ftplugin/snippets.vim b/.vim_runtime/sources_non_forked/vim-snipmate/ftplugin/snippets.vim deleted file mode 100644 index dde00e4..0000000 --- a/.vim_runtime/sources_non_forked/vim-snipmate/ftplugin/snippets.vim +++ /dev/null @@ -1,20 +0,0 @@ -" Vim filetype plugin for SnipMate snippets (.snippets and .snippet files) - -if exists("b:did_ftplugin") - finish -endif -let b:did_ftplugin = 1 - -let b:undo_ftplugin = "setl et< sts< cms< fdm< fde<" - -" Use hard tabs -setlocal noexpandtab softtabstop=0 - -setlocal foldmethod=expr foldexpr=getline(v:lnum)!~'^\\t\\\\|^$'?'>1':1 - -setlocal commentstring=#\ %s -setlocal nospell - -command! -buffer -range=% RetabSnip - \ echom "This command is deprecated. Use :retab and = instead. Doing that now." - \ | ,retab! | ,normal = diff --git a/.vim_runtime/sources_non_forked/vim-snipmate/indent/snippets.vim b/.vim_runtime/sources_non_forked/vim-snipmate/indent/snippets.vim deleted file mode 100644 index 0d28f32..0000000 --- a/.vim_runtime/sources_non_forked/vim-snipmate/indent/snippets.vim +++ /dev/null @@ -1,32 +0,0 @@ -" Simple indent support for SnipMate snippets files - -if exists('b:did_indent') - finish -endif -let b:did_indent = 1 - -setlocal nosmartindent -setlocal indentkeys=!^F,o,O,=snippet,=version,=extends -setlocal indentexpr=GetSnippetIndent() - -if exists("*GetSnippetIndent") - finish -endif - -function! GetSnippetIndent() - let line = getline(v:lnum) - let prev_lnum = v:lnum - 1 - let prev_line = prev_lnum != 0 ? getline(prev_lnum) : "" - - if line =~# '\v^(snippet|extends|version) ' - return 0 - elseif indent(v:lnum) > 0 - return indent(v:lnum) - elseif prev_line =~# '^snippet ' - return &sw - elseif indent(prev_lnum) > 0 - return indent(prev_lnum) - endif - - return 0 -endfunction diff --git a/.vim_runtime/sources_non_forked/vim-snipmate/plugin/snipMate.vim b/.vim_runtime/sources_non_forked/vim-snipmate/plugin/snipMate.vim deleted file mode 100644 index 75e74aa..0000000 --- a/.vim_runtime/sources_non_forked/vim-snipmate/plugin/snipMate.vim +++ /dev/null @@ -1,136 +0,0 @@ -" File: snipMate.vim -" Description: snipMate.vim implements some of TextMate's snippets features in -" Vim. A snippet is a piece of often-typed text that you can -" insert into your document using a trigger word followed by a "". -" -" For more help see snipMate.txt; you can do this by using: -" :helptags ~/.vim/doc -" :h SnipMate - -if exists('loaded_snips') || &cp || version < 700 - finish -endif -let loaded_snips = 1 - -" Save and reset 'cpo' -let s:save_cpo = &cpo -set cpo&vim - -try - call funcref#Function('') -catch /.*/ - echoe "you're missing vim-addon-mw-utils. See install instructions at ".expand(':h:h').'/README.md' -endtry - -if (!exists('g:snipMateSources')) - let g:snipMateSources = {} - " Default source: get snippets based on runtimepath - let g:snipMateSources['default'] = funcref#Function('snipMate#DefaultPool') -endif - -augroup SnipMateDetect - au BufRead,BufNewFile *.snippet,*.snippets setlocal filetype=snippets - au FileType snippets if expand(':e') =~# 'snippet$' - \ | setlocal syntax=snippet - \ | else - \ | setlocal syntax=snippets - \ | endif -augroup END - -inoremap snipMateNextOrTrigger =snipMate#TriggerSnippet() -snoremap snipMateNextOrTrigger a=snipMate#TriggerSnippet() -inoremap snipMateTrigger =snipMate#TriggerSnippet(1) -inoremap snipMateBack =snipMate#BackwardsSnippet() -snoremap snipMateBack a=snipMate#BackwardsSnippet() -inoremap snipMateShow =snipMate#ShowAvailableSnips() -xnoremap snipMateVisual :call grab_visual()gv"_c - -" config variables -if !exists('g:snips_author') - let g:snips_author = 'Me' -endif -if !exists('g:snipMate') - let g:snipMate = {} -endif - -" SnipMate inserts this string when no snippet expansion can be done -let g:snipMate['no_match_completion_feedkeys_chars'] = - \ get(g:snipMate, 'no_match_completion_feedkeys_chars', "\t") - -" Add default scope aliases, without overriding user settings -let g:snipMate.scope_aliases = get(g:snipMate, 'scope_aliases', {}) -if exists('g:snipMate_no_default_aliases') - echom 'The g:snipMate_no_default_aliases option has been renamed.' - \ 'See :h snipMate-options.' -endif -if (!exists('g:snipMate_no_default_aliases') || !g:snipMate_no_default_aliases) - \ && (!exists('g:snipMate.no_default_aliases') - \ || !g:snipMate.no_default_aliases) - let g:snipMate.scope_aliases.objc = - \ get(g:snipMate.scope_aliases, 'objc', 'c') - let g:snipMate.scope_aliases.cpp = - \ get(g:snipMate.scope_aliases, 'cpp', 'c') - let g:snipMate.scope_aliases.cu = - \ get(g:snipMate.scope_aliases, 'cu', 'c') - let g:snipMate.scope_aliases.xhtml = - \ get(g:snipMate.scope_aliases, 'xhtml', 'html') - let g:snipMate.scope_aliases.html = - \ get(g:snipMate.scope_aliases, 'html', 'javascript') - let g:snipMate.scope_aliases.php = - \ get(g:snipMate.scope_aliases, 'php', 'php,html,javascript') - let g:snipMate.scope_aliases.ur = - \ get(g:snipMate.scope_aliases, 'ur', 'html,javascript') - let g:snipMate.scope_aliases.mxml = - \ get(g:snipMate.scope_aliases, 'mxml', 'actionscript') - let g:snipMate.scope_aliases.eruby = - \ get(g:snipMate.scope_aliases, 'eruby', 'eruby-rails,html') - let g:snipMate.scope_aliases.scss = - \ get(g:snipMate.scope_aliases, 'scss', 'css') - let g:snipMate.scope_aliases.less = - \ get(g:snipMate.scope_aliases, 'less', 'css') -endif - -let g:snipMate['get_snippets'] = get(g:snipMate, 'get_snippets', funcref#Function("snipMate#GetSnippets")) - -" List of paths where snippets/ dirs are located -if exists('g:snipMate.snippet_dirs') && type(g:snipMate['snippet_dirs']) != type([]) - echohl WarningMsg - echom "g:snipMate['snippet_dirs'] must be a List" - echohl None -endif - -" _ is default scope added always -" -" &ft honors multiple filetypes and syntax such as in set ft=html.javascript syntax=FOO -let g:snipMate['get_scopes'] = get(g:snipMate, 'get_scopes', funcref#Function('return split(&ft,"\\.")+[&syntax, "_"]')) - -" Modified from Luc Hermitte's function on StackOverflow -" -function! s:grab_visual() abort - let a_save = @a - try - normal! gv"ay - let b:snipmate_visual = @a - finally - let @a = a_save - endtry -endfunction - -" TODO: Allow specifying an arbitrary snippets file -function! s:load_scopes(bang, ...) abort - let gb = a:bang ? g: : b: - let gb.snipMate = get(gb, 'snipMate', {}) - let gb.snipMate.scope_aliases = get(gb.snipMate, 'scope_aliases', {}) - let gb.snipMate.scope_aliases['_'] = join(split(get(gb.snipMate.scope_aliases, '_', ''), ',') + a:000, ',') -endfunction - -command! -bang -bar -nargs=+ SnipMateLoadScope - \ call s:load_scopes(0, ) - -" Edit snippet files -command! SnipMateOpenSnippetFiles call snipMate#OpenSnippetFiles() - -" restore 'cpo' -let &cpo = s:save_cpo - -" vim:noet:sw=4:ts=4:ft=vim diff --git a/.vim_runtime/sources_non_forked/vim-snipmate/syntax/snippet.vim b/.vim_runtime/sources_non_forked/vim-snipmate/syntax/snippet.vim deleted file mode 100644 index a947356..0000000 --- a/.vim_runtime/sources_non_forked/vim-snipmate/syntax/snippet.vim +++ /dev/null @@ -1,11 +0,0 @@ -" Syntax highlighting for .snippet files (used for snipMate.vim) -" Hopefully this should make snippets a bit nicer to write! -syn match placeHolder '\${\d\+\(:.\{-}\)\=}' contains=snipCommand -syn match tabStop '\$\d\+' -syn match snipEscape '\\\\\|\\`' -syn match snipCommand '\%(\\\@ autocmds - 0verbose au snipmate_changes * - redir END - return split(autocmds, "\n") - endfunction - aug snipmate_changes - au CursorMoved,CursorMovedI echo 'event' - aug END - - Expect len(ReadAutocmds()) > 1 - call b:snip_state.remove() - Expect len(ReadAutocmds()) == 1 - end - - end - - describe '.find_next_stop()' - - it 'increments/decrements the stop_no' - let b:snip_state.stops = { 1 : {}, 2 : {} } - let b:snip_state.stop_no = 1 - let b:snip_state.stop_count = 4 - - call b:snip_state.find_next_stop(0) - Expect b:snip_state.stop_no == 2 - call b:snip_state.find_next_stop(1) - Expect b:snip_state.stop_no == 1 - end - - it 'continues iterating if the next/previous stop does not exist' - let b:snip_state.stops = { 3 : {} } - let b:snip_state.stop_count = 6 - let b:snip_state.stop_no = 1 - call b:snip_state.find_next_stop(0) - Expect b:snip_state.stop_no == 3 - let b:snip_state.stop_no = 5 - call b:snip_state.find_next_stop(1) - Expect b:snip_state.stop_no == 3 - end - - it 'does something at the ends' - " - end - - end - - describe '.remove_nested()' - - it 'removes nested mirrors and only nested mirrors' - let mirror = { 'line' : 0 } - let b:snip_state.stops = { 1 : { 'placeholder' : [[2, mirror]] }, - \ 2 : { 'mirrors' : [mirror, {}] } } - - call b:snip_state.remove_nested(1) - Expect len(b:snip_state.stops[2].mirrors) == 1 - Expect b:snip_state.stops[2].mirrors[0] isnot mirror - end - - it 'removes nested stops' - let stop = [2, 'abc'] - let b:snip_state.stops = { 1 : { 'placeholder' : [stop] }, - \ 2 : { 'placeholder' : stop[1:1] } } - - call b:snip_state.remove_nested(1) - Expect len(b:snip_state.stops) == 1 - Expect keys(b:snip_state.stops) == ['1'] - end - - end - - describe '.find_update_objects()' - - it 'finds mirrors/stops on the same line and after cur_stop' - let b:snip_state.stops = { - \ 1 : { 'line' : 1, 'col' : 5, - \ 'placeholder' : ['x'] }, - \ 2 : { 'line' : 1, 'col' : 7, - \ 'mirrors' : [{ 'line' : 1, 'col' : 7 }] } - \ } - let stop = b:snip_state.stops[1] - - call b:snip_state.find_update_objects(stop) - for obj in stop.update_objects - Expect obj to_be_in [ b:snip_state.stops[2], - \ b:snip_state.stops[2].mirrors[0] ] - endfor - end - - it 'finds mirrors/stops on the same line and after cur_stop mirrors' - let b:snip_state.stops = { - \ 1 : { 'line' : 1, 'col' : 5, - \ 'mirrors' : [{ 'line' : 2, 'col' : 5 }], - \ 'placeholder' : ['x'] }, - \ 2 : { 'line' : 2, 'col' : 7, - \ 'mirrors' : [{ 'line' : 2, 'col' : 7 }] } - \ } - let stop = b:snip_state.stops[1] - - call b:snip_state.find_update_objects(stop) - for obj in stop.update_objects - Expect obj to_be_in [ b:snip_state.stops[2], - \ b:snip_state.stops[2].mirrors[0] ] - endfor - end - - it 'ignores mirrors/stops on other lines' - let b:snip_state.stops = { - \ 1 : { 'line' : 2, 'col' : 5, - \ 'placeholder' : ['x'] }, - \ 2 : { 'line' : 1, 'col' : 7, - \ 'mirrors' : [{ 'line' : 1, 'col' : 7 }] }, - \ 3 : { 'line' : 3, 'col' : 7, - \ 'mirrors' : [{ 'line' : 3, 'col' : 7 }] } - \ } - let stop = b:snip_state.stops[1] - - call b:snip_state.find_update_objects(stop) - Expect empty(stop.update_objects) to_be_true - end - - it 'ignores mirrors/stops on the same line but before cur_stop/mirrors' - let b:snip_state.stops = { - \ 1 : { 'line' : 1, 'col' : 5, - \ 'mirrors' : [{ 'line' : 2, 'col' : 5 }], - \ 'placeholder' : ['x'] }, - \ 2 : { 'line' : 1, 'col' : 1, - \ 'mirrors' : [{ 'line' : 2, 'col' : 1 }] }, - \ 3 : { 'line' : 2, 'col' : 3, - \ 'mirrors' : [{ 'line' : 1, 'col' : 3 }] }, - \ } - let stop = b:snip_state.stops[1] - - call b:snip_state.find_update_objects(stop) - Expect empty(stop.update_objects) to_be_true - end - - end - -end diff --git a/.vim_runtime/sources_non_forked/vim-snipmate/t/parser.vim b/.vim_runtime/sources_non_forked/vim-snipmate/t/parser.vim deleted file mode 100644 index 3c2aa6e..0000000 --- a/.vim_runtime/sources_non_forked/vim-snipmate/t/parser.vim +++ /dev/null @@ -1,152 +0,0 @@ -describe 'snippet parser' - - before - function! Parse(snippet, ...) - let [snip, stops] = snipmate#parse#snippet(a:snippet, (a:0 ? a:1 : 1)) - return (a:0 > 1 && a:2) ? [snip, stops] : snip - endfunction - let b:snipmate_visual = 'testvisual' - end - - it 'parses numeric $id and ${id} vars as [id] lists' - let expect = [[[1234567890]]] - Expect Parse('$1234567890') == expect - Expect Parse('${1234567890}') == expect - end - - it 'disregards $ or ${ followed by a non-id' - Expect Parse('$x1') == [['x1']] - Expect Parse('${x}1') == [['x}1']] - Expect Parse('$VISUA1') == [['VISUA1']] - Expect Parse('${VISUA}1') == [['VISUA}1']] - end - - it 'gathers references to each instance of each stop id' - let [snip, b:stops] = Parse('x$1x${2:x$1x}x$1x${1/a/b}x$VISUALx', 1, 1) - function! InstanceFound(list) - return !empty(filter(copy(b:stops[a:list[0]].instances), - \ 'v:val is a:list')) - endfunction - function! CheckList(list) - for item in a:list - if type(item) == type([]) - Expect InstanceFound(item) to_be_true - call CheckList(item) - endif - unlet item " E732 - endfor - endfunction - call CheckList(snip[0]) - end - - it 'parses mirror substitutions ${n/pat/sub} as [n, {...}]' - let expect = [[[1, { 'pat' : 'abc', 'sub' : 'def' }]]] - Expect Parse('${1/abc/def}') == expect - let expect[0][0][1].flags = '' - Expect Parse('${1/abc/def/}') == expect - let expect[0][0][1].flags = 'g' - Expect Parse('${1/abc/def/g}') == expect - end - - it 'reads patterns literally except for "\/"' - Expect Parse('${1/\a\/b/\c\/d\}}') == [[[1, { 'pat' : '\a/b', 'sub' : '\c/d}' }]]] - end - - it 'parses vars with placeholders as [id, placeholder] lists' - Expect Parse('${1:abc}') == [[[1, 'abc']]] - end - - it 'evaluates backtick expressions' - Expect Parse('`fnamemodify("x.y", ":r")`') == [['x']] - end - - it 'parses placeholders for vars and other specials' - let text = 'a `fnamemodify("x.y", ":r")` ${2:(${3/a/b})}' - let expect = ['a x ', [2, '(', [3, { 'pat' : 'a', 'sub' : 'b' }], ')']] - Expect Parse(text) == [expect] - Expect Parse(printf('${1:%s}', text)) == [[[1] + expect]] - end - - it 'converts tabs according to &et, &sts, &sw, &ts' - " &noet -> leave tabs alone - setl noet - Expect Parse("abc\tdef\n\t\tghi") == [["abc\tdef"], ["\t\tghi"]] - - " &et -> &sts or &sw - setl et sts=2 sw=3 - Expect Parse("abc\tdef\n\t\tghi") == [["abc def"], [" ghi"]] - - setl et sts=0 sw=3 - Expect Parse("abc\tdef\n\t\tghi") == [["abc def"], [" ghi"]] - - setl et sts=-1 sw=3 - Expect Parse("abc\tdef\n\t\tghi") == [["abc def"], [" ghi"]] - - " See #227 - if exists('*shiftwidth') - setl et sts=0 sw=0 ts=3 - Expect Parse("abc\tdef\n\t\tghi") == [["abc def"], [" ghi"]] - endif - end - - it 'parses backslashes as escaping the next character or joining lines' - Expect Parse('x\x') == [['xx']] - Expect Parse('x\\x') == [['x\x']] - Expect Parse("x\\\nx") == [['xx']] - Expect Parse('x\$1') == [['x$1']] - Expect Parse('${1:\}}') == [[[1, '}']]] - Expect Parse('`fnamemodify("\`.x", ":r")`') == [['`']] - Expect Parse('\`x\`') == [['`x`']] - end - - it 'splits text at newlines' - Expect Parse("x\nx") == [['x'], ['x']] - end - - it 'joins evaluated expressions to surrounding text on the same line' - let g:foo = 'bar' - Expect Parse("x`g:foo`x") == [['xbarx']] - Expect Parse("x`g:foo`\nx") == [['xbar'], ['x']] - Expect Parse("x\n`g:foo`x") == [['x'], ['barx']] - end - - it 'expands $VISUAL placeholders with any indents' - Expect Parse("x$VISUALx") == [['xtestvisualx']] - let b:snipmate_visual = " foo\nbar\n baz" - setl noet - Expect Parse("\tx\n\t$VISUAL\nx") == [["\tx"], ["\t foo"], ["\tbar"], - \ ["\t baz"], ["x"]] - end - - it 'removes newlines from the end of VISUALs if before an end of line' - let b:snipmate_visual = "1\n2\n" - Expect Parse("x\n$VISUAL\nx") == [['x'], ['1'], ['2'], ['x']] - end - - it 'splits the before and after a $VISUAL if it is multiline' - let b:snipmate_visual = "1\n2\n3" - Expect Parse("foo $VISUAL bar") == [['foo 1'], ['2'], ['3 bar']] - end - - it 'determines which var with an id is the stop' - let [snip, stops] = Parse("$1$1$1", 0, 1) - Expect snip == [[[1, "", stops[1]], [1, {}], [1, {}]]] - - let [snip, stops] = Parse("$1${1}$1", 0, 1) - Expect snip == [[[1, "", stops[1]], [1, {}], [1, {}]]] - - let [snip, stops] = Parse("$1${1:}$1", 0, 1) - Expect snip == [[[1, {}], [1, "", stops[1]], [1, {}]]] - - end - - it 'picks the first of many possible stops' - let [snip, stops] = Parse("$1${1:foo}${1:bar}", 0, 1) - Expect snip == [[[1, {}], [1, "foo", stops[1]], [1, {}]]] - end - - it 'represents empty lines as an empty string' - Expect Parse("foo\n\nbar") == [['foo'], [''], ['bar']] - end - -end diff --git a/.vim_runtime/sources_non_forked/vim-snipmate/t/tests.sh b/.vim_runtime/sources_non_forked/vim-snipmate/t/tests.sh deleted file mode 100644 index c1da250..0000000 --- a/.vim_runtime/sources_non_forked/vim-snipmate/t/tests.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -tmp="$(mktemp || tmpfile)" -vim -Es $tmp <<- EOF - source ~/.vimrc - %delete _ - call append(0, split(&rtp, ',')) - delete _ - wq -EOF - -rtp="$(grep -iE 'vspec|snipmate|tlib|mw-utils' < $tmp | grep -v after)" -vspec="$(grep -iE 'vspec' < $tmp | grep -v after)" -test_files="${*:-parser jumping}" - -for test in $test_files; do - $vspec/bin/vspec $rtp ${test%%.vim}.vim -done - -rm $tmp diff --git a/.vim_runtime/sources_non_forked/vim-snippets/.gitignore b/.vim_runtime/sources_non_forked/vim-snippets/.gitignore deleted file mode 100644 index 9989bee..0000000 --- a/.vim_runtime/sources_non_forked/vim-snippets/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -*.pyc -*~ -*.swo -*.swp diff --git a/.vim_runtime/sources_non_forked/vim-snippets/.travis.yml b/.vim_runtime/sources_non_forked/vim-snippets/.travis.yml deleted file mode 100644 index 74f2796..0000000 --- a/.vim_runtime/sources_non_forked/vim-snippets/.travis.yml +++ /dev/null @@ -1,8 +0,0 @@ -language: c -sudo: false - -notifications: - email: false - -script: - - ./tests.sh diff --git a/.vim_runtime/sources_non_forked/vim-snippets/AUTHORS b/.vim_runtime/sources_non_forked/vim-snippets/AUTHORS deleted file mode 100644 index 907daef..0000000 --- a/.vim_runtime/sources_non_forked/vim-snippets/AUTHORS +++ /dev/null @@ -1,383 +0,0 @@ -Authors -=============================================================================== - -Generated with "git log --oneline --pretty="%an" | sort | uniq > AUTHORS - -Aaron Broder -Adnan Zafar -afolmert -aisensiy -Alexander Ross -Alexandre de Oliveira -Alexey Shevchenko -Alex Tan -Allen.M -Alvin Chan -ALX-Liu-Xiao -Andrea Giardini -Andreas Krennmair -Andreas Steinel -Andrei Cristian Petcu -Andrej Radovic -Andre Walker -Andrey Paskal -Andy Waite -Angel Alonso -Ángel Alonso -Anne Douwe Bouma -Anthony Wilson -Arvind -ashfinal -Audrius Kažukauskas -Austin Wood -Aydar Khabibullin -babybeasimple -Benjamin Nørgaard -Bernhard Graf -Bill Casarin -binaryplease -Björn -Björn-Egil Dahlberg -BlackEagle -Boone Severson -bounceme -Bradlee Speice -Brandon Dulaney -Brandon Hilkert -Brian Hogan -Brian van Burken -Bruno Sutic -Camilo Payan -carme -Cézar Antáres -Chad Paradis -Chen Zhongzheng -Ches Martin -ChickenNuggers -Chipairon -Chris Dueck -Chris Nicola -Chris Sims -Christian -Christian Höltje -Christian Neumüller -Christopher Joslyn -chrisyue -Ciro Santilli -Ciro Santilli 六四事件 法轮功 -Claudio Maradonna -Connor Atherton -Cooper LeBrun -Corentin Peuvrel -Craig Paterson -Craig P Jolicoeur -crazymaster -daa84 -Daeyun Shin -Dale Roberts -Daniel Hahler -Dan Loewenherz -Danny Navarro -daoo -Darrell Hamilton -David Arvelo -David Barnett -David C. Bishop -David Deryl Downey - AKA Deryl R. Doucette -David Rodríguez de Dios -David Sanson -dengyaolong -Derek Morey -dhilipsiva -djdt -Dmitry Dementev -Donny Yang -DSIW -dzikie drożdże -Eduardo Gurgel -Eli Gundry -emzap79 -Enric Lluelles -Enrico Maria De Angelis -Erich Heine -Erik Westrup -Ernest -Eugene Kalinin -Eustaquio Rangel -Eustáquio Rangel -Fatih Arslan -Felix Jung -Filipe Giusti -Florent Lévigne -Florian Sattler -frans -Fuad Saud -Gabriel Chavez -Gaël Chamoulaud -Gea-Suan Lin -George Guimarães -George Lee -Georgios Samaras -Gert -gfixler -Gilad Peleg -gk -goonnow -Gueunet Charles -Gui Lin -guneysus -Gustavo Chain -Gustavo Ferreira -Hans-Guenter -Harald Wartig -Henrik Kjelsberg -HIRAKI Satoru -Holger Rapp -Honza -Honza Pokorny -hulufei -Igor Goldvekht -Ilker Cetinkaya -indi -Indra Susila -Ionică Bizău -Iuri Fernandes -Jack Stalnaker -Jacobo de Vera -Jacques Kvam -jake romer -Jakub Stasiak -James Turley -Jan Mollowitz -Jason S. Jones -Jean Jordaan -Jeffrey Tratner -Jens Hoepken -jiangyc0 -Jim Deville -Jinzhu -Joey Curtin -Johannes Wienke -jonasac -Jonas Bygdén -Jonathan Martin -Jorge García -Jorge López Pérez -Joseph Lin -Josh Bode -Josh Davis -Josh Matthews -Josh Vandergrift -Josh Wainwright -JuanPablo -Julian Bennecker -Julien Deniau -Julien Pivard -Julien Stechele -Julien STECHELE -Kalinin Eugene -kenshin54 -Kentaro Imai -Kevin Koltz -Kevin Lui -Kevin Mees -Kevin Murray -Kevin Schaul -Konstantin -Konstantin Gorodinskiy -Laas Toom -Laurent Georget -laxtiz -Leandro Moreira -Leonardo B -Leonidez Acosta -linduxed -Li Xin -Louis -Louis Pilfold -Lucas Hoffmann -Luis Carlos Cruz -Luis Carlos Cruz Carballo -Luiz Gonzaga dos Santos Filho -majjoha -mangege -Marc Camuzat -Marcelo D Montu -Marcelo Jacobus -Marcin Kulik -Marcus Kammer -Marc Weber -Mario de Frutos -Markus Benning -marocchino -Martin Atukunda -Martin Heuschober -Martxel Lasa -Matěj Cepl -Mathew Attlee -Mathieu Comandon -Matthew Barry -Matthias Viehweger -Mattia Tezzele -Matt Rasband -Matt Stevens -Mauro Porras P -Maximiliano Robaina -Mayeu (Cast) -Meng Zhuo -Michael Gehring -Michael Hinrichs -Michael Rutter -Michael Thessel -Michi Huber -Mickey -midchildan -Mike Foley -Mike Smullin -Miki Tebeka -Minjong Chung -M. Maxwell Watson -mMontu -mockturtl -m-pilia -Muhammad Hallaj Subery -mwcz -Namit -Nan Cloudio Jiang -Nan Zheng -Nate Mara -netei -Ngo The Trung -Nguyen Le -Nick Janetakis -Nicklasos -Nick Papanastasiou -Nicolas G. Querol -Nico Suhl -No Ducks -Norman Messtorff -obaoba -oddlydrawn -Oleg Voronkovich -Ole Hansen -Oliver Andrich -Ondrej Slinták -onemanstartup -opennota -Paco Esteban -Panagiotis Mavrogiorgos -Paolo Cretaro -Pascal -Paulo Romeira -Pawel Jankowski -phcerdan -Philippe Mongeau -Philipp Jovanovic -Piotr Jawniak -Piotr Yordanov -Pirogov Evgenij -Pompeu -Povilas Balzaravicius Pawka -Procras -protream -pydave -r4d2 -Radosław Szymczyszyn -Ralph-Wang -Raül Torralba -raydeal -rcolombo -Rekky -René -Rene Vergara -Renzo Poddighe -Reyes Yang -ricardogcolombo -Ricardo Jesus -Rich Layte -Roberto Miranda -robin -Robin Grindrod -Rok Garbas -Roland Sommer -Rory McNamara -rsw0x -rtorralba -Ruben Vereecken -Ryan Bright -Ryan Pineo -Ryan Wang -Sam Shepherd -Santiago Gallego -sasidhar-d -Sathors -Sebastian Röder -Sebastian Wiesner -Sergey Lebedev -Sergey Zasenko -Serhiy Oplakanets -SevereOverfl0w -Simeon F. Willbanks -Simeon Willbanks -Simon Désaulniers -sirex -skv -Sokovikov -Srijan Choudhary -Steeve -stefan -Stephen Tudor -Stephen Woods -Steve Brown -Steven Humphrey -Steven Oliver -Stuart Grimshaw -Sudar -¨switch87¨ -Tevin Zhang -theocrite -Thiago de Arruda -Thomas Duerr -Thomas Szymanski -tinyladi -Tobias Witt -Tobie Warburton -Tomasz Wisniewski -Tom Vincent -Tony -Tony Narlock -toogley -Torbjørn Vatn -tormaroe -ToruIwashita -Travis Holton -Trevor Sullivan -troydm -tUrG0n -twabiko -Tyler Ball -tyronepost -Tyrone Post -Vadim Khohlov -Vincent Hsu -Vladimir Rybas -Vladislav Khvostov -Vorzard -Vzaa -Waldecir Santos -Wildsky Fann -William Ma -William Travis Holton -X4fyr -xz.zhang -Yamamoto Yuji -Yannick Brehon -yerv000 -Yike Lu -yuhuanbo -Yu Huanbo -Yves Lange -yvhn -zauguin -Zaven Muradyan -ZPH diff --git a/.vim_runtime/sources_non_forked/vim-snippets/LICENSE b/.vim_runtime/sources_non_forked/vim-snippets/LICENSE deleted file mode 100644 index 495ced2..0000000 --- a/.vim_runtime/sources_non_forked/vim-snippets/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2011 see AUTHORS - -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/.vim_runtime/sources_non_forked/vim-snippets/README.md b/.vim_runtime/sources_non_forked/vim-snippets/README.md deleted file mode 100644 index b830863..0000000 --- a/.vim_runtime/sources_non_forked/vim-snippets/README.md +++ /dev/null @@ -1,231 +0,0 @@ - -README.md

snipMate & UltiSnip Snippets

- -

Build Status

- -

This repository contains snippets files for various programming languages.

- -

It is community-maintained and many people have contributed snippet files and -other improvements already.

- -

Contents

- -
    -
  • snippets/*: snippets using snipMate format
  • -
  • UltiSnips/*: snippets using UltiSnips format
  • -
- -

Snippet engines supporting vim-snippets

- -

There are different forks of snippet engines which allow the user to insert -snippets by typing the name of a snippet hitting the expansion mapping.

- - - -

There tries to be a more comprehensive list (which still is incomplete) here: -http://vim-wiki.mawercer.de/wiki/topic/text-snippets-skeletons-templates.html

- -

UltiSnips has additional features such as high speed, nesting snippets, -expanding snippets in snippets and offers powerful transformations on text in -snippets (like visual selections or placeholder texts).

- -

Which one to use? If you have python give SirVer/ultisnips a try because -its fast and has the most features.

- -

If you have VimL only (vim without python support) your best option is using -garbas/vim-snipmate and cope with the -minor bugs found in the engine.

- -

Q: Should snipMate be deprecated in favour of UltiSnips?

- -

A: No, because snipMate is VimL, and UltiSnips requires Python. -Some people want to use snippets without having to install Vim with Python -support. Yes - this sucks.

- -

One solution would be: Use snippets if they are good enough, but allow overriding them -in UltiSnips. This would avoid most duplication while still serving most users. -AFAIK there is a nested-placeholder branch for snipMate too. snipMate is still -improved by Adnan Zafar. So maybe time is not ready to make a final decision yet.

- -

github issue/discussion

- -

Vendor Snippets

- -

Additional library and framework snippets are available for UltiSnips users in -the UltiSnips/ directory. These files are removed from the default language -namespaces to prevent them from all being loaded automatically. If there is a -separate library, framework, or package you would like to support open a pull -request!

- -

Additional snippets can be added to the current buffer with the -:UltiSnipsAddFiletypes command followed by the snippet name without the -“snippets” ending. For example, to add the JavaScript Jasmine snippets, run: -:UltiSnipsAddFiletypes javascript-jasmine. To have this snippet loaded -everytime a JavaScript file is opened or created you can add the command to your - -.vim/ftplugin/javascript.vim file. Another way is to add - autocmd FileType js UltiSnipsAddFiletypes javascript-jasmine in your .vimrc.

- -

For more see the UltiSnips docs (:help UltiSnips).

- -

Installation

- -

First be aware that there are many options, see “Snippet engines” above. Second -be aware than there are tons of plugin managers which is why Marc Weber -thinks that it doesn’t make sense to repeat the same repetitive information -everywhere.

- -

The recommended way to install these snippets is by using -vim-addon-manager. Marc Weber wrote it for exactly this reason, it -supports simple dependency management. E.g. all you need is this line in your -.vimrc:

- -
" assuming you want to use snipmate snippet engine
-ActivateAddons vim-snippets snipmate
- -

vim-pi -Is the place to discuss plugin managers and repository resources.

- -

For snipMate installation instructions, please see snipmate@garbas.

- -

Pull requests adding installation instructions for Pathogen, Bundle, git clone, -etc. are welcome and much appreciated.

- -

Getting help

- -

If you still have trouble getting this to work, please create a GitHub issue.

- -

Things to consider when contributing

- -

Some snippets are useful for almost all languages, so let’s try to have the same -triggers for them:

- -
if : if without else
-ife: if $1 else $2
-eif : else if ($1) { .. }
-el  : else ..
-wh  : while (cond) ...
- -

Don’t add useless placeholder default texts like:

- -
if (${1:condition}){
-  ${0:some code here}
-}
- -

instead use:

- -
if (${1}){
-  ${0:${VISUAL}}
-}
- -

Exception: Functions which are used less often, such as Vim’s matchall(), matchstr() -functions which case hints may be helpful to remember order. In the VimL case -get vim-dev plugin which has function completion

- -

Thus for conditions (while, if ..) and block bodies just use ${N} - Thanks

- -

When the snippet can be used to wrap existing code leverage ${VISUAL}

- -

Open questions: -What about one line if ee then .. else .. vs if \n .. then \n … \n else \n .. ? -Which additional policies to add? -Discuss at: https://github.com/honza/vim-snippets/issues/230

- -

folding markers: -Until further work is done on vim-snipmate, please don’t add folding markers -into snippets. vim-snipmate has some comments about how to patch all snippets -on the fly adding those.

- -

Currently all snippets from UltiSnips have been put into UltiSnips - some work -on merging should be done (dropping duplicates etc). Also see engines section above.

- -

Related repositories

- -

We also encourage people to maintain sets of snippets for particular use cases -so that all users can benefit from them. People can list their snippet repositories here:

- - - -

Installation using VAM: https://github.com/MarcWeber/vim-addon-manager

- -

Future ideas and examples

- -

overview snippet engines -If you have ideas you can add them to that list of “snippet engine features by example”.

- -

Historical notes

- -

vim-snipmate was originally started by Michael Sanders who has now -unfortunately abandoned the project. Rok Garbas is now maintaining a -fork of the project in hopes of improving the existing code base.

- -

Versions / dialects / ..

- -

There are some issues, such as newer language versions may require other -snippets than older. If this exists we currently recommend doing this:

- -
    -
  • add snippets/ruby.snippets (common snippets)
  • -
  • add snippets/ruby-1.8.snippets (1.8 only)
  • -
  • add snippets/ruby-1.9.snippets (1.9 only)
  • -
- -

then configure https://github.com/garbas/vim-snipmate this way:

- -
let g:snipMate = {}
-let g:snipMate.scope_aliases = {}
-let g:snipMate.scope_aliases['ruby'] = 'ruby,ruby-rails,ruby-1.9'
- -

If it happens that you work on a project requiring ruby-1.8 snippets instead, -consider using vim-addon-local-vimrc and override the filetypes.

- -

Well - of course it may not make sense to create a new file for each -ruby-library-version triplet. Sometimes postfixing a name such as

- -
migrate_lib_20_down
-migrate_lib_20_up
- -

will do it then if syntax has changed.

- -

Language maintainers

- -

No one can really be proficient in all programming languages. If you would like -to maintain snippets for a language, please get in touch.

- -

Notes: People are interested in snippets - and their interest may wane again. -This list is kept up-to-date on a best effort basis.

- - - -

License

- -

Just as the original snipMate plugin, all the snippets are licensed under the -terms of the MIT license.

diff --git a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/README b/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/README deleted file mode 100644 index 41d8592..0000000 --- a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/README +++ /dev/null @@ -1,17 +0,0 @@ -This directory contains the snippets for UltiSnips. -https://github.com/sirver/ultisnips - -Standing On The Shoulders of Giants -=================================== - -The snippets have been collected from various other project which I want to -express my gratitude for. My main source for inspiration where the following -two projects: - - TextMate: http://svn.textmate.org/trunk/Bundles/ - SnipMate: http://code.google.com/p/snipmate/ - -UltiSnips has seen contributions by many individuals. Those contributions have -been merged into this collection seamlessly and without further comments. - --- vim:ft=rst:nospell: diff --git a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/ada.snippets b/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/ada.snippets deleted file mode 100644 index bea2a6c..0000000 --- a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/ada.snippets +++ /dev/null @@ -1,282 +0,0 @@ -priority -50 - -global !p - -def ada_case(word): - out = word[0].upper() - for i in range(1, len(word)): - if word[i] == '-': - out = out + '.' - elif word[i - 1] == '_' or word[i - 1] == '-': - out = out + word[i].upper() - else: - out = out + word[i] - return out - -endglobal - -snippet wi "with" -with $1;$0 -endsnippet - -snippet pac "package" -package ${1:`!p snip.rv = ada_case(snip.basename)`} is - $0 -end $1; -endsnippet - -snippet pacb "package body" -package body ${1:`!p snip.rv = ada_case(snip.basename)`} is - $0 -end $1; -endsnippet - -snippet ent "entry ... when" -entry $1($2) when $3 is -begin - $0 -end $1; -endsnippet - -snippet task "task" -task $1 is - entry $0 -end $1; -endsnippet - -snippet taskb "task body" -task body $1 is - $2 -begin - $0 -end $1; -endsnippet - -snippet acc "accept" -accept $1($2) do - $0 -end $1; -endsnippet - -snippet prot "protected type" -protected type $1($2) is - $0 -end $1; -endsnippet - -snippet prob "protected body" -protected body $1 is - $2 -begin - $0 -end $1; -endsnippet - -snippet gen "generic type" -generic - type $1 is $2;$0 -endsnippet - -snippet ty "type" -type $1 is $2;$0 -endsnippet - -snippet tyd "type with default value" -type $1 is $2 - with Default_Value => $3;$0 -endsnippet - -snippet subty "subtype" -subtype $1 is $2;$0 -endsnippet - -snippet dec "declare block" -declare - $1 -begin - $0 -end; -endsnippet - -snippet decn "declare named block" -$1: -declare - $2 -begin - $0 -end $1; -endsnippet - -snippet ifex "if expression" -if $1 then $2 else $0 -endsnippet - -snippet casex "case expression" -case $1 is - when $2 => $3,$0 -endsnippet - -snippet fora "for all" -for all $1 ${2:in} $3 => $0 -endsnippet - -snippet fors "for some" -for some $1 ${2:in} $3 => $0 -endsnippet - -snippet if "if" -if $1 then - $0 -end if; -endsnippet - -snippet ife "if ... else" -if $1 then - $2 -else - $0 -end if; -endsnippet - -snippet el "else" -else - $0 -endsnippet - -snippet eif "elsif" -elsif $1 then - $0 -endsnippet - -snippet wh "while" -while $1 loop - $0 -end loop; -endsnippet - -snippet nwh "named while" -$1: -while $2 loop - $0 -end loop $1; -endsnippet - -snippet for "for" -for ${1:I} in $2 loop - $0 -end loop; -endsnippet - -snippet fore "for each" -for $1 of $2 loop - $0 -end loop; -endsnippet - -snippet nfor "named for" -$1: -for ${2:I} in $3 loop - $0 -end loop $1; -endsnippet - -snippet nfore "named for each" -$1: -for $2 of $3 loop - $0 -end loop $1; -endsnippet - -snippet proc "procedure" -procedure $1($2) is - $3 -begin - $0 -end $1; -endsnippet - -snippet procd "procedure declaration" -procedure $1;$0 -endsnippet - -snippet fun "function" -function $1($2) return $3 is - $4 -begin - $0 -end $1; -endsnippet - -snippet fune "expression function" -function $1 return $2 is - ($3);$0 -endsnippet - -snippet fund "function declaration" -function $1 return $2;$0 -endsnippet - -snippet ret "extended return" -return $1 do - $0 -end return; -endsnippet - -snippet rec "record" -record - $0 -end record; -endsnippet - -snippet case "case" -case $1 is - when $2 => $3;$0 -end case; -endsnippet - -snippet whe "when" -when $1 => $2;$0 -endsnippet - -snippet wheo "when others" -when others => $1;$0 -endsnippet - -snippet lo "loop" -loop - $0 -end loop; -endsnippet - -snippet nlo "named loop" -$1: -loop - $0 -end loop $1; -endsnippet - -snippet ex "exit when" -exit when $1;$0 -endsnippet - -snippet put "Ada.Text_IO.Put" -Ada.Text_IO.Put($1);$0 -endsnippet - -snippet putl "Ada.Text_IO.Put_Line" -Ada.Text_IO.Put_Line($1);$0 -endsnippet - -snippet get "Ada.Text_IO.Get" -Ada.Text_IO.Get($1);$0 -endsnippet - -snippet getl "Ada.Text_IO.Get_Line" -Ada.Text_IO.Get_Line($1);$0 -endsnippet - -snippet newline "Ada.Text_IO.New_Line" -Ada.Text_IO.New_Line(${1:1});$0 -endsnippet - -# vim:ft=snippets: diff --git a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/all.snippets b/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/all.snippets deleted file mode 100644 index 84ddaa4..0000000 --- a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/all.snippets +++ /dev/null @@ -1,113 +0,0 @@ -# This file contains snippets that are always defined. I personally -# have snippets for signatures and often needed texts - -# sligthly lower priority than everything else since specialized versions -# should overwrite. The user needs to adjust her priority in her snippets to -# ~-55 so that other filetypes will still overwrite. -priority -60 - -############## -# NICE BOXES # -############## -global !p -from vimsnippets import foldmarker, make_box, get_comment_format -LOREM = """ -Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod \ -tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At \ -vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, \ -no sea takimata sanctus est Lorem ipsum dolor sit amet. -""" -endglobal - -snippet box "A nice box with the current comment symbol" b -`!p -box = make_box(len(t[1])) -snip.rv = box[0] -snip += box[1] -`${1:${VISUAL:content}}`!p -box = make_box(len(t[1])) -snip.rv = box[2] -snip += box[3]` -$0 -endsnippet - -snippet bbox "A nice box over the full width" b -`!p -if not snip.c: - width = int(vim.eval("&textwidth - (virtcol('.') == 1 ? 0 : virtcol('.'))")) or 71 -box = make_box(len(t[1]), width) -snip.rv = box[0] -snip += box[1] -`${1:${VISUAL:content}}`!p -box = make_box(len(t[1]), width) -snip.rv = box[2] -snip += box[3]` -$0 -endsnippet - -snippet fold "Insert a vim fold marker" b -`!p snip.rv = get_comment_format()[0]` ${1:Fold description} `!p snip.rv = foldmarker()[0]`${2:1} `!p snip.rv = get_comment_format()[2]` -endsnippet - -snippet foldc "Insert a vim fold close marker" b -`!p snip.rv = get_comment_format()[0]` ${2:1}`!p snip.rv = foldmarker()[1]` `!p snip.rv = get_comment_format()[2]` -endsnippet - -snippet foldp "Insert a vim fold marker pair" b -`!p snip.rv = get_comment_format()[0]` ${1:Fold description} `!p snip.rv = foldmarker()[0]` `!p snip.rv = get_comment_format()[2]` -${2:${VISUAL:Content}} -`!p snip.rv = get_comment_format()[0]` `!p snip.rv = foldmarker()[1]` $1 `!p snip.rv = get_comment_format()[2]` -endsnippet - -########################## -# LOREM IPSUM GENERATORS # -########################## -snippet "lorem(([1-4])?[0-9])?" "Lorem Ipsum" r -`!p snip.rv = " ".join(LOREM.split()[:int(match.group(1))]) if match.group(1) else LOREM` -endsnippet - -########################## -# VIM MODELINE GENERATOR # -########################## -# See advice on `:help 'tabstop'` for why these values are set. Uses second -# modeline form ('set') to work in languages with comment terminators -# (/* like C */). -snippet modeline "Vim modeline" -vim`!v ':set '. (&expandtab ? printf('et sw=%i ts=%i', &sw, &ts) : printf('noet sts=%i sw=%i ts=%i', &sts, &sw, &ts)) . (&tw ? ' tw='. &tw : '') . ':'` -endsnippet - -######### -# DATES # -######### -snippet date "YYYY-MM-DD" w -`!v strftime("%Y-%m-%d")` -endsnippet - -snippet ddate "Month DD, YYYY" w -`!v strftime("%b %d, %Y")` -endsnippet - -snippet diso "ISO format datetime" w -`!v strftime("%Y-%m-%d %H:%M:%S%z")` -endsnippet - -snippet time "hh:mm" w -`!v strftime("%H:%M")` -endsnippet - -snippet datetime "YYYY-MM-DD hh:mm" w -`!v strftime("%Y-%m-%d %H:%M")` -endsnippet - -snippet todo "TODO comment" bw -`!p snip.rv=get_comment_format()[0]` ${2:TODO}: $0${3: <${4:`!v strftime('%d-%m-%y')`}${5:, `!v g:snips_author`}>} `!p snip.rv=get_comment_format()[2]` -endsnippet - -########## -# Misc # -########## -snippet uuid "Random UUID" w -`!p if not snip.c: import uuid; snip.rv = str(uuid.uuid4())` -endsnippet - -# vim:ft=snippets: diff --git a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/bib.snippets b/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/bib.snippets deleted file mode 100644 index c9b8df5..0000000 --- a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/bib.snippets +++ /dev/null @@ -1,52 +0,0 @@ -priority -50 - -snippet online "Online resource" b -@online{${1:name}, - author={${2:author}}, - title={${3:title}}, - date={${4:date}}, - url={${5:url}} -} -$0 -endsnippet - -snippet article "Article reference" b -@article{${1:name}, - author={${2:author}}, - title={${3:title}}, - journaltitle={${4:journal}}, - volume={${5:NN}}, - number={${6:NN}}, - year={${7:YYYY}}, - pages={${8:NN}--${9:NN}} -} -$0 -endsnippet - -snippet book "Book reference" b -@book{${1:name}, - author={${2:author}}, - title={${3:title}}, - subtitle={${4:subtitle}}, - year={${5:YYYY}}, - location={${6:somewhere}}, - publisher={${7:publisher}}, - pages={${8:NN}--${9:NN}} -} -$0 -endsnippet - -snippet inb "In Book reference" b -@inbook{${1:name}, - author={${2:author}}, - title={${3:title}}, - subtitle={${4:subtitle}}, - booktitle={${5:book}}, - editor={${6:editor}}, - year={${7:YYYY}}, - location={${8:somewhere}}, - publisher={${9:publisher}}, - pages={${10:NN}--${11:NN}} -} -$0 -endsnippet diff --git a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/bindzone.snippets b/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/bindzone.snippets deleted file mode 100644 index b8ab0df..0000000 --- a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/bindzone.snippets +++ /dev/null @@ -1,29 +0,0 @@ -priority -50 - -global !p -def newsoa(): - import datetime - now = datetime.datetime.now() - # return standard SOA formatted serial for today - return now.strftime("%Y%m%d00") -endglobal - -snippet zone "Bootstrap a new Bind zonefile" b -$TTL 86400 -@ IN SOA ${1:example.net}. ${2:hostmaster.$1}.( - `!p snip.rv = newsoa()`; serial - 21600; refresh every 6 hours - 3600; retry after one hour - 604800; expire after a week - 86400 ); minimum TTL of 1 day - - IN NS ns01.$1. - IN MX 10 mail.$1. - -ns01.$1 IN A -mail.$1 IN A -endsnippet - -snippet A "Insert A Record" b -${1:hostname} IN A ${2:ip} -endsnippet diff --git a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/blade.snippets b/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/blade.snippets deleted file mode 100644 index 26fde17..0000000 --- a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/blade.snippets +++ /dev/null @@ -1,139 +0,0 @@ -priority -50 - -extends html - -# We want to overwrite everything in parent ft. -priority -49 - -snippet break "@break" -@break -endsnippet - -snippet component "@component directive" -@component('$1') - ${2:${VISUAL}} -@endcomponent -endsnippet - -snippet each "@each directive" -@each('$1', $$2, '$3') -endsnippet - -snippet else "@else directive" -@else -endsnippet - -snippet eif "@else if directive" -@else if ($1) - ${2:${VISUAL}} -endsnippet - -snippet for "@for directive" -@for ($1) - ${2:${VISUAL}} -@endfor -endsnippet - -snippet foreach "@foreach directive" -@foreach ($$1 as $$2) - ${3:${VISUAL}} -@endforeach -endsnippet - -snippet extends "@extends directive" -@extends('$1') -endsnippet - -snippet if "@if directive" -@if ($1) - ${2:${VISUAL}} -@endif -endsnippet - -snippet ife "@if @else structure" -@if ($1) - ${2:${VISUAL}} -@else - ${3:${VISUAL}} -@endif -endsnippet - -snippet include "@include directive" -@include('$1') -endsnippet - -snippet includeIf "@includeIf directive" -@includeIf('$1') -endsnippet - -snippet isset "@isset directive" -@isset - ${1:${VISUAL}} -@endisset -endsnippet - -snippet inject "@inject directive" -@inject('$1', '$2') -endsnippet - -snippet lang "@lang directive" i -@lang('$1') -endsnippet - -snippet php "@php directive" -@php - ${1:${VISUAL}} -@endphp -endsnippet - -snippet push "@push directive" -@push('$1') - ${2:${VISUAL}} -@endpush -endsnippet - -snippet section "@section directive" -@section('$1') -endsnippet - -snippet show "@show directive" -@show -endsnippet - -snippet slot "@slot directive" -@slot('$1') - ${2:${VISUAL}} -@endslot -endsnippet - -snippet unless "@unless directive" -@unless - ${1:${VISUAL}} -@endunless -endsnippet - -snippet verbatim "@verbatim directive" -@verbatim - ${0:$VISUAL} -@endverbatim -endsnippet - -snippet wh "@while directive" -@while ($1) - ${2:${VISUAL}} -@endwhile -endsnippet - -snippet yield "@yield directive" -@yield('$1') -endsnippet - -snippet { "{{ }} statement." i -{{ $1 }} -endsnippet - -snippet {! "{!! !!} statement" i -{!! $1 !!} -endsnippet - -# vim:ft=snippets: diff --git a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/c.snippets b/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/c.snippets deleted file mode 100644 index e1eb81c..0000000 --- a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/c.snippets +++ /dev/null @@ -1,149 +0,0 @@ -########################################################################### -# TextMate Snippets # -########################################################################### - -priority -50 - -snippet def "#define ..." -#define $1 -endsnippet - -snippet #ifndef "#ifndef ... #define ... #endif" -#ifndef ${1/([A-Za-z0-9_]+).*/$1/} -#define ${1:SYMBOL} ${2:value} -#endif /* ifndef $1 */ -endsnippet - -snippet #if "#if #endif" b -#if ${1:0} -${VISUAL}$0 -#endif -endsnippet - -snippet mark "#pragma mark (mark)" -#if 0 -${1:#pragma mark - -}#pragma mark $2 -#endif - -$0 -endsnippet - -snippet main "main() (main)" -int main(int argc, char *argv[]) -{ - ${VISUAL}$0 - return 0; -} -endsnippet - -snippet for "for loop (for)" -for (${2:i} = 0; $2 < ${1:count}; ${3:++$2}) { - ${VISUAL}$0 -} -endsnippet - -snippet fori "for int loop (fori)" -for (${4:int} ${2:i} = 0; $2 < ${1:count}; ${3:++$2}) { - ${VISUAL}$0 -} -endsnippet - -snippet once "Include header once only guard" -#ifndef ${1:`!p -if not snip.c: - import random, string - name = re.sub(r'[^A-Za-z0-9]+','_', snip.fn).upper() - rand = ''.join(random.sample(string.ascii_letters+string.digits, 8)) - snip.rv = ('%s_%s' % (name,rand)).upper() -else: - snip.rv = snip.c`} -#define $1 - -${VISUAL}$0 - -#endif /* end of include guard: $1 */ -endsnippet - -snippet fprintf "fprintf ..." -fprintf(${1:stderr}, "${2:%s}\n"${2/([^%]|%%)*(%.)?.*/(?2:, :\);)/}$3${2/([^%]|%%)*(%.)?.*/(?2:\);)/} -endsnippet - -snippet eli "else if .. (eli)" -else if (${1:/* condition */}) { - ${VISUAL}$0 -} -endsnippet - -snippet printf "printf .. (printf)" -printf("${1:%s}\n"${1/([^%]|%%)*(%.)?.*/(?2:, :\);)/}$2${1/([^%]|%%)*(%.)?.*/(?2:\);)/} -endsnippet - -snippet st "struct" -struct ${1:`!p snip.rv = (snip.basename or "name") + "_t"`} { - ${0:/* data */} -}; -endsnippet - -snippet fun "function" b -${1:void} ${2:function_name}($3) -{ - ${VISUAL}$0 -} -endsnippet - -snippet fund "function declaration" b -${1:void} ${2:function_name}($3); -endsnippet - -global !p -def split_line(text): - import textwrap - lines = textwrap.wrap(text, 78 - 19) - output = list() - for line in lines: - output.append('*' + ' '*19 + line) - snip_line = snip.tabstops[4].end[0] - snip.buffer.append(output, snip_line + 1) - del snip.buffer[snip_line] - -def get_args(arglist): - args = [arg.strip() for arg in arglist.split(',') if arg] - return args -endglobal - -post_jump "if snip.tabstop == 0 : split_line(snip.tabstops[4].current_text)" -snippet head "File Header" b -/****************************************************************************** -* File: `!p snip.rv = fn` -* -* Author: ${2} -* Created: `date +%m/%d/%y` -* Description: ${4:${VISUAL}} -*****************************************************************************/ -${0} -endsnippet - -post_jump "if snip.tabstop == 0 : split_line(snip.tabstops[4].current_text)" -snippet func "Function Header" -/****************************************************************************** -* Function: $1 -* Description: ${4:${VISUAL}} -* Where:`!p -snip.rv = "" -snip >> 2 - -args = get_args(t[2]) -if args: - for arg in args: - snip.rv += '\n' + '*' + ' '*19 + arg + ' - TODO' -snip << 2 -` -* Return: $5 -* Error: $6 -*****************************************************************************/ -${1}($2){ - ${0} -} -endsnippet -# vim:ft=snippets: diff --git a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/coffee-jasmine.snippets b/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/coffee-jasmine.snippets deleted file mode 100644 index 0dd35cd..0000000 --- a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/coffee-jasmine.snippets +++ /dev/null @@ -1,166 +0,0 @@ -# -# CoffeeScript versions -- adapted from the JS TextMate bundle + additions -# for some jasmine-jquery matchers -# -priority -50 - -extends coffee - -priority -49 - -snippet des "Describe (coffee)" b -describe '${1:description}', -> - $0 -endsnippet - -snippet it "it (coffee)" b -it '${1:description}', -> - $0 -endsnippet - -snippet bef "before each (coffee)" b -beforeEach -> - $0 -endsnippet - -snippet aft "after each (coffee)" b -afterEach -> - $0 -endsnippet - -snippet any "any (coffee)" b -jasmine.any($1) -endsnippet - -snippet ru "runs (coffee)" b -runs -> - $0 -endsnippet - -snippet wa "waits (coffee)" b -waits($1) -endsnippet - -snippet ex "expect (coffee)" b -expect(${1:target})$0 -endsnippet - -snippet ee "expect to equal (coffee)" b -expect(${1:target}).toEqual(${2:value}) -endsnippet - -snippet em "expect to match (coffee)" b -expect(${1:target}).toMatch(${2:pattern}) -endsnippet - -snippet eha "expect to have attribute (coffee)" b -expect(${1:target}).toHaveAttr('${2:attr}'${3:, '${4:value}'}) -endsnippet - -snippet et "expect to be truthy (coffee)" b -expect(${1:target}).toBeTruthy() -endsnippet - -snippet ef "expect to be falsy (coffee)" b -expect(${1:target}).toBeFalsy() -endsnippet - -snippet ed "expect to be defined (coffee)" b -expect(${1:target}).toBeDefined() -endsnippet - -snippet en "expect to be null (coffee)" b -expect(${1:target}).toBeNull() -endsnippet - -snippet ec "expect to contain (coffee)" b -expect(${1:target}).toContain(${2:value}) -endsnippet - -snippet ev "expect to be visible (coffee)" b -expect(${1:target}).toBeVisible() -endsnippet - -snippet eh "expect to be hidden (coffee)" b -expect(${1:target}).toBeHidden() -endsnippet - -snippet notx "expect not (coffee)" b -expect(${1:target}).not$0 -endsnippet - -snippet note "expect not to equal (coffee)" b -expect(${1:target}).not.toEqual(${2:value}) -endsnippet - -snippet notm "expect not to match (coffee)" b -expect(${1:target}).not.toMatch(${2:pattern}) -endsnippet - -snippet notha "expect to not have attribute (coffee)" b -expect(${1:target}).not.toHaveAttr('${2:attr}'${3:, '${4:value}'}) -endsnippet - -snippet nott "expect not to be truthy (coffee)" b -expect(${1:target}).not.toBeTruthy() -endsnippet - -snippet notf "expect not to be falsy (coffee)" b -expect(${1:target}).not.toBeFalsy() -endsnippet - -snippet notd "expect not to be defined (coffee)" b -expect(${1:target}).not.toBeDefined() -endsnippet - -snippet notn "expect not to be null (coffee)" b -expect(${1:target}).not.toBeNull() -endsnippet - -snippet notc "expect not to contain (coffee)" b -expect(${1:target}).not.toContain(${2:value}) -endsnippet - -snippet notv "expect not to be visible (coffee)" b -expect(${1:target}).not.toBeVisible() -endsnippet - -snippet noth "expect not to be hidden (coffee)" b -expect(${1:target}).not.toBeHidden() -endsnippet - -snippet s "spy on (coffee)" b -spyOn(${1:object}, "${2:method}")$0 -endsnippet - -snippet sr "spy on and return (coffee)" b -spyOn(${1:object}, "${2:method}").andReturn(${3:arguments}) -endsnippet - -snippet st "spy on and throw (coffee)" b -spyOn(${1:object}, "${2:method}").andThrow(${3:exception}) -endsnippet - -snippet sct "spy on and call through (coffee)" b -spyOn(${1:object}, "${2:method}").andCallThrough() -endsnippet - -snippet scf "spy on and call fake (coffee)" b -spyOn(${1:object}, "${2:method}").andCallFake(${3:function}) -endsnippet - -snippet esc "expect was called (coffee)" b -expect(${1:target}).wasCalled() -endsnippet - -snippet escw "expect was called with (coffee)" b -expect(${1:target}).wasCalledWith(${2:arguments}) -endsnippet - -snippet notsc "expect was not called (coffee)" b -expect(${1:target}).wasNotCalled() -endsnippet - -snippet noscw "expect was not called with (coffee)" b -expect(${1:target}).wasNotCalledWith(${2:arguments}) -endsnippet diff --git a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/coffee-react.snippets b/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/coffee-react.snippets deleted file mode 100644 index 3090c57..0000000 --- a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/coffee-react.snippets +++ /dev/null @@ -1,80 +0,0 @@ -# -# CoffeeScript versions -- adapted from coffee-jasmine -# for some ReactJS matchers. -# -priority -50 - -extends coffee - -priority -49 - -snippet createClass "React define Class" b -${1:classname}Class = React.createClass - displayName: "$1" - render: -> - $2 -$1 = React.createFactory($1) -endsnippet - -snippet PropTypes "React define propTypes" b -propTypes: -> - ${1:myVar}: React.PropTypes.${2:type}${3:.isRequired} -endsnippet - -snippet propType "React propType (key/value)" b -${1:myVar}: React.PropTypes.${2:type}${3:.isRequired} -$4 -endsnippet - -snippet setState "React setState" b -@setState - ${1:myvar}: ${2:myvalue} - $3 -endsnippet - -snippet getInitialState "React define getInitialState" b -getInitialState: -> - ${1:myvar}: ${2:myvalue} - $3 -endsnippet - -snippet getDefaultProps "React define getDefaultProps" b -getDefaultProps: -> - ${1:myvar}: ${2:myvalue} - $3 -endsnippet - -snippet componentWillMount "React define componentWillMount" b -componentWillMount: -> - $1 -endsnippet - -snippet componentDidMount "React define componentDidMount" b -componentDidMount: -> - $1 -endsnippet - -snippet componentWillReceiveProps "React define componentWillReceiveProps" b -componentWillReceiveProps: (nextProps) -> - $1 -endsnippet - -snippet shouldComponentUpdate "React define shouldComponentUpdate" b -shouldComponentUpdate: (nextProps, nextState) -> - $1 -endsnippet - -snippet componentWillUpdate "React define componentWillUpdate" b -componentWillUpdate: (nextProps, nextState) -> - $1 -endsnippet - -snippet componentDidUpdate "React define componentDidUpdate" b -componentDidUpdate: (prevProps, prevState) -> - $1 -endsnippet - -snippet componentWillUnmount "React define componentWillUnmount" b -componentWillUnmount: -> - $1 -endsnippet diff --git a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/coffee.snippets b/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/coffee.snippets deleted file mode 100644 index 75e7d06..0000000 --- a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/coffee.snippets +++ /dev/null @@ -1,100 +0,0 @@ -priority -50 - -snippet fun "Function" b -${1:name} = `!p snip.rv = "(" if t[2] else ""`${2:args}`!p snip.rv = ") " if t[2] else ""`-> - ${0:# body...} -endsnippet - -snippet bfun "Function (bound)" i -`!p snip.rv = "(" if t[1] else ""`${1:args}`!p snip.rv = ") " if t[1] else ""`=>`!p snip.rv = " " if t[2] and not t[2].startswith("\n") else ""`${2:expr} -endsnippet - -snippet if "If" b -if ${1:condition} - ${0:# body...} -endsnippet - -snippet ife "If .. Else" b -if ${1:condition} - ${2:# body...} -else - ${3:# body...} -endsnippet - -snippet elif "Else if" b -else if ${1:condition} - ${0:# body...} -endsnippet - -snippet ifte "Ternary if" b -if ${1:condition} then ${2:value} else ${3:other} -endsnippet - -snippet unl "Unless" b -${1:action} unless ${2:condition} -endsnippet - -snippet fora "Array Comprehension" b -for ${1:name} in ${2:array} - ${0:# body...} -endsnippet - -snippet foro "Object Comprehension" b -for ${1:key}, ${2:value} of ${3:Object} - ${0:# body...} -endsnippet - -snippet forr "Range Comprehension (inclusive)" b -for ${1:name} in [${2:start}..${3:finish}]`!p snip.rv = " by " if t[4] else ""`${4:step} - ${0:# body...} -endsnippet - -snippet forrex "Range Comprehension (exclusive)" b -for ${1:name} in [${2:start}...${3:finish}]`!p snip.rv = " by " if t[4] else ""`${4:step} - ${0:# body...} -endsnippet - -snippet swi "Switch" b -switch ${1:object} - when ${2:value} - ${3:# body...} - else - $0 -endsnippet - -snippet swit "Switch when .. then" b -switch ${1:object} - when ${2:condition}`!p snip.rv = " then " if t[3] else ""`${3:value} - else`!p snip.rv = " " if t[4] and not t[4].startswith("\n") else ""`${4:value} -endsnippet - -snippet cla "Class" b -class ${1:ClassName}`!p snip.rv = " extends " if t[2] else ""`${2:Ancestor} - - ${3:constructor:`!p snip.rv = " (" if t[4] else ""`${4:args}`!p snip.rv = ")" if t[4] else ""` -> - ${5:# body...}} - $0 -endsnippet - -snippet try "Try .. Catch" b -try - $1 -catch ${2:error} - $3 -endsnippet - -snippet req "Require" b -${1/^'?(\w+)'?$/\L$1\E/} = require(${1:'${2:sys}'}) -endsnippet - -snippet # "Interpolated Code" i -#{$1}$0 -endsnippet - -snippet log "Log" b -console.log ${1:"${2:msg}"} -endsnippet - -snippet kv "Key:value for object" b -${1:key}:${2:value} -endsnippet diff --git a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/cpp.snippets b/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/cpp.snippets deleted file mode 100644 index 1abd509..0000000 --- a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/cpp.snippets +++ /dev/null @@ -1,110 +0,0 @@ -priority -50 - -extends c - -# We want to overwrite everything in parent ft. -priority -49 -########################################################################### -# Global functions # -########################################################################### - -global !p - -def write_docstring_args(arglist, snip): - args = str(arglist).split(',') - - if len(args) > 1: - c = 0 - for arg in args: - if c == 0: - snip.rv += arg - c = 1 - else: - snip += '* : %s' % arg.strip() - else: - snip.rv = args[0] - - -endglobal - -########################################################################### -# TextMate Snippets # -########################################################################### -snippet beginend "$1.begin(), $1.end() (beginend)" -${1:v}${1/^.*?(-)?(>)?$/(?2::(?1:>:.))/}begin(), $1${1/^.*?(-)?(>)?$/(?2::(?1:>:.))/}end() -endsnippet - -snippet cl "class .. (class)" -class ${1:`!p snip.rv = snip.basename or "name"`} -{ -public: - ${1/(\w+).*/$1/} (${2:arguments}); - virtual ~${1/(\w+).*/$1/} (); - -private: - ${0:/* data */} -}; -endsnippet - -snippet ns "namespace .. (namespace)" -namespace${1/.+/ /m}${1:`!p snip.rv = snip.basename or "name"`} -{ - ${VISUAL}$0 -}${1/.+/ \/* /m}$1${1/.+/ *\/ /m} -endsnippet - -snippet readfile "read file (readF)" -std::vector v; -if (FILE *fp = fopen(${1:"filename"}, "r")) -{ - char buf[1024]; - while(size_t len = fread(buf, 1, sizeof(buf), fp)) - v.insert(v.end(), buf, buf + len); - fclose(fp); -} -endsnippet - -snippet map "std::map (map)" -std::map<${1:key}, ${2:value}> map$0; -endsnippet - -snippet vector "std::vector (v)" -std::vector<${1:char}> v$0; -endsnippet - -snippet tp "template (template)" -template -endsnippet - -snippet cla "An entire .h generator" b -#ifndef ${2:`!v substitute(vim_snippets#Filename('$1_H','ClassName'),'.*','\U&\E','')`} -#define $2 - -class ${1:`!v substitute(substitute(vim_snippets#Filename('$1','ClassName'),'^.','\u&',''), '_\(\w\)', '\u\1', 'g')`} -{ -private: - $3 - -public: - $1(); - virtual ~$1(); -}; - -#endif /* $2 */ -endsnippet - - -snippet fnc "Basic c++ doxygen function template" b -/** -* @brief: ${4:brief} -* -* @param: `!p write_docstring_args(t[3],snip)` -* -* @return: `!p snip.rv = t[1]` -*/ -${1:ReturnType} ${2:FunctionName}(${3:param}) -{ - ${0:FunctionBody} -} -endsnippet -# vim:ft=snippets: diff --git a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/crystal.snippets b/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/crystal.snippets deleted file mode 100644 index cab946f..0000000 --- a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/crystal.snippets +++ /dev/null @@ -1,13 +0,0 @@ -priority -50 - -snippet "\b(de)?f" "def ..." r -def ${1:method_name}${2:(${3:*args})} - $0 -end -endsnippet - -snippet "\b(pde)?f" "private def ..." r -private def ${1:method_name}${2:(${3:*args})} - $0 -end -endsnippet diff --git a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/cs.snippets b/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/cs.snippets deleted file mode 100644 index 909c5f0..0000000 --- a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/cs.snippets +++ /dev/null @@ -1,385 +0,0 @@ -####################################################################### -# C# Snippets for UltiSnips # -####################################################################### - -priority -50 - -######################### -# classes and structs # -######################### - -snippet namespace "namespace" b -namespace ${1:MyNamespace} -{ - ${VISUAL}$0 -} -endsnippet - -snippet class "class" w -${1:public} class ${2:`!p snip.rv = snip.basename`} -{ - $0 -} -endsnippet - -snippet struct "struct" w -struct ${1:`!p snip.rv = snip.basename`} -{ - $0 -} -endsnippet - -snippet interface "interface" w -interface I${1:`!p snip.rv = snip.basename`} -{ - $0 -} -endsnippet - -snippet enum "enumeration" b -enum ${1:MyEnum} { ${2:Item} }; -endsnippet - - -############ -# Main() # -############ - -snippet sim "static int main" b -static int Main(string[] args) -{ - $0 -} -endsnippet - -snippet svm "static void main" b -static void Main(string[] args) -{ - $0 -} -endsnippet - - -################ -# properties # -################ - -snippet prop "Simple property declaration" b -public ${1:int} ${2:MyProperty} { get; set; } -endsnippet - -snippet propfull "Full property declaration" b -private ${1:int} ${2:_myProperty}; - -public $1 ${3:MyProperty} -{ - get { return $2; } - set { $2 = value; } -} -endsnippet - -snippet propg "Property with a private setter" b -public ${1:int} ${2:MyProperty} { get; private set; } -endsnippet - - -############ -# blocks # -############ - -snippet #if "#if #endif" b -#if ${1:DEBUG} -${VISUAL}$0 -#endif -endsnippet - -snippet #region "#region #endregion" b -#region ${1:Region} -${VISUAL}$0 -#endregion -endsnippet - - -########### -# loops # -########### - -snippet for "for loop" b -for (int ${1:i} = 0; $1 < ${2:10}; $1++) -{ - ${VISUAL}$0 -} -endsnippet - -snippet forr "for loop (reverse)" b -for (int ${1:i} = ${2:10}; $1 >= 0; $1--) -{ - ${VISUAL}$0 -} -endsnippet - -snippet foreach "foreach loop" b -foreach (${3:var} ${2:item} in ${1:items}) -{ - ${VISUAL}$0 -} -endsnippet - -snippet while "while loop" b -while (${1:true}) -{ - ${VISUAL}$0 -} -endsnippet - -snippet do "do loop" b -do -{ - ${VISUAL}$0 -} while (${1:true}); -endsnippet - - -############### -# branching # -############### - -snippet if "if statement" b -if ($1) -{ - ${VISUAL}$0 -} -endsnippet - -snippet ife "if else statement" b -if ($1) -{ - ${VISUAL}$0 -} -else -{ -} -endsnippet - -snippet elif "else if" b -else if ($1) -{ - $0 -} -endsnippet - -snippet elseif "else if" b -else if ($1) -{ - $0 -} -endsnippet - -snippet ifnn "if not null" b -if ($1 != null) -{ - ${VISUAL}$0 -} -endsnippet - -snippet switch "switch statement" b -switch (${1:statement}) -{ - case ${2:value}: - break; - - default: - $0break; -} -endsnippet - -snippet case "case" b -case ${1:value}: - $2 - break; -endsnippet - - -############## -# wrappers # -############## - -snippet using "using statement" b -using (${1:resource}) -{ - ${VISUAL}$0 -} -endsnippet - -snippet unchecked "unchecked block" b -unchecked -{ - ${VISUAL}$0 -} -endsnippet - -snippet checked "checked block" b -checked -{ - ${VISUAL}$0 -} -endsnippet - -snippet unsafe "unsafe" b -unsafe -{ - ${VISUAL}$0 -} -endsnippet - - -######################## -# exception handling # -######################## - -snippet try "try catch block" b -try -{ - ${VISUAL}$0 -} -catch (${1:Exception} ${2:e}) -{ - throw; -} -endsnippet - -snippet tryf "try finally block" b -try -{ - ${VISUAL}$0 -} -finally -{ -} -endsnippet - -snippet throw "throw" -throw new $1Exception("$2"); -endsnippet - - -########## -# LINQ # -########## - -snippet from "LINQ syntax" b -var ${1:seq} = - from ${2:item1} in ${3:items1} - join ${4:item2} in ${5:items2} on $2.${6:prop1} equals $4.${7:prop2} - select ${8:$2.prop3} - where ${9:clause} -endsnippet - - -############################ -# feedback and debugging # -############################ - -snippet da "Debug.Assert" b -Debug.Assert(${1:true}); -endsnippet - -snippet cw "Console.WriteLine" b -Console.WriteLine("$1"); -endsnippet - -snippet cr "Console.ReadLine" b -Console.ReadLine(); -endsnippet - -# as you first type comma-separated parameters on the right, {n} values appear in the format string -snippet cwp "Console.WriteLine with parameters" b -Console.WriteLine("${2:`!p -snip.rv = ' '.join(['{' + str(i) + '}' for i in range(t[1].count(','))]) -`}"${1:, something}); -endsnippet - -snippet mbox "Message box" b -MessageBox.Show("${1:message}"); -endsnippet - - -############# -# methods # -############# - -snippet equals "Equality for a type" b -public override bool Equals(object obj) => Equals(obj as ${1:TYPE}); - -public bool Equals($1 other) // IEquatable<$1> -{ - if (object.ReferenceEquals(other, null)) - return false; - if (object.ReferenceEquals(this, other)) - return true; - if (this.GetType() != other.GetType()) - return false; - $0 - return base.Equals(other); -} - -public override int GetHashCode() => base.GetHashCode(); - -public static bool operator ==($1 x, $1 y) => - (object.ReferenceEquals(x, null) && object.ReferenceEquals(y, null)) - || (!object.ReferenceEquals(x, null) && x.Equals(y)); - -public static bool operator !=($1 x, $1 y) => !(x == y); - -endsnippet - -snippet mth "Method" b -${1:public} ${2:void} ${3:MyMethod}(${4}) -{ - $0 -} -endsnippet - -snippet mths "Static method" b -${1:public} static ${2:void} ${3:MyMethod}(${4}) -{ - $0 -} -endsnippet - -############### -# constructor # -############### - -snippet ctor "Constructor" b -${1:public} ${2:`!p snip.rv = snip.basename or "untitled"`}(${3}) -{ - $0 -} -endsnippet - -############## -# comments # -############## - -snippet /// "XML summary comment" b -/// -/// $0 -/// -endsnippet - -snippet

${2} -endsnippet - -snippet ${2} -endsnippet - -snippet $0 -endsnippet - -snippet $0 -endsnippet diff --git a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/css.snippets b/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/css.snippets deleted file mode 100644 index f5ccd2f..0000000 --- a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/css.snippets +++ /dev/null @@ -1,493 +0,0 @@ -priority -50 - -snippet p "padding" -padding: ${1:0};$0 -endsnippet - -snippet m "margin" -margin: ${1:0};$0 -endsnippet - -snippet bd "border" -border: ${1:0};$0 -endsnippet - -snippet d "display" -display: ${1:none};$0 -endsnippet - -snippet bg "background" -background: ${1:none};$0 -endsnippet - -snippet ff "font-family" -font-family: ${1:"Helvetica Neue", Helvetica, Arial, sans-serif};$0 -endsnippet - -snippet h "height" -height: ${1:auto};$0 -endsnippet - -snippet w "width" -width: ${1:auto};$0 -endsnippet - -snippet pos "position" -position: ${1:relative};$0 -endsnippet - -snippet tt "text-transform" -text-transform: ${1:none};$0 -endsnippet - -snippet ! "!important CSS (!)" -!important -endsnippet - -snippet tsh "text-shadow: color-hex x y blur (text)" -text-shadow: ${1:${2:color} ${3:offset-x} ${4:offset-y} ${5:blur}};$0 -endsnippet - -snippet bxsh "box-shadow: color-hex x y blur (text)" -box-shadow: ${1:${2:offset-x} ${3:offset-y} ${4:blur} ${5:spread} ${6:color}};$0 -endsnippet - -# -# Colors -# - -snippet rgb "color rgb" -rgb(${1:255}, ${2:255}, ${3:255})$0 -endsnippet - -snippet rgba "color rgba" -rgba(${1:255}, ${2:255}, ${3:255}, ${4:0.5})$0 -endsnippet - -snippet hsl "color hsl" -hsl(${1:360}, ${2:100}%, ${3:100}%)$0 -endsnippet - -snippet hsla "color hsla" -hsla(${1:360}, ${2:100}%, ${3:100}%, ${4:0.5})$0 -endsnippet - -# -# Selectors -# - -snippet :fc -:first-child -endsnippet - -snippet :lc -:last-child -endsnippet - -snippet :nc -:nth-child($0) -endsnippet - -snippet :nlc -:nth-last-child($0) -endsnippet - -snippet :oc -:only-child -endsnippet - -# -# Pseudo-elements -# - -snippet :a -:after -endsnippet - -snippet :b -:before -endsnippet - -snippet ::a -::after -endsnippet - -snippet ::b -::before -endsnippet - -########################################################################### -# Most of these came from TextMate # -########################################################################### - -snippet background "background-attachment: scroll:fixed (background)" -background-attachment: ${1:scroll/fixed};$0 -endsnippet - -snippet background "background-color: color-hex (background)" -background-color: #${1:DDD};$0 -endsnippet - -snippet background "background-color: color-name (background)" -background-color: ${1:red};$0 -endsnippet - -snippet background "background-color: color-rgb (background)" -background-color: rgb(${1:255},${2:255},${3:255});$0 -endsnippet - -snippet background "background-color: transparent (background)" -background-color: transparent;$0 -endsnippet - -snippet background "background-image: none (background)" -background-image: none;$0 -endsnippet - -snippet background "background-image: url (background)" -background-image: url($1);$0 -endsnippet - -snippet background "background-position: position (background)" -background-position: ${1:top left/top center/top right/center left/center center/center right/bottom left/bottom center/bottom right/x-% y-%/x-pos y-pos};$0 -endsnippet - -snippet background "background-repeat: r:r-x:r-y:n-r (background)" -background-repeat: ${1:repeat/repeat-x/repeat-y/no-repeat};$0 -endsnippet - -snippet background "background: color image repeat attachment position (background)" -background:${6: #${1:DDD}} url($2) ${3:repeat/repeat-x/repeat-y/no-repeat} ${4:scroll/fixed} ${5:top left/top center/top right/center left/center center/center right/bottom left/bottom center/bottom right/x-% y-%/x-pos y-pos};$0 -endsnippet - -snippet border "border-bottom-color: size style color (border)" -border-bottom-color: #${1:999};$0 -endsnippet - -snippet border "border-bottom-style: size style color (border)" -border-bottom-style: ${1:none/hidden/dotted/dashed/solid/double/groove/ridge/inset/outset};$0 -endsnippet - -snippet border "border-bottom-width: size style color (border)" -border-bottom-width: ${1:1}px ${2:solid} #${3:999};$0 -endsnippet - -snippet border "border-bottom: size style color (border)" -border-bottom: ${1:1}px ${2:solid} #${3:999};$0 -endsnippet - -snippet border "border-color: color (border)" -border-color: ${1:999};$0 -endsnippet - -snippet border "border-left-color: color (border)" -border-right-color: #${1:999};$0 -endsnippet - -snippet border "border-left-style: style (border)" -border-left-style: ${1:none/hidden/dotted/dashed/solid/double/groove/ridge/inset/outset};$0 -endsnippet - -snippet border "border-left-width: size (border)" -border-left-width: ${1:1}px -endsnippet - -snippet border "border-left: size style color (border)" -border-left: ${1:1}px ${2:solid} #${3:999};$0 -endsnippet - -snippet border "border-right-color: color (border)" -border-right-color: #${1:999};$0 -endsnippet - -snippet border "border-right-style: style (border)" -border-right-style: ${1:none/hidden/dotted/dashed/solid/double/groove/ridge/inset/outset};$0 -endsnippet - -snippet border "border-right-width: size (border)" -border-right-width: ${1:1}px -endsnippet - -snippet border "border-right: size style color (border)" -border-right: ${1:1}px ${2:solid} #${3:999};$0 -endsnippet - -snippet border "border-style: style (border)" -border-style: ${1:none/hidden/dotted/dashed/solid/double/groove/ridge/inset/outset};$0 -endsnippet - -snippet border "border-top-color: color (border)" -border-top-color: #${1:999};$0 -endsnippet - -snippet border "border-top-style: style (border)" -border-top-style: ${1:none/hidden/dotted/dashed/solid/double/groove/ridge/inset/outset};$0 -endsnippet - -snippet border "border-top-width: size (border)" -border-top-width: ${1:1}px -endsnippet - -snippet border "border-top: size style color (border)" -border-top: ${1:1}px ${2:solid} #${3:999};$0 -endsnippet - -snippet border "border-width: width (border)" -border-width: ${1:1px};$0 -endsnippet - -snippet border "border: size style color (border)" -border: ${1:1px} ${2:solid} #${3:999};$0 -endsnippet - -snippet clear "clear: value (clear)" -clear: ${1:left/right/both/none};$0 -endsnippet - -snippet color "color: color-hex (color)" -color: #${1:DDD};$0 -endsnippet - -snippet color "color: color-name (color)" -color: ${1:red};$0 -endsnippet - -snippet color "color: color-rgb (color)" -color: rgb(${1:255},${2:255},${3:255});$0 -endsnippet - -snippet cursor "cursor: type (cursor)" -cursor: ${1:default/auto/crosshair/pointer/move/*-resize/text/wait/help};$0 -endsnippet - -snippet cursor "cursor: url (cursor)" -cursor: url($1);$0 -endsnippet - -snippet direction "direction: ltr|rtl (direction)" -direction: ${1:ltr|rtl};$0 -endsnippet - -snippet display "display: block (display)" -display: block;$0 -endsnippet - -snippet display "display: common-types (display)" -display: ${1:none/inline/block/list-item/run-in/compact/marker};$0 -endsnippet - -snippet display "display: inline (display)" -display: inline;$0 -endsnippet - -snippet display "display: table-types (display)" -display: ${1:table/inline-table/table-row-group/table-header-group/table-footer-group/table-row/table-column-group/table-column/table-cell/table-caption};$0 -endsnippet - -snippet float "float: left:right:none (float)" -float: ${1:left/right/none};$0 -endsnippet - -snippet font "font-family: family (font)" -font-family: ${1:Arial, "MS Trebuchet"}, ${2:sans-}serif;$0 -endsnippet - -snippet font "font-size: size (font)" -font-size: ${1:100%};$0 -endsnippet - -snippet font "font-style: normal:italic:oblique (font)" -font-style: ${1:normal/italic/oblique};$0 -endsnippet - -snippet font "font-variant: normal:small-caps (font)" -font-variant: ${1:normal/small-caps};$0 -endsnippet - -snippet font "font-weight: weight (font)" -font-weight: ${1:normal/bold};$0 -endsnippet - -snippet font "font: style variant weight size:line-height font -family (font)" -font: ${1:normal/italic/oblique} ${2:normal/small-caps} ${3:normal/bold} ${4:1em/1.5em} ${5:Arial}, ${6:sans-}serif;$0 -endsnippet - -snippet font "font: size font (font)" -font: ${1:75%} ${2:"Lucida Grande", "Trebuchet MS", Verdana,} ${3:sans-}serif;$0 -endsnippet - -snippet letter "letter-spacing: length-em (letter)" -letter-spacing: $1em;$0 -endsnippet - -snippet letter "letter-spacing: length-px (letter)" -letter-spacing: $1px;$0 -endsnippet - -snippet list "list-style-image: url (list)" -list-style-image: url($1);$0 -endsnippet - -snippet list "list-style-position: pos (list)" -list-style-position: ${1:inside/outside};$0 -endsnippet - -snippet list "list-style-type: asian (list)" -list-style-type: ${1:cjk-ideographic/hiragana/katakana/hiragana-iroha/katakana-iroha};$0 -endsnippet - -snippet list "list-style-type: marker(list)" -list-style-type: ${1:none/disc/circle/square};$0 -endsnippet - -snippet list "list-style-type: numeric (list)" -list-style-type: ${1:decimal/decimal-leading-zero/zero};$0 -endsnippet - -snippet list "list-style-type: other (list)" -list-style-type: ${1:hebrew/armenian/georgian};$0 -endsnippet - -snippet list "list-style-type: roman-alpha-greek (list)" -list-style-type: ${1:lower-roman/upper-roman/lower-alpha/upper-alpha/lower-greek/lower-latin/upper-latin};$0 -endsnippet - -snippet list "list-style: type position image (list)" -list-style: ${1:none/disc/circle/square/decimal/zero} ${2:inside/outside} url($3);$0 -endsnippet - -snippet margin "margin-bottom: length (margin)" -margin-bottom: ${1:20px};$0 -endsnippet - -snippet margin "margin-left: length (margin)" -margin-left: ${1:20px};$0 -endsnippet - -snippet margin "margin-right: length (margin)" -margin-right: ${1:20px};$0 -endsnippet - -snippet margin "margin-top: length (margin)" -margin-top: ${1:20px};$0 -endsnippet - -snippet margin "margin: all (margin)" -margin: ${1:20px};$0 -endsnippet - -snippet margin "margin: T R B L (margin)" -margin: ${1:20px} ${2:0px} ${3:40px} ${4:0px};$0 -endsnippet - -snippet margin "margin: V H (margin)" -margin: ${1:20px} ${2:0px};$0 -endsnippet - -snippet marker "marker-offset: auto (marker)" -marker-offset: auto;$0 -endsnippet - -snippet marker "marker-offset: length (marker)" -marker-offset: ${1:10px};$0 -endsnippet - -snippet overflow "overflow: type (overflow)" -overflow: ${1:visible/hidden/scroll/auto};$0 -endsnippet - -snippet padding "padding-bottom: length (margin)" -padding-bottom: ${1:20px};$0 -endsnippet - -snippet padding "padding-left: length (margin)" -padding-left: ${1:20px};$0 -endsnippet - -snippet padding "padding-right: length (margin)" -padding-right: ${1:20px};$0 -endsnippet - -snippet padding "padding-top: length (margin)" -padding-top: ${1:20px};$0 -endsnippet - -snippet padding "padding: T R B L (padding)" -padding: ${1:20px} ${2:0px} ${3:40px} ${4:0px};$0 -endsnippet - -snippet padding "padding: V H (padding)" -padding: ${1:20px} ${2:0px};$0 -endsnippet - -snippet padding "padding: all (padding)" -padding: ${1:20px};$0 -endsnippet - -snippet position "position: type (position)" -position: ${1:static/relative/absolute/fixed};$0 -endsnippet - -snippet { "properties { } ( } )" -{ - /* $1 */ - $0 - -endsnippet - -snippet scrollbar "scrollbar" -scrollbar-base-color: ${1:#CCCCCC};${2: -scrollbar-arrow-color: ${3:#000000}; -scrollbar-track-color: ${4:#999999}; -scrollbar-3dlight-color: ${5:#EEEEEE}; -scrollbar-highlight-color: ${6:#FFFFFF}; -scrollbar-face-color: ${7:#CCCCCC}; -scrollbar-shadow-color: ${9:#999999}; -scrollbar-darkshadow-color: ${8:#666666};} -endsnippet - -snippet selection "selection" -$1::-moz-selection, -$1::selection { - color: ${2:inherit}; - background: ${3:inherit}; -} -endsnippet - -snippet text "text-align: left:center:right (txt)" -text-align: ${1:left/right/center/justify};$0 -endsnippet - -snippet text "text-decoration: none:underline:overline:line-through:blink (text)" -text-decoration: ${1:none/underline/overline/line-through/blink};$0 -endsnippet - -snippet text "text-indent: length (text)" -text-indent: ${1:10}px;$0 -endsnippet - -snippet text "text-transform: capitalize:upper:lower (text)" -text-transform: ${1:capitalize/uppercase/lowercase};$0 -endsnippet - -snippet vertical "vertical-align: type (vertical)" -vertical-align: ${1:baseline/sub/super/top/text-top/middle/bottom/text-bottom/length/%};$0 -endsnippet - -snippet visibility "visibility: type (visibility)" -visibility: ${1:visible/hidden/collapse};$0 -endsnippet - -snippet white "white-space: normal:pre:nowrap (white)" -white-space: ${1:normal/pre/nowrap};$0 -endsnippet - -snippet word "word-spacing: length (word)" -word-spacing: ${1:10px};$0 -endsnippet - -snippet z "z-index: index (z)" -z-index: $1;$0 -endsnippet - -# vim:ft=snippets: diff --git a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/cuda.snippets b/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/cuda.snippets deleted file mode 100644 index 2a9a7e5..0000000 --- a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/cuda.snippets +++ /dev/null @@ -1,5 +0,0 @@ -priority -50 - -extends cpp - -# vim:ft=snippets: diff --git a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/d.snippets b/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/d.snippets deleted file mode 100644 index a9d89b8..0000000 --- a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/d.snippets +++ /dev/null @@ -1,584 +0,0 @@ -# Simple shortcuts - -priority -50 - -snippet imp "import (imp)" b -import ${1:std.stdio}; -endsnippet - -snippet pimp "public import (pimp)" b -public import ${1:/*module*/}; -endsnippet - -snippet over "override (over)" b -override ${1:/*function*/} -endsnippet - -snippet al "alias (al)" -alias ${1:/*orig*/} ${2:/*alias*/}; -endsnippet - -snippet mixin "mixin (mixin)" b -mixin ${1:/*mixed_in*/} ${2:/*name*/}; -endsnippet - -snippet new "new (new)" -new $1($2); -endsnippet - -snippet scpn "@safe const pure nothrow (scpn)" -@safe const pure nothrow -endsnippet - -snippet spn "@safe pure nothrow (spn)" -@safe pure nothrow -endsnippet - -snippet cont "continue (cont)" -continue; -endsnippet - -snippet dis "@disable (dis)" b -@disable ${1:/*method*/}; -endsnippet - -snippet pub "public (pub)" b -public: - ${1:/*members*/} -endsnippet - -snippet priv "private (priv)" b -private: - ${1:/*members*/} -endsnippet - -snippet prot "protected (prot)" b -protected: - ${1:/*members*/} -endsnippet - -snippet pack "package (pack)" b -package: - ${1:/*members*/} -endsnippet - -snippet ret "return (ret)" -return ${1:/*value to return*/}; -endsnippet - -snippet auto "auto (auto)" b -auto ${1:/*variable*/} = ${2:/*value*/}; -endsnippet - -snippet con "const (con)" b -const ${1:/*variable*/} = ${2:/*value*/}; -endsnippet - -snippet siz "size_t (siz)" b -size_t ${1:/*variable*/} = ${2:/*value*/}; -endsnippet - -snippet sup "super (sup)" b -super(${1:/*args*/}); -endsnippet - -# Phobos - -snippet tup "tuple (tup)" -tuple(${1:/*args*/}) -endsnippet - -snippet wr "writeln (wr)" -writeln(${1:/*args*/}); -endsnippet - -snippet to "to (to)" -to!(${1:/*type*/})(${2:/*arg*/}) -endsnippet - -snippet enf "enforce (enf)" b -enforce(${1:/*condition*/}, - new $2Exception(${3:/*args*/})); -endsnippet - -# Branches - -snippet if "if .. (if)" -if(${1:/*condition*/}) -{ - ${VISUAL}$0 -} -endsnippet - -snippet ife "if .. else (ife)" b -if(${1:/*condition*/}) -{ - $2 -} -else -{ - ${3:/*else*/} -} -endsnippet - -snippet el "else (el)" b -else -{ - ${VISUAL}$1 -} -endsnippet - -snippet elif "else if (elif)" b -else if(${1:/*condition*/}) -{ - ${VISUAL}$0 -} -endsnippet - -snippet sw "switch (sw)" -switch(${1:/*var*/}) -{ - case ${2:/*value*/}: - $3 - break; - case ${4:/*value*/}: - $5 - break; - ${7:/*more cases*/} - default: - ${6:assert(false);} -} -endsnippet - -snippet fsw "final switch (fsw)" -final switch(${1:/*var*/}) -{ - case ${2:/*value*/}: - $3 - break; - case ${4:/*value*/}: - $5 - break; - ${7:/*more cases*/} -} -endsnippet - -snippet case "case (case)" b -case ${1:/*value*/}: - $2 - break; -endsnippet - -snippet ?: "ternary operator (?:)" -${1:/*condition*/} ? ${2:/*then*/} : ${3:/*else*/}$4 -endsnippet - -# Loops - -snippet do "do while (do)" b -do -{ - ${VISUAL}$2 -} while(${1:/*condition*/}); -endsnippet - -snippet wh "while (wh)" b -while(${1:/*condition*/}) -{ - ${VISUAL}$2 -} -endsnippet - -snippet for "for (for)" b -for (${4:size_t} ${2:i} = 0; $2 < ${1:count}; ${3:++$2}) -{ - ${VISUAL}$0 -} -endsnippet - -snippet forever "forever (forever)" b -for(;;) -{ - ${VISUAL}$0 -} -endsnippet - -snippet fore "foreach (fore)" -foreach(${1:/*elem*/}; ${2:/*range*/}) -{ - ${VISUAL}$3 -} -endsnippet - -snippet forif "foreach if (forif)" b -foreach(${1:/*elem*/}; ${2:/*range*/}) if(${3:/*condition*/}) -{ - ${VISUAL}$4 -} -endsnippet - -# Contracts -snippet in "in contract (in)" b -in -{ - assert(${1:/*condition*/}, "${2:error message}"); - $3 -} -body -endsnippet - -snippet out "out contract (out)" b -out${1:(result)} -{ - assert(${2:/*condition*/}, "${3:error message}"); - $4 -} -body -endsnippet - -snippet inv "invariant (inv)" b -invariant() -{ - assert(${1:/*condition*/}, "${2:error message}"); - $3 -} -endsnippet - -# Functions (generic) - -snippet fun "function definition (fun)" -${1:void} ${2:/*function name*/}(${3:/*args*/}) ${4:@safe pure nothrow} -{ - ${VISUAL}$5 -} -endsnippet - -snippet void "void function definition (void)" -void ${1:/*function name*/}(${2:/*args*/}) ${3:@safe pure nothrow} -{ - ${VISUAL}$4 -} -endsnippet - -snippet this "ctor (this)" w -this(${1:/*args*/}) -{ - ${VISUAL}$2 -} -endsnippet - -snippet get "getter property (get)" -@property ${1:/*type*/} ${2:/*member_name*/}() const pure nothrow {return ${3:$2_};} -endsnippet - -snippet set "setter property (set)" -@property void ${1:/*member_name*/}(${2:/*type*/} rhs) pure nothrow {${3:$1_} = rhs;} -endsnippet - -# Functions (concrete) - -snippet main "Main" b -void main(string[] args) -{ - ${VISUAL}${0: /*code*/} -} -endsnippet - -# Mixins - -snippet signal "signal (signal)" b -mixin Signal!(${1:/*args*/}) ${2:/*name*/}; -endsnippet - -# Scope - -snippet scope "scope (scope)" b -scope(${1:exit}) -{ - ${VISUAL}$2 -} -endsnippet - -# With - -snippet with "with (with)" -with($1) -{ - ${VISUAL}$2 -} -endsnippet - -# Exception handling - -snippet try "try/catch (try)" b -try -{ - ${VISUAL}${1:/*code to try*/} -} -catch($2Exception e) -{ - ${3:/*handle exception*/} -} -endsnippet - -snippet tryf "try/catch/finally (tryf)" b -try -{ - ${VISUAL}${1:/*code to try*/} -} -catch($2Exception e) -{ - ${3:/*handle exception*/} -} -finally -{ - ${4:/*cleanup*/} -} -endsnippet - -snippet catch "catch (catch)" b -catch($1Exception e) -{ - ${2:/*handle exception*/} -} -endsnippet - -snippet thr "throw (thr)" -throw new $1Exception("$2"); -endsnippet - - -# Type declarations - -snippet struct "struct (struct)" -struct ${1:`!p snip.rv = (snip.basename or "name")`} -{ - $2 -} -endsnippet - -snippet union "union (union)" -union ${1:`!p snip.rv = (snip.basename or "name")`} -{ - $2 -} -endsnippet - -snippet class "class (class)" -class ${1:`!p snip.rv = (snip.basename or "name")`} -{ - $2 -} -endsnippet - -snippet inter "interface (inter)" -interface ${1:`!p snip.rv = (snip.basename or "name")`} -{ - $2 -} -endsnippet - -snippet enum "enum (enum)" -enum ${1:`!p snip.rv = (snip.basename or "name")`} -{ - $2 -} -endsnippet - - -# Exception declarations - -snippet exc "exception declaration (exc)" b -/// ${3:/*documentation*/} -class $1Exception : $2Exception -{ - public this(string msg, string file = __FILE__, int line = __LINE__) - { - super(msg, file, line); - } -} -endsnippet - - -# Conditional compilation - -snippet version "version (version)" b -version(${1:/*version name*/}) -{ - ${VISUAL}$2 -} -endsnippet - -snippet debug "debug" b -debug -{ - ${VISUAL}$1 -} -endsnippet - - -# Templates - -snippet temp "template (temp)" b -template ${2:/*name*/}(${1:/*args*/}) -{ - $3 -} -endsnippet - - -# Asserts - -snippet ass "assert (ass)" b -assert(${1:false}, "${2:TODO}"); - -endsnippet - - -# Unittests - -snippet unittest "unittest (unittest)" b -unittest -{ - $1 -} -endsnippet - - -# Common member functions - -snippet opDis "opDispatch (opDis)" b -${1:/*return type*/} opDispatch(string s)() -{ - $2; -} -endsnippet - -snippet op= "opAssign (op=)" b -void opAssign($1 rhs) ${2:@safe pure nothrow} -{ - $2 -} -endsnippet - -snippet opCmp "opCmp (opCmp)" b -int opCmp($1 rhs) @safe const pure nothrow -{ - $2 -} -endsnippet - -snippet opApply "opApply (opApply)" b -int opApply(int delegate(ref ${1:/*iterated type/s*/}) dg) -{ - int result = 0; - ${2:/*loop*/} - { - result = dg(${3:/*arg/s*/}); - if(result){break;} - } - return result; -} -endsnippet - -snippet toString "toString (toString)" b -string toString() @safe const pure nothrow -{ - $1 -} -endsnippet - - -# Comments - - -snippet todo "TODO (todo)" -// TODO: $1 -endsnippet - - -# DDoc - -snippet doc "generic ddoc block (doc)" b -/// ${1:description} -/// -/// ${2:details} -endsnippet - -snippet fdoc "function ddoc block (fdoc)" b -/// ${1:description} -/// -/// ${2:Params: ${3:param} = ${4:param description} -/// $5} -/// -/// ${6:Returns: ${7:return value}} -/// -/// ${8:Throws: $9Exception $10} -endsnippet - -snippet Par "Params (Par)" -Params: ${1:param} = ${2:param description} -/// $3 -endsnippet - -snippet Ret "Returns (Ret)" -Returns: ${1:return value/s} -endsnippet - -snippet Thr "Throws (Thr)" -Throws: $1Exception $2 -endsnippet - -snippet Example "Examples (Example)" -Examples: -/// -------------------- -/// ${1:example code} -/// -------------------- -endsnippet - - -# License blocks - -snippet gpl "GPL (gpl)" b -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -// -// Copyright (C) ${1:Author}, `!v strftime("%Y")` - -$2 -endsnippet - -snippet boost "Boost (boost)" b -// Copyright ${1:Author} `!v strftime("%Y")`. -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -$2 -endsnippet - - -# New module - -snippet module "New module (module)" b -// Copyright ${1:Author} `!v strftime("%Y")`. -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -module $2.`!v vim_snippets#Filename('$1', 'name')`; - - -$3 -endsnippet diff --git a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/django.snippets b/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/django.snippets deleted file mode 100644 index d6e2d43..0000000 --- a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/django.snippets +++ /dev/null @@ -1,361 +0,0 @@ -priority -50 - -# This files will define django snippets from sublime text djaneiro -# FORMS SNIPPETS - -snippet form "Form" b -class ${1:FORMNAME}(forms.Form): - - ${2:# TODO: Define form fields here} -endsnippet - -snippet modelform "ModelForm" b -class ${1:MODELNAME}Form(forms.ModelForm): - - class Meta: - model = $1 -endsnippet - -snippet fbool "BooleanField" b -${1:FIELDNAME} = forms.BooleanField($2) -endsnippet - -snippet fchar "CharField" b -${1:FIELDNAME} = forms.CharField($2) -endsnippet - -snippet fchoice "ChoiceField" b -${1:FIELDNAME} = forms.ChoiceField($2) -endsnippet - -snippet fcombo "ComboField" b -${1:FIELDNAME} = forms.ComboField($2) -endsnippet - -snippet fdate "DateField" b -${1:FIELDNAME} = forms.DateField($2) -endsnippet - -snippet fdatetime "DateTimeField" b -${1:FIELDNAME} = forms.DateTimeField($2) -endsnippet - -snippet fdecimal "DecimalField" b -${1:FIELDNAME} = forms.DecimalField($2) -endsnippet - -snippet fmail "EmailField" b -${1:FIELDNAME} = forms.EmailField($2) -endsnippet - -snippet ffile "FileField" b -${1:FIELDNAME} = forms.FileField($2) -endsnippet - -snippet ffilepath "FilePathField" b -${1:FIELDNAME} = forms.FilePathField($2) -endsnippet - -snippet ffloat "FloatField" b -${1:FIELDNAME} = forms.FloatField($2) -endsnippet - -snippet fip "IPAddressField" b -${1:FIELDNAME} = forms.IPAddressField($2) -endsnippet - -snippet fimg "ImageField" b -${1:FIELDNAME} = forms.ImageField($2) -endsnippet - -snippet fint "IntegerField" b -${1:FIELDNAME} = forms.IntegerField($2) -endsnippet - -snippet fmochoice "ModelChoiceField" b -${1:FIELDNAME} = forms.ModelChoiceField($2) -endsnippet - -snippet fmomuchoice "ModelMultipleChoiceField" b -${1:FIELDNAME} = forms.ModelMultipleChoiceField($2) -endsnippet - -snippet fmuval "MultiValueField" b -${1:FIELDNAME} = forms.MultiValueField($2) -endsnippet - -snippet fmuchoice "MultipleChoiceField" b -${1:FIELDNAME} = forms.MultipleChoiceField($2) -endsnippet - -snippet fnullbool "NullBooleanField" b -${1:FIELDNAME} = forms.NullBooleanField($2) -endsnippet - -snippet freg "RegexField" b -${1:FIELDNAME} = forms.RegexField($2) -endsnippet - -snippet fslug "SlugField" b -${1:FIELDNAME} = forms.SlugField($2) -endsnippet - -snippet fsdatetime "SplitDateTimeField" b -${1:FIELDNAME} = forms.SplitDateTimeField($2) -endsnippet - -snippet ftime "TimeField" b -${1:FIELDNAME} = forms.TimeField($2) -endsnippet - -snippet ftchoice "TypedChoiceField" b -${1:FIELDNAME} = forms.TypedChoiceField($2) -endsnippet - -snippet ftmuchoice "TypedMultipleChoiceField" b -${1:FIELDNAME} = forms.TypedMultipleChoiceField($2) -endsnippet - -snippet furl "URLField" b -${1:FIELDNAME} = forms.URLField($2) -endsnippet - -# MODELS SNIPPETS - -snippet model "Model" b -class ${1:MODELNAME}(models.Model): - $0 - class Meta: - verbose_name = "$1" - verbose_name_plural = "$1s" - - def __str__(self): - return super($1, self).__str__() - -endsnippet - -snippet modelfull "Model" b -class ${1:MODELNAME}(models.Model): - ${2:# TODO: Define fields here} - - class Meta: - verbose_name = "$1" - verbose_name_plural = "$1s" - - def __str__(self): - return super($1, self).__str__() - - def save(self): - return super($1, self).save() - - @models.permalink - def get_absolute_url(self): - return ('') - - ${3:# TODO: Define custom methods here} - -endsnippet - -snippet mauto "AutoField" b -${1:FIELDNAME} = models.AutoField($2) -endsnippet - -snippet mbigint "BigIntegerField" b -${1:FIELDNAME} = models.BigIntegerField($2) -endsnippet - -snippet mbool "BooleanField" b -${1:FIELDNAME} = models.BooleanField($2) -endsnippet - -snippet mchar "CharField" b -${1:FIELDNAME} = models.CharField($2, max_length=${3:50}) -endsnippet - -snippet mcoseint "CommaSeparatedIntegerField" b -${1:FIELDNAME} = models.CommaSeparatedIntegerField($2) -endsnippet - -snippet mdate "DateField" b -${1:FIELDNAME} = models.DateField($2) -endsnippet - -snippet mdatetime "DateTimeField" b -${1:FIELDNAME} = models.DateTimeField($2) -endsnippet - -snippet mdecimal "DecimalField" b -${1:FIELDNAME} = models.DecimalField(max_digits=${2:10}, decimal_places=${3:2}) -endsnippet - -snippet memail "EmailField" b -${1:FIELDNAME} = models.EmailField($2) -endsnippet - -snippet mfile "FileField" b -${1:FIELDNAME} = models.FileField($2) -endsnippet - -snippet mfilepath "FilePathField" b -${1:FIELDNAME} = models.FilePathField($2) -endsnippet - -snippet mfloat "FloatField" b -${1:FIELDNAME} = models.FloatField($2) -endsnippet - -snippet fk "ForeignKey" b -${1:FIELDNAME} = models.ForeignKey($2) -endsnippet - -snippet mip "IPAddressField" b -${1:FIELDNAME} = models.IPAddressField($2) -endsnippet - -snippet mimg "ImageField" b -${1:FIELDNAME} = models.ImageField($2) -endsnippet - -snippet mint "IntegerField" b -${1:FIELDNAME} = models.IntegerField($2) -endsnippet - -snippet m2m "ManyToManyField" b -${1:FIELDNAME} = models.ManyToManyField($2) -endsnippet - -snippet mnullbool "NullBooleanField" b -${1:FIELDNAME} = models.NullBooleanField($2) -endsnippet - -snippet o2o "OneToOneField" b -${1:FIELDNAME} = models.OneToOneField($2) -endsnippet - -snippet mphone "PhoneNumberField" b -${1:FIELDNAME} = models.PhoneNumberField($2) -endsnippet - -snippet mposint "PositiveIntegerField" b -${1:FIELDNAME} = models.PositiveIntegerField($2) -endsnippet - -snippet mpossmallint "PositiveSmallIntegerField" b -${1:FIELDNAME} = models.PositiveSmallIntegerField($2) -endsnippet - -snippet mslug "SlugField" b -${1:FIELDNAME} = models.SlugField($2) -endsnippet - -snippet msmallint "SmallIntegerField" b -${1:FIELDNAME} = models.SmallIntegerField($2) -endsnippet - -snippet mtext "TextField" b -${1:FIELDNAME} = models.TextField($2) -endsnippet - -snippet mtime "TimeField" b -${1:FIELDNAME} = models.TimeField($2) -endsnippet - -snippet murl "URLField" b -${1:FIELDNAME} = models.URLField($2) -endsnippet - -snippet musstate "USStateField" b -${1:FIELDNAME} = models.USStateField($2) -endsnippet - -snippet mxml "XMLField" b -${1:FIELDNAME} = models.XMLField($2) -endsnippet - -# VIEWS SNIPPETS - -snippet adminview "Model Admin View" b -class $1Admin(admin.ModelAdmin): - ''' - Admin View for $1 - ''' - list_display = ('$2',) - list_filter = ('$3',) - inlines = [ - $4Inline, - ] - raw_id_fields = ('$5',) - readonly_fields = ('$6',) - search_fields = ['$7'] -admin.site.register($1, $1Admin) -endsnippet - -snippet createview "Generic Create View" b -class ${1:MODEL_NAME}CreateView(CreateView): - model = $1 - template_name = "${2:TEMPLATE_NAME}" -endsnippet - -snippet deleteview "Generic Delete View" b -class ${1:MODEL_NAME}DeleteView(DeleteView): - model = $1 - template_name = "${2:TEMPLATE_NAME}" -endsnippet - -snippet detailview "Generic Detail View" b -class ${1:MODEL_NAME}DetailView(DetailView): - model = $1 - template_name = "${2:TEMPLATE_NAME}" -endsnippet - -snippet listview "Generic List View" b -class ${1:MODEL_NAME}ListView(ListView): - model = $1 - template_name = "${2:TEMPLATE_NAME}" -endsnippet - -snippet stackedinline "Stacked Inline" b -class $1Inline(admin.StackedInline): - ''' - Stacked Inline View for $1 - ''' - model = ${2:$1} - min_num = ${3:3} - max_num = ${4:20} - extra = ${5:1} - raw_id_fields = ($6,) -endsnippet - -snippet tabularinline "Tabular Inline" b -class $1Inline(admin.TabularInline): - ''' - Tabular Inline View for $1 - ''' - model = ${2:$1} - min_num = ${3:3} - max_num = ${4:20} - extra = ${5:1} - raw_id_fields = ($6,) -endsnippet - -snippet templateview "Generic Template View" b -class ${1:CLASS_NAME}(TemplateView): - template_name = "${2:TEMPLATE_NAME}" -endsnippet - -snippet updateview "Generic Update View" b -class ${1:MODEL_NAME}UpdateView(UpdateView): - model = $1 - template_name = "${2:TEMPLATE_NAME}" -endsnippet - -snippet dispatch "Dispatch View method" b -def dispatch(self, request, *args, **kwargs): - return super(${1:CLASS_NAME}, self).dispatch(request, *args, **kwargs) -endsnippet - -snippet context "get_context_data view method" b -def get_context_data(self, **kwargs): - kwargs['extra_context'] = ${1:'New Value'} - return super(${2:CLASS_NAME}, self).get_context_data(**kwargs) -endsnippet diff --git a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/eelixir.snippets b/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/eelixir.snippets deleted file mode 100644 index 3c490db..0000000 --- a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/eelixir.snippets +++ /dev/null @@ -1,43 +0,0 @@ -priority -50 - -extends html - -snippet % "<% %>" w -<% $0 %> -endsnippet - -snippet = "<%= %>" w -<%= $0 %> -endsnippet - -snippet end "<% end %>" w -<% end %> -endsnippet - -snippet for -<%= for ${1:item} <- ${2:$1s} ${3:@conn} do %> - $0 -<% end %> -endsnippet - -snippet ft "form_tag" w -<%= form_tag(${1:"${2:/users}"}, method: ${3::post}) %> - $0 - -endsnippet - -snippet lin "link" w -<%= link ${1:"${2:Submit}"}, to: ${3:"${4:/users}"}, method: ${5::delete} %> -endsnippet - -snippet ff "form_for" w -<%= form_for @changeset, ${1:"${2:/users}"}, fn f -> %> - $0 - - <%= submit "Submit" %> -<% end %> -endsnippet - -snippet gt "gettext" w -<%= gettext("${0:${VISUAL}}") %> -endsnippet diff --git a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/ejs.snippets b/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/ejs.snippets deleted file mode 100644 index 1e3c004..0000000 --- a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/ejs.snippets +++ /dev/null @@ -1,10 +0,0 @@ -snippet for "ejs for loop" b -<% for (let ${1:i = 0}; ${2:i - ${0:body} -<% } %> -endsnippet -snippet forE "ejs for Each loop" b -<% ${1:array}.forEach((${2:single var}) => { %> - ${0:body} -<% }) %> -endsnippet diff --git a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/elm.snippets b/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/elm.snippets deleted file mode 100644 index 6e21bb5..0000000 --- a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/elm.snippets +++ /dev/null @@ -1,9 +0,0 @@ -priority -50 - -snippet impa "Qualified import" -import ${1:Json.Encode} as ${0:`!p snip.rv = t[1].split(".")[-1]`} -endsnippet - -snippet impae "Qualified import with exposing" -import ${1:Json.Encode} as ${2:`!p snip.rv = t[1].split(".")[-1]`} exposing (${0:Value}) -endsnippet diff --git a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/erlang.snippets b/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/erlang.snippets deleted file mode 100644 index 0ac9f5c..0000000 --- a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/erlang.snippets +++ /dev/null @@ -1,24 +0,0 @@ -########################################################################### -# TEXTMATE SNIPPETS # -########################################################################### - -priority -50 - -snippet pat "Case:Receive:Try Clause" -${1:pattern}${2: when ${3:guard}} -> - ${4:body} -endsnippet - -snippet mod "Module Directive" b --module(${1:`!p snip.rv = snip.basename or "module"`}). -endsnippet - -snippet || "List Comprehension" -[${1:X} || ${2:X} <- ${3:List}${4:, gen}] -endsnippet - -snippet gen "Generator Expression" -${1:X} <- ${2:List}${3:, gen} -endsnippet - -# vim:ft=snippets: diff --git a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/eruby.snippets b/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/eruby.snippets deleted file mode 100644 index ef93be4..0000000 --- a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/eruby.snippets +++ /dev/null @@ -1,237 +0,0 @@ -extends html - -priority -50 - -# TextMate added these variables to cope with changes in ERB handling -# in different versions of Rails -- for instance, Rails 3 automatically -# strips whitespace so that it's no longer necessary to use a form like -# <% end -%>, but if you're still maintaining Rails 2 projects, you -# can't omit the minus sign and get the same behavior. -# -# The following regex replace substitutes the function below for the -# TextMate variable references after the snippets are converted: -# -# /\v\$\{(TM_RAILS_TEMPLATE_([^_]+)_RUBY_([^_\s]+))\}/`!p textmate_var('\1', snip)`/g -# -global !p -def textmate_var(var, snip): - lookup = dict( - TM_RAILS_TEMPLATE_START_RUBY_EXPR = snip.opt('g:tm_rails_template_start_ruby_expr', '<%= '), - TM_RAILS_TEMPLATE_END_RUBY_EXPR = snip.opt('g:tm_rails_template_end_ruby_expr', ' %>'), - TM_RAILS_TEMPLATE_START_RUBY_INLINE = snip.opt('g:tm_rails_template_start_ruby_inline', '<% '), - TM_RAILS_TEMPLATE_END_RUBY_INLINE = snip.opt('g:tm_rails_template_end_ruby_inline', ' %>'), - TM_RAILS_TEMPLATE_END_RUBY_BLOCK = '<% end %>' - ) - snip.rv = lookup[var] - return -endglobal - - -snippet % "<% $0 %>" i -`!p textmate_var('TM_RAILS_TEMPLATE_START_RUBY_INLINE', snip)`$0`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_INLINE', snip)` -endsnippet - -snippet = "<%= $0 %>" i -`!p textmate_var('TM_RAILS_TEMPLATE_START_RUBY_EXPR', snip)`$0`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_EXPR', snip)` -endsnippet - -########################################################################### -# GENERATED FROM get_tm_snippets.py + REGEX REPLACE # -########################################################################### - -snippet fi "<%= Fixtures.identify(:symbol) %>" -`!p textmate_var('TM_RAILS_TEMPLATE_START_RUBY_EXPR', snip)`Fixtures.identify(:${1:name})`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_EXPR', snip)`$0 -endsnippet - -snippet ft "form_tag" w -`!p textmate_var('TM_RAILS_TEMPLATE_START_RUBY_INLINE', snip)`form_tag(${1::action => '${2:update}'}${3:, ${4:${5:class} => '${6:form}'\}}}) do`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_EXPR', snip)` - $0 -`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_BLOCK', snip)` -endsnippet - -snippet ffs "form_for submit 2" w -`!p textmate_var('TM_RAILS_TEMPLATE_START_RUBY_EXPR', snip)`${1:f}.submit '${2:Submit}'${3:, :disable_with => '${4:$2ing...}'}`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_EXPR', snip)` -endsnippet - -snippet f. "f_fields_for (nff)" w -`!p textmate_var('TM_RAILS_TEMPLATE_START_RUBY_INLINE', snip)`f.fields_for :${1:attribute} do |${2:f}|`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_INLINE', snip)` - $0 -`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_BLOCK', snip)` -endsnippet - -snippet f. "f.checkbox" w -`!p textmate_var('TM_RAILS_TEMPLATE_START_RUBY_EXPR', snip)`f.check_box :${1:attribute}`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_EXPR', snip)` -endsnippet - -snippet f. "f.file_field" w -`!p textmate_var('TM_RAILS_TEMPLATE_START_RUBY_EXPR', snip)`f.file_field :${1:attribute}`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_EXPR', snip)` -endsnippet - -snippet f. "f.hidden_field" w -`!p textmate_var('TM_RAILS_TEMPLATE_START_RUBY_EXPR', snip)`f.hidden_field :${1:attribute}`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_EXPR', snip)` -endsnippet - -snippet f. "f.label" w -`!p textmate_var('TM_RAILS_TEMPLATE_START_RUBY_EXPR', snip)`f.label :${1:attribute}${2:, "${3:${1/[[:alpha:]]+|(_)/(?1: :\u$0)/g}}"}`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_EXPR', snip)` -endsnippet - -snippet f. "f.password_field" w -`!p textmate_var('TM_RAILS_TEMPLATE_START_RUBY_EXPR', snip)`f.password_field :${1:attribute}`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_EXPR', snip)` -endsnippet - -snippet f. "f.radio_button" w -`!p textmate_var('TM_RAILS_TEMPLATE_START_RUBY_EXPR', snip)`f.radio_button :${1:attribute}, :${2:tag_value}`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_EXPR', snip)` -endsnippet - -snippet f. "f.submit" w -`!p textmate_var('TM_RAILS_TEMPLATE_START_RUBY_EXPR', snip)`f.submit "${1:Submit}"${2:, :disable_with => '${3:$1ing...}'}`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_EXPR', snip)` -endsnippet - -snippet f. "f.text_area" w -`!p textmate_var('TM_RAILS_TEMPLATE_START_RUBY_EXPR', snip)`f.text_area :${1:attribute}`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_EXPR', snip)` -endsnippet - -snippet f. "f.text_field" w -`!p textmate_var('TM_RAILS_TEMPLATE_START_RUBY_EXPR', snip)`f.text_field :${1:attribute}`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_EXPR', snip)` -endsnippet - -snippet ffe "form_for with errors" w -`!p textmate_var('TM_RAILS_TEMPLATE_START_RUBY_EXPR', snip)`error_messages_for :${1:model}`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_EXPR', snip)` - -`!p textmate_var('TM_RAILS_TEMPLATE_START_RUBY_EXPR', snip)`form_for @${2:$1} do |f|`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_EXPR', snip)` - $0 -`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_BLOCK', snip)` -endsnippet - -snippet ff "form_for" w -`!p textmate_var('TM_RAILS_TEMPLATE_START_RUBY_EXPR', snip)`form_for @${1:model} do |f|`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_EXPR', snip)` - $0 -`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_BLOCK', snip)` -endsnippet - -snippet ist "image_submit_tag" w -`!p textmate_var('TM_RAILS_TEMPLATE_START_RUBY_EXPR', snip)`image_submit_tag("${1:agree.png}"${2:${3:, :id => "${4:${1/^(\w+)(\.\w*)?$/$1/}}"}${5:, :name => "${6:${1/^(\w+)(\.\w*)?$/$1/}}"}${7:, :class => "${8:${1/^(\w+)(\.\w*)?$/$1/}-button}"}${9:, :disabled => ${10:false}}})`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_EXPR', snip)` -endsnippet - -snippet it "image_tag" w -`!p textmate_var('TM_RAILS_TEMPLATE_START_RUBY_EXPR', snip)`image_tag "$1${2:.png}"${3:${4:, :title => "${5:title}"}${6:, :class => "${7:class}"}}`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_EXPR', snip)` -endsnippet - -snippet layout "layout" -layout "${1:template_name}"${2:${3:, :only => ${4:[:${5:action}, :${6:action}]}}${7:, :except => ${8:[:${9:action}, :${10:action}]}}} -endsnippet - -snippet jit "javascript_include_tag" w -`!p textmate_var('TM_RAILS_TEMPLATE_START_RUBY_EXPR', snip)`javascript_include_tag ${1::all}${2:, :cache => ${3:true}}`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_EXPR', snip)` -endsnippet - -snippet lt "link_to (name, dest)" w -`!p textmate_var('TM_RAILS_TEMPLATE_START_RUBY_EXPR', snip)`link_to "${1:link text...}", ${2:dest}`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_EXPR', snip)` -endsnippet - -snippet lia "link_to (action)" w -`!p textmate_var('TM_RAILS_TEMPLATE_START_RUBY_EXPR', snip)`link_to "${1:link text...}", :action => "${2:index}"`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_EXPR', snip)` -endsnippet - -snippet liai "link_to (action, id)" w -`!p textmate_var('TM_RAILS_TEMPLATE_START_RUBY_EXPR', snip)`link_to "${1:link text...}", :action => "${2:edit}", :id => ${3:@item}`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_EXPR', snip)` -endsnippet - -snippet lic "link_to (controller)" w -`!p textmate_var('TM_RAILS_TEMPLATE_START_RUBY_EXPR', snip)`link_to "${1:link text...}", :controller => "${2:items}"`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_EXPR', snip)` -endsnippet - -snippet lica "link_to (controller, action)" w -`!p textmate_var('TM_RAILS_TEMPLATE_START_RUBY_EXPR', snip)`link_to "${1:link text...}", :controller => "${2:items}", :action => "${3:index}"`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_EXPR', snip)` -endsnippet - -snippet licai "link_to (controller, action, id)" w -`!p textmate_var('TM_RAILS_TEMPLATE_START_RUBY_EXPR', snip)`link_to "${1:link text...}", :controller => "${2:items}", :action => "${3:edit}", :id => ${4:@item}`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_EXPR', snip)` -endsnippet - -snippet linpp "link_to (nested path plural)" w -`!p textmate_var('TM_RAILS_TEMPLATE_START_RUBY_EXPR', snip)`link_to ${1:"${2:link text...}"}, ${3:${10:parent}_${11:child}_path(${12:@}${13:$10})}`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_EXPR', snip)` -endsnippet - -snippet linp "link_to (nested path)" w -`!p textmate_var('TM_RAILS_TEMPLATE_START_RUBY_EXPR', snip)`link_to ${1:"${2:link text...}"}, ${3:${12:parent}_${13:child}_path(${14:@}${15:$12}, ${16:@}${17:$13})}`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_EXPR', snip)` -endsnippet - -snippet lipp "link_to (path plural)" w -`!p textmate_var('TM_RAILS_TEMPLATE_START_RUBY_EXPR', snip)`link_to ${1:"${2:link text...}"}, ${3:${4:model}s_path}`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_EXPR', snip)` -endsnippet - -snippet lip "link_to (path)" w -`!p textmate_var('TM_RAILS_TEMPLATE_START_RUBY_EXPR', snip)`link_to ${1:"${2:link text...}"}, ${3:${12:model}_path(${13:@}${14:$12})}`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_EXPR', snip)` -endsnippet - -snippet lim "link_to model" w -`!p textmate_var('TM_RAILS_TEMPLATE_START_RUBY_EXPR', snip)`link_to ${1:model}.${2:name}, ${3:${4:$1}_path(${14:$1})}`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_EXPR', snip)` -endsnippet - -snippet hide "page.hide (*ids)" -page.hide ${1:"${2:id(s)}"} -endsnippet - -snippet ins "page.insert_html (position, id, partial)" -page.insert_html :${1:top}, ${2:"${3:id}"}, :${4:partial => "${5:template}"} -endsnippet - -snippet rep "page.replace (id, partial)" -page.replace ${1:"${2:id}"}, :${3:partial => "${4:template}"} -endsnippet - -snippet reph "page.replace_html (id, partial)" -page.replace_html ${1:"${2:id}"}, :${3:partial => "${4:template}"} -endsnippet - -snippet show "page.show (*ids)" -page.show ${1:"${2:id(s)}"} -endsnippet - -snippet tog "page.toggle (*ids)" -page.toggle ${1:"${2:id(s)}"} -endsnippet - -snippet vis "page.visual_effect (effect, id)" -page.visual_effect :${1:toggle_slide}, ${2:"${3:DOM ID}"} -endsnippet - -snippet rp "render (partial) (rp)" -render :partial => "${1:item}" -endsnippet - -snippet rpc "render (partial,collection) (rpc)" -render :partial => "${1:item}", :collection => ${2:@$1s} -endsnippet - -snippet rpl "render (partial,locals) (rpl)" -render :partial => "${1:item}", :locals => { :${2:$1} => ${3:@$1}$0 } -endsnippet - -snippet rpo "render (partial,object) (rpo)" -render :partial => "${1:item}", :object => ${2:@$1} -endsnippet - -snippet rps "render (partial,status) (rps)" -render :partial => "${1:item}", :status => ${2:500} -endsnippet - -snippet slt "stylesheet_link_tag" w -`!p textmate_var('TM_RAILS_TEMPLATE_START_RUBY_EXPR', snip)`stylesheet_link_tag ${1::all}${2:, :cache => ${3:true}}`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_EXPR', snip)` -endsnippet - -snippet st "submit_tag" w -`!p textmate_var('TM_RAILS_TEMPLATE_START_RUBY_EXPR', snip)`submit_tag "${1:Save changes}"${2:, :id => "${3:submit}"}${4:, :name => "${5:$3}"}${6:, :class => "${7:form_$3}"}${8:, :disabled => ${9:false}}${10:, :disable_with => "${11:Please wait...}"}`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_EXPR', snip)` -endsnippet - -snippet else "else (ERB)" -<% else %> - $0 -endsnippet - -snippet lf "link_to_function" -`!p textmate_var('TM_RAILS_TEMPLATE_START_RUBY_EXPR', snip)`link_to_function ${1:"${2:Greeting}"}, "${3:alert('Hello world!')}"$4`!p textmate_var('TM_RAILS_TEMPLATE_END_RUBY_EXPR', snip)` -endsnippet - -# vim:ft=snippets: diff --git a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/go.snippets b/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/go.snippets deleted file mode 100644 index 35cf909..0000000 --- a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/go.snippets +++ /dev/null @@ -1,115 +0,0 @@ -# Snippets for Go - -priority -50 - -# when to abbriviate and when not? -# b doesn't work here, because it ignores whitespace -# optional local name? -snippet /^import/ "Import declaration" r -import ( - "${1:package}" -) -endsnippet - -snippet /^package/ "Package declaration" r -// Package $1 provides ... -package ${1:main} -endsnippet - -# Mostly converted from: https://github.com/AlanQuatermain/go-tmbundle -snippet /^cons/ "Constants declaration" r -const ( - ${1:constant}${2/(.+)/ /}${2:type} = ${0:value} -) -endsnippet - -snippet /^con/ "Constant declaration" r -const ${1:name}${2/(.+)/ /}${2:type} = ${0:value} -endsnippet - -snippet iota "Iota constant generator" b -const ( - ${1:constant}${2/(.+)/ /}${2:type} = iota -) -endsnippet - -snippet struct "Struct declaration" b -type ${1:Struct} struct { - ${0:${VISUAL}} -} -endsnippet - -snippet interface "Interface declaration" b -type ${1:Interface} interface { - ${0:${VISUAL}} -} -endsnippet - -snippet if "If statement" b -if ${1:condition}${1/(.+)/ /}{ - ${0:${VISUAL}} -} -endsnippet - -snippet switch "Switch statement" b -switch ${1:expression}${1/(.+)/ /}{ -case$0 -} -endsnippet - -# functions -snippet /^main/ "Main function" r -func main() { - ${0:${VISUAL}} -} -endsnippet - -snippet /^meth/ "Method" r -func (${1:receiver} ${2:type}) ${3:name}(${4:params})${5/(.+)/ /}${5:type} { - ${0:${VISUAL}} -} -endsnippet - -snippet func "Function" b -func ${1:name}(${2:params})${3/(.+)/ /}${3:type} { - ${0:${VISUAL}} -} -endsnippet - -snippet funch "HTTP handler" b -func ${1:handler}(${2:w} http.ResponseWriter, ${3:r} *http.Request) { - ${0:${VISUAL}} -} -endsnippet - -# types and variables -snippet map "Map type" b -map[${1:keytype}]${2:valtype} -endsnippet - -snippet : "Variable declaration :=" b -${1:name} := ${0:value} -endsnippet - -snippet var "Variable declaration" b -var ${1:name}${2/(.+)/ /}${2:type}${3: = ${0:value}} -endsnippet - -snippet vars "Variables declaration" b -var ( - ${1:name}${2/(.+)/ /}${2:type}${3: = ${0:value} } -) -endsnippet - -snippet json "JSON field" -\`json:"${1:displayName}"\` -endsnippet - -# vim:ft=snippets: - -# error handling -snippet err "Basic error handling" b -if err != nil { - log.${1:Fatal}(err) -} -endsnippet diff --git a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/haskell.snippets b/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/haskell.snippets deleted file mode 100644 index 11d82c8..0000000 --- a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/haskell.snippets +++ /dev/null @@ -1,5 +0,0 @@ -priority -50 - -snippet impq "Qualified import" -import qualified ${1:Data.Text} as ${0:`!p snip.rv = t[1].split(".")[-1]`} -endsnippet diff --git a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/help.snippets b/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/help.snippets deleted file mode 100644 index b07a7de..0000000 --- a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/help.snippets +++ /dev/null @@ -1,37 +0,0 @@ -# Snippets for VIM Help Files - -priority -50 - -global !p -def sec_title(snip, t): - file_start = snip.fn.split('.')[0] - sec_name = t[1].strip("1234567890. ").lower().replace(' ', '-') - return ("*%s-%s*" % (file_start, sec_name)).rjust(78-len(t[1])) -endglobal - -snippet sec "Section marker" b -============================================================================== -${1:SECTION}`!p snip.rv = sec_title(snip, t)` - -$0 -endsnippet - -snippet ssec "Sub section marker" b -${1:Subsection}`!p snip.rv = sec_title(snip, t) -snip += "-"*len(t[1])` - -$0 -endsnippet - -snippet sssec "Subsub Section marker" b -${1:SubSubsection}:`!p snip.rv = sec_title(snip, t)` - -$0 -endsnippet - -# For vim help, follow the same settings as the official docs. -snippet modeline "Vim help modeline" - `!v 'vim'`:tw=78:ts=8:ft=help:norl: -endsnippet - -# vim:ft=snippets: diff --git a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/html.snippets b/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/html.snippets deleted file mode 100644 index a81b1d8..0000000 --- a/.vim_runtime/sources_non_forked/vim-snippets/UltiSnips/html.snippets +++ /dev/null @@ -1,534 +0,0 @@ -priority -50 - -########################################################################### -# TextMate Snippets # -########################################################################### - -global !p -def x(snip): - if snip.ft.startswith("x"): - snip.rv = '/' - else: - snip.rv = "" -endglobal - -snippet doctype "HTML - 5.0 (doctype)" b - - -endsnippet - -############# -# Shortcuts # -############# -snippet down "Down (down)" -↓ -endsnippet - -snippet enter "Enter (enter)" -⌅ -endsnippet - -snippet escape "Escape (escape)" -⎋ -endsnippet - -snippet left "Left (left)" -← -endsnippet - -snippet return "Return (return)" -↩ -endsnippet - -snippet right "Right (right)" -→ -endsnippet - -snippet shift "Shift (shift)" -⇧ -endsnippet - -snippet tab "Tab (tab)" -⇥ -endsnippet - -snippet up "Up (up)" -↑ -endsnippet - -############# -# HTML TAGS # -############# -snippet a "Link" w -${4:Anchor Text} -endsnippet - -snippet abbr "" w -$1 -endsnippet - -snippet access "accesskey global attribute" -accesskey="$1" -endsnippet - -snippet address "

" w -
$1
-endsnippet - -snippet article "
" -
- ${1:article content} -
-endsnippet - -snippet aside "