Compare commits
1 Commits
Author | SHA1 | Date |
---|---|---|
Gwen | 9334e39d30 |
|
@ -11,7 +11,7 @@ esac
|
|||
DIR="$(dirname $(readlink ~/.bashrc))"
|
||||
|
||||
# load all dotfiles in dotfiles repository
|
||||
for DOTFILE in `find $DIR/.{prompt,alias,functions,path,env,shell}.sh`
|
||||
for DOTFILE in `find $DIR/system/.{prompt,alias,functions,path,env,shell}.sh`
|
||||
do
|
||||
[ -f "$DOTFILE" ] && source "$DOTFILE"
|
||||
done
|
||||
|
@ -22,7 +22,3 @@ unset DIR
|
|||
if [ -f /etc/bashrc ]; then
|
||||
source /etc/bashrc
|
||||
fi
|
||||
|
||||
# As suggested by gpg-agent manual, ensure the tty always matches
|
||||
GPG_TTY=$(tty)
|
||||
export GPG_TTY
|
|
@ -0,0 +1,4 @@
|
|||
[submodule "emacs/github-packages/wgsl-mode"]
|
||||
path = emacs/github-packages/wgsl-mode
|
||||
url = https://github.com/glfmn/wgsl-mode
|
||||
branch = fix-regex
|
|
@ -1,31 +0,0 @@
|
|||
complete -c alacritty -n "__fish_use_subcommand" -l embed -d 'X11 window ID to embed Alacritty within (decimal or hexadecimal with "0x" prefix)' -r
|
||||
complete -c alacritty -n "__fish_use_subcommand" -l config-file -d 'Specify alternative configuration file [default: $XDG_CONFIG_HOME/alacritty/alacritty.yml]' -r -F
|
||||
complete -c alacritty -n "__fish_use_subcommand" -l socket -d 'Path for IPC socket creation' -r -F
|
||||
complete -c alacritty -n "__fish_use_subcommand" -s o -l option -d 'Override configuration file options [example: cursor.style=Beam]' -r
|
||||
complete -c alacritty -n "__fish_use_subcommand" -l working-directory -d 'Start the shell in the specified working directory' -r -F
|
||||
complete -c alacritty -n "__fish_use_subcommand" -s e -l command -d 'Command and args to execute (must be last argument)' -r
|
||||
complete -c alacritty -n "__fish_use_subcommand" -s T -l title -d 'Defines the window title [default: Alacritty]' -r
|
||||
complete -c alacritty -n "__fish_use_subcommand" -l class -d 'Defines window class/app_id on X11/Wayland [default: Alacritty]' -r
|
||||
complete -c alacritty -n "__fish_use_subcommand" -s h -l help -d 'Print help information'
|
||||
complete -c alacritty -n "__fish_use_subcommand" -s V -l version -d 'Print version information'
|
||||
complete -c alacritty -n "__fish_use_subcommand" -l print-events -d 'Print all events to stdout'
|
||||
complete -c alacritty -n "__fish_use_subcommand" -l ref-test -d 'Generates ref test'
|
||||
complete -c alacritty -n "__fish_use_subcommand" -s q -d 'Reduces the level of verbosity (the min level is -qq)'
|
||||
complete -c alacritty -n "__fish_use_subcommand" -s v -d 'Increases the level of verbosity (the max level is -vvv)'
|
||||
complete -c alacritty -n "__fish_use_subcommand" -l hold -d 'Remain open after child process exit'
|
||||
complete -c alacritty -n "__fish_use_subcommand" -f -a "msg" -d 'Send a message to the Alacritty socket'
|
||||
complete -c alacritty -n "__fish_use_subcommand" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
||||
complete -c alacritty -n "__fish_seen_subcommand_from msg; and not __fish_seen_subcommand_from create-window; and not __fish_seen_subcommand_from config; and not __fish_seen_subcommand_from help" -s s -l socket -d 'IPC socket connection path override' -r -F
|
||||
complete -c alacritty -n "__fish_seen_subcommand_from msg; and not __fish_seen_subcommand_from create-window; and not __fish_seen_subcommand_from config; and not __fish_seen_subcommand_from help" -s h -l help -d 'Print help information'
|
||||
complete -c alacritty -n "__fish_seen_subcommand_from msg; and not __fish_seen_subcommand_from create-window; and not __fish_seen_subcommand_from config; and not __fish_seen_subcommand_from help" -f -a "create-window" -d 'Create a new window in the same Alacritty process'
|
||||
complete -c alacritty -n "__fish_seen_subcommand_from msg; and not __fish_seen_subcommand_from create-window; and not __fish_seen_subcommand_from config; and not __fish_seen_subcommand_from help" -f -a "config" -d 'Update the Alacritty configuration'
|
||||
complete -c alacritty -n "__fish_seen_subcommand_from msg; and not __fish_seen_subcommand_from create-window; and not __fish_seen_subcommand_from config; and not __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
||||
complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from create-window" -l working-directory -d 'Start the shell in the specified working directory' -r -F
|
||||
complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from create-window" -s e -l command -d 'Command and args to execute (must be last argument)' -r
|
||||
complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from create-window" -s T -l title -d 'Defines the window title [default: Alacritty]' -r
|
||||
complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from create-window" -l class -d 'Defines window class/app_id on X11/Wayland [default: Alacritty]' -r
|
||||
complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from create-window" -l hold -d 'Remain open after child process exit'
|
||||
complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from create-window" -s h -l help -d 'Print help information'
|
||||
complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from config" -s w -l window-id -d 'Window ID for the new config' -r
|
||||
complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from config" -s r -l reset -d 'Clear all runtime configuration changes'
|
||||
complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from config" -s h -l help -d 'Print help information'
|
|
@ -1,163 +0,0 @@
|
|||
# This is terribly complicated
|
||||
# It's because:
|
||||
# 1. bun run has to have dynamic completions
|
||||
# 2. there are global options
|
||||
# 3. bun {install add remove} gets special options
|
||||
# 4. I don't know how to write fish completions well
|
||||
# Contributions very welcome!!
|
||||
|
||||
function __fish__get_bun_bins
|
||||
string split ' ' (bun getcompletes b)
|
||||
end
|
||||
|
||||
function __fish__get_bun_scripts
|
||||
set -lx SHELL bash
|
||||
set -lx MAX_DESCRIPTION_LEN 40
|
||||
string trim (string split '\n' (string split '\t' (bun getcompletes z)))
|
||||
end
|
||||
|
||||
function __fish__get_bun_packages
|
||||
if test (commandline -ct) != ""
|
||||
set -lx SHELL fish
|
||||
string split ' ' (bun getcompletes a (commandline -ct))
|
||||
end
|
||||
end
|
||||
|
||||
function __history_completions
|
||||
set -l tokens (commandline --current-process --tokenize)
|
||||
history --prefix (commandline) | string replace -r \^$tokens[1]\\s\* "" | string replace -r \^$tokens[2]\\s\* "" | string split ' '
|
||||
end
|
||||
|
||||
function __fish__get_bun_bun_js_files
|
||||
string split ' ' (bun getcompletes j)
|
||||
end
|
||||
|
||||
function bun_fish_is_nth_token --description 'Test if current token is on Nth place' --argument-names n
|
||||
set -l tokens (commandline -poc)
|
||||
set -l tokens (string replace -r --filter '^([^-].*)' '$1' -- $tokens)
|
||||
test (count $tokens) -eq "$n"
|
||||
end
|
||||
|
||||
function __bun_command_count --argument-names n
|
||||
set -l cmds (commandline -poc)
|
||||
|
||||
test (count cmds) -eq "$n"
|
||||
end
|
||||
|
||||
function __bun_last_cmd --argument-names n
|
||||
set -l cmds (commandline -poc)
|
||||
|
||||
test "(cmds[-1])" = "$n"
|
||||
end
|
||||
|
||||
set -l bun_install_boolean_flags yarn production optional development no-save dry-run force no-cache silent verbose global
|
||||
set -l bun_install_boolean_flags_descriptions "Write a yarn.lock file (yarn v1)" "Don't install devDependencies" "Add dependency to optionalDependencies" "Add dependency to devDependencies" "Don't install devDependencies" "Don't install anything" "Always request the latest versions from the registry & reinstall all dependenices" "Ignore manifest cache entirely" "Don't output anything" "Excessively verbose logging" "Use global folder"
|
||||
|
||||
set -l bun_builtin_cmds dev create help bun upgrade discord run install remove add init link unlink pm x
|
||||
set -l bun_builtin_cmds_without_run dev create help bun upgrade discord install remove add init pm x
|
||||
set -l bun_builtin_cmds_without_bun dev create help upgrade run discord install remove add init pm x
|
||||
set -l bun_builtin_cmds_without_create dev help bun upgrade discord run install remove add init pm x
|
||||
set -l bun_builtin_cmds_without_install create dev help bun upgrade discord run remove add init pm x
|
||||
set -l bun_builtin_cmds_without_remove create dev help bun upgrade discord run install add init pm x
|
||||
set -l bun_builtin_cmds_without_add create dev help bun upgrade discord run remove install init pm x
|
||||
set -l bun_builtin_cmds_without_pm create dev help bun upgrade discord run init pm x
|
||||
|
||||
# clear
|
||||
complete -e -c bun
|
||||
|
||||
complete -c bun \
|
||||
-n "not __fish_seen_subcommand_from $bun_builtin_cmds_without_run; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts); and __fish_use_subcommand" -a '(__fish__get_bun_scripts)' -d 'script'
|
||||
complete -c bun \
|
||||
-n "not __fish_seen_subcommand_from $bun_builtin_cmds_without_run; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts); and __fish_seen_subcommand_from run" -a '(__fish__get_bun_bins)' -d 'package bin'
|
||||
complete -c bun \
|
||||
-n "not __fish_seen_subcommand_from $bun_builtin_cmds_without_run; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts); and __fish_seen_subcommand_from run" -a '(__fish__get_bun_scripts)' -d 'script'
|
||||
complete -c bun \
|
||||
-n "not __fish_seen_subcommand_from $bun_builtin_cmds_without_run; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts); and __fish_seen_subcommand_from run" -a '(__fish__get_bun_bun_js_files)' -d 'Bun.js'
|
||||
complete -c bun \
|
||||
-n "bun_fish_is_nth_token 1; and not __fish_seen_subcommand_from $bun_builtin_cmds; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts) and __fish_use_subcommand" -a 'run' -f -d 'Run a script or bin'
|
||||
complete -c bun \
|
||||
-n "not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts) install remove add;" --no-files -s 'u' -l 'origin' -r -d 'Server URL. Rewrites import paths'
|
||||
complete -c bun \
|
||||
-n "not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts) install remove add;" --no-files -s 'p' -l 'port' -r -d 'Port number to start server from'
|
||||
complete -c bun \
|
||||
-n "not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts) install remove add;" --no-files -s 'd' -l 'define' -r -d 'Substitute K:V while parsing, e.g. --define process.env.NODE_ENV:\"development\"'
|
||||
complete -c bun \
|
||||
-n "not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts) install remove add;" --no-files -s 'e' -l 'external' -r -d 'Exclude module from transpilation (can use * wildcards). ex: -e react'
|
||||
complete -c bun \
|
||||
-n "not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts) install remove add;" --no-files -l 'use' -r -d 'Use a framework (ex: next)'
|
||||
complete -c bun \
|
||||
-n "not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts) install remove add;" --no-files -l 'hot' -r -d 'Enable hot reloading in Bun\'s JavaScript runtime'
|
||||
|
||||
complete -c bun \
|
||||
-n "bun_fish_is_nth_token 1; and not __fish_seen_subcommand_from $bun_builtin_cmds; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts) and __fish_use_subcommand" -a 'dev' -d 'Start dev server'
|
||||
complete -c bun \
|
||||
-n "bun_fish_is_nth_token 1; and not __fish_seen_subcommand_from $bun_builtin_cmds; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts) and __bun_command_count 1 and __fish_use_subcommand" -a 'create' -f -d 'Create a new project from a template'
|
||||
|
||||
complete -c bun \
|
||||
-n "not __fish_seen_subcommand_from $bun_builtin_cmds_without_create next react; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts); and __fish_seen_subcommand_from create;" -a 'next' -d 'new Next.js project'
|
||||
|
||||
complete -c bun \
|
||||
-n "not __fish_seen_subcommand_from $bun_builtin_cmds_without_create next react; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts); and __fish_seen_subcommand_from create;" -a 'react' -d 'new React project'
|
||||
|
||||
complete -c bun \
|
||||
-n "not __fish_seen_subcommand_from $bun_builtin_cmds; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts); and __fish_use_subcommand" -a 'upgrade' -d 'Upgrade bun to the latest version' -x
|
||||
complete -c bun \
|
||||
-n "not __fish_seen_subcommand_from $bun_builtin_cmds; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts); and __fish_use_subcommand" -a '--help' -d 'See all commands and flags' -x
|
||||
|
||||
complete -c bun \
|
||||
-n "not __fish_seen_subcommand_from $bun_builtin_cmds; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts); and __fish_use_subcommand" -l "version" -s "v" -a '--version' -d 'Bun\'s version' -x
|
||||
complete -c bun \
|
||||
-n "not __fish_seen_subcommand_from $bun_builtin_cmds; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts); and __fish_use_subcommand" -a 'discord' -d 'Open bun\'s Discord server' -x
|
||||
|
||||
|
||||
complete -c bun \
|
||||
-n "not __fish_seen_subcommand_from $bun_builtin_cmds_without_bun; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts); __fish_use_subcommand" -a 'bun' -d 'Generate a new bundle'
|
||||
|
||||
|
||||
complete -c bun \
|
||||
-n "not __fish_seen_subcommand_from $bun_builtin_cmds_without_bun; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts); and __fish_seen_subcommand_from bun" -F -d 'Bundle this'
|
||||
|
||||
complete -c bun \
|
||||
-n "not __fish_seen_subcommand_from $bun_builtin_cmds_without_create; and not __fish_seen_subcommand_from (__fish__get_bun_bins); and not __fish_seen_subcommand_from (__fish__get_bun_scripts); and __fish_seen_subcommand_from react; or __fish_seen_subcommand_from next" -F -d "Create in directory"
|
||||
|
||||
|
||||
complete -c bun \
|
||||
-n "bun_fish_is_nth_token 1; and not __fish_seen_subcommand_from $bun_builtin_cmds; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts) and __bun_command_count 1 and __fish_use_subcommand" -a 'init' -F -d 'Start an empty Bun project'
|
||||
|
||||
complete -c bun \
|
||||
-n "bun_fish_is_nth_token 1; and not __fish_seen_subcommand_from $bun_builtin_cmds; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts) and __bun_command_count 1 and __fish_use_subcommand" -a 'install' -f -d 'Install packages from package.json'
|
||||
|
||||
complete -c bun \
|
||||
-n "bun_fish_is_nth_token 1; and not __fish_seen_subcommand_from $bun_builtin_cmds; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts) and __bun_command_count 1 and __fish_use_subcommand" -a 'add' -F -d 'Add a package to package.json'
|
||||
|
||||
complete -c bun \
|
||||
-n "bun_fish_is_nth_token 1; and not __fish_seen_subcommand_from $bun_builtin_cmds; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts) and __bun_command_count 1 and __fish_use_subcommand" -a 'remove' -F -d 'Remove a package from package.json'
|
||||
|
||||
complete -c bun \
|
||||
-n "bun_fish_is_nth_token 1; and not __fish_seen_subcommand_from $bun_builtin_cmds; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts) and __bun_command_count 1 and __fish_use_subcommand add remove" -F
|
||||
|
||||
|
||||
for i in (seq (count $bun_install_boolean_flags))
|
||||
complete -c bun \
|
||||
-n "not __fish_seen_subcommand_from $bun_builtin_cmds_without_pm; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts); and __fish_seen_subcommand_from install add remove;" -l "$bun_install_boolean_flags[$i]" -d "$bun_install_boolean_flags_descriptions[$i]"
|
||||
end
|
||||
|
||||
complete -c bun \
|
||||
-n "not __fish_seen_subcommand_from $bun_builtin_cmds_without_pm; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts); and __fish_seen_subcommand_from install add remove;" -l 'cwd' -d 'Change working directory'
|
||||
|
||||
complete -c bun \
|
||||
-n "not __fish_seen_subcommand_from $bun_builtin_cmds_without_pm; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts); and __fish_seen_subcommand_from install add remove;" -l 'cache-dir' -d 'Choose a cache directory (default: $HOME/.bun/install/cache)'
|
||||
|
||||
complete -c bun \
|
||||
-n "not __fish_seen_subcommand_from $bun_builtin_cmds_without_pm; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts); and __fish_seen_subcommand_from add;" -d 'Popular' -a '(__fish__get_bun_packages)'
|
||||
|
||||
complete -c bun \
|
||||
-n "not __fish_seen_subcommand_from $bun_builtin_cmds_without_pm; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts); and __fish_seen_subcommand_from add;" -d 'History' -a '(__history_completions)'
|
||||
|
||||
complete -c bun \
|
||||
-n "__fish_seen_subcommand_from pm; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts) cache;" -a 'bin ls cache hash hash-print hash-string' -f
|
||||
|
||||
complete -c bun \
|
||||
-n "__fish_seen_subcommand_from pm; and __fish_seen_subcommand_from cache; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts);" -a 'rm' -f
|
||||
|
||||
complete -c bun -n "not __fish_seen_subcommand_from $bun_builtin_cmds (__fish__get_bun_bins) (__fish__get_bun_scripts)" -a "$bun_builtin_cmds" -f
|
|
@ -1,33 +0,0 @@
|
|||
# This file contains fish universal variable definitions.
|
||||
# VERSION: 3.0
|
||||
SETUVAR __fish_initialized:3400
|
||||
SETUVAR fish_color_autosuggestion:555\x1ebrblack
|
||||
SETUVAR fish_color_cancel:\x2dr
|
||||
SETUVAR fish_color_command:005fd7
|
||||
SETUVAR fish_color_comment:990000
|
||||
SETUVAR fish_color_cwd:green
|
||||
SETUVAR fish_color_cwd_root:red
|
||||
SETUVAR fish_color_end:009900
|
||||
SETUVAR fish_color_error:ff0000
|
||||
SETUVAR fish_color_escape:00a6b2
|
||||
SETUVAR fish_color_history_current:\x2d\x2dbold
|
||||
SETUVAR fish_color_host:normal
|
||||
SETUVAR fish_color_host_remote:yellow
|
||||
SETUVAR fish_color_match:\x2d\x2dbackground\x3dbrblue
|
||||
SETUVAR fish_color_normal:normal
|
||||
SETUVAR fish_color_operator:00a6b2
|
||||
SETUVAR fish_color_param:00afff
|
||||
SETUVAR fish_color_quote:999900
|
||||
SETUVAR fish_color_redirection:00afff
|
||||
SETUVAR fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dbrblack
|
||||
SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
|
||||
SETUVAR fish_color_status:red
|
||||
SETUVAR fish_color_user:brgreen
|
||||
SETUVAR fish_color_valid_path:\x2d\x2dunderline
|
||||
SETUVAR fish_greeting:Welcome\x20to\x20fish\x2c\x20the\x20friendly\x20interactive\x20shell\x0aType\x20\x60help\x60\x20for\x20instructions\x20on\x20how\x20to\x20use\x20fish
|
||||
SETUVAR fish_key_bindings:fish_default_key_bindings
|
||||
SETUVAR fish_pager_color_completion:\x1d
|
||||
SETUVAR fish_pager_color_description:B3A06D\x1eyellow
|
||||
SETUVAR fish_pager_color_prefix:white\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
|
||||
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
|
||||
SETUVAR fish_pager_color_selected_background:\x2dr
|
|
@ -1,22 +0,0 @@
|
|||
function table_row -a COLOR KEY VAL LEN
|
||||
set -l repeats (math $LEN - (string length $KEY) - (string length $VAL) - 2)
|
||||
echo (set_color $COLOR)$KEY(set_color normal) \
|
||||
(set_color grey)(string repeat '.' -n $repeats) \
|
||||
(set_color -i brwhite)$VAL(set_color normal)
|
||||
end
|
||||
|
||||
function fish_greeting
|
||||
set -l user (whoami)@(hostname)
|
||||
set -l uptime (uptime | sed 's/.*up \([^,]*\), .*/\1/')
|
||||
set -l shell_version (echo $FISH_VERSION)
|
||||
set -l date (date)
|
||||
|
||||
set -l len (math $COLUMNS - 2)
|
||||
|
||||
echo (string repeat '░' -n $COLUMNS)
|
||||
set_color grey; echo 1 (table_row brblue 'CURRENT USER' $user $len)
|
||||
set_color grey; echo 2 (table_row brmagenta 'DATE' $date $len)
|
||||
set_color grey; echo 3 (table_row brcyan 'SHELL VERSION' fish-$shell_version $len)
|
||||
set_color grey; echo 4 (table_row bryellow 'RUST' (rustc --version) $len)
|
||||
end
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
[push]
|
||||
default = simple
|
||||
|
||||
[core]
|
||||
editor = "vi"
|
||||
excludesfile = ~/.gitignore_global
|
||||
attributesfile = ~/.gitattributes_global
|
||||
|
||||
[filter "lfs"]
|
||||
clean = git-lfs clean -- %f
|
||||
smudge = git-lfs smudge -- %f
|
||||
required = true
|
||||
process = git-lfs filter-process
|
||||
|
||||
[filter "nbstrip_full"]
|
||||
clean = "jq --indent 1 \
|
||||
'(.cells[] | select(has(\"outputs\")) | .outputs) = [] \
|
||||
| (.cells[] | select(has(\"execution_count\")) | .execution_count) = null \
|
||||
| .metadata = {\"language_info\": {\"name\": \"python\", \"pygments_lexer\": \"ipython3\"}} \
|
||||
| .cells[].metadata = {} \
|
||||
'"
|
||||
smudge = cat
|
||||
required = true
|
||||
|
||||
[commit]
|
||||
verbose = true
|
||||
|
||||
[help]
|
||||
autocorrect = 10
|
||||
|
||||
[init]
|
||||
defaultBranch = main
|
||||
|
||||
[clone]
|
||||
defaultRemoteName = o
|
||||
|
||||
[include]
|
||||
path = ~/.gitconfig.user
|
|
@ -1,13 +0,0 @@
|
|||
# Configuration for helix editor.
|
||||
#
|
||||
# See https://docs.helix-editor.com/configuration.html
|
||||
|
||||
# Custom derivative of gruvbox
|
||||
theme = "glfmn"
|
||||
|
||||
[editor]
|
||||
color-modes = true # Differentiate between modes in lower left-hand corner
|
||||
bufferline = "multiple" # Show buffers as tabs
|
||||
|
||||
[editor.whitespace]
|
||||
render = "all"
|
|
@ -1,34 +0,0 @@
|
|||
[[language]]
|
||||
name = "image-blocks"
|
||||
scope = "source.image-blocks"
|
||||
file-types = ["ibl"]
|
||||
roots = []
|
||||
comment-token = ";"
|
||||
indent = { tab-width = 4, unit = " " }
|
||||
# language-server = { command = "image-blocks-viewer" }
|
||||
|
||||
[[grammar]]
|
||||
name = "image-blocks"
|
||||
source.path = "/home/ludens/Code/tree-sitter-image-blocks"
|
||||
|
||||
[[language]]
|
||||
name = "zig"
|
||||
|
||||
[language.debugger]
|
||||
name = "lldb-vscode"
|
||||
transport = "stdio"
|
||||
command = "lldb-vscode-17"
|
||||
|
||||
[[language.debugger.templates]]
|
||||
name = "binary"
|
||||
request = "launch"
|
||||
completion = [{ name = "binary", completion = "filename" }]
|
||||
args = { program = "{0}", initCommands = []}
|
||||
|
||||
[[language]]
|
||||
name = "markdown"
|
||||
language-server = { command = "ltex-ls" }
|
||||
|
||||
[[language]]
|
||||
name = "git-commit"
|
||||
language-server = { command = "ltex-ls" }
|
|
@ -1,24 +0,0 @@
|
|||
inherits = "gruvbox"
|
||||
|
||||
# Make delimiters less loud
|
||||
"punctuation" = "gray1"
|
||||
"punctuation.delimiter" = "gray1"
|
||||
|
||||
# Make operators less loud but stil stand out
|
||||
"operator" = "fg3"
|
||||
|
||||
# Unify look of variables with slight contrast difference to emphasize
|
||||
# function parameters.
|
||||
"variable" = "fg2"
|
||||
"variable.parameter" = { fg = "fg1", modifiers = ["italic"] }
|
||||
"variable.builtin" = { fg = "fg1", modifiers = ["italic"] }
|
||||
|
||||
# Unify look of functions
|
||||
"function" = "green1"
|
||||
"function.macro" = "aqua1"
|
||||
"function.builtin" = { fg = "green1", modifiers = ["bold"] }
|
||||
|
||||
# Differentiate ui modes more clearly
|
||||
"ui.statusline.normal" = { fg = "fg1", bg = "green0" }
|
||||
"ui.statusline.insert" = { fg = "fg1", bg = "blue0", modifiers = ["bold"] }
|
||||
"ui.statusline.select" = { fg = "fg1", bg = "orange0", modifiers = ["bold"] }
|
|
@ -0,0 +1,451 @@
|
|||
;;; glsl-mode.el --- major mode for Open GLSL shader files
|
||||
|
||||
;; Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2011, 2014, 2019 Jim Hourihan
|
||||
;;
|
||||
;; Authors: Xavier.Decoret@imag.fr,
|
||||
;; Jim Hourihan <jimhourihan ~at~ gmail.com> (updated for 4.6, etc)
|
||||
;; Keywords: languages OpenGL GPU SPIR-V Vulkan
|
||||
;; Version: 2.4
|
||||
;; X-URL: https://github.com/jimhourihan/glsl-mode
|
||||
;;
|
||||
;; Original X-URL http://artis.inrialpes.fr/~Xavier.Decoret/resources/glsl-mode/
|
||||
|
||||
;; This file 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, or (at your option)
|
||||
;; any later version.
|
||||
|
||||
;; This file 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.
|
||||
|
||||
;; For a full copy of the GNU General Public License
|
||||
;; see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Major mode for editing OpenGLSL grammar files, usually files ending with
|
||||
;; `.vert', `.frag', `.glsl', `.geom'. Is is based on c-mode plus some
|
||||
;; features and pre-specified fontifications.
|
||||
;;
|
||||
;; Modifications from the 1.0 version of glsl-mode (jimhourihan):
|
||||
;; * Removed original optimized regexps for font-lock-keywords and
|
||||
;; replaced with keyword lists for easier maintenance
|
||||
;; * Added customization group and faces
|
||||
;; * Preprocessor faces
|
||||
;; * Updated to GLSL 4.6
|
||||
;; * Separate deprecated symbols
|
||||
;; * Made _ part of a word
|
||||
;; * man page lookup at opengl.org
|
||||
|
||||
;; This package provides the following features:
|
||||
;; * Syntax coloring (via font-lock) for grammar symbols and
|
||||
;; builtin functions and variables for up to GLSL version 4.6
|
||||
;; * Indentation for the current line (TAB) and selected region (C-M-\).
|
||||
;; * Switching between file.vert and file.frag
|
||||
;; with S-lefttab (via ff-find-other-file)
|
||||
;; * interactive function glsl-find-man-page prompts for glsl built
|
||||
;; in function, formats opengl.org url and passes to browse-url
|
||||
|
||||
;;; Installation:
|
||||
|
||||
;; This file requires Emacs-20.3 or higher and package cc-mode.
|
||||
|
||||
;; If glsl-mode is not part of your distribution, put this file into your
|
||||
;; load-path and the following into your ~/.emacs:
|
||||
;; (autoload 'glsl-mode "glsl-mode" nil t)
|
||||
;; (add-to-list 'auto-mode-alist '("\\.glsl\\'" . glsl-mode))
|
||||
;; (add-to-list 'auto-mode-alist '("\\.vert\\'" . glsl-mode))
|
||||
;; (add-to-list 'auto-mode-alist '("\\.frag\\'" . glsl-mode))
|
||||
;; (add-to-list 'auto-mode-alist '("\\.geom\\'" . glsl-mode))
|
||||
|
||||
;; Reference:
|
||||
;; https://www.khronos.org/registry/OpenGL/specs/gl/GLSLangSpec.4.60.pdf
|
||||
|
||||
;;; Code:
|
||||
|
||||
(provide 'glsl-mode)
|
||||
|
||||
(eval-when-compile ; required and optional libraries
|
||||
(require 'cc-mode)
|
||||
(require 'find-file))
|
||||
|
||||
(require 'align)
|
||||
|
||||
(defgroup glsl nil
|
||||
"OpenGL Shading Language Major Mode"
|
||||
:group 'languages)
|
||||
|
||||
(defconst glsl-language-version "4.6"
|
||||
"GLSL language version number.")
|
||||
|
||||
(defconst gl-version "4.6"
|
||||
"OpenGL major mode version number.")
|
||||
|
||||
(defvar glsl-mode-menu nil "Menu for GLSL mode")
|
||||
|
||||
(defvar glsl-mode-hook nil "GLSL mode hook")
|
||||
|
||||
(defvar glsl-type-face 'glsl-type-face)
|
||||
(defface glsl-type-face
|
||||
'((t (:inherit font-lock-type-face))) "glsl: type face"
|
||||
:group 'glsl)
|
||||
|
||||
(defvar glsl-builtin-face 'glsl-builtin-face)
|
||||
(defface glsl-builtin-face
|
||||
'((t (:inherit font-lock-builtin-face))) "glsl: builtin face"
|
||||
:group 'glsl)
|
||||
|
||||
(defvar glsl-deprecated-builtin-face 'glsl-deprecated-builtin-face)
|
||||
(defface glsl-deprecated-builtin-face
|
||||
'((t (:inherit font-lock-warning-face))) "glsl: deprecated builtin face"
|
||||
:group 'glsl)
|
||||
|
||||
(defvar glsl-qualifier-face 'glsl-qualifier-face)
|
||||
(defface glsl-qualifier-face
|
||||
'((t (:inherit font-lock-keyword-face))) "glsl: qualifier face"
|
||||
:group 'glsl)
|
||||
|
||||
(defvar glsl-keyword-face 'glsl-keyword-face)
|
||||
(defface glsl-keyword-face
|
||||
'((t (:inherit font-lock-keyword-face))) "glsl: keyword face"
|
||||
:group 'glsl)
|
||||
|
||||
(defvar glsl-deprecated-keyword-face 'glsl-deprecated-keyword-face)
|
||||
(defface glsl-deprecated-keyword-face
|
||||
'((t (:inherit font-lock-warning-face))) "glsl: deprecated keyword face"
|
||||
:group 'glsl)
|
||||
|
||||
(defvar glsl-variable-name-face 'glsl-variable-name-face)
|
||||
(defface glsl-variable-name-face
|
||||
'((t (:inherit font-lock-variable-name-face))) "glsl: variable face"
|
||||
:group 'glsl)
|
||||
|
||||
(defvar glsl-deprecated-variable-name-face 'glsl-deprecated-variable-name-face)
|
||||
(defface glsl-deprecated-variable-name-face
|
||||
'((t (:inherit font-lock-warning-face))) "glsl: deprecated variable face"
|
||||
:group 'glsl)
|
||||
|
||||
(defvar glsl-reserved-keyword-face 'glsl-reserved-keyword-face)
|
||||
(defface glsl-reserved-keyword-face
|
||||
'((t (:inherit glsl-keyword-face))) "glsl: reserved keyword face"
|
||||
:group 'glsl)
|
||||
|
||||
(defvar glsl-preprocessor-face 'glsl-preprocessor-face)
|
||||
(defface glsl-preprocessor-face
|
||||
'((t (:inherit font-lock-preprocessor-face))) "glsl: preprocessor face"
|
||||
:group 'glsl)
|
||||
|
||||
(defcustom glsl-additional-types nil
|
||||
"List of additional keywords to be considered types. These are
|
||||
added to the `glsl-type-list' and are fontified using the
|
||||
`glsl-type-face'. Examples of existing types include \"float\", \"vec4\",
|
||||
and \"int\"."
|
||||
:type '(repeat (string :tag "Type Name"))
|
||||
:group 'glsl)
|
||||
|
||||
(defcustom glsl-additional-qualifiers nil
|
||||
"List of additional keywords to be considered qualifiers. These
|
||||
are added to the `glsl-qualifier-list' and are fontified using
|
||||
the `glsl-qualifier-face'. Examples of existing qualifiers
|
||||
include \"const\", \"in\", and \"out\"."
|
||||
:type '(repeat (string :tag "Qualifier Name"))
|
||||
:group 'glsl)
|
||||
|
||||
(defcustom glsl-additional-keywords nil
|
||||
"List of additional GLSL keywords. These are added to the
|
||||
`glsl-keyword-list' and are fontified using the
|
||||
`glsl-keyword-face'. Example existing keywords include \"while\",
|
||||
\"if\", and \"return\"."
|
||||
:type '(repeat (string :tag "Keyword"))
|
||||
:group 'glsl)
|
||||
|
||||
(defcustom glsl-additional-built-ins nil
|
||||
"List of additional functions to be considered built-in. These
|
||||
are added to the `glsl-builtin-list' and are fontified using the
|
||||
`glsl-builtin-face'."
|
||||
:type '(repeat (string :tag "Keyword"))
|
||||
:group 'glsl)
|
||||
|
||||
(defvar glsl-mode-hook nil)
|
||||
|
||||
(defvar glsl-mode-map
|
||||
(let ((glsl-mode-map (make-sparse-keymap)))
|
||||
(define-key glsl-mode-map [S-iso-lefttab] 'ff-find-other-file)
|
||||
glsl-mode-map)
|
||||
"Keymap for GLSL major mode.")
|
||||
|
||||
(defcustom glsl-browse-url-function 'browse-url
|
||||
"Function used to display GLSL man pages. E.g. browse-url, eww, w3m, etc"
|
||||
:type 'function
|
||||
:group 'glsl)
|
||||
|
||||
(defcustom glsl-man-pages-base-url "http://www.opengl.org/sdk/docs/man/html/"
|
||||
"Location of GL man pages."
|
||||
:type 'string
|
||||
:group 'glsl)
|
||||
|
||||
;;;###autoload
|
||||
(progn
|
||||
(add-to-list 'auto-mode-alist '("\\.vert\\'" . glsl-mode))
|
||||
(add-to-list 'auto-mode-alist '("\\.frag\\'" . glsl-mode))
|
||||
(add-to-list 'auto-mode-alist '("\\.geom\\'" . glsl-mode))
|
||||
(add-to-list 'auto-mode-alist '("\\.glsl\\'" . glsl-mode)))
|
||||
|
||||
(eval-and-compile
|
||||
;; These vars are useful for completion so keep them around after
|
||||
;; compile as well. The goal here is to have the byte compiled code
|
||||
;; have optimized regexps so its not done at eval time.
|
||||
(defvar glsl-type-list
|
||||
'("float" "double" "int" "void" "bool" "true" "false" "mat2" "mat3"
|
||||
"mat4" "dmat2" "dmat3" "dmat4" "mat2x2" "mat2x3" "mat2x4" "dmat2x2"
|
||||
"dmat2x3" "dmat2x4" "mat3x2" "mat3x3" "mat3x4" "dmat3x2" "dmat3x3"
|
||||
"dmat3x4" "mat4x2" "mat4x3" "mat4x4" "dmat4x2" "dmat4x3" "dmat4x4" "vec2"
|
||||
"vec3" "vec4" "ivec2" "ivec3" "ivec4" "bvec2" "bvec3" "bvec4" "dvec2"
|
||||
"dvec3" "dvec4" "uint" "uvec2" "uvec3" "uvec4" "atomic_uint"
|
||||
"sampler1D" "sampler2D" "sampler3D" "samplerCube" "sampler1DShadow"
|
||||
"sampler2DShadow" "samplerCubeShadow" "sampler1DArray" "sampler2DArray"
|
||||
"sampler1DArrayShadow" "sampler2DArrayShadow" "isampler1D" "isampler2D"
|
||||
"isampler3D" "isamplerCube" "isampler1DArray" "isampler2DArray"
|
||||
"usampler1D" "usampler2D" "usampler3D" "usamplerCube" "usampler1DArray"
|
||||
"usampler2DArray" "sampler2DRect" "sampler2DRectShadow" "isampler2DRect"
|
||||
"usampler2DRect" "samplerBuffer" "isamplerBuffer" "usamplerBuffer"
|
||||
"sampler2DMS" "isampler2DMS" "usampler2DMS" "sampler2DMSArray"
|
||||
"isampler2DMSArray" "usampler2DMSArray" "samplerCubeArray"
|
||||
"samplerCubeArrayShadow" "isamplerCubeArray" "usamplerCubeArray"
|
||||
"image1D" "iimage1D" "uimage1D" "image2D" "iimage2D" "uimage2D" "image3D"
|
||||
"iimage3D" "uimage3D" "image2DRect" "iimage2DRect" "uimage2DRect"
|
||||
"imageCube" "iimageCube" "uimageCube" "imageBuffer" "iimageBuffer"
|
||||
"uimageBuffer" "image1DArray" "iimage1DArray" "uimage1DArray"
|
||||
"image2DArray" "iimage2DArray" "uimage2DArray" "imageCubeArray"
|
||||
"iimageCubeArray" "uimageCubeArray" "image2DMS" "iimage2DMS" "uimage2DMS"
|
||||
"image2DMSArray" "iimage2DMSArray" "uimage2DMSArray"))
|
||||
|
||||
(defvar glsl-qualifier-list
|
||||
'("attribute" "const" "uniform" "varying" "buffer" "shared" "coherent"
|
||||
"volatile" "restrict" "readonly" "writeonly" "layout" "centroid" "flat"
|
||||
"smooth" "noperspective" "patch" "sample" "in" "out" "inout"
|
||||
"invariant" "lowp" "mediump" "highp"))
|
||||
|
||||
(defvar glsl-keyword-list
|
||||
'("break" "continue" "do" "for" "while" "if" "else" "subroutine"
|
||||
"discard" "return" "precision" "struct" "switch" "default" "case"))
|
||||
|
||||
(defvar glsl-reserved-list
|
||||
'("input" "output" "asm" "class" "union" "enum" "typedef" "template" "this"
|
||||
"packed" "resource" "goto" "inline" "noinline"
|
||||
"common" "partition" "active" "long" "short" "half" "fixed" "unsigned" "superp"
|
||||
"public" "static" "extern" "external" "interface"
|
||||
"hvec2" "hvec3" "hvec4" "fvec2" "fvec3" "fvec4"
|
||||
"filter" "sizeof" "cast" "namespace" "using"
|
||||
"sampler3DRect"))
|
||||
|
||||
(defvar glsl-deprecated-qualifier-list
|
||||
'("varying" "attribute")) ; centroid is deprecated when used with varying
|
||||
|
||||
(defvar glsl-builtin-list
|
||||
'("abs" "acos" "acosh" "all" "any" "anyInvocation" "allInvocations"
|
||||
"allInvocationsEqual" "asin" "asinh" "atan" "atanh"
|
||||
"atomicAdd" "atomicMin" "atomicMax" "atomicAnd" "atomicOr"
|
||||
"atomicXor" "atomicExchange" "atomicCompSwap"
|
||||
"atomicCounter" "atomicCounterDecrement" "atomicCounterIncrement"
|
||||
"atomicCounterAdd" "atomicCounterSubtract" "atomicCounterMin"
|
||||
"atomicCounterMax" "atomicCounterAnd" "atomicCounterOr"
|
||||
"atomicCounterXor" "atomicCounterExchange" "atomicCounterCompSwap"
|
||||
"barrier" "bitCount" "bitfieldExtract" "bitfieldInsert" "bitfieldReverse"
|
||||
"ceil" "clamp" "cos" "cosh" "cross" "degrees" "determinant" "dFdx" "dFdy"
|
||||
"dFdyFine" "dFdxFine" "dFdyCoarse" "dFdxCoarse" "distance" "dot"
|
||||
"fwidthFine" "fwidthCoarse"
|
||||
"EmitStreamVertex" "EmitStreamPrimitive" "EmitVertex" "EndPrimitive"
|
||||
"EndStreamPrimitive" "equal" "exp" "exp2" "faceforward" "findLSB"
|
||||
"findMSB" "floatBitsToInt" "floatBitsToUint" "floor" "fma" "fract"
|
||||
"frexp" "fwidth" "greaterThan" "greaterThanEqual" "groupMemoryBarrier"
|
||||
"imageAtomicAdd" "imageAtomicAnd" "imageAtomicCompSwap" "imageAtomicExchange"
|
||||
"imageAtomicMax" "imageAtomicMin" "imageAtomicOr" "imageAtomicXor"
|
||||
"imageLoad" "imageSize" "imageStore" "imulExtended" "intBitsToFloat"
|
||||
"imageSamples" "interpolateAtCentroid" "interpolateAtOffset" "interpolateAtSample"
|
||||
"inverse" "inversesqrt" "isinf" "isnan" "ldexp" "length" "lessThan"
|
||||
"lessThanEqual" "log" "log2" "matrixCompMult" "max" "memoryBarrier"
|
||||
"memoryBarrierAtomicCounter" "memoryBarrierBuffer"
|
||||
"memoryBarrierShared" "memoryBarrierImage" "memoryBarrier"
|
||||
"min" "mix" "mod" "modf" "normalize" "not" "notEqual" "outerProduct"
|
||||
"packDouble2x32" "packHalf2x16" "packSnorm2x16" "packSnorm4x8"
|
||||
"packUnorm2x16" "packUnorm4x8" "pow" "radians" "reflect" "refract"
|
||||
"round" "roundEven" "sign" "sin" "sinh" "smoothstep" "sqrt" "step" "tan"
|
||||
"tanh" "texelFetch" "texelFetchOffset" "texture" "textureGather"
|
||||
"textureGatherOffset" "textureGatherOffsets" "textureGrad" "textureSamples"
|
||||
"textureGradOffset" "textureLod" "textureLodOffset" "textureOffset"
|
||||
"textureProj" "textureProjGrad" "textureProjGradOffset" "textureProjLod"
|
||||
"textureProjLodOffset" "textureProjOffset" "textureQueryLevels" "textureQueryLod"
|
||||
"textureSize" "transpose" "trunc" "uaddCarry" "uintBitsToFloat"
|
||||
"umulExtended" "unpackDouble2x32" "unpackHalf2x16" "unpackSnorm2x16"
|
||||
"unpackSnorm4x8" "unpackUnorm2x16" "unpackUnorm4x8" "usubBorrow"))
|
||||
|
||||
(defvar glsl-deprecated-builtin-list
|
||||
'("noise1" "noise2" "noise3" "noise4"
|
||||
"texture1D" "texture1DProj" "texture1DLod" "texture1DProjLod"
|
||||
"texture2D" "texture2DProj" "texture2DLod" "texture2DProjLod"
|
||||
"texture2DRect" "texture2DRectProj"
|
||||
"texture3D" "texture3DProj" "texture3DLod" "texture3DProjLod"
|
||||
"shadow1D" "shadow1DProj" "shadow1DLod" "shadow1DProjLod"
|
||||
"shadow2D" "shadow2DProj" "shadow2DLod" "shadow2DProjLod"
|
||||
"textureCube" "textureCubeLod"))
|
||||
|
||||
(defvar glsl-deprecated-variables-list
|
||||
'("gl_FragColor" "gl_FragData" "gl_MaxVarying" "gl_MaxVaryingFloats"
|
||||
"gl_MaxVaryingComponents"))
|
||||
|
||||
(defvar glsl-preprocessor-directive-list
|
||||
'("define" "undef" "if" "ifdef" "ifndef" "else" "elif" "endif"
|
||||
"error" "pragma" "extension" "version" "line"))
|
||||
|
||||
(defvar glsl-preprocessor-expr-list
|
||||
'("defined" "##"))
|
||||
|
||||
(defvar glsl-preprocessor-builtin-list
|
||||
'("__LINE__" "__FILE__" "__VERSION__"))
|
||||
|
||||
) ; eval-and-compile
|
||||
|
||||
(eval-and-compile
|
||||
(defun glsl-ppre (re)
|
||||
(format "\\<\\(%s\\)\\>" (regexp-opt re))))
|
||||
|
||||
(defvar glsl-font-lock-keywords-1
|
||||
(append
|
||||
(list
|
||||
(cons (eval-when-compile
|
||||
(format "^[ \t]*#[ \t]*\\<\\(%s\\)\\>"
|
||||
(regexp-opt glsl-preprocessor-directive-list)))
|
||||
glsl-preprocessor-face)
|
||||
(cons (eval-when-compile
|
||||
(glsl-ppre glsl-type-list))
|
||||
glsl-type-face)
|
||||
(cons (eval-when-compile
|
||||
(glsl-ppre glsl-deprecated-qualifier-list))
|
||||
glsl-deprecated-keyword-face)
|
||||
(cons (eval-when-compile
|
||||
(glsl-ppre glsl-reserved-list))
|
||||
glsl-reserved-keyword-face)
|
||||
(cons (eval-when-compile
|
||||
(glsl-ppre glsl-qualifier-list))
|
||||
glsl-qualifier-face)
|
||||
(cons (eval-when-compile
|
||||
(glsl-ppre glsl-keyword-list))
|
||||
glsl-keyword-face)
|
||||
(cons (eval-when-compile
|
||||
(glsl-ppre glsl-preprocessor-builtin-list))
|
||||
glsl-keyword-face)
|
||||
(cons (eval-when-compile
|
||||
(glsl-ppre glsl-deprecated-builtin-list))
|
||||
glsl-deprecated-builtin-face)
|
||||
(cons (eval-when-compile
|
||||
(glsl-ppre glsl-builtin-list))
|
||||
glsl-builtin-face)
|
||||
(cons (eval-when-compile
|
||||
(glsl-ppre glsl-deprecated-variables-list))
|
||||
glsl-deprecated-variable-name-face)
|
||||
(cons "gl_[A-Z][A-Za-z_]+" glsl-variable-name-face)
|
||||
)
|
||||
|
||||
(when glsl-additional-types
|
||||
(list
|
||||
(cons (glsl-ppre glsl-additional-types) glsl-type-face)))
|
||||
(when glsl-additional-keywords
|
||||
(list
|
||||
(cons (glsl-ppre glsl-additional-keywords) glsl-keyword-face)))
|
||||
(when glsl-additional-qualifiers
|
||||
(list
|
||||
(cons (glsl-ppre glsl-additional-qualifiers) glsl-qualifier-face)))
|
||||
(when glsl-additional-built-ins
|
||||
(list
|
||||
(cons (glsl-ppre glsl-additional-built-ins) glsl-builtin-face)))
|
||||
)
|
||||
"Highlighting expressions for GLSL mode.")
|
||||
|
||||
|
||||
(defvar glsl-font-lock-keywords glsl-font-lock-keywords-1
|
||||
"Default highlighting expressions for GLSL mode.")
|
||||
|
||||
(defvar glsl-mode-syntax-table
|
||||
(let ((glsl-mode-syntax-table (make-syntax-table)))
|
||||
(modify-syntax-entry ?/ ". 124b" glsl-mode-syntax-table)
|
||||
(modify-syntax-entry ?* ". 23" glsl-mode-syntax-table)
|
||||
(modify-syntax-entry ?\n "> b" glsl-mode-syntax-table)
|
||||
(modify-syntax-entry ?_ "w" glsl-mode-syntax-table)
|
||||
glsl-mode-syntax-table)
|
||||
"Syntax table for glsl-mode.")
|
||||
|
||||
(defvar glsl-other-file-alist
|
||||
'(("\\.frag$" (".vert"))
|
||||
("\\.vert$" (".frag"))
|
||||
)
|
||||
"Alist of extensions to find given the current file's extension.")
|
||||
|
||||
(defun glsl-man-completion-list ()
|
||||
"Return list of all GLSL keywords."
|
||||
(append glsl-builtin-list glsl-deprecated-builtin-list))
|
||||
|
||||
(defun glsl-find-man-page (thing)
|
||||
"Collects and displays manual entry for GLSL built-in function THING."
|
||||
(interactive
|
||||
(let ((word (current-word nil t)))
|
||||
(list
|
||||
(completing-read
|
||||
(concat "OpenGL.org GLSL man page: (" word "): ")
|
||||
(glsl-man-completion-list)
|
||||
nil nil nil nil word))))
|
||||
(save-excursion
|
||||
(apply glsl-browse-url-function
|
||||
(list (concat glsl-man-pages-base-url thing ".xhtml")))))
|
||||
|
||||
(easy-menu-define glsl-menu glsl-mode-map
|
||||
"GLSL Menu"
|
||||
`("GLSL"
|
||||
["Comment Out Region" comment-region
|
||||
(c-fn-region-is-active-p)]
|
||||
["Uncomment Region" (comment-region (region-beginning)
|
||||
(region-end) '(4))
|
||||
(c-fn-region-is-active-p)]
|
||||
["Indent Expression" c-indent-exp
|
||||
(memq (char-after) '(?\( ?\[ ?\{))]
|
||||
["Indent Line or Region" c-indent-line-or-region t]
|
||||
["Fill Comment Paragraph" c-fill-paragraph t]
|
||||
"----"
|
||||
["Backward Statement" c-beginning-of-statement t]
|
||||
["Forward Statement" c-end-of-statement t]
|
||||
"----"
|
||||
["Up Conditional" c-up-conditional t]
|
||||
["Backward Conditional" c-backward-conditional t]
|
||||
["Forward Conditional" c-forward-conditional t]
|
||||
"----"
|
||||
["Backslashify" c-backslash-region (c-fn-region-is-active-p)]
|
||||
"----"
|
||||
["Find GLSL Man Page" glsl-find-man-page t]
|
||||
))
|
||||
|
||||
;;;###autoload
|
||||
(define-derived-mode glsl-mode prog-mode "GLSL"
|
||||
"Major mode for editing GLSL shader files."
|
||||
(c-initialize-cc-mode t)
|
||||
(setq abbrev-mode t)
|
||||
(c-init-language-vars-for 'c-mode)
|
||||
(c-common-init 'c-mode)
|
||||
(cc-imenu-init cc-imenu-c++-generic-expression)
|
||||
(set (make-local-variable 'font-lock-defaults) '(glsl-font-lock-keywords))
|
||||
(set (make-local-variable 'ff-other-file-alist) 'glsl-other-file-alist)
|
||||
(set (make-local-variable 'comment-start) "// ")
|
||||
(set (make-local-variable 'comment-end) "")
|
||||
(set (make-local-variable 'comment-padding) "")
|
||||
(easy-menu-add glsl-menu)
|
||||
(add-to-list 'align-c++-modes 'glsl-mode)
|
||||
(c-run-mode-hooks 'c-mode-common-hook)
|
||||
(run-mode-hooks 'glsl-mode-hook)
|
||||
:after-hook (progn (c-make-noise-macro-regexps)
|
||||
(c-make-macro-with-semi-re)
|
||||
(c-update-modeline))
|
||||
)
|
||||
|
||||
;;; glsl-mode.el ends here
|
|
@ -0,0 +1 @@
|
|||
Subproject commit cf2779ec15cb6315f2d887a7287afc7da5d734b9
|
|
@ -0,0 +1,252 @@
|
|||
;;; Configuration --- my config for emacs
|
||||
|
||||
;;; Commentary:
|
||||
;; Setting up Emacs as a minimal text editor with support for LSP
|
||||
|
||||
;;; Code:
|
||||
|
||||
;; Start up to a more minimal text editor
|
||||
(setq inhibit-startup-message t)
|
||||
|
||||
(menu-bar-mode -1) ; no menu bar
|
||||
(scroll-bar-mode -1) ; no visible scrollbar
|
||||
(tool-bar-mode -1) ; no toolbar
|
||||
(tooltip-mode -1) ; no tooltips
|
||||
(set-fringe-mode 10) ; horizontal padding
|
||||
(global-auto-revert-mode t) ; automatically refresh files when I do git stuff
|
||||
(setq visible-bell t) ; visual instead of audio indicator for errors
|
||||
(setq create-lockfiles nil) ; don't create .# files
|
||||
(setq make-backup-files nil) ; don't create backfup files
|
||||
(setq gc-cons-threshold #x8000000) ; garbage collection limit
|
||||
|
||||
; Set the initial window size
|
||||
(if (window-system) (set-frame-size (selected-frame) 180 50))
|
||||
|
||||
;; Set Default font and font size
|
||||
|
||||
(add-to-list 'default-frame-alist '(font . "Source Code Pro"))
|
||||
(set-face-attribute 'default t :font "Source Code Pro")
|
||||
(set-face-attribute 'default nil :height 105)
|
||||
|
||||
;; Make ESQ quit prompts
|
||||
(global-set-key (kbd "<escape>") 'keyboard-escape-quit)
|
||||
|
||||
;; Line numbers
|
||||
(column-number-mode)
|
||||
(global-display-line-numbers-mode t)
|
||||
|
||||
(dolist (mode '(org-mode-hook
|
||||
term-mode-hook
|
||||
eshell-mode-hook))
|
||||
(add-hook mode (lambda () (display-line-numbers-mode 0))))
|
||||
|
||||
;; Initialize package sources
|
||||
|
||||
(require 'package)
|
||||
|
||||
(setq package-archives '(("melpa" . "https://melpa.org/packages/")
|
||||
("org" . "https://orgmode.org/elpa/")
|
||||
("gnu" . "https://elpa.gnu.org/packages/")))
|
||||
|
||||
(package-initialize)
|
||||
(unless package-archive-contents
|
||||
(package-refresh-contents))
|
||||
|
||||
; Initialize use-package on non-Linux platforms
|
||||
(unless (package-installed-p 'use-package)
|
||||
(package-install 'use-package))
|
||||
|
||||
(require 'use-package)
|
||||
(setq use-package-always-ensure t)
|
||||
|
||||
;; Themes
|
||||
|
||||
(use-package doom-modeline
|
||||
:ensure t
|
||||
:init (doom-modeline-mode 1)
|
||||
:custom ((doom-modeline-height 15)))
|
||||
|
||||
(use-package doom-themes
|
||||
:config
|
||||
(setq doom-themes-enable-bold t
|
||||
doom-themes-enable-italic t)
|
||||
(doom-themes-visual-bell-config)
|
||||
:init (load-theme 'doom-gruvbox t))
|
||||
|
||||
;; Search Functionality
|
||||
|
||||
(use-package counsel
|
||||
:bind (("M-x" . counsel-M-x)
|
||||
("C-x b" . counsel-ibuffer)
|
||||
("C-x C-f" . counsel-find-file)
|
||||
:map minibuffer-local-map
|
||||
("C-r" . 'counsel-minibuffer-history))
|
||||
:config (setq ivy-initial-inputs-alist nil))
|
||||
|
||||
(use-package swiper)
|
||||
|
||||
(use-package ivy
|
||||
:diminish
|
||||
:bind (("C-s" . swiper)
|
||||
:map ivy-minibuffer-map
|
||||
("TAB" . ivy-partial-or-done)
|
||||
("C-j" . ivy-immediate-done)
|
||||
("RET" . ivy-alt-done)
|
||||
:map ivy-switch-buffer-map
|
||||
("C-d" . ivy-switch-buffer-kill)
|
||||
:map ivy-reverse-i-search-map
|
||||
("C-d" . ivy-reverse-i-search-kill))
|
||||
:config
|
||||
(setq ivy-re-builders-alist '((t . ivy--regex-ignore-order)))
|
||||
(ivy-mode 1))
|
||||
|
||||
(use-package ivy-rich
|
||||
:init (ivy-rich-mode 1))
|
||||
|
||||
;; Help
|
||||
|
||||
(use-package which-key
|
||||
:init (which-key-mode)
|
||||
:diminish which-key-mode
|
||||
:config (setq which-key-idle-delay 0.3))
|
||||
|
||||
(use-package helpful
|
||||
:custom
|
||||
(counsel-describe-function-function #'helpful-callable)
|
||||
(counsel-describe-variable-function #'helpful-variable)
|
||||
:bind (([remap describe-function] . counsel-describe-function)
|
||||
([remap describe-command] . helpful-command)
|
||||
([remap describe-variable] . counsel-describe-variable)
|
||||
([remap describe-key] . helpful-key)))
|
||||
|
||||
;; Project management
|
||||
|
||||
(use-package projectile
|
||||
:diminish projectile-mode
|
||||
:config (projectile-mode)
|
||||
:custom ((projectile-completion-system 'ivy))
|
||||
:bind-keymap ("C-c p" . projectile-command-map)
|
||||
:init (when (file-directory-p "~/Code")
|
||||
(setq projectile-project-search-path '("~/Code"))))
|
||||
|
||||
(use-package counsel-projectile
|
||||
:config (counsel-projectile-mode))
|
||||
|
||||
;; Programming
|
||||
|
||||
(use-package rainbow-delimiters
|
||||
:hook (prog-mode . rainbow-delimiters-mode))
|
||||
|
||||
;; Use smartparens for rust and perhaps other C-like
|
||||
(use-package smartparens-config
|
||||
:ensure smartparens
|
||||
:diminish smartparens-mode
|
||||
:hook (rustic-mode . smartparens-mode)
|
||||
:bind (("C-M-a" . sp-beginning-of-sexp)
|
||||
("C-M-e" . sp-end-of-sexp)
|
||||
("C-M-n" . sp-next-sexp)
|
||||
("C-M-p" . sp-previous-sexp)
|
||||
("C-M-f" . sp-forward-sexp)
|
||||
("C-M-b" . sp-backward-sexp)
|
||||
("M-f" . sp-forward-symbol)
|
||||
("M-b" . sp-backward-symbol)
|
||||
("C-k" . sp-kill-hybrid-sexp)
|
||||
("C-)" . sp-slurp-hybrid-sexp))
|
||||
:config (require 'smartparens-config))
|
||||
|
||||
;; Use paredit for everything else
|
||||
(use-package paredit
|
||||
:diminish paredit-mode
|
||||
:hook ((emacs-lisp-mode . enable-paredit-mode)
|
||||
(ielm-mode . enable-paredit-mode)))
|
||||
|
||||
;; Spaces over tabs
|
||||
(setq-default indent-tabs-mode nil)
|
||||
|
||||
(defun disable-tabs ()
|
||||
"Use spaces for indentation."
|
||||
(setq indent-tabs-mode nil))
|
||||
|
||||
(dolist (mode '(prog-mode-hook
|
||||
lisp-mode-hook
|
||||
emacs-lisp-mode-hook))
|
||||
(add-hook mode 'disable-tabs))
|
||||
|
||||
;; Highlight whitespace
|
||||
(use-package whitespace-mode
|
||||
:ensure nil ; don't actually install the package
|
||||
:hook
|
||||
(prog-mode . whitespace-mode)
|
||||
(before-save . whitespace-cleanup)
|
||||
(whitespace-mode . (lambda ()
|
||||
(setq whitespace-display-mappings
|
||||
'((space-mark 32 [183] [46])
|
||||
(space-mark 160 [164] [95])
|
||||
(newline-mark 10 [#x23CE 10] [36 10])
|
||||
(tab-mark 9 [187 9] [92 9])))))
|
||||
:custom (whitespace-line '((t (:underline (:color "dim gray" :style wave))))))
|
||||
|
||||
;; Error checking
|
||||
(use-package flycheck
|
||||
:hook (prog-mode . flycheck-mode))
|
||||
|
||||
;; Auto-completion
|
||||
(use-package company
|
||||
:hook (prog-mode . company-mode)
|
||||
:config (setq company-tooltip-align-annotations t
|
||||
company-minimum-prefix-length 2))
|
||||
|
||||
;; Must be installed for rust-analyzer to work
|
||||
(use-package yasnippet
|
||||
:ensure
|
||||
:config
|
||||
(yas-reload-all)
|
||||
(add-hook 'prog-mode-hook 'yas-minor-mode))
|
||||
|
||||
;; Language server protocol
|
||||
(use-package lsp-mode
|
||||
:init (setq lsp-keymap-prefix "C-c l")
|
||||
:hook ((lsp-mode . lsp-enable-which-key-integration))
|
||||
:bind (:map lsp-mode-map
|
||||
("M-?" . lsp-find-references))
|
||||
:commands lsp
|
||||
:config
|
||||
(setq lsp-eldoc-render-all nil)
|
||||
; (setq lsp-signature-auto-activate t)
|
||||
(setq lsp-enable-xref t))
|
||||
|
||||
(use-package lsp-ivy
|
||||
:commands lsp-ivy-workspace-symbol)
|
||||
|
||||
;; Rust programming
|
||||
|
||||
;; Nuke rust-mode from the auto-mode-alist so that rustic mode loads instead
|
||||
(use-package rust-mode
|
||||
:config
|
||||
(while (rassoc 'rust-mode auto-mode-alist)
|
||||
(setq auto-mode-alist
|
||||
(assq-delete-all (car (rassoc 'rust-mode auto-mode-alist))
|
||||
auto-mode-alist))))
|
||||
|
||||
(use-package rustic
|
||||
:bind (:map rustic-mode-map ("C-c C-c l" . flycheck-list-errors))
|
||||
:config
|
||||
(setq rustic-format-on-save t)
|
||||
(add-hook 'rustic-mode-hook 'glfmn/rustic-mode-hook))
|
||||
|
||||
(defun glfmn/rustic-mode-hook ()
|
||||
;; so that run C-c C-c C-r works without having to confirm
|
||||
(setq-local buffer-save-without-query t))
|
||||
|
||||
(use-package flycheck-rust
|
||||
:config (add-hook 'flycheck-mode-hook #'flycheck-rust-setup))
|
||||
|
||||
(use-package toml-mode)
|
||||
|
||||
(use-package wgsl-mode
|
||||
:load-path "~/.emacs.d/github-packages/wgsl-mode"
|
||||
:mode "\\.wgsl\\'")
|
||||
|
||||
(use-package glsl-mode
|
||||
:load-path "~/.emacs.d/github-packages/glsl-mode")
|
||||
;;; init.el ends here
|
|
@ -1,18 +1,28 @@
|
|||
[user]
|
||||
name = Gwen Lofman
|
||||
email = git@glfmn.io
|
||||
signingkey = 4DB217ABEC8E37B0
|
||||
|
||||
[commit]
|
||||
gpgSign = true
|
||||
|
||||
[tag]
|
||||
gpgSign = true
|
||||
[push]
|
||||
default = simple
|
||||
|
||||
[core]
|
||||
editor = "hx"
|
||||
editor = "vi"
|
||||
excludesfile = ~/.gitignore_global
|
||||
attributesfile = ~/.gitattributes_global
|
||||
pager = delta --dark
|
||||
|
||||
[filter "lfs"]
|
||||
clean = git-lfs clean -- %f
|
||||
smudge = git-lfs smudge -- %f
|
||||
required = true
|
||||
process = git-lfs filter-process
|
||||
|
||||
[filter "nbstrip_full"]
|
||||
clean = "jq --indent 1 \
|
||||
'(.cells[] | select(has(\"outputs\")) | .outputs) = [] \
|
||||
| (.cells[] | select(has(\"execution_count\")) | .execution_count) = null \
|
||||
| .metadata = {\"language_info\": {\"name\": \"python\", \"pygments_lexer\": \"ipython3\"}} \
|
||||
| .cells[].metadata = {} \
|
||||
'"
|
||||
smudge = cat
|
||||
required = true
|
||||
|
||||
[alias]
|
||||
# "Custom" commands
|
||||
# diff against characters instead of lines
|
||||
|
@ -61,3 +71,15 @@
|
|||
fll = !git lgl --follow -- # long-format commits
|
||||
fst = !git lst --follow -- # stat-style commits
|
||||
fpa = !git lpa --follow -- # full patch commits
|
||||
|
||||
[commit]
|
||||
verbose = true
|
||||
|
||||
[help]
|
||||
autocorrect = 10
|
||||
|
||||
[init]
|
||||
defaultBranch = main
|
||||
|
||||
[include]
|
||||
path = ~/.gitconfig.user
|
|
@ -0,0 +1,10 @@
|
|||
[user]
|
||||
name = Gwen Lofman
|
||||
email = git@glfmn.io
|
||||
signingkey = git@glfmn.io
|
||||
|
||||
[commit]
|
||||
gpgSign = true
|
||||
|
||||
[tag]
|
||||
gpgSign = true
|
|
@ -9,9 +9,3 @@ cargo install -f glit
|
|||
# Rust alternatives for common programs
|
||||
sudo apt install exa fd-find
|
||||
cargo install -f git-delta batcat
|
||||
|
||||
# Helix text editor
|
||||
mkdir -p ~/Code/util
|
||||
git clone https://github.com/helix-editor/helix ~/Code/util/helix
|
||||
cargo install --path ~/Code/util/helix/helix-term
|
||||
ln -s ~/Code/util/helix/runtime ~/.config/helix/runtime
|
||||
|
|
|
@ -0,0 +1,39 @@
|
|||
# GPG password extraction adapted from stackexchange
|
||||
# https://unix.stackexchange.com/questions/44214
|
||||
|
||||
import os, subprocess, re
|
||||
|
||||
def decrypt(path):
|
||||
args = ["gpg", "--use-agent", "--quiet", "--batch", "-d", path]
|
||||
try:
|
||||
return subprocess.check_output(args).strip()
|
||||
except BaseException as e:
|
||||
print("[ERROR] %s" % e)
|
||||
return ""
|
||||
|
||||
# Extract account information stored in key/value paris
|
||||
def get_account(acct, key):
|
||||
acct = os.path.basename(acct)
|
||||
path = os.path.expanduser("~/.passwd/%s.gpg" % str(acct))
|
||||
o = decrypt(path).splitlines()
|
||||
values = {k.strip():v.strip() for k, v in (l.split('=') for l in o)}
|
||||
return values[key]
|
||||
|
||||
default_folders = ['INBOX', 'Archive', 'Sent', 'Trash']
|
||||
|
||||
def folder_filter(name):
|
||||
# Mail provider has a folder with my mail folders called `Folders`.
|
||||
# Anything inside `Folders` should be synced: match the first
|
||||
# part of the path to allow them, otherwise only sync the inbox
|
||||
# and other default folders.
|
||||
return name[:7] == "Folders" or name in default_folders
|
||||
|
||||
def folder_rename(name):
|
||||
# Nested folders have `Folders.` as a prefix to indicate nesting.
|
||||
# Remove the prefix so names match, unless doing so would clash
|
||||
# with the default folders
|
||||
stripped = re.sub('^Folders.', '', name);
|
||||
if stripped not in default_folders:
|
||||
return stripped
|
||||
else:
|
||||
return name
|
|
@ -0,0 +1,37 @@
|
|||
[general]
|
||||
accounts = main
|
||||
pythonfile = ~/.offlineimap.py
|
||||
|
||||
[Account main]
|
||||
localrepository = main-local
|
||||
remoterepository = main-remote
|
||||
# full refresh, in min
|
||||
autorefresh = 0.2
|
||||
# quick refreshs between each full refresh
|
||||
quick = 10
|
||||
# update notmuch index after sync
|
||||
postsynchook = notmuch new
|
||||
|
||||
[Repository main-local]
|
||||
type = Maildir
|
||||
localfolders = ~/.mail
|
||||
# delete remote mails that were deleted locally
|
||||
sync_deletes = yes
|
||||
|
||||
[Repository main-remote]
|
||||
type = IMAP
|
||||
remoteport = 1143
|
||||
remotehost = 127.0.0.1
|
||||
remoteusereval = get_account('main-email', 'user')
|
||||
remotepasseval = get_account('main-email', 'password')
|
||||
keepalive = 60
|
||||
holdconnectionopen = yes
|
||||
# delete local mails that were deleted on the remote server
|
||||
expunge = yes
|
||||
# sync only these folders
|
||||
folderfilter = folder_filter
|
||||
nametrans = folder_rename
|
||||
# SSL
|
||||
ssl = no
|
||||
starttls = yes
|
||||
sslcacertfile = ~/.mailcert.pem
|
|
@ -32,10 +32,17 @@ scrolling:
|
|||
history: 10000
|
||||
multiplier: 3
|
||||
|
||||
# Font configuration
|
||||
# Font configuration (changes require restart)
|
||||
font:
|
||||
normal:
|
||||
family: BerkeleyMono
|
||||
#normal:
|
||||
#family: monospace
|
||||
#style: Regular
|
||||
#bold:
|
||||
#family: monospace
|
||||
#style: Bold
|
||||
italic:
|
||||
family: monospace
|
||||
style: Italic
|
||||
size: 11.0
|
||||
offset:
|
||||
x: 0
|
|
@ -22,13 +22,9 @@ if type -q cargo
|
|||
abbr -ga c cargo
|
||||
end
|
||||
|
||||
if type -q cargo-fuzz
|
||||
abbr -ga fuzz rustup run nightly cargo fuzz
|
||||
end
|
||||
|
||||
# configure cat replacement
|
||||
if type -q batcat
|
||||
abbr -ga cat batcat
|
||||
if type -q bat
|
||||
abbr -ga cat bat
|
||||
set -x BAT_THEME 'Monokai Extended'
|
||||
end
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
function fish_greeting
|
||||
echo ' '(set_color F00)'___
|
||||
___======____='(set_color FF7F00)'-'(set_color FF0)'-'(set_color FF7F00)'-='(set_color F00)')
|
||||
/T \_'(set_color FF0)'--='(set_color FF7F00)'=='(set_color F00)') '(set_color red)(whoami)'@'(hostname)'
|
||||
[ \ '(set_color FF7F00)'('(set_color FF0)'0'(set_color FF7F00)') '(set_color F00)'\~ \_'(set_color FF0)'-='(set_color FF7F00)'='(set_color F00)')'(set_color yellow)' Uptime:'(set_color white)(uptime | sed 's/.*up \([^,]*\), .*/\1/')(set_color red)'
|
||||
\ / )J'(set_color FF7F00)'~~ \\'(set_color FF0)'-='(set_color F00)') Theme: '(set_color white)(echo $fish_theme)(set_color red)'
|
||||
\\\\___/ )JJ'(set_color FF7F00)'~'(set_color FF0)'~~ '(set_color F00)'\) '(set_color yellow)'Version: '(set_color white)(echo $FISH_VERSION)(set_color red)'
|
||||
\_____/JJJ'(set_color FF7F00)'~~'(set_color FF0)'~~ '(set_color F00)'\\
|
||||
'(set_color FF7F00)'/ '(set_color FF0)'\ '(set_color FF0)', \\'(set_color F00)'J'(set_color FF7F00)'~~~'(set_color FF0)'~~ '(set_color FF7F00)'\\
|
||||
(-'(set_color FF0)'\)'(set_color F00)'\='(set_color FF7F00)'|'(set_color FF0)'\\\\\\'(set_color FF7F00)'~~'(set_color FF0)'~~ '(set_color FF7F00)'L_'(set_color FF0)'_
|
||||
'(set_color FF7F00)'('(set_color F00)'\\'(set_color FF7F00)'\\) ('(set_color FF0)'\\'(set_color FF7F00)'\\\)'(set_color F00)'_ '(set_color FF0)'\=='(set_color FF7F00)'__
|
||||
'(set_color F00)'\V '(set_color FF7F00)'\\\\'(set_color F00)'\) =='(set_color FF7F00)'=_____ '(set_color FF0)'\\\\\\\\'(set_color FF7F00)'\\\\
|
||||
'(set_color F00)'\V) \_) '(set_color FF7F00)'\\\\'(set_color FF0)'\\\\JJ\\'(set_color FF7F00)'J\)
|
||||
'(set_color F00)'/'(set_color FF7F00)'J'(set_color FF0)'\\'(set_color FF7F00)'J'(set_color F00)'T\\'(set_color FF7F00)'JJJ'(set_color F00)'J)
|
||||
(J'(set_color FF7F00)'JJ'(set_color F00)'| \UUU)
|
||||
(UU)'(set_color normal)
|
||||
end
|
38
setup.sh
38
setup.sh
|
@ -13,36 +13,36 @@ DIR=$(pwd -L)
|
|||
|
||||
echo -e "\n${GREEN}linking config files...${NC}\n"
|
||||
|
||||
# System config
|
||||
echo -e "\n\t${BOLD}System config...${NC}\n"
|
||||
ln -sbv "$DIR/config/bash/bashrc" ~/.bashrc
|
||||
ln -sbv "$DIR/config/bash/profile" ~/.bash_profile
|
||||
ln -sbv "$DIR/config/inputrc" ~/.inputrc
|
||||
ln -sbv "$DIR/config/fish" ~/.config/
|
||||
# System profiles
|
||||
echo -e "\n\t${BOLD}System profiles...${NC}\n"
|
||||
ln -sbv "$DIR/.bashrc" ~
|
||||
ln -sbv "$DIR/profiles/.bash_profile" ~
|
||||
ln -sbv "$DIR/profiles/.inputrc" ~
|
||||
ln -sbv "$DIR/profiles/fish" ~/.config/
|
||||
ln -sbv "$DIR/emacs" ~/.emacs.d
|
||||
|
||||
# Text editor config
|
||||
echo -e "\n\t${BOLD}Text editors...${NC}\n"
|
||||
ln -sbv "$DIR/config/vimrc" ~/.vimrc
|
||||
ln -sbv "$DIR/config/helix/config.toml" ~/.config/helix/config.toml
|
||||
ln -sbv "$DIR/config/helix/languages.toml" ~/.config/helix/languages.toml
|
||||
ln -sbv "$DIR/config/helix/themes/" ~/.config/helix/
|
||||
ln -sbv "$DIR/profiles/.vimrc" ~
|
||||
ln -sbv "$DIR/profiles/.spacemacs" ~
|
||||
ln -sbv "$DIR/service/emacs.service" ~/.config/systemd/user/
|
||||
|
||||
# Terminal Config
|
||||
echo -e "\n\t${BOLD}Terminal Emulator...${NC}\n"
|
||||
ln -sbv "$DIR/config/alacritty.yml" ~/.alacritty.yml
|
||||
ln -sbv "$DIR/profiles/.alacritty.yml" ~
|
||||
|
||||
# Git
|
||||
echo -e "\n\t${BOLD}git...${NC}\n"
|
||||
ln -sbv "$DIR/config/git/gitconfig" ~/.gitconfig
|
||||
ln -sbv "$DIR/config/git/gitconfig.user" ~/.gitconfig.user
|
||||
ln -sbv "$DIR/config/git/gitignore_global" ~/.gitignore_global
|
||||
ln -sbv "$DIR/config/git/gitattributes_global" ~/.gitattributes_global
|
||||
ln -sbv "$DIR/git/.gitconfig" ~
|
||||
ln -sbv "$DIR/git/.gitconfig.user" ~
|
||||
ln -sbv "$DIR/git/.gitignore_global" ~
|
||||
ln -sbv "$DIR/git/.gitattributes_global" ~
|
||||
|
||||
# e-mail
|
||||
echo -e "\n\t${BOLD}email...${NC}\n"
|
||||
ln -sbv "$DIR/mail/.mbsyncrc" ~
|
||||
ln -sbv "$DIR/mail/.msmtprc" ~
|
||||
ln -sbv "$DIR/mail/.offlineimaprc" ~
|
||||
ln -sbv "$DIR/mail/.offlineimap.py" ~
|
||||
ln -sbv "$DIR/mail/.notmuch-config" ~
|
||||
ln -sbv "$DIR/mail/.afew-config" ~/.config/afew/config
|
||||
ln -sbv "$DIR/service/checkmail.service" ~/.config/systemd/user/
|
||||
ln -sbv "$DIR/service/checkmail.timer" ~/.config/systemd/user/
|
||||
ln -sbv "$DIR/mail/checkmail.service" ~/.config/systemd/user/
|
||||
ln -sbv "$DIR/mail/checkmail.timer" ~/.config/systemd/user/
|
||||
|
|
Loading…
Reference in New Issue