diff --git a/.gitignore b/.gitignore index 810742a..199f9f7 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -zsh/local/* +zsh/local/*.zsh +zsh/local/fpath diff --git a/zsh/local/env.zsh b/zsh/local/env.zsh new file mode 100644 index 0000000..76f3c4e --- /dev/null +++ b/zsh/local/env.zsh @@ -0,0 +1,3 @@ +export PATH="/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin" +export EDITOR='nvim' +export BROWSER="firefox-developer-edition" diff --git a/zsh/local/fpath/_exa b/zsh/local/fpath/_exa new file mode 100644 index 0000000..a700d47 --- /dev/null +++ b/zsh/local/fpath/_exa @@ -0,0 +1,56 @@ +#compdef exa + +# Save this file as _exa in /usr/local/share/zsh/site-functions or in any +# other folder in $fpath. E. g. save it in a folder called ~/.zfunc and add a +# line containing `fpath=(~/.zfunc $fpath)` somewhere before `compinit` in your +# ~/.zshrc. + +__exa() { + # Give completions using the `_arguments` utility function with + # `-s` for option stacking like `exa -ab` for `exa -a -b` and + # `-S` for delimiting options with `--` like in `exa -- -a`. + _arguments -s -S \ + "(- *)"{-v,--version}"[Show version of exa]" \ + "(- *)"{-'\?',--help}"[Show list of command-line options]" \ + {-1,--oneline}"[Display one entry per line]" \ + {-l,--long}"[Display extended file metadata as a table]" \ + {-G,--grid}"[Display entries as a grid]" \ + {-x,--across}"[Sort the grid across, rather than downwards]" \ + {-R,--recurse}"[Recurse into directories]" \ + {-T,--tree}"[Recurse into directories as a tree]" \ + {-F,--classify}"[Display type indicator by file names]" \ + --colo{,u}r"[When to use terminal colours]" \ + --colo{,u}r-scale"[Highlight levels of file sizes distinctly]" \ + --icons"[Display icons]" \ + --group-directories-first"[Sort directories before other files]" \ + --git-ignore"[Ignore files mentioned in '.gitignore']" \ + {-a,--all}"[Show hidden and 'dot' files]" \ + {-d,--list-dirs}"[List directories like regular files]" \ + {-D,--only-dirs}"[List only directories]" \ + {-L,--level}"+[Limit the depth of recursion]" \ + {-r,--reverse}"[Reverse the sort order]" \ + {-s,--sort}="[Which field to sort by]:(sort field):(accessed age changed created date extension Extension filename Filename inode modified oldest name Name newest none size time type)" \ + {-I,--ignore-glob}"[Ignore files that match these glob patterns]" \ + {-b,--binary}"[List file sizes with binary prefixes]" \ + {-B,--bytes}"[List file sizes in bytes, without any prefixes]" \ + --changed"[Use the changed timestamp field]" \ + {-g,--group}"[List each file's group]" \ + {-h,--header}"[Add a header row to each column]" \ + {-H,--links}"[List each file's number of hard links]" \ + {-i,--inode}"[List each file's inode number]" \ + {-m,--modified}"[Use the modified timestamp field]" \ + {-S,--blocks}"[List each file's number of filesystem blocks]" \ + {-t,--time}="[Which time field to show]:(time field):(accessed changed created modified)" \ + --time-style="[How to format timestamps]:(time style):(default iso long-iso full-iso)" \ + --no-permissions"[Suppress the permissions field]" \ + --no-filesize"[Suppress the filesize field]" \ + --no-user"[Suppress the user field]" \ + --no-time"[Suppress the time field]" \ + {-u,--accessed}"[Use the accessed timestamp field]" \ + {-U,--created}"[Use the created timestamp field]" \ + --git"[List each file's Git status, if tracked]" \ + {-@,--extended}"[List each file's extended attributes and sizes]" \ + '*:filename:_files' +} + +__exa diff --git a/zsh/local/fpath/_extract b/zsh/local/fpath/_extract new file mode 100644 index 0000000..1a263a7 --- /dev/null +++ b/zsh/local/fpath/_extract @@ -0,0 +1,7 @@ +#compdef extract +#autoload + +_arguments \ + '(-r --remove)'{-r,--remove}'[Remove archive.]' \ + "*::archive file:_files -g '(#i)*.(7z|Z|apk|aar|bz2|deb|gz|ipsw|jar|lrz|lz4|lzma|rar|rpm|sublime-package|tar|tar.bz2|tar.gz|tar.lrz|tar.lz|tar.lz4|tar.xz|tar.zma|tar.zst|tbz|tbz2|tgz|tlz|txz|tzst|war|whl|xpi|xz|zip|zst)(-.)'" \ + && return 0 diff --git a/zsh/local/rc.zsh b/zsh/local/rc.zsh new file mode 100644 index 0000000..7fd50c2 --- /dev/null +++ b/zsh/local/rc.zsh @@ -0,0 +1,10 @@ +# Local Exports +export PTOOLSPATH="/opt/phalcon-devtools/" +export path=($path $HOME/.emacs.d/bin $PTOOLSPATH) + +# Source Local Files +source <(kitty + complete setup zsh) + +# Local Aliases +alias d="kitty +kitten diff" +alias vim='nvim'