From 17dbc52c52d221dc67c6963daacb8f22cc1230d4 Mon Sep 17 00:00:00 2001 From: Michael Chalupiak Date: Thu, 5 Sep 2024 19:16:28 -0400 Subject: [PATCH] deleted extras --- .bashrc | 168 - .config/btop/btop.conf | 248 - .config/btop/btop.log | 162 - .config/castero/castero.conf | 315 - .config/cmus/autosave | 233 - .config/cmus/cache | Bin 772228 -> 0 bytes .config/cmus/command-history | 7 - .config/cmus/lib.pl | 1355 -- .config/cmus/playlists/default | 9 - .config/cmus/rc | 1 - .config/cmus/search-history | 11 - .config/enchant/en_US.dic | 0 .config/enchant/en_US.exc | 0 .config/glib-2.0/settings/keyfile | 3 - .config/goread/urls.yml | 13 - .config/htop/htoprc | 64 - .config/kak-tree-sitter/config.toml | 1440 -- .config/kak/colors/base16-kakoune | 1 - .config/kak/colors/catppuccin_macchiato.kak | 163 - .config/kak/colors/catppuccin_mocha.kak | 166 - .config/kak/default.mustache | 169 - .config/kak/kakrc | 358 - .config/lazygit/config.yml | 0 .config/mc/ini | 143 - .config/mc/panels.ini | 0 .config/newsboat/config | 26 - .config/newsboat/queue | 0 .config/newsboat/urls | 9 - .config/nushell/config.nu | 895 - .config/nushell/env.nu | 100 - .config/nushell/history.txt | 13 - .config/nvim/after/plugin/colors.lua | 14 - .config/nvim/after/plugin/lsp.lua | 81 - .config/nvim/after/plugin/telescope.lua | 15 - .config/nvim/after/plugin/treesitter.lua | 22 - .config/nvim/after/plugin/undotree.lua | 2 - .config/nvim/db_ui/connections.json | 1 - .config/nvim/ftplugin/java.lua | 97 - .config/nvim/init.lua | 1 - .config/nvim/lua/config/dadbod.lua | 29 - .config/nvim/lua/config/init.lua | 3 - .config/nvim/lua/config/packer.lua | 328 - .config/nvim/lua/config/remap.lua | 56 - .config/nvim/lua/config/set.lua | 53 - .config/nvim/plugin/packer_compiled.lua | 660 - .config/pavucontrol.ini | 8 - .config/pulse/cookie | Bin 256 -> 0 bytes .config/ranger/scope.sh | 477 - .config/tinted-theming/tinty/config.toml | 17 - .doom.d/config.el | 143 - .doom.d/custom.el | 14 - .doom.d/init.el | 195 - .doom.d/packages.el | 51 - .doom.d_/config.el | 144 - .doom.d_/custom.el | 14 - .doom.d_/init.el | 195 - .doom.d_/packages.el | 52 - .scripts/add-project | 1 - .scripts/bar.sh | 21 - .scripts/build.sh | 1 - .scripts/buildtest.sh | 1 - .scripts/cloc | 18206 ------------------ .scripts/cloc-git | 5 - .scripts/enter-dev.sh | 12 - .scripts/fzf-ctags | 94 - .scripts/fzf-ctags-helper | 36 - .scripts/fzf-ctags-lib | 51 - .scripts/gb.sh | 3 - .scripts/gba.sh | 3 - .scripts/gbc.sh | 3 - .scripts/genesis.sh | 3 - .scripts/get_local_path | Bin 19888 -> 0 bytes .scripts/get_local_path.c | 17 - .scripts/n64.sh | 3 - .scripts/nes.sh | 3 - .scripts/open-note.sh | 6 - .scripts/projects | 9 - .scripts/pws.sh | 6 - .scripts/remove-project | 5 - .scripts/rfs.sh | 8 - .scripts/rfv.sh | 8 - .scripts/rfve.sh | 8 - .scripts/rgfs.sh | 8 - .scripts/rgrs.sh | 8 - .scripts/run.sh | 1 - .scripts/ryujinx.sh | 1 - .scripts/shutdown.sh | 3 - .scripts/snes.sh | 3 - .scripts/startup.sh | 6 - .scripts/styli.sh | 470 - .scripts/test.sh | 1 - .tmux.conf | 20 - 92 files changed, 27778 deletions(-) delete mode 100644 .bashrc delete mode 100644 .config/btop/btop.conf delete mode 100644 .config/btop/btop.log delete mode 100644 .config/castero/castero.conf delete mode 100644 .config/cmus/autosave delete mode 100644 .config/cmus/cache delete mode 100644 .config/cmus/command-history delete mode 100644 .config/cmus/lib.pl delete mode 100644 .config/cmus/playlists/default delete mode 100644 .config/cmus/rc delete mode 100644 .config/cmus/search-history delete mode 100644 .config/enchant/en_US.dic delete mode 100644 .config/enchant/en_US.exc delete mode 100644 .config/glib-2.0/settings/keyfile delete mode 100644 .config/goread/urls.yml delete mode 100644 .config/htop/htoprc delete mode 100644 .config/kak-tree-sitter/config.toml delete mode 120000 .config/kak/colors/base16-kakoune delete mode 100644 .config/kak/colors/catppuccin_macchiato.kak delete mode 100644 .config/kak/colors/catppuccin_mocha.kak delete mode 100644 .config/kak/default.mustache delete mode 100644 .config/kak/kakrc delete mode 100644 .config/lazygit/config.yml delete mode 100644 .config/mc/ini delete mode 100644 .config/mc/panels.ini delete mode 100644 .config/newsboat/config delete mode 100644 .config/newsboat/queue delete mode 100644 .config/newsboat/urls delete mode 100644 .config/nushell/config.nu delete mode 100644 .config/nushell/env.nu delete mode 100644 .config/nushell/history.txt delete mode 100644 .config/nvim/after/plugin/colors.lua delete mode 100644 .config/nvim/after/plugin/lsp.lua delete mode 100644 .config/nvim/after/plugin/telescope.lua delete mode 100644 .config/nvim/after/plugin/treesitter.lua delete mode 100644 .config/nvim/after/plugin/undotree.lua delete mode 100644 .config/nvim/db_ui/connections.json delete mode 100644 .config/nvim/ftplugin/java.lua delete mode 100644 .config/nvim/init.lua delete mode 100644 .config/nvim/lua/config/dadbod.lua delete mode 100644 .config/nvim/lua/config/init.lua delete mode 100644 .config/nvim/lua/config/packer.lua delete mode 100644 .config/nvim/lua/config/remap.lua delete mode 100644 .config/nvim/lua/config/set.lua delete mode 100644 .config/nvim/plugin/packer_compiled.lua delete mode 100644 .config/pavucontrol.ini delete mode 100644 .config/pulse/cookie delete mode 100755 .config/ranger/scope.sh delete mode 100644 .config/tinted-theming/tinty/config.toml delete mode 100644 .doom.d/config.el delete mode 100644 .doom.d/custom.el delete mode 100644 .doom.d/init.el delete mode 100644 .doom.d/packages.el delete mode 100644 .doom.d_/config.el delete mode 100644 .doom.d_/custom.el delete mode 100644 .doom.d_/init.el delete mode 100644 .doom.d_/packages.el delete mode 100755 .scripts/add-project delete mode 100755 .scripts/bar.sh delete mode 100755 .scripts/build.sh delete mode 100755 .scripts/buildtest.sh delete mode 100755 .scripts/cloc delete mode 100755 .scripts/cloc-git delete mode 100755 .scripts/enter-dev.sh delete mode 100755 .scripts/fzf-ctags delete mode 100755 .scripts/fzf-ctags-helper delete mode 100755 .scripts/fzf-ctags-lib delete mode 100755 .scripts/gb.sh delete mode 100755 .scripts/gba.sh delete mode 100755 .scripts/gbc.sh delete mode 100755 .scripts/genesis.sh delete mode 100755 .scripts/get_local_path delete mode 100644 .scripts/get_local_path.c delete mode 100755 .scripts/n64.sh delete mode 100755 .scripts/nes.sh delete mode 100755 .scripts/open-note.sh delete mode 100644 .scripts/projects delete mode 100755 .scripts/pws.sh delete mode 100755 .scripts/remove-project delete mode 100755 .scripts/rfs.sh delete mode 100755 .scripts/rfv.sh delete mode 100755 .scripts/rfve.sh delete mode 100755 .scripts/rgfs.sh delete mode 100755 .scripts/rgrs.sh delete mode 100755 .scripts/run.sh delete mode 100755 .scripts/ryujinx.sh delete mode 100755 .scripts/shutdown.sh delete mode 100755 .scripts/snes.sh delete mode 100755 .scripts/startup.sh delete mode 100755 .scripts/styli.sh delete mode 100755 .scripts/test.sh delete mode 100644 .tmux.conf diff --git a/.bashrc b/.bashrc deleted file mode 100644 index dfce3ae..0000000 --- a/.bashrc +++ /dev/null @@ -1,168 +0,0 @@ -# ~/.bashrc: executed by bash(1) for non-login shells. -# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) -# for examples - -# If not running interactively, don't do anything -case $- in - *i*) ;; - *) return;; -esac - -export PATH=~/.local/bin:/snap/bin:/usr/sandbox/:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/share/games:/usr/local/sbin:/usr/sbin:/sbin:$PATH -PATH=$PATH:~/.local/share/gem/ruby/3.0.0/bin/:~/.scripts -PATH=$PATH:~/.cargo/bin -PATH=$PATH:~/go/bin/ -# don't put duplicate lines or lines starting with space in the history. -# See bash(1) for more options -HISTCONTROL=ignoreboth - -# append to the history file, don't overwrite it -shopt -s histappend - -# for setting history length see HISTSIZE and HISTFILESIZE in bash(1) -HISTSIZE=1000 -HISTFILESIZE=2000 - -# check the window size after each command and, if necessary, -# update the values of LINES and COLUMNS. -shopt -s checkwinsize - -# If set, the pattern "**" used in a pathname expansion context will -# match all files and zero or more directories and subdirectories. -#shopt -s globstar - -# make less more friendly for non-text input files, see lesspipe(1) -#[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" - -# set variable identifying the chroot you work in (used in the prompt below) -#if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then -# debian_chroot=$(cat /etc/debian_chroot) -#fi -# -## set a fancy prompt (non-color, unless we know we "want" color) -#case "$TERM" in -# xterm-color) color_prompt=yes;; -#esac - -# uncomment for a colored prompt, if the terminal has the capability; turned -# off by default to not distract the user: the focus in a terminal window -# should be on the output of commands, not on the prompt -force_color_prompt=yes - -#if [ -n "$force_color_prompt" ]; then -# if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then -# # We have color support; assume it's compliant with Ecma-48 -# # (ISO/IEC-6429). (Lack of such support is extremely rare, and such -# # a case would tend to support setf rather than setaf.) -# color_prompt=yes -# else -# color_prompt= -# fi -#fi -# -if [ "$color_prompt" = yes ]; then - PS1='\[\033[0;32m\]\u\[\033[00m\]\100\[\033[00m\]\h \[\033[0;32m\]\w\[\033[01;00m\]> '; else PS1='\[\033[0;32m\]\u\[\033[00m\]\100\[\033[00m\]\h \[\033[0;32m\]\w\[\033[01;00m\]> ' -#else -# PS1='\u\100\h \w> ' -fi -# -## Set 'man' colors -#if [ "$color_prompt" = yes ]; then -# man() { -# env \ -# LESS_TERMCAP_mb=$'\e[01;31m' \ -# LESS_TERMCAP_md=$'\e[01;31m' \ -# LESS_TERMCAP_me=$'\e[0m' \ -# LESS_TERMCAP_se=$'\e[0m' \ -# LESS_TERMCAP_so=$'\e[01;44;33m' \ -# LESS_TERMCAP_ue=$'\e[0m' \ -# LESS_TERMCAP_us=$'\e[01;32m' \ -# man "$@" -# } -#fi -# -#unset color_prompt force_color_prompt -# -# If this is an xterm set the title to user@host:dir -#case "$TERM" in -#xterm*|rxvt*) -# PS1="\[\033[0;31m\]\342\224\214\342\224\200\$([[ \$? != 0 ]] && echo \"[\[\033[0;31m\]\342\234\227\[\033[0;37m\]]\342\224\200\")[$(if [[ ${EUID} == 0 ]]; then echo '\[\033[01;31m\]root\[\033[01;33m\]@\[\033[01;96m\]\h'; else echo '\[\033[0;39m\]\u\[\033[01;33m\]@\[\033[01;96m\]\h'; fi)\[\033[0;31m\]]\342\224\200[\[\033[0;32m\]\w\[\033[0;31m\]]\n\[\033[0;31m\]\342\224\224\342\224\200\342\224\200\342\225\274 \[\033[0m\]\[\e[01;33m\]\\$\[\e[0m\]" -# ;; -#*) -# ;; -#esac - -# enable color support of ls and also add handy aliases -if [ -x /usr/bin/dircolors ]; then - test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" - alias ls='ls --color=auto' - alias dir='dir --color=auto' - alias vdir='vdir --color=auto' - - alias grep='grep --color=auto' - alias fgrep='fgrep --color=auto' - alias egrep='egrep --color=auto' -fi - -# some more ls aliases -alias ll='ls -lh' -alias la='ls -lha' -alias l='ls -CF' -alias emacs='emacs -nw' -alias dd='dd status=progress' -alias _='sudo' -alias _i='sudo -i' -alias please='sudo' -alias fucking='sudo' -alias hx='helix' -alias bat='bat --theme="base16-256"' -if [ -n "$(command -v 'eza')" ]; then - alias ls='eza' -fi - -# Alias definitions. -# You may want to put all your additions into a separate file like -# ~/.bash_aliases, instead of adding them here directly. -# See /usr/share/doc/bash-doc/examples in the bash-doc package. -export EDITOR='kak' - -if [ -f ~/.bash_aliases ]; then - . ~/.bash_aliases -fi - -if [ "$XDG_SESSION_DESKTOP" = "sway" ] ; then - # https://github.com/swaywm/sway/issues/595 - export _JAVA_AWT_WM_NONREPARENTING=1 - export STUDIO_JDK=/usr/lib/jvm/java-11-openjdk/ -fi -eval "$(zoxide init bash)" - -export TMUX_TMPDIR=/tmp -export TINTED_SHELL_ENABLE_BASE16_VARS=1 - -tinty_source_shell_theme() { - tinty $@ - subcommand="$1" - - if [ "$subcommand" = "apply" ] || [ "$subcommand" = "init" ]; then - tinty_data_dir="${XDG_DATA_HOME:-$HOME/.local/share}/tinted-theming/tinty" - - for tinty_script_file in $(find "$tinty_data_dir" -maxdepth 1 -type f -name "*.sh"); do - . $tinty_script_file - done - - unset tinty_data_dir - fi - - unset subcommand -} - -if [ -n "$(command -v 'tinty')" ]; then -# tinty_source_shell_theme "init" - alias theme='tinty_source_shell_theme apply "$(tinty list | fzf --cycle)"' -fi - -if [ -n "$(command -v tmux)" ] && [ -z "$TMUX" ]; then - alias kak='tmux new-session kak > /dev/null' -fi -alias enter-dev='. enter-dev.sh' diff --git a/.config/btop/btop.conf b/.config/btop/btop.conf deleted file mode 100644 index 942d88b..0000000 --- a/.config/btop/btop.conf +++ /dev/null @@ -1,248 +0,0 @@ -#? Config file for btop v. 1.3.2 - -#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes. -#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes" -color_theme = "TTY" - -#* If the theme set background should be shown, set to False if you want terminal background transparency. -theme_background = True - -#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false. -truecolor = True - -#* Set to true to force tty mode regardless if a real tty has been detected or not. -#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols. -force_tty = False - -#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets. -#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box. -#* Use whitespace " " as separator between different presets. -#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty" -presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty" - -#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists. -#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift. -vim_keys = False - -#* Rounded corners on boxes, is ignored if TTY mode is ON. -rounded_corners = True - -#* Default symbols to use for graph creation, "braille", "block" or "tty". -#* "braille" offers the highest resolution but might not be included in all fonts. -#* "block" has half the resolution of braille but uses more common characters. -#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY. -#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view. -graph_symbol = "braille" - -# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". -graph_symbol_cpu = "default" - -# Graph symbol to use for graphs in gpu box, "default", "braille", "block" or "tty". -graph_symbol_gpu = "default" - -# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". -graph_symbol_mem = "default" - -# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". -graph_symbol_net = "default" - -# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". -graph_symbol_proc = "default" - -#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace. -shown_boxes = "cpu mem net proc" - -#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs. -update_ms = 2000 - -#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct", -#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly. -proc_sorting = "cpu lazy" - -#* Reverse sorting order, True or False. -proc_reversed = False - -#* Show processes as a tree. -proc_tree = False - -#* Use the cpu graph colors in the process list. -proc_colors = True - -#* Use a darkening gradient in the process list. -proc_gradient = True - -#* If process cpu usage should be of the core it's running on or usage of the total available cpu power. -proc_per_core = False - -#* Show process memory as bytes instead of percent. -proc_mem_bytes = True - -#* Show cpu graph for each process. -proc_cpu_graphs = True - -#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate) -proc_info_smaps = False - -#* Show proc box on left side of screen instead of right. -proc_left = False - -#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop). -proc_filter_kernel = False - -#* In tree-view, always accumulate child process resources in the parent process. -proc_aggregate = False - -#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available. -#* Select from a list of detected attributes from the options menu. -cpu_graph_upper = "Auto" - -#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available. -#* Select from a list of detected attributes from the options menu. -cpu_graph_lower = "Auto" - -#* If gpu info should be shown in the cpu box. Available values = "Auto", "On" and "Off". -show_gpu_info = "Auto" - -#* Toggles if the lower CPU graph should be inverted. -cpu_invert_lower = True - -#* Set to True to completely disable the lower CPU graph. -cpu_single_graph = False - -#* Show cpu box at bottom of screen instead of top. -cpu_bottom = False - -#* Shows the system uptime in the CPU box. -show_uptime = True - -#* Show cpu temperature. -check_temp = True - -#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors. -cpu_sensor = "Auto" - -#* Show temperatures for cpu cores also if check_temp is True and sensors has been found. -show_coretemp = True - -#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core. -#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine. -#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries. -#* Example: "4:0 5:1 6:3" -cpu_core_map = "" - -#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine". -temp_scale = "celsius" - -#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024. -base_10_sizes = False - -#* Show CPU frequency. -show_cpu_freq = True - -#* Draw a clock at top of screen, formatting according to strftime, empty string to disable. -#* Special formatting: /host = hostname | /user = username | /uptime = system uptime -clock_format = "%X" - -#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort. -background_update = True - -#* Custom cpu model name, empty string to disable. -custom_cpu_name = "" - -#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ". -#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user". -disks_filter = "" - -#* Show graphs instead of meters for memory values. -mem_graphs = True - -#* Show mem box below net box instead of above. -mem_below_net = False - -#* Count ZFS ARC in cached and available memory. -zfs_arc_cached = True - -#* If swap memory should be shown in memory box. -show_swap = True - -#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk. -swap_disk = True - -#* If mem box should be split to also show disks info. -show_disks = True - -#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar. -only_physical = True - -#* Read disks list from /etc/fstab. This also disables only_physical. -use_fstab = True - -#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool) -zfs_hide_datasets = False - -#* Set to true to show available disk space for privileged users. -disk_free_priv = False - -#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view. -show_io_stat = True - -#* Toggles io mode for disks, showing big graphs for disk read/write speeds. -io_mode = False - -#* Set to True to show combined read/write io graphs in io mode. -io_graph_combined = False - -#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ". -#* Example: "/mnt/media:100 /:20 /boot:1". -io_graph_speeds = "" - -#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False. -net_download = 100 - -net_upload = 100 - -#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest. -net_auto = True - -#* Sync the auto scaling for download and upload to whichever currently has the highest scale. -net_sync = True - -#* Starts with the Network Interface specified here. -net_iface = "" - -#* Show battery stats in top right if battery is present. -show_battery = True - -#* Which battery to use if multiple are present. "Auto" for auto detection. -selected_battery = "Auto" - -#* Show power stats of battery next to charge indicator. -show_battery_watts = True - -#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG". -#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info. -log_level = "WARNING" - -#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards. -nvml_measure_pcie_speeds = True - -#* Horizontally mirror the GPU graph. -gpu_mirror_graph = True - -#* Custom gpu0 model name, empty string to disable. -custom_gpu_name0 = "" - -#* Custom gpu1 model name, empty string to disable. -custom_gpu_name1 = "" - -#* Custom gpu2 model name, empty string to disable. -custom_gpu_name2 = "" - -#* Custom gpu3 model name, empty string to disable. -custom_gpu_name3 = "" - -#* Custom gpu4 model name, empty string to disable. -custom_gpu_name4 = "" - -#* Custom gpu5 model name, empty string to disable. -custom_gpu_name5 = "" diff --git a/.config/btop/btop.log b/.config/btop/btop.log deleted file mode 100644 index 6bcaed3..0000000 --- a/.config/btop/btop.log +++ /dev/null @@ -1,162 +0,0 @@ - -2024/06/06 (14:25:17) | ===> btop++ v.1.3.2 -2024/06/06 (14:25:17) | WARNING: NVML: Failed to get maximum GPU power draw, defaulting to 225W: Not Supported -2024/06/06 (14:25:19) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/06 (14:25:19) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/06 (14:25:21) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/06 (14:25:21) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/06 (14:25:23) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/06 (14:25:23) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/06 (14:25:25) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/06 (14:25:25) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/06 (14:25:27) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/06 (14:25:27) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/06 (14:25:29) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/06 (14:25:29) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/06 (14:25:31) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/06 (14:25:31) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/06 (14:25:33) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/06 (14:25:33) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/06 (14:25:35) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/06 (14:25:35) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/06 (14:25:39) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/06 (14:25:39) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/06 (14:25:43) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/06 (14:25:43) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/06 (14:25:45) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/06 (14:25:45) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/06 (14:25:47) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/06 (14:25:47) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/06 (14:25:49) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/06 (14:25:49) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/06 (14:25:51) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/06 (14:25:51) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/06 (14:25:53) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/06 (14:25:53) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/06 (14:25:55) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/06 (14:25:55) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/06 (14:25:57) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/06 (14:25:57) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/06 (14:25:59) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/06 (14:25:59) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/06 (14:26:01) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/06 (14:26:01) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/06 (14:26:03) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/06 (14:26:03) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/06 (14:26:05) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/06 (14:26:05) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/06 (14:26:07) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/06 (14:26:07) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/06 (14:26:09) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/06 (14:26:09) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/06 (14:26:11) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/06 (14:26:11) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/06 (14:26:13) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/06 (14:26:13) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/06 (14:26:17) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/06 (14:26:17) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/06 (14:26:19) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/06 (14:26:19) | WARNING: NVML: Failed to get GPU power usage: No data - -2024/06/07 (13:26:43) | ===> btop++ v.1.3.2 -2024/06/07 (13:26:43) | WARNING: NVML: Failed to get maximum GPU power draw, defaulting to 225W: Not Supported -2024/06/07 (13:26:45) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/07 (13:26:46) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/07 (13:26:47) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/07 (13:26:48) | WARNING: NVML: Failed to get GPU power usage: No data - -2024/06/07 (13:26:52) | ===> btop++ v.1.3.2 -2024/06/07 (13:26:52) | WARNING: NVML: Failed to get maximum GPU power draw, defaulting to 225W: Not Supported -2024/06/07 (13:26:54) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/07 (13:26:54) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/07 (13:26:56) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/07 (13:26:56) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/07 (13:26:58) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/07 (13:26:58) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/07 (13:27:00) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/07 (13:27:00) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/07 (13:27:02) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/07 (13:27:02) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/07 (13:27:04) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/07 (13:27:04) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/07 (13:27:06) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/07 (13:27:06) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/07 (13:27:08) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/07 (13:27:08) | WARNING: NVML: Failed to get GPU power usage: No data - -2024/06/12 (15:06:55) | ===> btop++ v.1.3.2 -2024/06/12 (15:06:55) | WARNING: NVML: Failed to get maximum GPU power draw, defaulting to 225W: Not Supported -2024/06/12 (15:06:57) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/12 (15:06:58) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/12 (15:06:59) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/12 (15:07:00) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/12 (15:07:01) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/12 (15:07:01) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/12 (15:07:01) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/12 (15:07:02) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/12 (15:07:02) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/12 (15:07:03) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/12 (15:07:03) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/12 (15:07:03) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/12 (15:07:03) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/12 (15:07:05) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/12 (15:07:06) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/12 (15:07:07) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/12 (15:07:08) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/12 (15:07:09) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/12 (15:07:10) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/12 (15:07:11) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/12 (15:07:12) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/12 (15:07:13) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/12 (15:07:14) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/12 (15:07:15) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/12 (15:07:16) | WARNING: NVML: Failed to get GPU power usage: No data - -2024/06/12 (15:07:17) | ===> btop++ v.1.3.2 -2024/06/12 (15:07:17) | WARNING: NVML: Failed to get maximum GPU power draw, defaulting to 225W: Not Supported -2024/06/12 (15:07:19) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/12 (15:07:19) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/12 (15:07:21) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/12 (15:07:21) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/12 (15:07:23) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/12 (15:07:23) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/12 (15:07:25) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/12 (15:07:25) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/12 (15:07:27) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/12 (15:07:27) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/12 (15:07:29) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/12 (15:07:29) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/12 (15:07:31) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/12 (15:07:31) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/12 (15:07:33) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/12 (15:07:33) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/12 (15:07:35) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/12 (15:07:35) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/12 (15:07:37) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/12 (15:07:37) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/12 (15:07:39) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/12 (15:07:39) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/12 (15:07:41) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/12 (15:07:41) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/12 (15:07:43) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/12 (15:07:43) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/12 (15:07:45) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/12 (15:07:45) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/12 (15:07:47) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/12 (15:07:47) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/12 (15:07:49) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/12 (15:07:49) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/12 (15:07:51) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/12 (15:07:51) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/12 (15:07:53) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/12 (15:07:53) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/12 (15:07:55) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/12 (15:07:55) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/12 (15:07:57) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/12 (15:07:57) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/12 (15:07:59) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/12 (15:07:59) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/12 (15:08:01) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/12 (15:08:01) | WARNING: NVML: Failed to get GPU power usage: No data -2024/06/12 (15:08:03) | WARNING: NVML: Failed to get GPU utilization: Unknown Error -2024/06/12 (15:08:03) | WARNING: NVML: Failed to get GPU power usage: No data diff --git a/.config/castero/castero.conf b/.config/castero/castero.conf deleted file mode 100644 index a09276d..0000000 --- a/.config/castero/castero.conf +++ /dev/null @@ -1,315 +0,0 @@ -# castero configuration file -# https://github.com/xgi/castero - - -[client] -# Whether to limit the amount of memory used by the client (by doing more -# disk I/O). Enabling this will reduce performance -- only enable it if you -# know you need to. -# default: False -restrict_memory_usage = False - -# Whether to ask for confirmation before deleting a feed. -# default: False -delete_feed_confirmation = False - -# The minimum number of feeds before the client asks you for confirmation -# after pressing the reload key. -# default: 10 -reload_feeds_threshold = 10 - -# The maximum number of episodes to retain per feed. Set to -1 for no limit. -# default: -1 -max_episodes = -1 - -# Whether to keep episodes in the client even if they are no longer present on -# the feed (i.e. the RSS feed only shows the x most recent episodes). -# default: False -retain_absent_episodes = False - -# Default window layout. This can also be changed within castero by pressing the corresponding key. -# 1 - feeds + episodes + metadata -# 2 - queue + metadata -# 3 - feeds + episodes -# 4 - downloaded episodes + metadata -# 5 - all episodes + metadata -# default: 1 -default_layout = 1 - -# Hide vertical borders between menus. -# default: False -disable_vertical_borders = False - -# Whether to remove HTML tags from feed/episode descriptions. -# default: True -clean_html_descriptions = True - -# The display refresh delay, in ms. Increase to reduce idle CPU usage. -# default: 30 -refresh_delay = 30 - -# The external player to use for media playback. -# If the given player is not valid or a dependency is not met, the client will -# instead try to use the first valid interface. -# Available players (in order of precedence): -# mpv, vlc -# default: (blank) -player = - -# The command to run when you press key_execute (default e). All instances of -# the following tokens are replaced with the corresponding episode attributes: -# {file} - the episode enclosure, usually a remote mp3 file -# {title} - the episode name -# {description} - the episode description -# {link} - the link to the episode, which is often a blog post -# {pubdate} - the publish date/time of the episode -# {copyright} - the copyright of the episode -# Most of these attributes have spaces, so you will probably want to enclose -# the token with quotations. -# For example, `firefox "{file}"` would open the file in Firefox. -# The client executes the text you enter as a shell command. Use with caution! -# default: (blank) -execute_command = - -# An HTTP or SOCKS proxy to use for HTTP network requests. -# example: http://user:pass@10.10.1.10:3128 -# example: socks5://user:pass@host:port -# default: (blank) -proxy_http = - -# An HTTP or SOCKS proxy to use for HTTPS network requests. -# example: http://user:pass@10.10.1.10:3128 -# example: socks5://user:pass@host:port -# default: (blank) -proxy_https = - -# Behavior when adding selected feed into queue. -# If set to true, only unplayed episodes will be added to the queue. -# default: False -add_only_unplayed_episodes = False - -[feeds] -# Whether to reload/refresh your feeds when the client starts. Depending on how -# many feeds you have, this operation may take a long time. -# default: False -reload_on_start = False - - -[downloads] -# The (absolute) location to save episodes downloaded for offline playback. Set -# to blank or whitespaces to disable -- the client will default to either -# $XDG_DATA_DIR, if set, otherwise ~/.local/share/castero/downloaded -# default: (blank) -custom_download_dir = - -# The timeout for network requests, in seconds. The same value is used for -# connection and read timeouts. -# default: 3 -request_timeout = 3 - - -[colors] -# Available colors for all fields are: -# black, blue, cyan, green, magenta, red, white, yellow, transparent (background), -# integer from -1 to 255 if terminal supports 256 colors -# NOTE: Background transparency only works on compatible terminals with compositing - -# The foreground (text) color of the main interface. -# default: yellow -color_foreground = yellow - -# The background color of the main interface. -# default: black -color_background = black - -# The foreground (text) color of selected items. -# default: black -color_foreground_alt = black - -# The background color of selected items. -# default: white -color_background_alt = white - -# The foreground (text) color of marked items. Paired with color_background. -# default: green -color_foreground_dim = green - -# The foreground (text) color of status lines. Paired with color_background. -# default: white -color_foreground_status = white - -# The foreground (text) color of menu headings. Paired with color_background. -# default: yellow -color_foreground_heading = yellow - -# The foreground (text) color of dividers. Paired with color_background. -# default: white -color_foreground_dividers = white - - -[playback] -# The distance to move forward when pressing seek keys, in seconds. -# default: 30 -seek_distance_forward = 30 - -# The distance to move backward when pressing seek keys, in seconds. -# default: 10 -seek_distance_backward = 10 - -# The default playback speed. See also the rate_increase/rate_decrease keys. -# default: 1.0 -default_playback_speed = 1.0 - -# The default volume. Can be 0-100, inclusive. -# default: 100 -default_volume = 100 - -# The amount to adjust the volume when pressing the volume up/down keys. -# default: 5 -volume_adjust_distance = 5 - -# The distance to rewind when resuming from playback, in seconds. -# default: 0 -resume_rewind_distance = 0 - - -[keys] -# Keybindings for controlling the client. Entries may not be blank, but may -# overlap -- however, only one operation will be performed for each key press. -# Please see this page for a list of available key names: -# https://docs.python.org/3/library/curses.html#constants - -# Show the help menu. -# default: h -key_help = h - -# Exit the client -# default: q -key_exit = q - -# Add a feed. -# default: a -key_add_feed = a - -# Remove the selected feed. -# default: d -key_remove = d - -# Reload/refresh all feeds. -# default: r -key_reload = r - -# Reload/refresh the selected feed. -# default: R -key_reload_selected = R - -# Save episode for offline playback. -# default: s -key_save = s - -# Delete downloaded episodes. -# default: x -key_delete = x - -# Navigate up. -# default: UP -key_up = UP - -# Navigate right. -# default: RIGHT -key_right = RIGHT - -# Navigate down. -# default: DOWN -key_down = DOWN - -# Navigate left. -# default: LEFT -key_left = LEFT - -# Scroll menu up. -# default: PPAGE -key_scroll_up = PPAGE - -# Scroll menu down. -# default: NPAGE -key_scroll_down = NPAGE - -# Play selected feed/episode. -# default: ENTER -key_play_selected = ENTER - -# Add selected feed/episode to queue. -# default: SPACE -key_add_selected = SPACE - -# Clear the queue. -# default: c -key_clear = c - -# Clear progress from episode. -# default: z -key_clear_progress = z - -# Go to the next episode in the queue. -# default: n -key_next = n - -# Execute a command on the selected episode. See also execute_command. -key_execute = e - -# Invert the order of the menu. -# default: i -key_invert = i - -# Filter the contents of the menu. Press again to clear the filter. -# default: / -key_filter = / - -# Mark the episode as played/unplayed. -# default: i -key_mark_played = m - -# Pause/play the current episode. -# default: p -key_pause_play = p - -# Alternate binding for key_pause_play -- make identical to disable. -# default: k -key_pause_play_alt = k - -# Seek forward. -# default: f -key_seek_forward = f - -# Alternate binding for key_seek_forward -- make identical to disable. -# default: l -key_seek_forward_alt = l - -# Seek backward. -# default: b -key_seek_backward = b - -# Alternate binding for key_seek_backward -- make identical to disable. -# default: j -key_seek_backward_alt = j - -# Increase playback speed. -# default: ] -key_rate_increase = ] - -# Decrease playback speed. -# default: [ -key_rate_decrease = [ - -# Increase volume. -# default: = -key_volume_increase = = - -# Decrease volume. -# default: - -key_volume_decrease = - - -# Show episode URL. -# default: u -key_show_url = u diff --git a/.config/cmus/autosave b/.config/cmus/autosave deleted file mode 100644 index 51a1e59..0000000 --- a/.config/cmus/autosave +++ /dev/null @@ -1,233 +0,0 @@ -set aaa_mode=all -set altformat_current= %F -set altformat_playlist= %f%= %d -set altformat_title=%f -set altformat_trackwin= %f%= %d -set auto_expand_albums_follow=true -set auto_expand_albums_search=true -set auto_expand_albums_selcur=true -set auto_hide_playlists_panel=false -set auto_reshuffle=true -set block_key_paste=true -set buffer_seconds=10 -set color_cmdline_attr=default -set color_cmdline_bg=default -set color_cmdline_fg=default -set color_cur_sel_attr=default -set color_error=lightred -set color_info=lightyellow -set color_separator=blue -set color_statusline_attr=default -set color_statusline_bg=gray -set color_statusline_fg=black -set color_titleline_attr=default -set color_titleline_bg=blue -set color_titleline_fg=white -set color_trackwin_album_attr=bold -set color_trackwin_album_bg=default -set color_trackwin_album_fg=default -set color_win_attr=default -set color_win_bg=default -set color_win_cur=lightyellow -set color_win_cur_attr=default -set color_win_cur_sel_attr=default -set color_win_cur_sel_bg=blue -set color_win_cur_sel_fg=lightyellow -set color_win_dir=lightblue -set color_win_fg=default -set color_win_inactive_cur_sel_attr=default -set color_win_inactive_cur_sel_bg=gray -set color_win_inactive_cur_sel_fg=lightyellow -set color_win_inactive_sel_attr=default -set color_win_inactive_sel_bg=gray -set color_win_inactive_sel_fg=black -set color_win_sel_attr=default -set color_win_sel_bg=blue -set color_win_sel_fg=white -set color_win_title_attr=default -set color_win_title_bg=blue -set color_win_title_fg=white -set confirm_run=true -set continue=true -set continue_album=true -set device=/dev/cdrom -set display_artist_sort_name=false -set dsp.alsa.device=default -set dsp.ao.buffer_size=16384 -set dsp.ao.device_interface= -set dsp.ao.driver= -set dsp.ao.wav_counter=1 -set dsp.ao.wav_dir=/home/mikec -set dsp.jack.resampling_quality=2 -set dsp.jack.server_name= -set dsp.oss.device= -set follow=true -set format_clipped_text=… -set format_current= %a - %l%! - %n. %t%= %y -set format_playlist= %-21%a %3n. %t%= %y %d %{?X!=0?%3X ? } -set format_playlist_va= %-21%A %3n. %t (%a)%= %y %d %{?X!=0?%3X ? } -set format_statusline= %{status} %{?show_playback_position?%{position} %{?duration?/ %{duration} }?%{?duration?%{duration} }}- %{total} %{?bpm>0?at %{bpm} BPM }%{?volume>=0?vol: %{?lvolume!=rvolume?%{lvolume},%{rvolume} ?%{volume} }}%{?stream?buf: %{buffer} }%{?show_current_bitrate & bitrate>=0? %{bitrate} kbps }%=%{?repeat_current?repeat current?%{?play_library?%{playlist_mode} from %{?play_sorted?sorted }library?playlist}} | %1{continue}%1{follow}%1{repeat}%1{shuffle} -set format_title=%a - %l - %t (%y) -set format_trackwin=%3n. %t%= %y %d -set format_trackwin_album= %l %= %{albumduration} -set format_trackwin_va=%3n. %t (%a)%= %y %d -set format_treewin= %l -set format_treewin_artist=%a -set icecast_default_charset=ISO-8859-1 -set id3_default_charset=ISO-8859-1 -set ignore_duplicates=false -set input.cdio.cddb_url=freedb.freedb.org:8880 -set input.cdio.priority=50 -set input.cue.priority=50 -set input.ffmpeg.priority=30 -set input.flac.priority=50 -set input.mikmod.priority=40 -set input.modplug.priority=50 -set input.mpc.priority=50 -set input.opus.priority=50 -set input.vorbis.priority=50 -set input.wav.priority=50 -set input.wavpack.priority=50 -set lib_add_filter= -set lib_sort=albumartist date album discnumber tracknumber title filename play_count -set mixer.alsa.channel=PCM -set mixer.alsa.device=default -set mixer.oss.channel=PCM -set mixer.oss.device= -set mixer.pulse.restore_volume=1 -set mouse=false -set mpris=true -set output_plugin=pulse -set passwd= -set pause_on_output_change=false -set pl_env_vars= -set pl_sort= -set play_library=true -set play_sorted=false -set repeat=true -set repeat_current=false -set replaygain=disabled -set replaygain_limit=true -set replaygain_preamp=0.000000 -set resume=false -set rewind_offset=5 -set scroll_offset=2 -set set_term_title=true -set show_all_tracks=true -set show_current_bitrate=false -set show_hidden=false -set show_playback_position=true -set show_remaining_time=false -set shuffle=tracks -set skip_track_info=false -set smart_artist_sort=true -set softvol=false -set softvol_state=0 0 -set sort_albums_by_name=false -set start_view=tree -set status_display_program= -set stop_after_queue=false -set time_show_leading_zero=true -set tree_width_max=0 -set tree_width_percent=33 -set wrap_search=true -bind browser backspace browser-up -bind browser i toggle show_hidden -bind browser space win-activate -bind browser u win-update -bind common ! push shell -bind common + vol +10% -bind common , seek -1m -bind common - vol -10% -bind common . seek +1m -bind common / search-start -bind common 1 view tree -bind common 2 view sorted -bind common 3 view playlist -bind common 4 view queue -bind common 5 view browser -bind common 6 view filters -bind common 7 view settings -bind common = vol +10% -bind common ? search-b-start -bind common B player-next-album -bind common C toggle continue -bind common D win-remove -bind common E win-add-Q -bind common F push filter -bind common G win-bottom -bind common I echo {} -bind common L push live-filter -bind common M toggle play_library -bind common N search-prev -bind common P win-mv-before -bind common U win-update-cache -bind common Z player-prev-album -bind common [ vol +1% +0 -bind common ] vol +0 +1% -bind common ^B win-page-up -bind common ^C echo Type :quit to exit cmus. -bind common ^D win-half-page-down -bind common ^E win-scroll-down -bind common ^F win-page-down -bind common ^L refresh -bind common ^R toggle repeat_current -bind common ^U win-half-page-up -bind common ^Y win-scroll-up -bind common a win-add-l -bind common b player-next -bind common c player-pause -bind common delete win-remove -bind common down win-down -bind common e win-add-q -bind common end win-bottom -bind common enter win-activate -bind common f toggle follow -bind common g win-top -bind common h seek -5 -bind common home win-top -bind common i win-sel-cur -bind common j win-down -bind common k win-up -bind common l seek +5 -bind common left seek -5 -bind common m toggle aaa_mode -bind common mlb_click_bar player-pause -bind common mlb_click_bar_right player-pause -bind common mlb_click_selected win-activate -bind common mouse_scroll_down win-down -bind common mouse_scroll_down_bar seek -5 -bind common mouse_scroll_down_bar_right vol -1% -bind common mouse_scroll_down_title right-view -n -bind common mouse_scroll_up win-up -bind common mouse_scroll_up_bar seek +5 -bind common mouse_scroll_up_bar_right vol +1% -bind common mouse_scroll_up_title left-view -n -bind common n search-next -bind common o toggle play_sorted -bind common p win-mv-after -bind common page_down win-page-down -bind common page_up win-page-up -bind common q quit -i -bind common r toggle repeat -bind common right seek +5 -bind common s toggle shuffle -bind common space win-toggle -bind common t toggle show_remaining_time -bind common tab win-next -bind common u update-cache -bind common up win-up -bind common v player-stop -bind common x player-play -bind common y win-add-p -bind common z player-prev -bind common { vol -1% -0 -bind common } vol -0 -1% -fset 90s=date>=1990&date<2000 -fset classical=genre="Classical" -fset missing-tag=!stream&(artist=""|album=""|title=""|tracknumber=-1|date=-1) -fset mp3=filename="*.mp3" -fset ogg=filename="*.ogg" -fset ogg-or-mp3=ogg|mp3 -fset unheard=play_count=0 -factivate diff --git a/.config/cmus/cache b/.config/cmus/cache deleted file mode 100644 index 516fdfc5f9852b3e726976c055d0425abf6282a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 772228 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 diff --git a/.config/cmus/command-history b/.config/cmus/command-history deleted file mode 100644 index 5ef4cf4..0000000 --- a/.config/cmus/command-history +++ /dev/null @@ -1,7 +0,0 @@ -add ~/Music -clear -add Music/ -add /mnt/c/Users/mchalupi/Music/ -add ~/Music/ -add ./ -add ./* diff --git a/.config/cmus/lib.pl b/.config/cmus/lib.pl deleted file mode 100644 index a53a05d..0000000 --- a/.config/cmus/lib.pl +++ /dev/null @@ -1,1355 +0,0 @@ -/home/mikec/Music/Creed- Higher [sHcYaS3m1c4].opus -/home/mikec/Music/Green Day - Longview.mp3 -/home/mikec/Music/Tom Petty- Runnin' Down A Dream [QrNdBU_gb7o].opus -/home/mikec/Music/3 Doors Down - Kryptonite.wma -/home/mikec/Music/3 Doors Down/Unknown Album/3 Doors Down - Kryptonite.m4a -/home/mikec/Music/3 Doors Down - Loser.wma -/home/mikec/Music/3 Doors Down/Unknown Album/3 Doors Down - Loser.m4a -/home/mikec/Music/3 Doors Down - Loser.mp3 -/home/mikec/Music/3 Doors Down - Be Like That (acoustic).mp3 -/home/mikec/Music/3 Doors Down - Be Like That (acoustic).wma -/home/mikec/Music/ACDC - Love Song.wma -/home/mikec/Music/AC-DC/Unknown Album/ACDC - Love Song.m4a -/home/mikec/Music/ACDC - Rock ’n’ Roll Ain’t Noise Pollution.wma -/home/mikec/Music/AC-DC/Unknown Album/ACDC - Rock ’n’ Roll Ain’t Noise Pollution.m4a -/home/mikec/Music/ACDC - The Jack.wma -/home/mikec/Music/AC-DC/Unknown Album/ACDC - The Jack.m4a -/home/mikec/Music/ACDC - Live Wire - High Voltage.wma -/home/mikec/Music/AC-DC/Unknown Album/ACDC - Live Wire - High Voltage.m4a -/home/mikec/Music/ACDC - T.N.T..wma -/home/mikec/Music/AC-DC/Unknown Album/ACDC - T.N.T..m4a -/home/mikec/Music/ACDC - She’s Got Balls.wma -/home/mikec/Music/AC-DC/Unknown Album/ACDC - She’s Got Balls.m4a -/home/mikec/Music/ACDC - High Voltage.mp3 -/home/mikec/Music/ACDC - High Voltage.wma -/home/mikec/Music/AC-DC/Unknown Album/ACDC - High Voltage.m4a -/home/mikec/Music/ACDC - Can I Sit Next to You Girl.mp3 -/home/mikec/Music/ACDC - Can I Sit Next to You Girl.wma -/home/mikec/Music/AC-DC/Unknown Album/ACDC - Can I Sit Next to You Girl.m4a -/home/mikec/Music/AC-DC/Unknown Album/ACDC - Whole Lotta Rosie.m4a -/home/mikec/Music/ACDC - Whole Lotta Rosie.wma -/home/mikec/Music/ACDC - Hell's Bell.mp3 -/home/mikec/Music/ACDC - Live Wire.mp3 -/home/mikec/Music/ACDC - T.N.T..mp3 -/home/mikec/Music/ACDC - She’s Got Balls.mp3 -/home/mikec/Music/ACDC - Love Song.mp3 -/home/mikec/Music/Stereo MCs - Creation.mp3 -/home/mikec/Music/ACDC - The Jack.mp3 -/home/mikec/Music/Aerosmith - Janie's Got a Gun.mp3 -/home/mikec/Music/Aerosmith - Leaving On A Jet Plane.mp3 -/home/mikec/Music/Aerosmith - Livin’ on the Edge.mp3 -/home/mikec/Music/Aerosmith - Love in an Elevator.mp3 -/home/mikec/Music/Aerosmith - Pink.mp3 -/home/mikec/Music/Aerosmith - Walk This Way.mp3 -/home/mikec/Music/Aerosmith - Toys in the Attic (5.1 mix).mp3 -/home/mikec/Music/Aerosmith - Dream On.mp3 -/home/mikec/Music/Aerosmith - Back in the Saddle.mp3 -/home/mikec/Music/Aerosmith - Come Together.mp3 -/home/mikec/Music/Aerosmith - Dude (Looks Like a Lady).mp3 -/home/mikec/Music/Derek St. Holmes - Mama Kin.mp3 -/home/mikec/Music/Aerosmith - Dulcimer Stomp The Other Side.wma -/home/mikec/Music/Aerosmith/Pump/Aerosmith - Dulcimer Stomp The Other Side.m4a -/home/mikec/Music/Aerosmith - Crazy.mp3 -/home/mikec/Music/Aerosmith - Crying.mp3 -/home/mikec/Music/Aerosmith - Rag Doll.mp3 -/home/mikec/Music/Aerosmith - Train Kept a Rollin’.mp3 -/home/mikec/Music/Aerosmith - Sweet Emotion.mp3 -/home/mikec/Music/Aerosmith - Armageddon I Don’t Want to Miss a Thing.mp3 -/home/mikec/Music/Alabama - I'm In A Hurry (And I Don't Know Why).mp3 -/home/mikec/Music/Alabama - Mountain Music.mp3 -/home/mikec/Music/Dark Tranquillity - Away, Delight, Away (demo).mp3 -/home/mikec/Music/Alabama - Song of the South.mp3 -/home/mikec/Music/Alabama - Born Country.mp3 -/home/mikec/Music/Alabama - If You're Gonna to Play in Texas.mp3 -/home/mikec/Music/Alabama - Love in the First Degree.mp3 -/home/mikec/Music/Alan Jackson - Tall, Tall Trees.mp3 -/home/mikec/Music/Alan Jackson - Remember When.mp3 -/home/mikec/Music/Alan Jackson - Chattahoochee.mp3 -/home/mikec/Music/Alan Jackson - I’ll Go On Loving You.mp3 -/home/mikec/Music/Alan Jackson - Where Do I Go From Here (A Trucker's Song).mp3 -/home/mikec/Music/Alan Jackson - Work in Progress.mp3 -/home/mikec/Music/Alan Jackson - Designated Drinker.mp3 -/home/mikec/Music/Alan Jackson - Little Bitty.mp3 -/home/mikec/Music/Alan Jackson - Who's Cheatin' Who.mp3 -/home/mikec/Music/Alan Jackson - Little Man.mp3 -/home/mikec/Music/Alan Jackson - It’s Five O’Clock Somewhere.mp3 -/home/mikec/Music/Alan Jackson - Good Time.mp3 -/home/mikec/Music/Alice Cooper - No More Mr. Nice Guy.mp3 -/home/mikec/Music/Alice Cooper - Poison.wma -/home/mikec/Music/Alice Cooper/Unknown Album/Alice Cooper - Poison.m4a -/home/mikec/Music/Alice Cooper - Poison.mp3 -/home/mikec/Music/Alice in Chains - Them Bones.wma -/home/mikec/Music/Alice In Chains/Unknown Album/Alice in Chains - Them Bones.m4a -/home/mikec/Music/Alice in Chains - No Excuses.wma -/home/mikec/Music/Alice In Chains/Unknown Album/Alice in Chains - No Excuses.m4a -/home/mikec/Music/Alice in Chains - Rooster.wma -/home/mikec/Music/Alice In Chains/Unknown Album/Alice in Chains - Rooster.m4a -/home/mikec/Music/Alice In Chains/Unknown Album/Alice in Chains - Would.m4a -/home/mikec/Music/Alice in Chains - Would.wma -/home/mikec/Music/Alice in Chains - Down in a Hole.mp3 -/home/mikec/Music/Alice in Chains - Down in a Hole.wma -/home/mikec/Music/Alice In Chains/Unknown Album/Alice in Chains - Down in a Hole.m4a -/home/mikec/Music/Alice in Chains - Rooster.mp3 -/home/mikec/Music/Alice in Chains - Would.mp3 -/home/mikec/Music/Alice in Chains - Them Bones.mp3 -/home/mikec/Music/Alicia Keys - Fallin’.mp3 -/home/mikec/Music/Allman Brothers Band - One Way Out.mp3 -/home/mikec/Music/Amy Winehouse - Rehab.mp3 -/home/mikec/Music/Angel Voices - I Still Haven't Found What I'm Looking For.mp3 -/home/mikec/Music/Arctic Monkeys - R U Mine.mp3 -/home/mikec/Music/Arctic Monkeys - Do I Wanna Know.mp3 -/home/mikec/Music/Asobi Seksu - Thursday.mp3 -/home/mikec/Music/Assembly of Dust - Pedal Down.mp3 -/home/mikec/Music/Assembly of Dust - Second Song.mp3 -/home/mikec/Music/Assembly of Dust - Light Blue Lover.mp3 -/home/mikec/Music/Assembly of Dust - Leadbelly.mp3 -/home/mikec/Music/Assembly of Dust - Revelry.mp3 -/home/mikec/Music/Assembly of Dust - Straight.mp3 -/home/mikec/Music/Assembly of Dust - You Lay the Dust.mp3 -/home/mikec/Music/Ironsword - Valhalla.mp3 -/home/mikec/Music/Assembly of Dust - All That I Am Now.mp3 -/home/mikec/Music/Assembly of Dust - Cold Coffee.mp3 -/home/mikec/Music/Assembly of Dust - Arc of the Sun.mp3 -/home/mikec/Music/Assembly of Dust - Edges.mp3 -/home/mikec/Music/Assembly of Dust - Borrowed Feet (Live).mp3 -/home/mikec/Music/Assembly of Dust - Borrowed Feet.mp3 -/home/mikec/Music/Assembly of Dust - High Brow.mp3 -/home/mikec/Music/Audioslave - Show Me How to Live.wma -/home/mikec/Music/Audioslave/Unknown Album/Audioslave - Show Me How to Live.m4a -/home/mikec/Music/Audioslave - Like a Stone.wma -/home/mikec/Music/Audioslave/Unknown Album/Audioslave - Like a Stone.m4a -/home/mikec/Music/Audioslave - Set It Off.wma -/home/mikec/Music/Audioslave/Unknown Album/Audioslave - Set It Off.m4a -/home/mikec/Music/Audioslave - Show Me How to Live.mp3 -/home/mikec/Music/Audioslave - Like a Stone.mp3 -/home/mikec/Music/Audioslave - Set It Off.mp3 -/home/mikec/Music/Audioslave - Cochise.wma -/home/mikec/Music/Audioslave/Unknown Album/Audioslave - Cochise.m4a -/home/mikec/Music/Audioslave/Unknown Album/Audioslave - I Am a Highway.m4a -/home/mikec/Music/Audioslave - I Am the Highway.mp3 -/home/mikec/Music/Audioslave - I Am the Highway.wma -/home/mikec/Music/Audioslave - Doesn’t Remind Me.mp3 -/home/mikec/Music/Autograph - Turn Up the Radio.wma -/home/mikec/Music/Autograph/Unknown Album/Autograph - Turn Up the Radio.m4a -/home/mikec/Music/Autograph - Turn Up the Radio.mp3 -/home/mikec/Music/Avril Lavigne - Complicated (instrumental).mp3 -/home/mikec/Music/AWOLNATION - Sail.mp3 -/home/mikec/Music/Bad Religion - Infected.mp3 -/home/mikec/Music/Bad Religion - 21st Century (Digital Boy).mp3 -/home/mikec/Music/Yom Kippur war song - day of judgementשירי מלחמת יום הכיפורים יום הדין يوم الحساب حرب أكتوبر.mp3 -/home/mikec/Music/Beastie Boys - Sabotage (LP version).mp3 -/home/mikec/Music/Better Than Ezra - Good.mp3 -/home/mikec/Music/Better Than Ezra - Desperately Wanting.mp3 -/home/mikec/Music/The Black Keys - Countdown.mp3 -/home/mikec/Music/Big & Rich - Save a Horse (Ride a Cowboy).mp3 -/home/mikec/Music/Big & Rich - Lost in This Moment.mp3 -/home/mikec/Music/Bill Withers - Ain’t No Sunshine.mp3 -/home/mikec/Music/Must Be Doing Something Right.mp3 -/home/mikec/Music/Billy Currington - People Are Crazy.mp3 -/home/mikec/Music/Billy Currington - Walk a Little Straighter.mp3 -/home/mikec/Music/Black Sabbath - War Pigs Luke’s Wall.mp3 -/home/mikec/Music/Black Sabbath - Paranoid.mp3 -/home/mikec/Music/Black Sabbath - Iron Man.mp3 -/home/mikec/Music/Blind Melon - No Rain.mp3 -/home/mikec/Music/BloodKin - Never in Vain.mp3 -/home/mikec/Music/Blur - Song 2.wma -/home/mikec/Music/Blur/Unknown Album/Blur - Song 2.m4a -/home/mikec/Music/Bob Acri - Sleep Away.mp3 -/home/mikec/Music/Bob Carlisle - Butterfly Kisses.wma -/home/mikec/Music/Conway Twitty/Unknown Album/Bob Carlisle - Butterfly Kisses.m4a -/home/mikec/Music/Bob Dylan - Like a Rolling Stone.mp3 -/home/mikec/Music/Bon Jovi - You Give Love a Bad Name.mp3 -/home/mikec/Music/Bon Jovi - Livin’ on a Prayer.mp3 -/home/mikec/Music/Bon Jovi - Wanted Dead or Alive.mp3 -/home/mikec/Music/Bon Jovi - Never Say Goodbye.mp3 -/home/mikec/Music/3 Doors Down/Unknown Album/Bon Jovi - I Wish Everyday Could Be Like Christmas.m4a -/home/mikec/Music/Brad Paisley - Alcohol (radio version).wma -/home/mikec/Music/Brad Paisley/Top Hits USA T795/Brad Paisley - Alcohol (radio version).m4a -/home/mikec/Music/Brad Paisley - The World.mp3 -/home/mikec/Music/Bruno Mars - The Lazy Song.mp3 -/home/mikec/Music/Bruno Mars - Grenade.mp3 -/home/mikec/Music/Stone Temple Pilots - Wicked Garden.mp3 -/home/mikec/Music/Buckcherry - Sorry.mp3 -/home/mikec/Music/Bush - Little Things.mp3 -/home/mikec/Music/Bush - Comedown.mp3 -/home/mikec/Music/Bush - Glycerine.mp3 -/home/mikec/Music/Bush - Glycerine.wma -/home/mikec/Music/Bush/Unknown Album/Bush - Glycerine.m4a -/home/mikec/Music/Butthole Surfers - Pepper (Butcha' Bros. Remix).mp3 -/home/mikec/Music/Cage the Elephant - Come a Little Closer.mp3 -/home/mikec/Music/CAKE - Short SkirtLong Jacket.mp3 -/home/mikec/Music/CAKE - You Part the Waters.mp3 -/home/mikec/Music/Candlebox - You.mp3 -/home/mikec/Music/Candlebox - Far Behind.mp3 -/home/mikec/Music/Carrie Underwood - Last Name.mp3 -/home/mikec/Music/Céline Dion - It’s All Coming Back to Me Now.mp3 -/home/mikec/Music/Céline Dion - The Power of Love.mp3 -/home/mikec/Music/Chad Kroeger - Hero (radio version).mp3 -/home/mikec/Music/Charlie Daniels - Uneasy Rider.mp3 -/home/mikec/Music/The Charlie Daniels Band - The Legend of Wooley Swamp.mp3 -/home/mikec/Music/Cherry Poppin’ Daddies - Zoot Suit Riot.mp3 -/home/mikec/Music/Creed- Higher.mp3 -/home/mikec/Music/Creed- Higher.mp3_ -/home/mikec/Music/Christina Aguilera - Candyman.mp3 -/home/mikec/Music/ZZ Top - Esther Be The One.mp3 -/home/mikec/Music/Cinderella - Nobody’s Fool.wma -/home/mikec/Music/Cinderella/Unknown Album/Cinderella - Nobody’s Fool.m4a -/home/mikec/Music/Cinderella - Nobody’s Fool.mp3 -/home/mikec/Music/Clarence Carter - Strokin'.mp3 -/home/mikec/Music/Simple Man - Lynyrd Skynyrd - Lyrics HD.mp3 -/home/mikec/Music/Collective Soul - Shine (Official Audio).mp3 -/home/mikec/Music/Collective Soul - The World I Know.mp3 -/home/mikec/Music/Collective Soul - Why, Pt. 2.mp3 -/home/mikec/Music/Collective Soul - Where the River Flows.mp3 -/home/mikec/Music/Collective Soul - Heavy.mp3 -/home/mikec/Music/Corey Taylor - Bother.mp3 -/home/mikec/Music/Counting Crows - Round Here.mp3 -/home/mikec/Music/Counting Crows - Mr. Jones.mp3 -/home/mikec/Music/Counting Crows - Children in Bloom.mp3 -/home/mikec/Music/Counting Crows - Have You Seen Me Lately.mp3 -/home/mikec/Music/Counting Crows - Another Horsedreamer’s Blues.mp3 -/home/mikec/Music/Counting Crows - Daylight Fading.mp3 -/home/mikec/Music/Counting Crows - I’m Not Sleeping.mp3 -/home/mikec/Music/Counting Crows - Goodnight Elisabeth.mp3 -/home/mikec/Music/Counting Crows - Miller’s Angels.mp3 -/home/mikec/Music/Counting Crows - Recovering the Satellites.mp3 -/home/mikec/Music/Counting Crows - Monkey.mp3 -/home/mikec/Music/Counting Crows - Mercury.mp3 -/home/mikec/Music/Counting Crows - Walkaways.mp3 -/home/mikec/Music/Counting Crows - A Long December.mp3 -/home/mikec/Music/Counting Crows - Hanginaround.mp3 -/home/mikec/Music/Counting Crows - Hanging Around.mp3 -/home/mikec/Music/Dashboard Confessional - Angels of the Silences.mp3 -/home/mikec/Music/Counting Crows - Catapult.mp3 -/home/mikec/Music/Craig Morgan - That's What I Love About Sunday.mp3 -/home/mikec/Music/Cream - Sunshine of Your Love.wma -/home/mikec/Music/Cream/Unknown Album/Cream - Sunshine of Your Love.m4a -/home/mikec/Music/Cream/Unknown Album/Cream - White Room.m4a -/home/mikec/Music/Cream - White Room.wma -/home/mikec/Music/Cream - Crossroads.wma -/home/mikec/Music/Cream/Unknown Album/Cream - Crossroads.m4a -/home/mikec/Music/Eric Clapton - Crossroads.mp3 -/home/mikec/Music/Cream - Sunshine of Your Love.mp3 -/home/mikec/Music/Cream - White Room.mp3 -/home/mikec/Music/Creed - One Last Breath.wma -/home/mikec/Music/Creed/Weathered/Creed - One Last Breath.m4a -/home/mikec/Music/Creed - My Own Prison.mp3 -/home/mikec/Music/Creed - With Arms Wide Open.mp3 -/home/mikec/Music/Creedence Clearwater Revival - Have You Ever Seen The Rain.mp3 -/home/mikec/Music/Creedence Clearwater Revival - Up Around The Bend.mp3 -/home/mikec/Music/Creedence Clearwater Revival - Who'll Stop The Rain.mp3 -/home/mikec/Music/Creedence Clearwater Revival - Bad Moon Rising.mp3 -/home/mikec/Music/Creedence Clearwater Revival - Fortunate Son.mp3 -/home/mikec/Music/Lookin' Out My Back Door.mp3 -/home/mikec/Music/Factorio OST - 10 - The Search for Iron.mp3 -/home/mikec/Music/Factorio OST - 11 - Solar Intervention.mp3 -/home/mikec/Music/Factorio OST - 12 - Turbine Dynamics.mp3 -/home/mikec/Music/Factorio OST - 13 - Anomaly (Interlude).mp3 -/home/mikec/Music/Factorio OST - 14 - Beyond Factory Outskirts.mp3 -/home/mikec/Music/Factorio OST - 15 - The Oil Industry.mp3 -/home/mikec/Music/Factorio OST - 16 - Automation.mp3 -/home/mikec/Music/Factorio OST - 17 - Transmit (Interlude).mp3 -/home/mikec/Music/Factorio OST - 18 - cenSeq's Discrepancy.mp3 -/home/mikec/Music/Factorio OST - 19 - Efficiency Program.mp3 -/home/mikec/Music/Factorio OST - 1 - After the Crash.mp3 -/home/mikec/Music/Factorio OST - 20 - Sentient.mp3 -/home/mikec/Music/Factorio OST - 21 - World Ambience 1.mp3 -/home/mikec/Music/Factorio OST - 22 - World Ambience 2.mp3 -/home/mikec/Music/Factorio OST - 23 - World Ambience 3.mp3 -/home/mikec/Music/Factorio OST - 24 - World Ambience 4.mp3 -/home/mikec/Music/Factorio OST - 25 - Factorio Trailer _BONUS_.mp3 -/home/mikec/Music/Factorio OST - 26 - Factorio Gameplay Trailer _BONUS_.mp3 -/home/mikec/Music/Factorio OST - 2 - The Right Tools.mp3 -/home/mikec/Music/Factorio OST - 3 - Resource Deficiency (Interlude).mp3 -/home/mikec/Music/Factorio OST - 4 - Are We Alone.mp3 -/home/mikec/Music/Factorio OST - 5 - First Light (Interlude).mp3 -/home/mikec/Music/Factorio OST - 6 - Research and Minerals.mp3 -/home/mikec/Music/Factorio OST - 7 - Gathering Horizon.mp3 -/home/mikec/Music/Factorio OST - 8 - Expansion.mp3 -/home/mikec/Music/Factorio OST - 9 - Pollution (Interlude).mp3 -/home/mikec/Music/Cupid - Cupid Shuffle.mp3 -/home/mikec/Music/Cypress Hill - Insane in the Brain.mp3 -/home/mikec/Music/Dan Auerbach - Shine on Me.mp3 -/home/mikec/Music/Dan Auerbach - Trouble Weighs a Ton.mp3 -/home/mikec/Music/Dan Auerbach - I Want Some More.mp3 -/home/mikec/Music/Dan Auerbach - Heartbroken, in Disrepair.mp3 -/home/mikec/Music/Dan Auerbach - Because I Should.mp3 -/home/mikec/Music/Dan Auerbach - Whispered Words (Pretty Lies).mp3 -/home/mikec/Music/Dan Auerbach - Real Desire.mp3 -/home/mikec/Music/Dan Auerbach - When the Night Comes.mp3 -/home/mikec/Music/Dan Auerbach - Mean Monsoon.mp3 -/home/mikec/Music/Dan Auerbach - The Prowl.mp3 -/home/mikec/Music/Dan Auerbach - Keep It Hid.mp3 -/home/mikec/Music/Dan Auerbach - My Last Mistake.mp3 -/home/mikec/Music/Dan Auerbach - When I Left the Room.mp3 -/home/mikec/Music/Dan Auerbach - Street Walkin'.mp3 -/home/mikec/Music/Dan Auerbach - Goin’ Home.mp3 -/home/mikec/Music/Dan Auerbach - Waiting on a Song.mp3 -/home/mikec/Music/Dan Auerbach - Malibu Man.mp3 -/home/mikec/Music/Dan Auerbach - Livin’ in Sin.mp3 -/home/mikec/Music/Dan Auerbach - King of a One Horse Town.mp3 -/home/mikec/Music/Dan Auerbach - King Of A One Horse Town _Official Music Video_.mp3 -/home/mikec/Music/Dan Auerbach - Never in My Wildest Dreams.mp3 -/home/mikec/Music/Dan Auerbach - Cherrybomb.mp3 -/home/mikec/Music/Dan Auerbach - Stand by My Girl.mp3 -/home/mikec/Music/Dan Auerbach - Undertow.mp3 -/home/mikec/Music/Dan Auerbach - Show Me.mp3 -/home/mikec/Music/EL SHADDAI BY AMY GRANT.mp3 -/home/mikec/Music/Danzig - Mother.mp3 -/home/mikec/Music/Darryl Worley - Sounds Like Life to Me.mp3 -/home/mikec/Music/Daughtry - Over You.mp3 -/home/mikec/Music/Talking Heads - _Nothing But_ Flowers (Official Video).mp3 -/home/mikec/Music/Days of the New - Touch, Peel and Stand.mp3 -/home/mikec/Music/Default - Wasting My Time.mp3 -/home/mikec/Music/Derek and the Dominos - Layla (5.1 mix).wma -/home/mikec/Music/Derek And The Dominos/Unknown Album/Derek and the Dominos - Layla (5.1 mix).m4a -/home/mikec/Music/Derek and the Dominos - Layla.mp3 -/home/mikec/Music/Derek and the Dominos - Bell Bottom Blues.mp3 -/home/mikec/Music/Derek And The Dominos/Unknown Album/Eric Clapton - Bell Bottom Blues.m4a -/home/mikec/Music/Eric Clapton - Bell Bottom Blues.wma -/home/mikec/Music/Dierks Bentley - Am I the Only One.mp3 -/home/mikec/Music/Dio - Rainbow in the Dark.mp3 -/home/mikec/Music/3 Doors Down - Kryptonite.mp3 -/home/mikec/Music/Disturbed - Remember.wma -/home/mikec/Music/Disturbed/Unknown Album/Disturbed - Remember.m4a -/home/mikec/Music/Genesis - Land of Confusion.mp3 -/home/mikec/Music/Don Henley - The Boys of Summer.mp3 -/home/mikec/Music/Don Henley - Dirty Laundry.mp3 -/home/mikec/Music/Eagles - Lyin’ Eyes.mp3 -/home/mikec/Music/Eagles - Smugglers Blues.mp3 -/home/mikec/Music/Eagles - Take It to the Limit.mp3 -/home/mikec/Music/Eagles - Desperado.mp3 -/home/mikec/Music/Eagles - Already Gone.mp3 -/home/mikec/Music/Eagles - Tequila Sunrise.mp3 -/home/mikec/Music/Eddie Rabbitt - Drivin’ My Life Away.mp3 -/home/mikec/Music/Eddie Vedder - You’ve Got to Hide Your Love Away.mp3 -/home/mikec/Music/Elizabeth Cook - Times Are Tough in Rock 'n' Roll.mp3 -/home/mikec/Music/Eminem - Lose Yourself.mp3 -/home/mikec/Music/Audioslave/Unknown Album/Enter the Haggis - Gasoline.m4a -/home/mikec/Music/Enter the Haggis - Gasoline.mp3 -/home/mikec/Music/Enter the Haggis - Gasoline.wma -/home/mikec/Music/Eric Clapton - Tears in Heaven (live).mp3 -/home/mikec/Music/Eric Clapton - Let It Rain.wma -/home/mikec/Music/Eric Clapton/Unknown Album/Eric Clapton - Let It Rain.m4a -/home/mikec/Music/Eric Clapton/Unknown Album/Eric Clapton - I Shot the Sheriff (5.1 mix).m4a -/home/mikec/Music/Eric Clapton/Unknown Album/Eric Clapton - Wonderful Tonight.m4a -/home/mikec/Music/Eric Clapton - Wonderful Tonight.wma -/home/mikec/Music/Eric Clapton - Promises.wma -/home/mikec/Music/Eric Clapton/Unknown Album/Eric Clapton - Promises.m4a -/home/mikec/Music/Eric Clapton - Let It Rain.mp3 -/home/mikec/Music/Eric Clapton - I Shot the Sheriff.mp3 -/home/mikec/Music/Eric Clapton - Wonderful Tonight.mp3 -/home/mikec/Music/Eric Clapton - Promises.mp3 -/home/mikec/Music/Eric Clapton - After Midnight.mp3 -/home/mikec/Music/Eric Clapton/Unknown Album/Eric Clapton - After Midnight.m4a -/home/mikec/Music/Eric Clapton - I Shot the Sheriff (5.1 mix).wma -/home/mikec/Music/Eric Clapton - Cocaine.mp3 -/home/mikec/Music/Eric Clapton - Cocaine.wma -/home/mikec/Music/Eric Clapton/Unknown Album/Eric Clapton - Cocaine.m4a -/home/mikec/Music/Eric Clapton - I Can’t Stand It.mp3 -/home/mikec/Music/Eric Clapton - I Can’t Stand It.wma -/home/mikec/Music/Eric Clapton/Unknown Album/Eric Clapton - I Can’t Stand It.m4a -/home/mikec/Music/Eric Clapton - Change the World.mp3 -/home/mikec/Music/Europe - The Final Countdown (live).wma -/home/mikec/Music/Europe/Unknown Album/Europe - The Final Countdown (live).m4a -/home/mikec/Music/Europe - The Final Countdown.mp3 -/home/mikec/Music/Evanescence - Going Under.mp3 -/home/mikec/Music/Evanescence - Bring Me To Life (Instrumental).mp3 -/home/mikec/Music/Everclear - Santa Monica.mp3 -/home/mikec/Music/The Coasters Sh Boom Life Could Be A Dream.mp3 -/home/mikec/Music/Fatal Shore - Real World.wma -/home/mikec/Music/Matchbox 20/Unknown Album/Fatal Shore - Real World.m4a -/home/mikec/Music/Fatal Shore - Real World.mp3 -/home/mikec/Music/Fatboy Slim - The Rockafeller Skank.mp3 -/home/mikec/Music/Filter - Hey Man, Nice Shot (Bud Gets the Lead Out).mp3 -/home/mikec/Music/Finger Eleven - Paralyzer (Official Audio).mp3 -/home/mikec/Music/Finger Eleven - Paralyzer (Official Audio).mp3_ -/home/mikec/Music/Finger Eleven - One Thing.mp3 -/home/mikec/Music/Five for Fighting - 100 Years.mp3 -/home/mikec/Music/Flogging Molly/Swagger/Flogging Molly - The Worst Day Since Yesterday.m4a -/home/mikec/Music/Flogging Molly - The Worst Day Since Yesterday.wma -/home/mikec/Music/Flogging Molly - The Worst Day Since Yesterday.mp3 -/home/mikec/Music/Foo Fighters - Monkey Wrench.mp3 -/home/mikec/Music/Foo Fighters - The Pretender.mp3 -/home/mikec/Music/Foo Fighters - Baker Street.mp3 -/home/mikec/Music/Foo Fighters/Foo Fighters/Foo Fighters - I’ll Stick Around.m4a -/home/mikec/Music/Foo Fighters - I’ll Stick Around.wma -/home/mikec/Music/Foo Fighters - I’ll Stick Around.mp3 -/home/mikec/Music/Foo Fighters - Big Me.mp3 -/home/mikec/Music/Foo Fighters - My Hero.mp3 -/home/mikec/Music/Foo Fighters - Everlong.mp3 -/home/mikec/Music/Foo Fighters - Learn to Fly.mp3 -/home/mikec/Music/Foo Fighters - Weenie Beenie.mp3 -/home/mikec/Music/Foo Fighters - All My Life (edit).mp3 -/home/mikec/Music/Alablaster - Nicky Is Cool.mp3 -/home/mikec/Music/Foo Fighters - Best of You.mp3 -/home/mikec/Music/3 Doors Down/Unknown Album/Francis Lai - Live for Life Live for Life.m4a -/home/mikec/Music/Francis Lai - Live for Life Live for Life.mp3 -/home/mikec/Music/Francis Lai - Live for Life Live for Life.wma -/home/mikec/Music/Franz Ferdinand - Take Me Out.mp3 -/home/mikec/Music/Fuel - Shimmer.mp3 -/home/mikec/Music/Fuel - Hemorrhage (in My Hands).mp3 -/home/mikec/Music/Fugees - Killing Me Softly With His Song.mp3 -/home/mikec/Music/Garbage - Only Happy When It Rains.mp3 -/home/mikec/Music/Garth Brooks - If Tomorrow Never Comes.mp3 -/home/mikec/Music/Gary Allan - Watching Airplanes.mp3 -/home/mikec/Music/Gavin DeGraw - I Don't Want to Be.mp3 -/home/mikec/Music/Gin Blossoms/Unknown Album/Gin Blossoms - Until I Fall Away.m4a -/home/mikec/Music/Gin Blossoms - Until I Fall Away.wma -/home/mikec/Music/Gin Blossoms - Mrs. Rita.wma -/home/mikec/Music/Gin Blossoms/Unknown Album/Gin Blossoms - Mrs. Rita.m4a -/home/mikec/Music/Gin Blossoms - Til I Hear It From You.wma -/home/mikec/Music/Gin Blossoms/Unknown Album/Gin Blossoms - Til I Hear It From You.m4a -/home/mikec/Music/Gin Blossoms - Til I Hear It From You.mp3 -/home/mikec/Music/Gin Blossoms - Allison Road.mp3 -/home/mikec/Music/Gin Blossoms - Allison Road.wma -/home/mikec/Music/Gin Blossoms/Unknown Album/Gin Blossoms - Allison Road.m4a -/home/mikec/Music/Gin Blossoms - Found Out About You.mp3 -/home/mikec/Music/Gin Blossoms - Found Out About You.wma -/home/mikec/Music/Gin Blossoms/Unknown Album/Gin Blossoms - Found Out About You.m4a -/home/mikec/Music/Gin Blossoms - Hey Jealousy.mp3 -/home/mikec/Music/Gin Blossoms - Hey Jealousy.wma -/home/mikec/Music/Gin Blossoms/Unknown Album/Gin Blossoms - Hey Jealousy.m4a -/home/mikec/Music/Gin Blossoms - Follow You Down.wma -/home/mikec/Music/Gin Blossoms/Unknown Album/Gin Blossoms - Follow You Down.m4a -/home/mikec/Music/Gin Blossoms - Until I Fall Away.mp3 -/home/mikec/Music/Gin Blossoms - Mrs. Rita.mp3 -/home/mikec/Music/Glen Campbell - Rhinestone Cowboy.mp3 -/home/mikec/Music/Gnarls Barkley - Crazy.mp3 -/home/mikec/Music/Puddle of Mudd - Fear.mp3 -/home/mikec/Music/Godsmack - Whatever.mp3 -/home/mikec/Music/Godsmack - Awake.mp3 -/home/mikec/Music/Godsmack - I Stand Alone.mp3 -/home/mikec/Music/Godsmack - Serenity.mp3 -/home/mikec/Music/Golden Earring - Twilight Zone.mp3 -/home/mikec/Music/Gordon Lightfoot - The Wreck of the Edmund Fitzgerald.mp3 -/home/mikec/Music/Gordon Lightfoot - Sundown.mp3 -/home/mikec/Music/Graham Blvd - Wildwood Weed.mp3 -/home/mikec/Music/Great Lake Swimmers - Pulling on a Line.mp3 -/home/mikec/Music/Great White - Once Bitten Twice Shy.wma -/home/mikec/Music/Great White/Unknown Album/Great White - Once Bitten Twice Shy.m4a -/home/mikec/Music/Great White - Once Bitten Twice Shy.mp3 -/home/mikec/Music/Green Day - Minority.mp3 -/home/mikec/Music/Green Day - When I Come Around.mp3 -/home/mikec/Music/Green Day - Basket Case.mp3 -/home/mikec/Music/Green Day - Brain Stew.mp3 -/home/mikec/Music/Green Day - Geek Stink Breath.mp3 -/home/mikec/Music/Green Day - Hitchin’ a Ride.mp3 -/home/mikec/Music/Green Day - Good Riddance (Time of Your Life).mp3 -/home/mikec/Music/Green Day - Time of Your Life.mp3 -/home/mikec/Music/Green Day/International Superhits!/Green Day - Maria.m4a -/home/mikec/Music/Green Day - Maria.wma -/home/mikec/Music/Green Day - Maria.mp3 -/home/mikec/Music/Green Day - Boulevard of Broken Dreams.mp3 -/home/mikec/Music/Green Day - Wake Me Up When September Ends.mp3 -/home/mikec/Music/Green Day - Holiday.mp3 -/home/mikec/Music/Gretchen Wilson - Redneck Woman.mp3 -/home/mikec/Music/Gretchen Wilson - Here for the Party.mp3 -/home/mikec/Music/Gungor - Beautiful Things.mp3 -/home/mikec/Music/Guns N' Roses/Appetite for Destruction/Guns N’ Roses - Nightrain.m4a -/home/mikec/Music/Guns N’ Roses - Nightrain.wma -/home/mikec/Music/Guns N' Roses/Appetite for Destruction/Guns N’ Roses - Out Ta Get Me.m4a -/home/mikec/Music/Guns N’ Roses - Out Ta Get Me.wma -/home/mikec/Music/Guns N' Roses/Appetite for Destruction/Guns N’ Roses - Mr. Brownstone.m4a -/home/mikec/Music/Guns N’ Roses - Mr. Brownstone.wma -/home/mikec/Music/Guns N' Roses/Appetite for Destruction/Guns N’ Roses - Think About You.m4a -/home/mikec/Music/Guns N’ Roses - Think About You.wma -/home/mikec/Music/Guns N' Roses - Welcome To The Jungle_1.mp3 -/home/mikec/Music/Guns N’ Roses - It’s So Easy.mp3 -/home/mikec/Music/Guns N' Roses - Nightrain_1.mp3 -/home/mikec/Music/Guns N’ Roses - Nightrain.mp3 -/home/mikec/Music/Guns N' Roses - Out Ta Get Me_1.mp3 -/home/mikec/Music/Guns N’ Roses - Out Ta Get Me.mp3 -/home/mikec/Music/Guns N' Roses - Mr. Brownstone_1.mp3 -/home/mikec/Music/Guns N’ Roses - Mr. Brownstone.mp3 -/home/mikec/Music/Guns N' Roses - Paradise City_1.mp3 -/home/mikec/Music/Guns N’ Roses - My Michelle.mp3 -/home/mikec/Music/Guns N' Roses - Think About You_1.mp3 -/home/mikec/Music/Guns N’ Roses - Think About You.mp3 -/home/mikec/Music/Guns N’ Roses - Sweet Child o’ Mine.mp3 -/home/mikec/Music/Guns N’ Roses - You’re Crazy.mp3 -/home/mikec/Music/Guns N’ Roses - Anything Goes.mp3 -/home/mikec/Music/Guns N’ Roses - Rocket Queen.mp3 -/home/mikec/Music/Guns N’ Roses - Don’t Cry.wma -/home/mikec/Music/Guns N' Roses/Guns N' Roses_ Greatest Hits/Guns N’ Roses - Don’t Cry.m4a -/home/mikec/Music/Guns N’ Roses - Welcome to the Jungle.mp3 -/home/mikec/Music/Guns N’ Roses - Don’t Cry.mp3 -/home/mikec/Music/Guns N' Roses/Unknown Album/Guns N’ Roses - Welcome to the Jungle.m4a -/home/mikec/Music/Guns N’ Roses - Welcome to the Jungle.wma -/home/mikec/Music/Guns N’ Roses - Sweet Child o’ Mine.wma -/home/mikec/Music/Guns N' Roses/Unknown Album/Guns N’ Roses - Sweet Child o’ Mine.m4a -/home/mikec/Music/Guns N’ Roses - Patience.wma -/home/mikec/Music/Guns N' Roses/Unknown Album/Guns N’ Roses - Patience.m4a -/home/mikec/Music/Guns N’ Roses - Paradise City.wma -/home/mikec/Music/Guns N' Roses/Unknown Album/Guns N’ Roses - Paradise City.m4a -/home/mikec/Music/Guns N’ Roses - Knockin’ on Heaven’s Door.wma -/home/mikec/Music/Guns N' Roses/Unknown Album/Guns N’ Roses - Knockin’ on Heaven’s Door.m4a -/home/mikec/Music/Guns N' Roses/Unknown Album/Guns N’ Roses - You Could Be Mine.m4a -/home/mikec/Music/Guns N’ Roses - You Could Be Mine.wma -/home/mikec/Music/08 Guns 'N' Roses - Don't Cry.wma -/home/mikec/Music/Guns N' Roses/Unknown Album/Guns N’ Roses - Don’t Cry.m4a -/home/mikec/Music/Guns N’ Roses - November Rain.wma -/home/mikec/Music/Guns N' Roses/Unknown Album/Guns N’ Roses - November Rain.m4a -/home/mikec/Music/Guns N' Roses/Unknown Album/Guns N’ Roses - Yesterdays.m4a -/home/mikec/Music/Guns N’ Roses - Yesterdays.wma -/home/mikec/Music/Guns N’ Roses - Hair of the Dog.mp3 -/home/mikec/Music/Guns N’ Roses - Civil War.mp3 -/home/mikec/Music/Guns N’ Roses - The Civil War.wma -/home/mikec/Music/Guns N' Roses/Unknown Album/Guns N’ Roses - The Civil War.m4a -/home/mikec/Music/Guns N' Roses - Sweet Child O' Mine_1.mp3 -/home/mikec/Music/Guns N’ Roses - Patience.mp3 -/home/mikec/Music/Guns N’ Roses - Paradise City.mp3 -/home/mikec/Music/Guns N’ Roses - Knockin’ on Heaven’s Door.mp3 -/home/mikec/Music/Guns N’ Roses - You Could Be Mine.mp3 -/home/mikec/Music/Guns N' Roses - Don't Cry Tonight.mp3 -/home/mikec/Music/Guns N’ Roses - November Rain.mp3 -/home/mikec/Music/Guns N’ Roses - Yesterdays.mp3 -/home/mikec/Music/Hank Flamingo - The Dope Smokin’ Song.mp3 -/home/mikec/Music/Hank Williams, Jr. - If Heaven Ain't a Lot Like Dixie.mp3 -/home/mikec/Music/Hank Williams, Jr. - That's How They Do It in Dixie.mp3 -/home/mikec/Music/Hank Williams, Jr. - Family Tradition.mp3 -/home/mikec/Music/Headlights - Get Going.mp3 -/home/mikec/Music/Heaven 17 - With or Without You.wma -/home/mikec/Music/U2/Unknown Album/Heaven 17 - With or Without You.m4a -/home/mikec/Music/Heaven 17 - With or Without You.mp3 -/home/mikec/Music/Helloween - My Sacrifice.mp3 -/home/mikec/Music/Helmet - Unsung.mp3 -/home/mikec/Music/The Black Keys - Everywhere I Go.mp3 -/home/mikec/Music/We're Finally Landing.mp3 -/home/mikec/Music/Hoobastank - Crawling in the Dark.mp3 -/home/mikec/Music/Hootie & the Blowfish - Hannah Jane.mp3 -/home/mikec/Music/Hope Sandoval & the Warm Inventions - Trouble.mp3 -/home/mikec/Music/House of Pain - Jump Around.mp3 -/home/mikec/Music/Ice Cube - It Was a Good Day.mp3 -/home/mikec/Music/Ice Cube - Check Yo Self (remix).mp3 -/home/mikec/Music/The Who - Behind Blue Eyes (HQ).mp3 -/home/mikec/Music/Jet - Are You Gonna Be My Girl (live from Sessions @ AOL).mp3 -/home/mikec/Music/Jethro Tull - Living in the Past.wma -/home/mikec/Music/Jethro Tull/Unknown Album/Jethro Tull - Living in the Past.m4a -/home/mikec/Music/Jethro Tull - Locomotive Breath.wma -/home/mikec/Music/Jethro Tull/Unknown Album/Jethro Tull - Locomotive Breath.m4a -/home/mikec/Music/Jethro Tull - Skating Away on the Thin Ice of the New Day.wma -/home/mikec/Music/Jethro Tull/Unknown Album/Jethro Tull - Skating Away on the Thin Ice of the New Day.m4a -/home/mikec/Music/Jethro Tull - Thick as a Brick (extract).wma -/home/mikec/Music/Jethro Tull/Unknown Album/Jethro Tull - Thick as a Brick (extract).m4a -/home/mikec/Music/Jethro Tull - Aqualung.mp3 -/home/mikec/Music/Jethro Tull - Aqualung.wma -/home/mikec/Music/Jethro Tull/Unknown Album/Jethro Tull - Aqualung.m4a -/home/mikec/Music/Jethro Tull - Bungle in the Jungle.mp3 -/home/mikec/Music/Jethro Tull - Living in the Past.mp3 -/home/mikec/Music/Jethro Tull - Locomotive Breath.mp3 -/home/mikec/Music/Jethro Tull - Skating Away.mp3 -/home/mikec/Music/Jethro Tull - Thick as a Brick.mp3 -/home/mikec/Music/Jim Croce - You Don’t Mess Around With Jim.mp3 -/home/mikec/Music/Jim Croce - Operator.wma -/home/mikec/Music/Jim Croce/You Don't Mess Around With Jim/Jim Croce - Operator (That’s Not the Way It Feels).m4a -/home/mikec/Music/Jim Croce - Time In A Bottle.wma -/home/mikec/Music/Jim Croce/You Don't Mess Around With Jim/Jim Croce - Time In A Bottle.m4a -/home/mikec/Music/Jim Croce - Operator (That’s Not the Way It Feels).mp3 -/home/mikec/Music/Jim Croce - Time In A Bottle.mp3 -/home/mikec/Music/Jim Croce/I Got a Name/Jim Croce - I’ll Have to Say I Love You in a Song.m4a -/home/mikec/Music/Jim Croce - I’ll Have to Say I Love You in a Song.wma -/home/mikec/Music/Jim Croce - I’ll Have to Say I Love You in a Song.mp3 -/home/mikec/Music/Jim Croce - Bad, bad Leroy Brown.mp3 -/home/mikec/Music/Jim Croce - Bad, bad Leroy Brown.wma -/home/mikec/Music/Jim Croce/Life and Times/Jim Croce - Bad, bad Leroy Brown.m4a -/home/mikec/Music/Jimi Hendrix - Castles Made Of Sand.mp3 -/home/mikec/Music/Jimi Hendrix - The Star Spangled Banner.mp3 -/home/mikec/Music/Joe Cocker - The Letter.mp3 -/home/mikec/Music/Joe Cocker - With a Little Help From My Friends.mp3 -/home/mikec/Music/Joe Cocker - You Are So Beautiful.mp3 -/home/mikec/Music/Joe Cocker - The Letter (Live).mp3 -/home/mikec/Music/Joe Diffie - Pickup Man.mp3 -/home/mikec/Music/John Michael Montgomery - I Love the Way You Love Me.wma -/home/mikec/Music/Toby Keith/Shock'n Y'all [DualDisc] Disc 1/John Michael Montgomery - I Love the Way You Love Me.m4a -/home/mikec/Music/Johnny Cash - I’ve Been Everywhere.mp3 -/home/mikec/Music/Johnny Cash - Wanted Man.mp3 -/home/mikec/Music/Johnny Cash - A Boy Named Sue.mp3 -/home/mikec/Music/Johnny Cash - Folsom Prison Blues.mp3 -/home/mikec/Music/Johnny Cash - God's Gonna Cut You Down.mp3 -/home/mikec/Music/Judas Priest/Unknown Album/Judas Priest - You’ve Got Another Thing Comin’.m4a -/home/mikec/Music/Judas Priest - You’ve Got Another Thing Comin’.wma -/home/mikec/Music/Judas Priest - You’ve Got Another Thing Comin’.mp3 -/home/mikec/Music/Kelly Clarkson - Never Again.mp3 -/home/mikec/Music/Jesse McCartney - Because You Live.mp3 -/home/mikec/Music/Kenny Rogers - Just Dropped In.mp3 -/home/mikec/Music/Kenny Wayne Shepherd Band - Blue on Black.mp3 -/home/mikec/Music/Kid Rock - Only God Knows Why.mp3 -/home/mikec/Music/Kid Rock - Picture.mp3 -/home/mikec/Music/Kings of Leon - Be Somebody.wma -/home/mikec/Music/Kings of Leon/Only By the Night (Deluxe Version)/Kings of Leon - Be Somebody.m4a -/home/mikec/Music/Kings of Leon - Be Somebody.mp3 -/home/mikec/Music/_Official_ Celeste B-Sides - 01 - Maxo - Forsaken City (Sever the Skyline Mix).mp3 -/home/mikec/Music/_Official_ Celeste B-Sides - 02 - Ben Prunty - Old Site (Black Moonrise Mix).mp3 -/home/mikec/Music/_Official_ Celeste B-Sides - 03 - Christa Lee - Celestial Resort (Good Karma Mix).mp3 -/home/mikec/Music/_Official_ Celeste B-Sides - 04 - in love with a ghost - Golden Ridge (Golden Feather Mix).mp3 -/home/mikec/Music/_Official_ Celeste B-Sides - 05 - 2 Mello - Mirror Temple (Mirror Magic Mix).mp3 -/home/mikec/Music/_Official_ Celeste B-Sides - 06 - Jukio Kallio - Reflection (Center of the Earth Mix).mp3 -/home/mikec/Music/_Official_ Celeste B-Sides - 07 - Kuraine - Summit (No More Running Mix).mp3 -/home/mikec/Music/_Official_ Celeste B-Sides - 08 - Matthewせいじ - The Core (Say Goodbye Mix).mp3 -/home/mikec/Music/_Official_ Celeste B-Sides - 09 - (Bonus) Area 1 Demo.mp3 -/home/mikec/Music/_Official_ Celeste Original Soundtrack - 01 - Prologue.mp3 -/home/mikec/Music/_Official_ Celeste Original Soundtrack - 02 - First Steps.mp3 -/home/mikec/Music/_Official_ Celeste Original Soundtrack - 03 - Resurrections.mp3 -/home/mikec/Music/_Official_ Celeste Original Soundtrack - 04 - Awake.mp3 -/home/mikec/Music/_Official_ Celeste Original Soundtrack - 05 - Postcard from Celeste Mountain.mp3 -/home/mikec/Music/_Official_ Celeste Original Soundtrack - 06 - Checking In.mp3 -/home/mikec/Music/_Official_ Celeste Original Soundtrack - 07 - Spirit of Hospitality.mp3 -/home/mikec/Music/_Official_ Celeste Original Soundtrack - 08 - Scattered and Lost.mp3 -/home/mikec/Music/_Official_ Celeste Original Soundtrack - 09 - Golden.mp3 -/home/mikec/Music/_Official_ Celeste Original Soundtrack - 10 - Anxiety.mp3 -/home/mikec/Music/_Official_ Celeste Original Soundtrack - 11 - Quiet and Falling.mp3 -/home/mikec/Music/_Official_ Celeste Original Soundtrack - 12 - In the Mirror.mp3 -/home/mikec/Music/_Official_ Celeste Original Soundtrack - 13 - Madeline and Theo.mp3 -/home/mikec/Music/_Official_ Celeste Original Soundtrack - 14 - Starjump.mp3 -/home/mikec/Music/_Official_ Celeste Original Soundtrack - 15 - Reflection.mp3 -/home/mikec/Music/_Official_ Celeste Original Soundtrack - 16 - Confronting Myself.mp3 -/home/mikec/Music/_Official_ Celeste Original Soundtrack - 17 - Little Goth.mp3 -/home/mikec/Music/_Official_ Celeste Original Soundtrack - 18 - Reach for the Summit.mp3 -/home/mikec/Music/_Official_ Celeste Original Soundtrack - 19 - Exhale.mp3 -/home/mikec/Music/_Official_ Celeste Original Soundtrack - 20 - Heart of the Mountain.mp3 -/home/mikec/Music/_Official_ Celeste Original Soundtrack - 21 - My Dearest Friends.mp3 -/home/mikec/Music/Beyond the Heart.mp3 -/home/mikec/Music/Crash.mp3 -/home/mikec/Music/Farewell.mp3 -/home/mikec/Music/Fear of the Unknown.mp3 -/home/mikec/Music/Final Defiance.mp3 -/home/mikec/Music/Futility.mp3 -/home/mikec/Music/In Stasis.mp3 -/home/mikec/Music/Joy of Remembrance.mp3 -/home/mikec/Music/Reconciliation.mp3 -/home/mikec/Music/The Empty Space Above.mp3 -/home/mikec/Music/The Woman and the Bird.mp3 -/home/mikec/Music/Vovô e Vovó.mp3 -/home/mikec/Music/wavedash.ppt.mp3 -/home/mikec/Music/Lenny Kravitz - Are You Gonna Go My Way.mp3 -/home/mikec/Music/Lenny Kravitz - Are You Gonna Go My Way.wma -/home/mikec/Music/Lenny Kravitz/Unknown Album/Lenny Kravitz - Are You Gonna Go My Way.m4a -/home/mikec/Music/Lifehouse - Hanging by a Moment.mp3 -/home/mikec/Music/Lifehouse - First Time.mp3 -/home/mikec/Music/Linkin Park - Numb.mp3 -/home/mikec/Music/Linkin Park - What I’ve Done.mp3 -/home/mikec/Music/Linkin Park - In the End.mp3 -/home/mikec/Music/Linkin Park - One Step Closer.mp3 -/home/mikec/Music/Linkin Park - Crawling.mp3 -/home/mikec/Music/Linkin Park - Given Up (radio edit).mp3 -/home/mikec/Music/Lisa Heller - Hope (Official Music Video).mp3 -/home/mikec/Music/Lit - Down.wma -/home/mikec/Music/LĪVE - Lightning Crashes.mp3 -/home/mikec/Music/LĪVE - The Dolphin’s Cry.mp3 -/home/mikec/Music/LĪVE - I Alone.mp3 -/home/mikec/Music/Living Colour - Cult of Personality.mp3 -/home/mikec/Music/Living Colour - Cult of Personality.wma -/home/mikec/Music/Living Colour/Unknown Album/Living Colour - Cult of Personality.m4a -/home/mikec/Music/Loca People - Party Rock Anthem.mp3 -/home/mikec/Music/Audioslave/Unknown Album/Lunik - What You Are.m4a -/home/mikec/Music/Lunik - What You Are.wma -/home/mikec/Music/Lunik - What You Are.mp3 -/home/mikec/Music/Lykke Li - No Rest for the Wicked.mp3 -/home/mikec/Music/Madonna - Music.mp3 -/home/mikec/Music/Manfred Krug - The Mighty Quinn.mp3 -/home/mikec/Music/Mark Wills - 19 Somethin’.mp3 -/home/mikec/Music/Maroon 5 - Moves Like Jagger.mp3 -/home/mikec/Music/Mary J. Blige - Family Affair (remix).mp3 -/home/mikec/Music/03 Matchbox 20 - 3 am.wma -/home/mikec/Music/Matchbox 20/Unknown Album/Matchbox 20 - 3 A.M..m4a -/home/mikec/Music/Matchbox 20 - Push.wma -/home/mikec/Music/Matchbox 20/Unknown Album/Matchbox 20 - Push.m4a -/home/mikec/Music/Matchbox 20 - 3 A.M..wma -/home/mikec/Music/Matchbox 20 - Push.mp3 -/home/mikec/Music/Matchbox 20/Unknown Album/Matchbox Twenty - Long Day.m4a -/home/mikec/Music/Matchbox Twenty - Long Day.wma -/home/mikec/Music/Matchbox 20/Unknown Album/Matchbox Twenty - Back 2 Good.m4a -/home/mikec/Music/Matchbox Twenty - Back 2 Good.mp3 -/home/mikec/Music/Matchbox Twenty - Back 2 Good.wma -/home/mikec/Music/Matchbox Twenty - Long Day.mp3 -/home/mikec/Music/Matchbox Twenty - 3 am.mp3 -/home/mikec/Music/Meat Loaf - I’d Do Anything for Love.mp3 -/home/mikec/Music/Meat Loaf - Two Out of Three Ain’t Bad.mp3 -/home/mikec/Music/Meat Loaf - Paradise by the Dashboard Light (5.1 mix).mp3 -/home/mikec/Music/Meat Loaf - For Crying Out Loud.mp3 -/home/mikec/Music/Meat Loaf - Blind as a Bat.mp3 -/home/mikec/Music/Meat Puppets - Backwater.wma -/home/mikec/Music/Meat Puppets/Unknown Album/Meat Puppets - Backwater.m4a -/home/mikec/Music/The Black Keys - Work Me.mp3 -/home/mikec/Music/Metallica - Fade To Black.mp3 -/home/mikec/Music/- Metallica - The Unforgiven (Video)_1485478525661.mp3.mp3 -/home/mikec/Music/Metallica - Nothing Else Matters.mp3 -/home/mikec/Music/Metallica - One.mp3 -/home/mikec/Music/Metallica - The Unforgiven.mp3 -/home/mikec/Music/Metallica - Enter Sandman.mp3 -/home/mikec/Music/Metallica - Sad but True.mp3 -/home/mikec/Music/Metallica - Fade to Black.wma -/home/mikec/Music/Metallica/Unknown Album/Metallica - Fade to Black.m4a -/home/mikec/Music/Missy Elliott - Gossip Folks (TV).mp3 -/home/mikec/Music/Morrissey - Wide to Receive.mp3 -/home/mikec/Music/Mötley Crüe - Home Sweet Home.mp3 -/home/mikec/Music/Mötley Crüe - Girls, Girls, Girls.mp3 -/home/mikec/Music/Mötley Crüe - Kickstart My Heart.mp3 -/home/mikec/Music/Mötley Crüe - Dr. Feelgood.mp3 -/home/mikec/Music/Mötley Crüe - Same Ol’ Situation (S.O.S.).mp3 -/home/mikec/Music/Mr. Scruff - Kalimba.mp3 -/home/mikec/Music/Muse - Uprising.mp3 -/home/mikec/Music/Neal McCoy - Billy's Got His Beer Goggles On.mp3 -/home/mikec/Music/Nickelback - Photograph (pop edit).mp3 -/home/mikec/Music/Nickelback - Rockstar.mp3 -/home/mikec/Music/Nickelback - Feelin’ Way Too Damn Good.mp3 -/home/mikec/Music/Nickelback - If Everyone Cared.mp3 -/home/mikec/Music/Nick Mason - A Country Boy Can Survive.mp3 -/home/mikec/Music/Night Ranger - Sister Christian.wma -/home/mikec/Music/Night Ranger/Unknown Album/Night Ranger - Sister Christian.m4a -/home/mikec/Music/Nirvana - Drain You.mp3 -/home/mikec/Music/Nirvana - In Bloom (Devonshire mix).mp3 -/home/mikec/Music/Nirvana - Lithium.mp3 -/home/mikec/Music/Nirvana - Smells Like Teen Spirit.mp3 -/home/mikec/Music/Nirvana - Breed.mp3 -/home/mikec/Music/Nirvana - Come as You Are (Devonshire mix).mp3 -/home/mikec/Music/Nirvana - Heart-Shaped Box.mp3 -/home/mikec/Music/Nirvana - Rape Me.mp3 -/home/mikec/Music/Nirvana - Lake of Fire.mp3 -/home/mikec/Music/Nirvana - About a Girl.mp3 -/home/mikec/Music/Nirvana - All Apologies.mp3 -/home/mikec/Music/Novato - Top.wma -/home/mikec/Music/Novato - Top.mp3 -/home/mikec/Music/Oasis - Don’t Look Back in Anger.mp3 -/home/mikec/Music/Oleander - It's The Reason.mp3 -/home/mikec/Music/Orgy - Blue Monday (single mix).mp3 -/home/mikec/Music/Our Lady Of Peace - Superman Is Dead.mp3 -/home/mikec/Music/Our Lady Peace - Clumsy.mp3 -/home/mikec/Music/OutKast - The Way You Move (club mix).mp3 -/home/mikec/Music/Ozzy Osbourne - Road to Nowhere.mp3 -/home/mikec/Music/Ozzy Osbourne - Dreamer.mp3 -/home/mikec/Music/Papa Roach - Take Me.wma -/home/mikec/Music/Papa Roach/Unknown Album/Papa Roach - Take Me.m4a -/home/mikec/Music/Papa Roach - Getting Away With Murder.mp3 -/home/mikec/Music/Pearl Jam - Even Flow.mp3 -/home/mikec/Music/Pearl Jam - Jeremy.mp3 -/home/mikec/Music/Pearl Jam - Extemperaneous Wandering.mp3 -/home/mikec/Music/Pearl Jam - Off He Goes.mp3 -/home/mikec/Music/Pearl Jam - Release.mp3 -/home/mikec/Music/Pearl Jam - Alive.mp3 -/home/mikec/Music/Pearl Jam - Black.mp3 -/home/mikec/Music/Pearl Jam - Daughter.mp3 -/home/mikec/Music/Pearl Jam - Elderly Woman Behind the Counter in a Small Town.mp3 -/home/mikec/Music/Pearl Jam - Elderly Woman Behind the Counter in a Small Town.wma -/home/mikec/Music/Pearl Jam/Rearviewmirror - Greatest Hits 1991-2003/Pearl Jam - Elderly Woman Behind the Counter in a Small Town.m4a -/home/mikec/Music/Pearl Jam - Better Man.mp3 -/home/mikec/Music/Pearl Jam - Once.mp3 -/home/mikec/Music/Pearl Jam - Nothingman.wma -/home/mikec/Music/Pearl Jam/Rearviewmirror - Greatest Hits 1991-2003/Pearl Jam - Nothingman.m4a -/home/mikec/Music/Pearl Jam - Nothingman.mp3 -/home/mikec/Music/Pearl Jam - World Wide Suicide.mp3 -/home/mikec/Music/Phil Collins - In the Air Tonight.mp3 -/home/mikec/Music/Pickin' On Project - Midnight Rider.mp3 -/home/mikec/Music/Pitbull - Don't Stop the Party.mp3 -/home/mikec/Music/P.O.D. - Youth of the Nation.mp3 -/home/mikec/Music/Poison - Every Rose Has Its Thorn.mp3 -/home/mikec/Music/Poison - Every Rose Has Its Thorn.wma -/home/mikec/Music/Poison/Unknown Album/Poison - Every Rose Has Its Thorn.m4a -/home/mikec/Music/Portugal. The Man - Feel It Still.mp3 -/home/mikec/Music/PSY - Gangnam Style.mp3 -/home/mikec/Music/Puddle of Mudd - Drift & Die.mp3 -/home/mikec/Music/Puddle of Mudd - Away From Me.wma -/home/mikec/Music/Puddle Of Mudd/Unknown Album/Puddle of Mudd - Away From Me.m4a -/home/mikec/Music/Puddle of Mudd - Psycho.mp3 -/home/mikec/Music/Queens of the Stone Age - No One Knows (UNKLE Reconstruction) (radio edit).mp3 -/home/mikec/Music/Queens of the Stone Age - Go With the Flow.wma -/home/mikec/Music/Queens of the Stone Age - Go With the Flow.mp3 -/home/mikec/Music/Queens of the Stone Age/Songs for the Deaf/Queens of the Stone Age - Go With the Flow.m4a -/home/mikec/Music/Quiet Riot - Cum On Feel the Noize.mp3 -/home/mikec/Music/Quiet Riot - Cum On Feel the Noize.wma -/home/mikec/Music/Quiet Riot/Unknown Album/Quiet Riot - Cum On Feel the Noize.m4a -/home/mikec/Music/Radiohead - Creep.mp3 -/home/mikec/Music/Rainbow - Man on the Silver Mountain.mp3 -/home/mikec/Music/Randy Houser - Boots On.mp3 -/home/mikec/Music/Ratt - Round and Round.wma -/home/mikec/Music/Ratt/Unknown Album/Ratt - Round and Round.m4a -/home/mikec/Music/Ratt - Round and Round.mp3 -/home/mikec/Music/Ray Charles - Georgia on My Mind (live).mp3 -/home/mikec/Music/Reba McEntire - Fancy.mp3 -/home/mikec/Music/Red Hot Chili Peppers - Under the Bridge.mp3 -/home/mikec/Music/Red Hot Chili Peppers - My Friends.wma -/home/mikec/Music/Red Hot Chili Peppers/Unknown Album/Red Hot Chili Peppers - My Friends.m4a -/home/mikec/Music/Red Hot Chili Peppers - By the Way.mp3 -/home/mikec/Music/Red Hot Chili Peppers - My Friends.mp3 -/home/mikec/Music/Red Hot Chili Peppers - Higher Ground.mp3 -/home/mikec/Music/Red Hot Chili Peppers - Higher Ground.wma -/home/mikec/Music/Red Hot Chili Peppers/Unknown Album/Red Hot Chili Peppers - Higher Ground.m4a -/home/mikec/Music/The Black Keys - Stop Stop.mp3 -/home/mikec/Music/Red Hot Chili Peppers Revival - Otherside.mp3 -/home/mikec/Music/R.E.M. - What’s the Frequency, Kenneth (radio version).mp3 -/home/mikec/Music/Rhino Bucket - Beg for Your Love.mp3 -/home/mikec/Music/Slow Ride - Foghat.mp3 -/home/mikec/Music/Symfonický orchester Slovenského rozhlasu - Maid with the Flaxen Hair.mp3 -/home/mikec/Music/Rihanna - Umbrella.mp3 -/home/mikec/Music/Rihanna - Hard.wma -/home/mikec/Music/ZZ Top/Unknown Album/Rihanna - Hard.m4a -/home/mikec/Music/Robin Thicke - Blurred Lines.mp3 -/home/mikec/Music/Rob Zombie - Never Gonna Stop (The Red, Red Kroovy).mp3 -/home/mikec/Music/Rob Zombie - Dragula.mp3 -/home/mikec/Music/Rob Zombie - Feel So Numb.mp3 -/home/mikec/Music/Rosenstolz - Cleopatra.mp3 -/home/mikec/Music/Sammy Hagar - Your Love Is Driving Me Crazy.mp3 -/home/mikec/Music/Sammy Hagar - I Can’t Drive 55.mp3 -/home/mikec/Music/Scorpions - No One Like You.wma -/home/mikec/Music/Scorpions/Unknown Album/Scorpions - No One Like You.m4a -/home/mikec/Music/Scorpions - The Zoo.wma -/home/mikec/Music/Scorpions/Unknown Album/Scorpions - The Zoo.m4a -/home/mikec/Music/Scorpions - No One Like You.mp3 -/home/mikec/Music/Scorpions - The Zoo.mp3 -/home/mikec/Music/Scott H. Biram - Blood Sweat & Murder.mp3 -/home/mikec/Music/Scott H. Biram - Sinkin' Down.mp3 -/home/mikec/Music/Scott H. Biram - Judgement Day.mp3 -/home/mikec/Music/Scott H. Biram - Draggin’ Down the Line.mp3 -/home/mikec/Music/Scott H. Biram - Hard Time.mp3 -/home/mikec/Music/Scott H. Biram - Never Comin’ Home.mp3 -/home/mikec/Music/Seether - Remedy.mp3 -/home/mikec/Music/Seether - Fine Again.mp3 -/home/mikec/Music/Seven Mary Three - Cumbersome.mp3 -/home/mikec/Music/Shinedown - Sound of Madness.mp3 -/home/mikec/Music/Shinedown - 45.mp3 -/home/mikec/Music/Shinedown - 45.wma -/home/mikec/Music/Shinedown/Leave a Whisper/Shinedown - 45.m4a -/home/mikec/Music/Silverchair - Tomorrow.mp3 -/home/mikec/Music/Skillet - Monster.mp3 -/home/mikec/Music/Slash - Back From Cali.mp3 -/home/mikec/Music/Social Distortion - Machine Gun Blues.mp3 -/home/mikec/Music/Social Distortion - Ring of Fire.mp3 -/home/mikec/Music/Social Distortion - Story of My Life.mp3 -/home/mikec/Music/Social Distortion - Ball And Chain (Edit).mp3 -/home/mikec/Music/Soundgarden - Outshined (LP version).mp3 -/home/mikec/Music/Soundgarden - Spoonman.mp3 -/home/mikec/Music/Soundgarden - Black Hole Sun.mp3 -/home/mikec/Music/Soundgarden - Fell on Black Days.mp3 -/home/mikec/Music/Spacehog - In the Meantime.wma -/home/mikec/Music/Spacehog/Unknown Album/Spacehog - In the Meantime.m4a -/home/mikec/Music/Staind - It's Been Awhile (clean version).mp3 -/home/mikec/Music/Its_Been_Awhile_(getmp3.pro).mp3 -/home/mikec/Music/State Radio - Calling All Crows.mp3 -/home/mikec/Music/Stephen King - Track 1.mp3 -/home/mikec/Music/AC-DC/Unknown Album/Stereo MCs - Creation.m4a -/home/mikec/Music/Stereo MCs - Creation.wma -/home/mikec/Music/Stereo MCs - Move.mp3 -/home/mikec/Music/Steve Earle - Copperhead Road.wma -/home/mikec/Music/Steve Earl/Unknown Album/Steve Earle - Copperhead Road.m4a -/home/mikec/Music/Steve Young - Seven Bridges Road.mp3 -/home/mikec/Music/Stone Sour - Through Glass.mp3 -/home/mikec/Music/Stone Temple Pilots - Interstate Love Song.mp3 -/home/mikec/Music/Stone Temple Pilots - Trippin’ on a Hole in a Paper Heart.mp3 -/home/mikec/Music/Stone Temple Pilots - Sour Girl.wma -/home/mikec/Music/Stone Temple Pilots/Unknown Album/Stone Temple Pilots - Sour Girl.m4a -/home/mikec/Music/Stone Temple Pilots - MC5.wma -/home/mikec/Music/Stone Temple Pilots/Unknown Album/Stone Temple Pilots - MC5.m4a -/home/mikec/Music/Stone Temple Pilots - MC5.mp3 -/home/mikec/Music/Stone Temple Pilots - Dead & Bloated.mp3 -/home/mikec/Music/Stone Temple Pilots - Creep (new album version).mp3 -/home/mikec/Music/Wesley Willis - Stone Temple Pilots.mp3 -/home/mikec/Music/Stone Temple Pilots - Heaven & Hot Rods.mp3 -/home/mikec/Music/Stone Temple Pilots - Heaven & Hot Rods.wma -/home/mikec/Music/Stone Temple Pilots/Unknown Album/Stone Temple Pilots - Heaven & Hot Rods.m4a -/home/mikec/Music/Stone Temple Pilots - Atlanta.mp3 -/home/mikec/Music/Stone Temple Pilots - Atlanta.wma -/home/mikec/Music/Stone Temple Pilots/Unknown Album/Stone Temple Pilots - Atlanta.m4a -/home/mikec/Music/Stone Temple Pilots - Down.mp3 -/home/mikec/Music/Stone Temple Pilots/Unknown Album/Stone Temple Pilots - Down.m4a -/home/mikec/Music/Army Ants.mp3 -/home/mikec/Music/Army Ants.mp3_ -/home/mikec/Music/Big Empty.mp3 -/home/mikec/Music/Big Empty.mp3_ -/home/mikec/Music/Plush (2017 Remaster).mp3 -/home/mikec/Music/Plush (2017 Remaster).mp3_ -/home/mikec/Music/Sex Type Thing (2017 Remaster).mp3 -/home/mikec/Music/Where the River Goes (2017 Remaster).mp3 -/home/mikec/Music/Sublime - Wrong Way.mp3 -/home/mikec/Music/Scorpions/Unknown Album/Sudden Death - Pillagers.m4a -/home/mikec/Music/Sudden Death - Pillagers.wma -/home/mikec/Music/Sudden Death - Pillagers.mp3 -/home/mikec/Music/Sugarland - Hello.mp3 -/home/mikec/Music/Sugarland - Stay.mp3 -/home/mikec/Music/Sugarland - Everyday America.mp3 -/home/mikec/Music/Sugarland - Already Gone.mp3 -/home/mikec/Music/Superdrag - Everything'll Be Made Right.mp3 -/home/mikec/Music/Synkro - These Times.mp3 -/home/mikec/Music/Taddy Porter - Mean Bitch.mp3 -/home/mikec/Music/Talking Heads - Once in a Lifetime.mp3 -/home/mikec/Music/Talking Heads - Take Me to the River.mp3 -/home/mikec/Music/Talking Heads - Life During Wartime.mp3 -/home/mikec/Music/Talking Heads - Burning Down the House.mp3 -/home/mikec/Music/Psycho Killer (2003 Remaster).mp3 -/home/mikec/Music/Wild Wild Life (2005 Remaster).mp3 -/home/mikec/Music/Tamra Rosanes - Louisiana Saturday Night.mp3 -/home/mikec/Music/Team America World Police - America, Fuck Yeah.mp3 -/home/mikec/Music/Temple of the Dog - Say Hello 2 Heaven.wma -/home/mikec/Music/Temple of the Dog/Temple of the Dog/Temple of the Dog - Say Hello 2 Heaven.m4a -/home/mikec/Music/Temple of the Dog - Say Hello 2 Heaven.mp3 -/home/mikec/Music/Temple of the Dog - Hunger Strike.mp3 -/home/mikec/Music/The Allman Brothers Band - Jessica.mp3 -/home/mikec/Music/The Allman Brothers Band - Melissa.mp3 -/home/mikec/Music/The Allman Brothers Band - Ramblin’ Man.mp3 -/home/mikec/Music/The Allman Brothers Band - Soulshine.mp3 -/home/mikec/Music/The Allman Brothers Band - The Whipping Post.mp3 -/home/mikec/Music/House Of The Rising Sun.mp3 -/home/mikec/Music/The Ataris - The Boys of Summer (Rough Mix).wma -/home/mikec/Music/The Ataris/Unknown Album/The Ataris - The Boys of Summer (Rough Mix).m4a -/home/mikec/Music/The Black Crowes - Twice as Hard.mp3 -/home/mikec/Music/The Black Keys - Breaking Down.mp3 -/home/mikec/Music/The Black Keys - Eagle Birds.mp3 -/home/mikec/Music/The Black Keys - Every Little Thing.mp3 -/home/mikec/Music/The Black Keys - Fire Walk With Me.mp3 -/home/mikec/Music/The Black Keys - Get Yourself Together.mp3 -/home/mikec/Music/The Black Keys - Junior's Instrumental.mp3 -/home/mikec/Music/The Black Keys - LoHi.mp3 -/home/mikec/Music/The Black Keys - Next Girl.mp3 -/home/mikec/Music/The Black Keys - No Trust.mp3 -/home/mikec/Music/The Black Keys - Shine a Little Light.mp3 -/home/mikec/Music/The Black Keys - Sit Around and Miss You.mp3 -/home/mikec/Music/The Black Keys - Stack Shot Billy.mp3 -/home/mikec/Music/The Black Keys - Tell Me Lies.mp3 -/home/mikec/Music/The Black Keys - Ten Cent Pistol.mp3 -/home/mikec/Music/The Black Keys- Baby I'm Coming Home (Official Visualizer).mp3 -/home/mikec/Music/The Black Keys _Black Mud Part II_ Remastered 10th Anniversary Edition _Official Audio_.mp3 -/home/mikec/Music/The Black Keys - Burn the Damn Thing Down (Official Visualizer).mp3 -/home/mikec/Music/The Black Keys _Chop and Change_ Remastered 10th Anniversary Edition _Official Audio_.mp3 -/home/mikec/Music/The Black Keys - Crawling Kingsnake _Official Audio_.mp3 -/home/mikec/Music/The Black Keys - Didn't I Love You (Official Visualizer).mp3 -/home/mikec/Music/The Black Keys - For the Love of Money (Official Visualizer).mp3 -/home/mikec/Music/The Black Keys - Going Down South _Official Music Video_.mp3 -/home/mikec/Music/The Black Keys - Good Love (Official Visualizer).mp3 -/home/mikec/Music/The Black Keys - Happiness (Official Visualizer).mp3 -/home/mikec/Music/The Black Keys - How Long (Official Visualizer).mp3 -/home/mikec/Music/The Black Keys - It Ain't Over (Official Visualizer).mp3 -/home/mikec/Music/The Black Keys _Keep My Name Outta Your Mouth_ Remastered 10th Anniversary Edition _Official Audio_.mp3 -/home/mikec/Music/The Black Keys - Wild Child (Official Audio).mp3 -/home/mikec/Music/The Black Keys - Your Team Is Looking Good (Official Visualizer).mp3 -/home/mikec/Music/The Black Keys - Under the Gun.mp3 -/home/mikec/Music/The Black Keys - Walk Across the Water.mp3 -/home/mikec/Music/The Black Keys - When the Lights Go Out.mp3 -/home/mikec/Music/The Black Keys - If You See Me.mp3 -/home/mikec/Music/The Black Keys - The Breaks.mp3 -/home/mikec/Music/The Black Keys - Leavin’ Trunk.mp3 -/home/mikec/Music/The Black Keys - Oceans and Streams.mp3 -/home/mikec/Music/The Black Keys - Psychotic Girl.mp3 -/home/mikec/Music/The Black Keys - Remember When (Side B).mp3 -/home/mikec/Music/Same Old Thing.mp3 -/home/mikec/Music/The Black Keys - So He Won’t Break.mp3 -/home/mikec/Music/The Black Keys - Strange Times _Official Music Video_.mp3 -/home/mikec/Music/The Black Keys - Things Ain't Like They Used to Be.mp3 -/home/mikec/Music/The Black Keys - Next Girl _Official Music Video_.mp3 -/home/mikec/Music/The Black Keys - Sinister Kid.mp3 -/home/mikec/Music/Ten Cent Pistol.mp3 -/home/mikec/Music/The Black Keys - The Go Getter.mp3 -/home/mikec/Music/The Black Keys - Tighten Up _Official Music Video_.mp3 -/home/mikec/Music/The Black Keys - Too Afraid To Love You _Live_.mp3 -/home/mikec/Music/The Black Keys - Unknown Brother.mp3 -/home/mikec/Music/The Black Keys - Junior's Wife.mp3 -/home/mikec/Music/The Black Keys - Keep Your Hands Off Her.mp3 -/home/mikec/Music/Meet Me in the City.mp3 -/home/mikec/Music/The Black Keys - Nobody but You.mp3 -/home/mikec/Music/The Black Keys - My Mind Is Ramblin'.mp3 -/home/mikec/Music/The Black Keys - You're the One.mp3 -/home/mikec/Music/[MP3DL.CC] The Black Keys - Coal Black Mattie (Official Audio)-320k.MP3 -/home/mikec/Music/[MP3DL.CC] The Black Keys - Come on and Go with Me (Official Audio)-320k.MP3 -/home/mikec/Music/[MP3DL.CC] The Black Keys - Crawling Kingsnake [Official Audio]-320k.MP3 -/home/mikec/Music/[MP3DL.CC] The Black Keys - Crawling Kingsnake [Radio Edit]-320k.MP3 -/home/mikec/Music/[MP3DL.CC] The Black Keys - Do the Romp (Official Audio)-320k.MP3 -/home/mikec/Music/[MP3DL.CC] The Black Keys - Going Down South [Official Music Video]-320k.MP3 -/home/mikec/Music/[MP3DL.CC] The Black Keys - Louise (Official Audio)-320k.MP3 -/home/mikec/Music/[MP3DL.CC] The Black Keys - Mellow Peaches (Official Audio)-320k.MP3 -/home/mikec/Music/[MP3DL.CC] The Black Keys - Poor Boy a Long Way From Home (Official Audio)-320k.MP3 -/home/mikec/Music/[MP3DL.CC] The Black Keys - Sad Days, Lonely Nights (Official Audio)-320k.MP3 -/home/mikec/Music/[MP3DL.CC] The Black Keys - Stay All Night (Official Audio)-320k.MP3 -/home/mikec/Music/[MP3DL.CC] The Black Keys - Walk with Me (Official Audio)-320k.MP3 -/home/mikec/Music/[MP3DL.CC] The Black Keys- Baby I'm Coming Home (Official Visualizer)-320k.MP3 -/home/mikec/Music/[MP3DL.CC] The Black Keys - Burn the Damn Thing Down (Official Visualizer)-320k.MP3 -/home/mikec/Music/[MP3DL.CC] The Black Keys - Didn't I Love You (Official Visualizer)-320k.MP3 -/home/mikec/Music/[MP3DL.CC] The Black Keys - For the Love of Money (Official Visualizer)-320k.MP3 -/home/mikec/Music/[MP3DL.CC] The Black Keys - Good Love (Official Visualizer)-320k.MP3 -/home/mikec/Music/[MP3DL.CC] The Black Keys - Happiness (Official Visualizer)-320k.MP3 -/home/mikec/Music/[MP3DL.CC] The Black Keys - How Long (Official Visualizer)-320k.MP3 -/home/mikec/Music/[MP3DL.CC] The Black Keys - It Ain't Over (Official Visualizer)-320k.MP3 -/home/mikec/Music/[MP3DL.CC] The Black Keys - Wild Child (Official Audio)-320k.MP3 -/home/mikec/Music/[MP3DL.CC] The Black Keys - Your Team Is Looking Good (Official Visualizer)-320k.MP3 -/home/mikec/Music/The Black Keys - Little Black Submarines _Official Music Video_.mp3 -/home/mikec/Music/The Black Keys - Lonely Boy _Official Music Video_.mp3 -/home/mikec/Music/The Black Keys - Mind Eraser.mp3 -/home/mikec/Music/The Black Keys - Money Maker.mp3 -/home/mikec/Music/The Black Keys - Nova Baby.mp3 -/home/mikec/Music/The Black Keys - Run Right Back.mp3 -/home/mikec/Music/The Black Keys - Sister.mp3 -/home/mikec/Music/The Black Keys - Keep Me.mp3 -/home/mikec/Music/The Black Keys - The Only One.mp3 -/home/mikec/Music/The Black Keys - Yearnin’.mp3 -/home/mikec/Music/Lies.mp3 -/home/mikec/Music/The Black Keys - I’m Not the One.mp3 -/home/mikec/Music/The Black Keys - I’ll Be Your Man.mp3 -/home/mikec/Music/The Black Keys - She’s Long Gone.mp3 -/home/mikec/Music/The Black Keys - Just Got to Be _Official Video_.mp3 -/home/mikec/Music/The Black Keys - Modern Times.mp3 -/home/mikec/Music/The Black Keys - Strange Desire.mp3 -/home/mikec/Music/The Black Keys - Your Touch _Official Music Video_.mp3 -/home/mikec/Music/The Black Keys - Just a Little Heat.mp3 -/home/mikec/Music/The Black Keys - She Said, She Said.mp3 -/home/mikec/Music/The Black Keys - The Flame.mp3 -/home/mikec/Music/The Black Keys - Just Couldn’t Tie Me Down.mp3 -/home/mikec/Music/Stack Shot Billy.mp3 -/home/mikec/Music/The Black Keys - The Desperate Man.mp3 -/home/mikec/Music/The Black Keys - The Lengths.mp3 -/home/mikec/Music/The Black Keys - Till I Get My Way.mp3 -/home/mikec/Music/The Black Keys - Run Me Down.mp3 -/home/mikec/Music/The Black Keys - Them Eyes.mp3 -/home/mikec/Music/When the Lights Go Out.mp3 -/home/mikec/Music/The Black Keys - Midnight in Her Eyes.mp3 -/home/mikec/Music/No Trust.mp3 -/home/mikec/Music/The Black Keys - Set You Free.mp3 -/home/mikec/Music/Thickfreakness.mp3 -/home/mikec/Music/The Black Keys - In Our Prime.mp3 -/home/mikec/Music/The Black Keys - It’s Up to You Now.mp3 -/home/mikec/Music/The Black Keys - Turn Blue.mp3 -/home/mikec/Music/The Black Keys - Waiting on Words.mp3 -/home/mikec/Music/The Black Keys - Weight of Love.mp3 -/home/mikec/Music/The Black Keys - Year in Review.mp3 -/home/mikec/Music/The Black Keys - These Days.mp3 -/home/mikec/Music/The Black Keys - Never Gonna Give You Up.mp3 -/home/mikec/Music/The Black Keys - In Time.mp3 -/home/mikec/Music/The Black Keys - Busted.mp3 -/home/mikec/Music/Do The Rump.mp3 -/home/mikec/Music/The Black Keys - I'll Be Your Man.mp3 -/home/mikec/Music/The Black Keys - Heavy Soul.mp3 -/home/mikec/Music/The Black Keys - Brooklyn Bound.mp3 -/home/mikec/Music/The Black Keys - 240 Years Before Your Time.mp3 -/home/mikec/Music/The Black Keys - Elevator.mp3 -/home/mikec/Music/The Black Keys - Thickfreakness.mp3 -/home/mikec/Music/The Black Keys - Hard Row.mp3 -/home/mikec/Music/The Black Keys - Have Love Will Travel.mp3 -/home/mikec/Music/The Black Keys - Hurt Like Mine.mp3 -/home/mikec/Music/The Black Keys - Hold Me in Your Arms.mp3 -/home/mikec/Music/The Black Keys - I Cry Alone.mp3 -/home/mikec/Music/The Black Keys - 10am Automatic.mp3 -/home/mikec/Music/The Black Keys - 10 A.M. Automatic.mp3 -/home/mikec/Music/The Black Keys - All Hands Against His Own.mp3 -/home/mikec/Music/Girl Is on My Mind.mp3 -/home/mikec/Music/The Black Keys - Girl Is on My Mind.mp3 -/home/mikec/Music/The Black Keys - Girl Is on My Mind.wma -/home/mikec/Music/The Black Keys/Rubber Factory/The Black Keys - Girl Is on My Mind.m4a -/home/mikec/Music/The Black Keys - Grown So Ugly.mp3 -/home/mikec/Music/The Black Keys - Act Nice and Gentle.mp3 -/home/mikec/Music/The Black Keys - Aeroplane Blues.mp3 -/home/mikec/Music/The Black Keys/Chulahoma/The Black Keys - Meet Me in the City.m4a -/home/mikec/Music/The Black Keys - Meet Me in the City.wma -/home/mikec/Music/The Black Keys - Have Mercy on Me.mp3 -/home/mikec/Music/The Black Keys - Meet Me in the City.mp3 -/home/mikec/Music/The Black Keys - Just Got to Be.mp3 -/home/mikec/Music/The Black Keys - Your Touch.mp3 -/home/mikec/Music/The Black Keys - Give Your Heart Away.mp3 -/home/mikec/Music/Goodbye Babylon.mp3 -/home/mikec/Music/The Black Keys - Goodbye Babylon.mp3 -/home/mikec/Music/The Black Keys - Goodbye Babylon.wma -/home/mikec/Music/The Black Keys/Magic Potion/The Black Keys - Goodbye Babylon.m4a -/home/mikec/Music/The Black Keys - Black Door.mp3 -/home/mikec/Music/The Black Keys - Lies.mp3 -/home/mikec/Music/The Black Keys - Remember When.mp3 -/home/mikec/Music/The Black Keys - Same Old Thing.mp3 -/home/mikec/Music/The Black Keys - Things Ain’t Like They Used to Be.mp3 -/home/mikec/Music/The Black Keys - All You Ever Wanted.mp3 -/home/mikec/Music/I Got Mine.mp3 -/home/mikec/Music/The Black Keys - I Got Mine.mp3 -/home/mikec/Music/The Black Keys - Strange Times.mp3 -/home/mikec/Music/The Black Keys - Everlasting Light.mp3 -/home/mikec/Music/The Black Keys - Howlin’ for You.mp3 -/home/mikec/Music/The Black Keys - Howlin'.mp3 -/home/mikec/Music/The Black Keys - Black Mud.mp3 -/home/mikec/Music/The Black Keys - Tighten Up.mp3 -/home/mikec/Music/The Black Keys - Too Afraid to Love You.mp3 -/home/mikec/Music/The Black Keys/El Camino/The Black Keys - Lonely Boy.m4a -/home/mikec/Music/The Black Keys - Lonely Boy.wma -/home/mikec/Music/The Black Keys/El Camino/The Black Keys - Little Black Submarines.m4a -/home/mikec/Music/The Black Keys - Little Black Submarines.wma -/home/mikec/Music/The Black Keys - Lonely Boy.mp3 -/home/mikec/Music/The Black Keys - Dead and Gone.mp3 -/home/mikec/Music/The Black Keys/El Camino/The Black Keys - Gold on the Ceiling.m4a -/home/mikec/Music/The Black Keys - Gold on the Ceiling.mp3 -/home/mikec/Music/The Black Keys - Gold On The Ceiling _Official Music Video_.mp3 -/home/mikec/Music/The Black Keys - Gold on the Ceiling.wma -/home/mikec/Music/The Black Keys - Little Black Submarines.mp3 -/home/mikec/Music/The Black Keys - Hell of a Season.mp3 -/home/mikec/Music/The Black Keys - Fever.mp3 -/home/mikec/Music/Bullet In The Brain.mp3 -/home/mikec/Music/The Black Keys - Bullet in the Brain.mp3 -/home/mikec/Music/The Black Keys - 10 Lovers.mp3 -/home/mikec/Music/The Black Keys - Gotta Get Away.mp3 -/home/mikec/Music/The Black Keys - Go.mp3 -/home/mikec/Music/The_Black_Keys_-_It_Aint_Over_Off_(getmp3.pro).mp3 -/home/mikec/Music/The_Black_Keys_-_Wild_Child_Offici_(getmp3.pro).mp3 -/home/mikec/Music/The Black Keys - Black Mud _ Black Mud Part II.mp3 -/home/mikec/Music/Coal Black Mattie.mp3 -/home/mikec/Music/Come on and Go with Me.mp3 -/home/mikec/Music/Crawling Kingsnake (Edit).mp3 -/home/mikec/Music/Crawling Kingsnake.mp3 -/home/mikec/Music/Do the Romp.mp3 -/home/mikec/Music/Going Down South.mp3 -/home/mikec/Music/Louise.mp3 -/home/mikec/Music/Mellow Peaches.mp3 -/home/mikec/Music/Poor Boy a Long Way From Home.mp3 -/home/mikec/Music/Sad Days, Lonely Nights.mp3 -/home/mikec/Music/Stay All Night.mp3 -/home/mikec/Music/Walk with Me.mp3 -/home/mikec/Music/The Letter.mp3 -/home/mikec/Music/The Bravery - Believe.mp3 -/home/mikec/Music/The Chantays - Pipeline.mp3 -/home/mikec/Music/The Charlie Daniels Band - Long Haired Country Boy.mp3 -/home/mikec/Music/The Charlie Daniels Band - Big Bad John.mp3 -/home/mikec/Music/The Clarks - Born Too Late.mp3 -/home/mikec/Music/The Clarks - Shimmy Low.mp3 -/home/mikec/Music/The Clarks - Let It Go.mp3 -/home/mikec/Music/The Clarks - Snowman.mp3 -/home/mikec/Music/The Clarks - Mercury.mp3 -/home/mikec/Music/The Clarks - Better Off Without You.mp3 -/home/mikec/Music/WaveGroup Sound - Take It Off.mp3 -/home/mikec/Music/The Duke & The King - If You Ever Get Famous.mp3 -/home/mikec/Music/The Flamingos - You'll Never Walk Alone.mp3 -/home/mikec/Music/Country Joe and the Fish - Sing Sing Sing.mp3 -/home/mikec/Music/Gin Blossoms - Follow You Down.mp3 -/home/mikec/Music/The Heavy - How You Like Me Now (radio edit).mp3 -/home/mikec/Music/The Hives - Hate to Say I Told You So.mp3 -/home/mikec/Music/Marcus King - The Well (Official Audio).mp3 -/home/mikec/Music/The Moody Blues - Bless the Wings (That Bring You Back).mp3 -/home/mikec/Music/Moody Blues/Unknown Album/The Moody Blues - Tuesday Afternoon (Forever Afternoon).m4a -/home/mikec/Music/The Moody Blues - Tuesday Afternoon (Forever Afternoon).wma -/home/mikec/Music/Moody Blues/Unknown Album/The Moody Blues - Nights in White Satin.m4a -/home/mikec/Music/The Moody Blues - Nights in White Satin.wma -/home/mikec/Music/Moody Blues/Unknown Album/The Moody Blues - I'm Just a Singer.m4a -/home/mikec/Music/The Moody Blues - I'm Just a Singer.wma -/home/mikec/Music/Moody Blues/Unknown Album/The Moody Blues - Your Wildest Dreams.m4a -/home/mikec/Music/The Moody Blues - Your Wildest Dreams.wma -/home/mikec/Music/The Moody Blues - Tuesday Afternoon (Forever Afternoon).mp3 -/home/mikec/Music/The Moody Blues - Nights in White Satin.mp3 -/home/mikec/Music/The Moody Blues - I'm Just a Singer.mp3 -/home/mikec/Music/The Moody Blues - Your Wildest Dreams.mp3 -/home/mikec/Music/The Nixons - Sister (Album Version).mp3 -/home/mikec/Music/Theory of a Deadman - No Surprise.wma -/home/mikec/Music/Theory Of A Deadman/Unknown Album/Theory of a Deadman - No Surprise.m4a -/home/mikec/Music/Theory of a Deadman - Hate My Life.mp3 -/home/mikec/Music/The Presidents of the United States of America - Peaches.mp3 -/home/mikec/Music/The Raconteurs - Steady, as She Goes.mp3 -/home/mikec/Music/The Rolling Stones - Satisfaction.mp3 -/home/mikec/Music/The Rolling Stones - Paint It, Black (original 7″ mono mix).mp3 -/home/mikec/Music/The Rolling Stones - It’s Only Rock ’n’ Roll.mp3 -/home/mikec/Music/The Rolling Stones - She’s So Cold.mp3 -/home/mikec/Music/The Rolling Stones - I Got the Blues.mp3 -/home/mikec/Music/The Rolling Stones - Shattered.mp3 -/home/mikec/Music/The Rolling Stones - Doom and Gloom.mp3 -/home/mikec/Music/The Soggy Bottom Boys - I Am a Man of Constant Sorrow (with band).mp3 -/home/mikec/Music/The Ting Tings - That’s Not My Name.mp3 -/home/mikec/Music/Bitter Sweet Symphony.mp3 -/home/mikec/Music/The Wallflowers - One Headlight.mp3 -/home/mikec/Music/The Wannadies - You and Me Song.mp3 -/home/mikec/Music/The White Stripes - We're Going To Be Friends (Official Music Video).mp3 -/home/mikec/Music/The White Stripes - Fell in Love With a Girl.mp3 -/home/mikec/Music/The White Stripes - The Hardest Button to Button.mp3 -/home/mikec/Music/The White Stripes - Seven Nation Army.mp3 -/home/mikec/Music/The White Stripes - Blue Orchid.mp3 -/home/mikec/Music/Jethro Tull/Unknown Album/The Zombies - Time of the Season.m4a -/home/mikec/Music/The Zombies - Time of the Season.wma -/home/mikec/Music/Those Darlins - Wild One.mp3 -/home/mikec/Music/Three Days Grace - Just Like You.mp3 -/home/mikec/Music/Three Days Grace - Pain.mp3 -/home/mikec/Music/Three Days Grace - Never Too Late.mp3 -/home/mikec/Music/Toadies - Possum Kingdom.mp3 -/home/mikec/Music/Toadies - Possum Kingdom.wma -/home/mikec/Music/Toad The Wet Sprocket/Unknown Album/Toadies - Possum Kingdom.m4a -/home/mikec/Music/Toby Keith - Red Solo Cup.mp3 -/home/mikec/Music/Toby Keith - Should’ve Been a Cowboy.wma -/home/mikec/Music/Toby Keith/Toby Keith_ Greatest Hits, Vol.1/Toby Keith - Should’ve Been a Cowboy.m4a -/home/mikec/Music/Toby Keith/Toby Keith_ Greatest Hits, Vol.1/Toby Keith - You Ain't Much Fun.m4a -/home/mikec/Music/Toby Keith - You Ain't Much Fun.wma -/home/mikec/Music/Toby Keith - Should’ve Been a Cowboy.mp3 -/home/mikec/Music/Toby Keith - You Ain't Much Fun.mp3 -/home/mikec/Music/Toby Keith/Greatest Hits 2/Toby Keith - How Do You Like Me Now.m4a -/home/mikec/Music/Toby Keith - How Do You Like Me Now.mp3 -/home/mikec/Music/Toby Keith - How Do You Like Me Now.wma -/home/mikec/Music/Toby Keith/35 Biggest Hits/Toby Keith - Courtesy Of The Red, White, And Blue (The Angry American).m4a -/home/mikec/Music/Toby Keith - Courtesy Of The Red, White, And Blue (The Angry American).mp3 -/home/mikec/Music/Toby Keith - Courtesy Of The Red, White, And Blue (The Angry American).wma -/home/mikec/Music/John Michael Montgomery - I Love the Way You Love Me.mp3 -/home/mikec/Music/Toby Keith/Greatest Hits 2/Toby Keith - I Wanna Talk About Me.m4a -/home/mikec/Music/Toby Keith - I Wanna Talk About Me.wma -/home/mikec/Music/Toby Keith/Greatest Hits 2/Toby Keith - My List.m4a -/home/mikec/Music/Toby Keith - My List.wma -/home/mikec/Music/Toby Keith - I Wanna Talk About Me.mp3 -/home/mikec/Music/Toby Keith - My List.mp3 -/home/mikec/Music/Toby Keith/35 Biggest Hits/Toby Keith - As Good as I Once Was.m4a -/home/mikec/Music/Toby Keith - As Good as I Once Was.mp3 -/home/mikec/Music/Toby Keith - As Good as I Once Was.wma -/home/mikec/Music/Toby Keith - Beers Ago.mp3 -/home/mikec/Music/Toby Keith - Beers Ago.wma -/home/mikec/Music/Toby Keith/Clancy's Tavern (Deluxe Edition)/Toby Keith - Beers Ago.m4a -/home/mikec/Music/Tommy Lee - Hold Me Down.wma -/home/mikec/Music/Tommy Lee/Unknown Album/Tommy Lee - Hold Me Down.m4a -/home/mikec/Music/Tool - Schism.wma -/home/mikec/Music/Tool/Unknown Album/Tool - Schism.m4a -/home/mikec/Music/Trace Adkins - Honky Tonk Badonkadonk.mp3 -/home/mikec/Music/Traffic - Dear Mr. Fantasy.wma -/home/mikec/Music/Traffic/Unknown Album/Traffic - Dear Mr. Fantasy.m4a -/home/mikec/Music/Trapt - Headstrong.mp3 -/home/mikec/Music/Travis Tritt - Helping Me Get Over You.mp3 -/home/mikec/Music/Travis Tritt - T-R-O-U-B-L-E.mp3 -/home/mikec/Music/Travis Tritt - Love of a Woman.mp3 -/home/mikec/Music/Travis Tritt - It's a Great Day to Be Alive.mp3 -/home/mikec/Music/Travis Tritt - Strong Enough to Be Your Man.mp3 -/home/mikec/Music/Travis Tritt - Here's a Quarter (Call Someone Who Cares).mp3 -/home/mikec/Music/Twisted Sister - I Wanna Rock (Official Music Video).mp3 -/home/mikec/Music/Twisted Sister - I Wanna Rock (Official Music Video).mp3_ -/home/mikec/Music/Twisted Sister/Unknown Album/Twisted Sister - We're Not Gonna Take It.m4a -/home/mikec/Music/Twisted Sister - We’re Not Gonna Take It.wma -/home/mikec/Music/Twisted Sister - We're Not Gonna Take It.mp3 -/home/mikec/Music/I Wanna Rock.mp3 -/home/mikec/Music/I Wanna Rock.mp3_ -/home/mikec/Music/U2 - Pride (In the Name of Love).wma -/home/mikec/Music/U2/Unknown Album/U2 - Pride (In the Name of Love).m4a -/home/mikec/Music/U2/Unknown Album/U2 - New Year's Day.m4a -/home/mikec/Music/U2 - New Year’s Day.wma -/home/mikec/Music/U2 - I Still Haven't Found What I'm Looking For.wma -/home/mikec/Music/U2/Unknown Album/U2 - I Still Haven't Found What I'm Looking For.m4a -/home/mikec/Music/U2 - Sunday Bloody Sunday.wma -/home/mikec/Music/U2/Unknown Album/U2 - Sunday Bloody Sunday.m4a -/home/mikec/Music/U2/Unknown Album/U2 - Where the Streets Have No Name.m4a -/home/mikec/Music/U2 - Where the Streets Have No Name.wma -/home/mikec/Music/U2/Unknown Album/U2 - When Love Comes to Town.m4a -/home/mikec/Music/U2 - When Love Comes to Town.wma -/home/mikec/Music/U2 - Pride (In the Name of Love).mp3 -/home/mikec/Music/U2 - New Year’s Day.mp3 -/home/mikec/Music/U2 - Sunday Bloody Sunday.mp3 -/home/mikec/Music/U2 - Where the Streets Have No Name.mp3 -/home/mikec/Music/U2 - When Love Comes to Town.mp3 -/home/mikec/Music/U2 - Desire.mp3 -/home/mikec/Music/U2 - Desire.wma -/home/mikec/Music/U2/Unknown Album/U2 - Desire.m4a -/home/mikec/Music/Van Halen - Why Can’t This Be Love.mp3 -/home/mikec/Music/Commander Cody & His Lost Planet Airmen - Hot Rod Lincoln.mp3 -/home/mikec/Music/Creed - One Last Breath.mp3 -/home/mikec/Music/Audioslave - Cochise.mp3 -/home/mikec/Music/Gerry & the Pacemakers - How Do You Do It.mp3 -/home/mikec/Music/London Music Works - Pulp Fiction Misirlou.mp3 -/home/mikec/Music/Velvet Revolver - Fall to Pieces.mp3 -/home/mikec/Music/Matchbox 20/Yourself Or Someone Like You/Matchbox 20 - 3 A.M..m4a -/home/mikec/Music/Warrant - Cherry Pie.mp3 -/home/mikec/Music/Warrant - Cherry Pie.wma -/home/mikec/Music/Warrant/Unknown Album/Warrant - Cherry Pie.m4a -/home/mikec/Music/Weezer - Say It Ain’t So (remix).mp3 -/home/mikec/Music/Weezer - The Sweater Song.mp3 -/home/mikec/Music/Weezer - Buddy Holly.mp3 -/home/mikec/Music/Weezer - Hash Pipe.mp3 -/home/mikec/Music/Weezer - Beverly Hills.mp3 -/home/mikec/Music/Weezer - We Are All on Drugs.mp3 -/home/mikec/Music/Wheatus - Teenage Dirtbag.mp3 -/home/mikec/Music/Whitesnake - Here I go again 87.mp3 -/home/mikec/Music/Whitesnake - Here I go again 87.wma -/home/mikec/Music/Whitesnake/Unknown Album/Whitesnake - Here I go again 87.m4a -/home/mikec/Music/White Zombie - More Human Than Human.mp3 -/home/mikec/Music/White Zombie - Thunder Kiss ’65.mp3 -/home/mikec/Music/Willie Nelson - Always On My Mind.mp3 -/home/mikec/Music/Willie Nelson - She Loves My Automobile.wma -/home/mikec/Music/ZZ Top/Unknown Album/Willie Nelson - She Loves My Automobile.m4a -/home/mikec/Music/Willie Nelson - She Loves My Automobile.mp3 -/home/mikec/Music/Winger - Seventeen.wma -/home/mikec/Music/Winger/Unknown Album/Winger - Seventeen.m4a -/home/mikec/Music/Winger - Seventeen.mp3 -/home/mikec/Music/Psalms 104 sung in ancient Hebrew _ ברכי נפשי את ה' - תהלים קד.mp3 -/home/mikec/Music/Psalms 104 sung in ancient Hebrew _ ברכי נפשי את ה' - תהלים קד.mp3_ -/home/mikec/Music/Yamma Ensemble - King David - biblical Hebrew translated and pronunciation subtitles.mp3 -/home/mikec/Music/Yamma Ensemble - King David - biblical Hebrew translated and pronunciation subtitles.mp3_ -/home/mikec/Music/Zac Brown Band - Toes.mp3 -/home/mikec/Music/Zac Brown Band - Chicken Fried.mp3 -/home/mikec/Music/Zac Brown Band - Homegrown.mp3 -/home/mikec/Music/ZZ Top - I Thank You.wma -/home/mikec/Music/ZZ Top/Unknown Album/ZZ Top - I Thank You.m4a -/home/mikec/Music/ZZ Top/Unknown Album/ZZ Top - Waitin’ for the Bus.m4a -/home/mikec/Music/ZZ Top - Waitin’ for the Bus.wma -/home/mikec/Music/ZZ Top - Jesus Just Left Chicago.wma -/home/mikec/Music/ZZ Top/Unknown Album/ZZ Top - Jesus Just Left Chicago.m4a -/home/mikec/Music/ZZ Top - Rough Boy.wma -/home/mikec/Music/ZZ Top/Unknown Album/ZZ Top - Rough Boy.m4a -/home/mikec/Music/ZZ Top - Tush.wma -/home/mikec/Music/ZZ Top/Unknown Album/ZZ Top - Tush.m4a -/home/mikec/Music/ZZ Top - Just Got Paid.wma -/home/mikec/Music/ZZ Top/Unknown Album/ZZ Top - Just Got Paid.m4a -/home/mikec/Music/ZZ Top - My Head’s in Mississippi.wma -/home/mikec/Music/ZZ Top/Unknown Album/ZZ Top - My Head’s in Mississippi.m4a -/home/mikec/Music/ZZ Top - Pearl Necklace.wma -/home/mikec/Music/ZZ Top/Unknown Album/ZZ Top - Pearl Necklace.m4a -/home/mikec/Music/ZZ Top - I’m Bad, I’m Nationwide.wma -/home/mikec/Music/ZZ Top/Unknown Album/ZZ Top - I’m Bad, I’m Nationwide.m4a -/home/mikec/Music/ZZ Top - Lowdown in the Street.wma -/home/mikec/Music/ZZ Top/Unknown Album/ZZ Top - Lowdown in the Street.m4a -/home/mikec/Music/ZZ Top/Unknown Album/ZZ Top - Viva Las Vegas.m4a -/home/mikec/Music/ZZ Top - Viva Las Vegas.wma -/home/mikec/Music/ZZ Top - Sleeping Bag.wma -/home/mikec/Music/ZZ Top/Unknown Album/ZZ Top - Sleeping Bag.m4a -/home/mikec/Music/ZZ Top - Planet of Women.wma -/home/mikec/Music/ZZ Top/Unknown Album/ZZ Top - Planet of Women.m4a -/home/mikec/Music/ZZ Top - La Grange.wma -/home/mikec/Music/ZZ Top/Unknown Album/ZZ Top - La Grange.m4a -/home/mikec/Music/ZZ Top - Tube Snake Boogie.wma -/home/mikec/Music/ZZ Top/Unknown Album/ZZ Top - Tube Snake Boogie.m4a -/home/mikec/Music/ZZ Top/Unknown Album/ZZ Top - Legs.m4a -/home/mikec/Music/ZZ Top - I Thank You.mp3 -/home/mikec/Music/ZZ Top - Sharp Dressed Man.mp3 -/home/mikec/Music/ZZ Top - Waitin’ for the Bus.mp3 -/home/mikec/Music/ZZ Top - Jesus Just Left Chicago.mp3 -/home/mikec/Music/ZZ Top - Rough Boy.mp3 -/home/mikec/Music/ZZ Top - Tush.mp3 -/home/mikec/Music/ZZ Top - Just Got Paid.mp3 -/home/mikec/Music/ZZ Top - My Head’s in Mississippi.mp3 -/home/mikec/Music/ZZ Top - Pearl Necklace.mp3 -/home/mikec/Music/ZZ Top - I’m Bad, I’m Nationwide.mp3 -/home/mikec/Music/ZZ Top - Lowdown in the Street.mp3 -/home/mikec/Music/ZZ Top - Viva Las Vegas.mp3 -/home/mikec/Music/ZZ Top - Sleeping Bag.mp3 -/home/mikec/Music/ZZ Top - I Gotsta Get Paid.mp3 -/home/mikec/Music/ZZ Top - La Grange.mp3 -/home/mikec/Music/ZZ Top - Tube Snake Boogie (digitally remixed).mp3 -/home/mikec/Music/ZZ Top - Beer Drinkers & Hell Raisers.mp3 -/home/mikec/Music/ZZ Top - Beer Drinkers & Hell Raisers.wma -/home/mikec/Music/ZZ Top/Unknown Album/ZZ Top - Beer Drinkers & Hell Raisers.m4a -/home/mikec/Music/ZZ Top - Heard It on the X.mp3 -/home/mikec/Music/ZZ Top - Heard It on the X.wma -/home/mikec/Music/ZZ Top/Unknown Album/ZZ Top - Heard It on the X.m4a -/home/mikec/Music/ZZ Top - A Fool for Your Stockings.mp3 -/home/mikec/Music/ZZ Top - A Fool for Your Stockings.wma -/home/mikec/Music/ZZ Top/Unknown Album/ZZ Top - A Fool for Your Stockings.m4a -/home/mikec/Music/ZZ Top - Dust My Broom.mp3 -/home/mikec/Music/ZZ Top - Dust My Broom.wma -/home/mikec/Music/ZZ Top/Unknown Album/ZZ Top - Dust My Broom.m4a -/home/mikec/Music/ZZ Top - Got Me Under Pressure.mp3 -/home/mikec/Music/ZZ Top - Got Me Under Pressure.wma -/home/mikec/Music/ZZ Top/Unknown Album/ZZ Top - Got Me Under Pressure.m4a -/home/mikec/Music/ZZ Top - Gimme All Your Lovin’.mp3 -/home/mikec/Music/ZZ Top - Gimme All Your Lovin’.wma -/home/mikec/Music/ZZ Top/Unknown Album/ZZ Top - Gimme All Your Lovin’.m4a -/home/mikec/Music/ZZ Top - Give It Up.mp3 -/home/mikec/Music/ZZ Top - Give It Up.wma -/home/mikec/Music/ZZ Top/Unknown Album/ZZ Top - Give It Up.m4a -/home/mikec/Music/ZZ Top - Doubleback.mp3 -/home/mikec/Music/ZZ Top - Doubleback.wma -/home/mikec/Music/ZZ Top/Unknown Album/ZZ Top - Doubleback.m4a -/home/mikec/Music/ZZ Top - Cheap Sunglasses.mp3 -/home/mikec/Music/ZZ Top - Cheap Sunglasses.wma -/home/mikec/Music/ZZ Top/Unknown Album/ZZ Top - Cheap Sunglasses.m4a -/home/mikec/Music/Bad Girl (2008 Remaster).mp3 -/home/mikec/Music/Dirty Dog (2008 Remaster).mp3 -/home/mikec/Music/Have You Heard (2005 Remaster).mp3 -/home/mikec/Music/Hi Fi Mama.mp3 -/home/mikec/Music/Hot, Blue and Righteous (2006 Remaster).mp3 -/home/mikec/Music/If I Could Only Flag Her Down (2008 Remaster).mp3 -/home/mikec/Music/I Got the Six (2008 Remaster).mp3 -/home/mikec/Music/I Need You Tonight (2008 Remaster).mp3 -/home/mikec/Music/Manic Mechanic.mp3 -/home/mikec/Music/Master of Sparks (2006 Remaster).mp3 -/home/mikec/Music/Move Me on Down the Line (2005 Remaster).mp3 -/home/mikec/Music/Precious and Grace (2005 Remaster).mp3 -/home/mikec/Music/Sheik (2005 Remaster).mp3 -/home/mikec/Music/Thug (2008 Remaster).mp3 -/home/mikec/Music/TV Dinners (2008 Remaster).mp3 -/home/mikec/Music/Road to Eilat (Israeli Patriotic War Song) 🇮🇱.mp3 -/home/mikec/Music/Road to Eilat (Israeli Patriotic War Song) ������������.mp3 -/home/mikec/Music/上戸彩 - 愛のために。(instrumental).mp3 diff --git a/.config/cmus/playlists/default b/.config/cmus/playlists/default deleted file mode 100644 index f642cec..0000000 --- a/.config/cmus/playlists/default +++ /dev/null @@ -1,9 +0,0 @@ -/home/mikec/Music/Creed - One Last Breath.mp3 -/home/mikec/Music/TV Dinners (2008 Remaster).mp3 -/home/mikec/Music/Creed - My Own Prison.mp3 -/home/mikec/Music/Master of Sparks (2006 Remaster).mp3 -/home/mikec/Music/Creed- Higher [sHcYaS3m1c4].opus -/home/mikec/Music/ZZ Top/Unknown Album/ZZ Top - Legs.m4a -/home/mikec/Music/ZZ Top - Got Me Under Pressure.mp3 -/home/mikec/Music/The Black Keys _Black Mud Part II_ Remastered 10th Anniversary Edition _Official Audio_.mp3 -/home/mikec/Music/The Black Keys - Black Mud.mp3 diff --git a/.config/cmus/rc b/.config/cmus/rc deleted file mode 100644 index a499bf4..0000000 --- a/.config/cmus/rc +++ /dev/null @@ -1 +0,0 @@ -set output_plugin=pulse diff --git a/.config/cmus/search-history b/.config/cmus/search-history deleted file mode 100644 index 76d246c..0000000 --- a/.config/cmus/search-history +++ /dev/null @@ -1,11 +0,0 @@ -black mud -got me under -legs -higher -master of spa -my own -tv din -one las -master of sparks -tv dinner -one last diff --git a/.config/enchant/en_US.dic b/.config/enchant/en_US.dic deleted file mode 100644 index e69de29..0000000 diff --git a/.config/enchant/en_US.exc b/.config/enchant/en_US.exc deleted file mode 100644 index e69de29..0000000 diff --git a/.config/glib-2.0/settings/keyfile b/.config/glib-2.0/settings/keyfile deleted file mode 100644 index e33e65f..0000000 --- a/.config/glib-2.0/settings/keyfile +++ /dev/null @@ -1,3 +0,0 @@ -[com/github/lainsce/palaura] -window-x=26 -window-y=23 diff --git a/.config/goread/urls.yml b/.config/goread/urls.yml deleted file mode 100644 index 98d521d..0000000 --- a/.config/goread/urls.yml +++ /dev/null @@ -1,13 +0,0 @@ -categories: - - name: All Feeds - desc: All feeds - subscriptions: - - name: BBC - desc: News from the BBC - url: http://feeds.bbci.co.uk/news/rss.xml - - name: Tech - desc: Tech news - subscriptions: - - name: strongly typed thoughts - desc: "" - url: https://phaazon.net/blog/feed diff --git a/.config/htop/htoprc b/.config/htop/htoprc deleted file mode 100644 index f16ca62..0000000 --- a/.config/htop/htoprc +++ /dev/null @@ -1,64 +0,0 @@ -# Beware! This file is rewritten by htop when settings are changed in the interface. -# The parser is also very primitive, and not human-friendly. -htop_version=3.3.0 -config_reader_min_version=3 -fields=0 48 17 18 38 39 40 2 46 47 49 1 -hide_kernel_threads=1 -hide_userland_threads=0 -hide_running_in_container=0 -shadow_other_users=0 -show_thread_names=0 -show_program_path=1 -highlight_base_name=0 -highlight_deleted_exe=1 -shadow_distribution_path_prefix=0 -highlight_megabytes=1 -highlight_threads=1 -highlight_changes=0 -highlight_changes_delay_secs=5 -find_comm_in_cmdline=1 -strip_exe_from_cmdline=1 -show_merged_command=0 -header_margin=1 -screen_tabs=1 -detailed_cpu_time=0 -cpu_count_from_one=0 -show_cpu_usage=1 -show_cpu_frequency=0 -show_cpu_temperature=0 -degree_fahrenheit=0 -update_process_names=0 -account_guest_in_cpu_meter=0 -color_scheme=0 -enable_mouse=1 -delay=15 -hide_function_bar=0 -topology_affinity=0 -header_layout=two_50_50 -column_meters_0=LeftCPUs4 Memory Swap -column_meter_modes_0=1 1 1 -column_meters_1=RightCPUs4 Tasks LoadAverage Uptime -column_meter_modes_1=1 2 2 2 -tree_view=0 -sort_key=46 -tree_sort_key=0 -sort_direction=-1 -tree_sort_direction=1 -tree_view_always_by_pid=0 -all_branches_collapsed=0 -screen:Main=PID USER PRIORITY NICE M_VIRT M_RESIDENT M_SHARE STATE PERCENT_CPU PERCENT_MEM TIME Command -.sort_key=PERCENT_CPU -.tree_sort_key=PID -.tree_view_always_by_pid=0 -.tree_view=0 -.sort_direction=-1 -.tree_sort_direction=1 -.all_branches_collapsed=0 -screen:I/O=PID USER IO_PRIORITY IO_RATE IO_READ_RATE IO_WRITE_RATE PERCENT_SWAP_DELAY PERCENT_IO_DELAY Command -.sort_key=IO_RATE -.tree_sort_key=PID -.tree_view_always_by_pid=0 -.tree_view=0 -.sort_direction=-1 -.tree_sort_direction=1 -.all_branches_collapsed=0 diff --git a/.config/kak-tree-sitter/config.toml b/.config/kak-tree-sitter/config.toml deleted file mode 100644 index c4108a2..0000000 --- a/.config/kak-tree-sitter/config.toml +++ /dev/null @@ -1,1440 +0,0 @@ -# kak-tree-sitter default configuration file. -# -# It is highly recommended for users to copy that file and edit it manually if they need to add support for languages -# not present yet. - -# List of features to be enabled/disabled. Most of those features can be -# overriden in the user configuration, or even on the CLI — see --with-* flags. -[features] -highlighting = true -text_objects = true - -[highlight] -# Top-level highlight capture group declarations. If your grammars uses a capture group that is not defined here, you -# have to add it to the list. -groups = [ - "attribute", - "comment", - "comment.block", - "comment.line", - "constant", - "constant.builtin", - "constant.builtin.boolean", - "constant.character", - "constant.character.escape", - "constant.macro", - "constant.numeric", - "constant.numeric.float", - "constant.numeric.integer", - "constructor", - "diff.plus", - "diff.minus", - "diff.delta", - "diff.delta.moved", - "embedded", - "error", - "function", - "function.builtin", - "function.macro", - "function.method", - "function.special", - "hint", - "include", - "info", - "keyword", - "keyword.conditional", - "keyword.control", - "keyword.control.conditional", - "keyword.control.except", - "keyword.control.exception", - "keyword.control.import", - "keyword.control.repeat", - "keyword.control.return", - "keyword.directive", - "keyword.function", - "keyword.operator", - "keyword.special", - "keyword.storage", - "keyword.storage.modifier", - "keyword.storage.modifier.mut", - "keyword.storage.modifier.ref", - "keyword.storage.type", - "label", - "load", - "markup.bold", - "markup.heading", - "markup.heading.1", - "markup.heading.2", - "markup.heading.3", - "markup.heading.4", - "markup.heading.5", - "markup.heading.6", - "markup.heading.marker", - "markup.italic", - "markup.link.label", - "markup.link.text", - "markup.link.url", - "markup.link.uri", - "markup.list.checked", - "markup.list.numbered", - "markup.list.unchecked", - "markup.list.unnumbered", - "markup.quote" , - "markup.raw", - "markup.raw.block", - "markup.raw.inline", - "markup.strikethrough", - "namespace", - "operator", - "punctuation", - "punctuation.bracket", - "punctuation.delimiter", - "punctuation.special", - "special", - "string", - "string.escape", - "string.regexp", - "string.special", - "string.special.path", - "string.special.symbol", - "string.symbol", - "tag", - "tag.error", - "text", - "type", - "type.builtin", - "type.enum.variant", - "variable", - "variable.builtin", - "variable.other.member", - "variable.parameter", - "warning", -] - -# astro -[language.astro.grammar.source.git] -url = "https://github.com/virchau13/tree-sitter-astro" -pin = "4be180759ec13651f72bacee65fa477c64222a1a" - -[language.astro.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../scanner.c", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "scanner.o", "parser.o", "-o", "astro.so"] -link_flags = ["-O3"] - -[language.astro.queries.source.git] -url = "https://git.sr.ht/~hadronized/kak-tree-sitter" -pin = "862f6cd58b38d9d1b4abfb722b4a4b25bdae2586" - -[language.astro.queries] -path = "runtime/queries/astro" - -# awk -[language.awk.grammar.source.git] -url = "https://github.com/Beaglefoot/tree-sitter-awk" -pin = "8eaa762d05cc67c0e2cc53a0a71750b3c16733c2" - -[language.awk.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../scanner.c", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "scanner.o", "parser.o", "-o", "awk.so"] -link_flags = ["-O3"] - -[language.awk.queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "dbd248fdfa680373d94fbc10094a160aafa0f7a7" - -[language.awk.queries] -path = "runtime/queries/awk" - -# bash -[language.bash.grammar.source.git] -url = "https://github.com/tree-sitter/tree-sitter-bash" -pin = "275effdfc0edce774acf7d481f9ea195c6c403cd" - -[language.bash.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../scanner.cc", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "scanner.o", "parser.o", "-o", "bash.so"] -link_flags = ["-O3", "-lstdc++"] - -[language.bash.queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "dbd248fdfa680373d94fbc10094a160aafa0f7a7" - -[language.bash.queries] -path = "runtime/queries/bash" - -# bass -# TODO - -# beancount -# TODO - -# bibtex -[language.bibtex.grammar.source.git] -url = "https://github.com/latex-lsp/tree-sitter-bibtex" -pin = "ccfd77db0ed799b6c22c214fe9d2937f47bc8b34" - -[language.bibtex.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "parser.o", "-o", "bibtex.so"] -link_flags = ["-O3"] - -[language.bibtex.queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "dbd248fdfa680373d94fbc10094a160aafa0f7a7" - -[language.bibtex.queries] -path = "runtime/queries/bibtex" - -# bicep -# TODO - -# c -[language.c.grammar.source.git] -url = "https://github.com/tree-sitter/tree-sitter-c" -pin = "7175a6dd5fc1cee660dce6fe23f6043d75af424a" - -[language.c.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "parser.o", "-o", "c.so"] -link_flags = ["-O3"] - -[language.c.queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "dbd248fdfa680373d94fbc10094a160aafa0f7a7" - -[language.c.queries] -path = "runtime/queries/c" - -# cabal -# TODO - -# cairo -# TODO - -# capnp -# TODO - -# clojure -# TODO - -# cmake -[language.cmake.grammar.source.git] -url = "https://github.com/uyha/tree-sitter-cmake" -pin = "6e51463ef3052dd3b328322c22172eda093727ad" - -[language.cmake.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../parser.c", "../scanner.cc", "-I", ".."] -compile_flags = ["-O3", "-flto=auto", "-march=native"] -link = "cc" -link_args = ["-shared", "-fpic", "parser.o", "scanner.o", "-o", "cmake.so"] -link_flags = ["-O3", "-lstdc++", "-flto=auto"] - -[language.cmake.queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "dbd248fdfa680373d94fbc10094a160aafa0f7a7" - -[language.cmake.queries] -path = "runtime/queries/cmake" - -# comment -[language.comment.grammar.source.git] -url = "https://github.com/stsewd/tree-sitter-comment" -pin = "94c99a66bb5051d8321b5900aee92b76450c50ce" - -[language.comment.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../scanner.c", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "scanner.o", "parser.o", "-o", "comment.so"] -link_flags = ["-O3"] - -[language.comment.queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "dbd248fdfa680373d94fbc10094a160aafa0f7a7" - -[language.comment.queries] -path = "runtime/queries/comment" - -# common-lisp -# TODO - -# cpon -# TODO - -# cpp -[language.cpp.grammar.source.git] -url = "https://github.com/tree-sitter/tree-sitter-cpp" -pin = "670404d7c689be1c868a46f919ba2a3912f2b7ef" - -[language.cpp.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../scanner.cc", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "scanner.o", "parser.o", "-o", "cpp.so"] -link_flags = ["-O3", "-lstdc++"] - -[language.cpp.queries.source.git] -url = "https://git.sr.ht/~hadronized/kak-tree-sitter" -pin = "b0ecb0d376c94d2fa4814816b41986bf5d735384" - -[language.cpp.queries] -path = "runtime/queries/cpp" - -# crystal -# TODO - -# c-sharp -[language.csharp.grammar.source.git] -url = "https://github.com/tree-sitter/tree-sitter-c-sharp" -pin = "92c0a9431400cd8b6b6ee7503f81da3ae83fc830" - -[language.csharp.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../scanner.c", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "scanner.o", "parser.o", "-o", "csharp.so"] -link_flags = ["-O3"] - -[language.csharp.queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "be307a420480178c1bc443992c8336f6471b8b7b" - -[language.csharp.queries] -path = "runtime/queries/c-sharp" - -# css -[language.css.grammar.source.git] -url = "https://github.com/tree-sitter/tree-sitter-css" -pin = "769203d0f9abe1a9a691ac2b9fe4bb4397a73c51" - -[language.css.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../scanner.c", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "scanner.o", "parser.o", "-o", "css.so"] -link_flags = ["-O3"] - -[language.css.queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "dbd248fdfa680373d94fbc10094a160aafa0f7a7" - -[language.css.queries] -path = "runtime/queries/css" - -# cue -# TODO - -# d -# TODO - -# dart -# TODO - -# devicetree -# TODO - -# dhall -# TODO - -# diff -[language.diff.grammar.source.git] -url = "https://github.com/the-mikedavis/tree-sitter-diff" -pin = "fd74c78fa88a20085dbc7bbeaba066f4d1692b63" - -[language.diff.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "parser.o", "-o", "diff.so"] -link_flags = ["-O3"] - -[language.diff.queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "dbd248fdfa680373d94fbc10094a160aafa0f7a7" - -[language.diff.queries] -path = "runtime/queries/diff" - -# dockerfile -# TODO - -# dot -# TODO - -# dtd -# TODO - -# ecma -# TODO - -# edoc -# TODO - -# eex -# TODO - -# ejs -# TODO - -# elixir -[language.elixir.grammar.source.git] -url = "https://github.com/elixir-lang/tree-sitter-elixir" -pin = "511ea5e0088779e4bdd76e12963ab9a5fe99983a" - -[language.elixir.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../scanner.c", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "scanner.o", "parser.o", "-o", "elixir.so"] -link_flags = ["-O3"] - -[language.elixir.queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "be307a420480178c1bc443992c8336f6471b8b7b" - -[language.elixir.queries] -path = "runtime/queries/elixir" - -# elm -# TODO - -# elvish -# TODO - -# env -# TODO - -# erb -# TODO - -# erlang -# TODO - -# esdl -# TODO - -# fish -[language.fish.grammar.source.git] -url = "https://github.com/ram02z/tree-sitter-fish" -pin = "84436cf24c2b3176bfbb220922a0fdbd0141e406" - -[language.fish.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../parser.c", "../scanner.c", "-I", ".."] -compile_flags = ["-O3", "-march=native", "-flto=auto"] -link = "cc" -link_args = ["-shared", "-fpic", "parser.o", "scanner.o", "-o", "fish.so"] -link_flags = ["-O3", "-flto=auto"] - -[language.fish.queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "dbd248fdfa680373d94fbc10094a160aafa0f7a7" - -[language.fish.queries] -path = "runtime/queries/fish" - -# fortran -# TODO - -# gdscript -# TODO - -# git-attributes -# TODO - -# git-commit -[language.git-commit.grammar.source.git] -url = "https://github.com/the-mikedavis/tree-sitter-git-commit" -pin = "db88cffa3952dd2328b741af5d0fc69bdb76704f" - -[language.git-commit.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "parser.o", "-o", "git-commit.so"] -link_flags = ["-O3"] - -[language.git-commit.queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "dbd248fdfa680373d94fbc10094a160aafa0f7a7" - -[language.git-commit.queries] -path = "runtime/queries/git-commit" - -# git-config -# TODO - -# git-ignore -# TODO - -# git-rebase -# TODO - -# gleam -# TODO - -# glsl -# TODO - -# go -[language.go.grammar.source.git] -url = "https://github.com/tree-sitter/tree-sitter-go" -pin = "64457ea6b73ef5422ed1687178d4545c3e91334a" - -[language.go.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "parser.o", "-o", "go.so"] -link_flags = ["-O3"] - -[language.go.queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "dbd248fdfa680373d94fbc10094a160aafa0f7a7" - -[language.go.queries] -path = "runtime/queries/go" - -# godot-resource -# TODO - -# gomod -# TODO - -# gotmpl -# TODO - -# gowork -# TODO - -# graphql -# TODO - -# hare -# TODO - -# haskell -[language.haskell.grammar.source.git] -url = "https://github.com/tree-sitter/tree-sitter-haskell" -pin = "98fc7f59049aeb713ab9b72a8ff25dcaaef81087" - -[language.haskell.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../parser.c", "../scanner.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "parser.o", "scanner.o", "-o", "haskell.so"] -link_flags = ["-O3"] - -[language.haskell.queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "dbd248fdfa680373d94fbc10094a160aafa0f7a7" - -[language.haskell.queries] -path = "runtime/queries/haskell" - -# hcl -# TODO - -# heex -# TODO - -# hosts -# TODO - -# html -[language.html.grammar.source.git] -url = "https://github.com/tree-sitter/tree-sitter-html" -pin = "86c253e675e7fdd1c0482efe0706f24bafbc3a7d" - -[language.html.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../parser.c", "../scanner.cc", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "scanner.o", "parser.o", "-o", "html.so"] -link_flags = ["-O3", "-lstdc++"] - -[language.html.queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "dbd248fdfa680373d94fbc10094a160aafa0f7a7" - -[language.html.queries] -path = "runtime/queries/html" - -# hurl -# TODO - -# iex -# TODO - -# ini -# TODO - -# java -[language.java.grammar.source.git] -url = "https://github.com/tree-sitter/tree-sitter-java" -pin = "09d650def6cdf7f479f4b78f595e9ef5b58ce31e" - -[language.java.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "parser.o", "-o", "java.so"] -link_flags = ["-O3"] - -[language.java.queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "dbd248fdfa680373d94fbc10094a160aafa0f7a7" - -[language.java.queries] -path = "runtime/queries/java" - -# javascript -[language.javascript.grammar.source.git] -url = "https://github.com/tree-sitter/tree-sitter-javascript" -pin = "f1e5a09b8d02f8209a68249c93f0ad647b228e6e" - -[language.javascript.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../scanner.c", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "scanner.o", "parser.o", "-o", "javascript.so"] -link_flags = ["-O3"] - -[language.javascript.queries.source.git] -url = "https://git.sr.ht/~hadronized/kak-tree-sitter" -pin = "834d348b85868fbe9033231e72f29be361346aeb" - -[language.javascript.queries] -path = "runtime/queries/javascript" - -# jsdoc -# TODO - -# json -[language.json.grammar.source.git] -url = "https://github.com/tree-sitter/tree-sitter-json" -pin = "73076754005a460947cafe8e03a8cf5fa4fa2938" - -[language.json.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "parser.o", "-o", "json.so"] -link_flags = ["-O3"] - -[language.json.queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "dbd248fdfa680373d94fbc10094a160aafa0f7a7" - -[language.json.queries] -path = "runtime/queries/json" - -# jsonnet -# TODO - -# jsx -[language.jsx.grammar.source.git] -url = "https://github.com/tree-sitter/tree-sitter-javascript" -pin = "f1e5a09b8d02f8209a68249c93f0ad647b228e6e" - -[language.jsx.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../scanner.c", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "scanner.o", "parser.o", "-o", "jsx.so"] -link_flags = ["-O3"] - -[language.jsx.queries.source.git] -url = "https://git.sr.ht/~hadronized/kak-tree-sitter" -pin = "834d348b85868fbe9033231e72f29be361346aeb" - -[language.jsx.queries] -path = "runtime/queries/jsx" - -# julia -[language.julia.grammar.source.git] -url = "https://github.com/tree-sitter/tree-sitter-julia" -pin = "2f885efd38a6a6abfefc81d53ecdd99812dcde69" - -[language.julia.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "-flto=auto", "../parser.c", "../scanner.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "-flto=auto", "parser.o", "scanner.o", "-o", "julia.so"] -link_flags = ["-O3"] - -[language.julia.queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "dbd248fdfa680373d94fbc10094a160aafa0f7a7" - -[language.julia.queries] -path = "runtime/queries/julia" - -# just -# TODO - -# kdl -# TODO - -# kotlin -[language.kotlin.grammar.source.git] -url = "https://github.com/fwcd/tree-sitter-kotlin" -pin = "a4f71eb9b8c9b19ded3e0e9470be4b1b77c2b569" - -[language.kotlin.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../scanner.c", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "scanner.o", "parser.o", "-o", "kotlin.so"] -link_flags = ["-O3"] - -[language.kotlin.queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "f73e9a8d15fd5a87d472a49808baf42ba403f9bf" - -[language.kotlin.queries] -path = "runtime/queries/kotlin" - -# latex -[language.latex.grammar.source.git] -url = "https://github.com/latex-lsp/tree-sitter-latex" -pin = "dfe891922ccd2e7cef52eccb2775e1b576727165" - -[language.latex.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../scanner.c", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "scanner.o", "parser.o", "-o", "latex.so"] -link_flags = ["-O3"] - -[language.latex.queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "dbd248fdfa680373d94fbc10094a160aafa0f7a7" - -[language.latex.queries] -path = "runtime/queries/latex" - -# lean -# TODO - -# ledger -# TODO - -# llvm -[language.llvm.grammar.source.git] -url = "https://github.com/benwilliamgraham/tree-sitter-llvm" -pin = "1b96e58faf558ce057d4dc664b904528aee743cb" - -[language.llvm.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "parser.o", "-o", "llvm.so"] -link_flags = ["-O3"] - -[language.llvm.queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "e76020ddb93eeb051de606c24f92189c3fc55547" - -[language.llvm.queries] -path = "runtime/queries/llvm" - -# llvm-mir -# TODO - -# llvm-mir-yaml -# TODO - -# lua -# TODO - -# make -[language.make.grammar.source.git] -url = "https://github.com/alemuller/tree-sitter-make" -pin = "a4b9187417d6be349ee5fd4b6e77b4172c6827dd" - -[language.make.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "parser.o", "-o", "make.so"] -link_flags = ["-O3"] - -[language.make.queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "dbd248fdfa680373d94fbc10094a160aafa0f7a7" - -[language.make.queries] -path = "runtime/queries/make" - -# markdoc -# TODO - -# markdown -[language.markdown.grammar.source.git] -url = "https://github.com/MDeiml/tree-sitter-markdown" -pin = "aaf76797aa8ecd9a5e78e0ec3681941de6c945ee" - -[language.markdown.grammar] -path = "tree-sitter-markdown/src" -compile = "cc" -compile_args = ["-c", "-fpic", "../scanner.c", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "scanner.o", "parser.o", "-o", "markdown.so"] -link_flags = ["-O3"] - -[language.markdown.queries.source.git] -url = "https://git.sr.ht/~hadronized/kak-tree-sitter" -pin = "d2d9761f309d6204a8f4480dc23f10558a165e29" - -[language.markdown.queries] -path = "runtime/queries/markdown" - -# markdown.inline -[language."markdown.inline".grammar.source.git] -url = "https://github.com/MDeiml/tree-sitter-markdown" -pin = "aaf76797aa8ecd9a5e78e0ec3681941de6c945ee" - -[language."markdown.inline".grammar] -path = "tree-sitter-markdown-inline/src" -compile = "cc" -compile_args = ["-c", "-fpic", "../scanner.c", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "scanner.o", "parser.o", "-o", "markdown.inline.so"] -link_flags = ["-O3"] - -[language."markdown.inline".queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "56ccaedffbb8011e36012278e2a4861a8d435a60" - -[language."markdown.inline".queries] -path = "runtime/queries/markdown.inline" - -# matlab -# TODO - -# mermaid -# TODO - -# meson -# TODO - -# msbuild -# TODO - -# nasm -# TODO - -# nickel -# TODO - -# nim - -[language.nim.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../scanner.c", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "scanner.o", "parser.o", "-o", "nim.so"] -link_flags = ["-O3"] - -[language.nim.grammar.source.git] -url = "https://github.com/alaviss/tree-sitter-nim" -pin = "961c2798cec9250c44f7d7225ddb33d47d25856a" - -[language.nim.queries] -path = "runtime/queries/nim" - -[language.nim.queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "50c90cb47c9cdbb044d1a2de034285e0d198f43e" - -# nix - -[language.nix.grammar.source.git] -url = "https://github.com/nix-community/tree-sitter-nix" -pin = "763168fa916a333a459434f1424b5d30645f015d" - -[language.nix.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../scanner.c", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "scanner.o", "parser.o", "-o", "nix.so"] -link_flags = ["-O3"] - -[language.nix.queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "be307a420480178c1bc443992c8336f6471b8b7b" - -[language.nix.queries] -path = "runtime/queries/nix" - -# nu -[language.nu.grammar.source.git ] -url = "https://github.com/nushell/tree-sitter-nu" -pin = "786689b0562b9799ce53e824cb45a1a2a04dc673" - -[language.nu.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "parser.o", "-o", "nu.so"] -link_flags = ["-O3"] - -[language.nu.queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "107763083405868f3679d8e12476ed0688896f87" - -[language.nu.queries] -path = "runtime/queries/nu" - -# ocaml -# TODO - -# ocaml-interface -# TODO - -# odin -# TODO - -# opencl -# TODO - -# openscad -# TODO - -# org -# TODO - -# pascal -# TODO - -# passwd -# TODO - -# pem -# TODO - -# perl -# TODO - -# php -# TODO - -# po -# TODO - -# ponylang -# TODO - -# prisma -# TODO - -# protobuf -# TODO - -# prql -# TODO - -# purescript -[language.purescript.grammar.source.git] -url = "https://github.com/postsolar/tree-sitter-purescript/" -pin = "1615ac3b9c3b572259bce7a30c14cb06d6c2f2ff" - -[language.purescript.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../parser.c", "../scanner.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "parser.o", "scanner.o", "-o", "purescript.so"] -link_flags = ["-O3"] - -[language.purescript.queries.source.git] -url = "https://github.com/postsolar/tree-sitter-purescript" -pin = "1615ac3b9c3b572259bce7a30c14cb06d6c2f2ff" - -[language.purescript.queries] -path = "queries" - -# python -[language.python.grammar.source.git] -url = "https://github.com/tree-sitter/tree-sitter-python" -pin = "de221eccf9a221f5b85474a553474a69b4b5784d" - -[language.python.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../scanner.cc", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "scanner.o", "parser.o", "-o", "python.so"] -link_flags = ["-O3", "-lstdc++"] - -[language.python.queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "dbd248fdfa680373d94fbc10094a160aafa0f7a7" - -[language.python.queries] -path = "runtime/queries/python" - -# qml -# TODO - -# r -# TODO - -# racket -# TODO - -# regex -# TODO - -# rego -# TODO - -# rescript -# TODO - -# rmarkdown -# TODO - -# robot -# TODO - -# ron -# TODO - -# rst -# TODO - -# ruby -[language.ruby.grammar.source.git] -url = "https://github.com/tree-sitter/tree-sitter-ruby" -pin = "206c7077164372c596ffa8eaadb9435c28941364" - -[language.ruby.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../scanner.cc", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "c++" -link_args = ["-shared", "-fpic", "scanner.o", "parser.o", "-o", "ruby.so"] -link_flags = ["-O3", "-lstdc++"] - -[language.ruby.queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "dbd248fdfa680373d94fbc10094a160aafa0f7a7" - -[language.ruby.queries] -path = "runtime/queries/ruby" - -# rust -[language.rust.grammar.source.git] -url = "https://github.com/tree-sitter/tree-sitter-rust" -pin = "0431a2c60828731f27491ee9fdefe25e250ce9c9" - -[language.rust.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../scanner.c", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "scanner.o", "parser.o", "-o", "rust.so"] -link_flags = ["-O3"] - -[language.rust.queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "3e963b3c1b5eb4b5cd7f33b8ef6d6642de210a9b" - -[language.rust.queries] -path = "runtime/queries/rust" - -# scss -[language.scss.grammar.source.git] -url = "https://github.com/serenadeai/tree-sitter-scss" -pin = "c478c6868648eff49eb04a4df90d703dc45b312a" - -[language.scss.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../scanner.c", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "scanner.o", "parser.o", "-o", "scss.so"] -link_flags = ["-O3"] - -[language.scss.queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "be307a420480178c1bc443992c8336f6471b8b7b" - -[language.scss.queries] -path = "runtime/queries/scss" - -# sage -# TODO - -# scala -# TODO - -# scheme -[language.scheme.grammar.source.git] -url = "https://github.com/6cdh/tree-sitter-scheme" -pin = "c0741320bfca6b7b5b7a13b5171275951e96a842" - -[language.scheme.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "parser.o", "-o", "scheme.so"] -link_flags = ["-O3"] - -[language.scheme.queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "dbd248fdfa680373d94fbc10094a160aafa0f7a7" - -[language.scheme.queries] -path = "runtime/queries/scheme" - -# scss -# TODO - -# slint -# TODO - -# smithy -# TODO - -# sml -# TODO - -# solidity -# TODO - -# sql -# TODO - -# sshclientconfig -# TODO - -# starlark -# TODO - -# svelte -# TODO - -# sway -# TODO - -# swift -# TODO - -# tablegen -# TODO - -# task -# TODO - -# tfvars -# TODO - -# toml -[language.toml.grammar.source.git] -url = "https://github.com/ikatyang/tree-sitter-toml" -pin = "8bd2056818b21860e3d756b5a58c4f6e05fb744e" - -[language.toml.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../scanner.c", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "scanner.o", "parser.o", "-o", "toml.so"] -link_flags = ["-O3"] - -[language.toml.queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "dbd248fdfa680373d94fbc10094a160aafa0f7a7" - -[language.toml.queries] -path = "runtime/queries/toml" - -# tsq -# TODO - -# tsx -[language.tsx.grammar.source.git] -url = "https://github.com/tree-sitter/tree-sitter-typescript" -pin = "b1bf4825d9eaa0f3bdeb1e52f099533328acfbdf" - -[language.tsx.grammar] -path = "tsx/src" -compile = "cc" -compile_args = ["-c", "-fpic", "../scanner.c", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "scanner.o", "parser.o", "-o", "tsx.so"] -link_flags = ["-O3"] - -[language.tsx.queries.source.git] -url = "https://git.sr.ht/~hadronized/kak-tree-sitter" -pin = "b0ecb0d376c94d2fa4814816b41986bf5d735384" - -[language.tsx.queries] -path = "runtime/queries/tsx" - -# twig -# TODO - -# typescript -[language.typescript.grammar.source.git] -url = "https://github.com/tree-sitter/tree-sitter-typescript" -pin = "b1bf4825d9eaa0f3bdeb1e52f099533328acfbdf" - -[language.typescript.grammar] -path = "typescript/src" -compile = "cc" -compile_args = ["-c", "-fpic", "../scanner.c", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "scanner.o", "parser.o", "-o", "typescript.so"] -link_flags = ["-O3"] - -[language.typescript.queries.source.git] -url = "https://git.sr.ht/~hadronized/kak-tree-sitter" -pin = "b0ecb0d376c94d2fa4814816b41986bf5d735384" - -[language.typescript.queries] -path = "runtime/queries/typescript" - -# ungrammar -# TODO - -# unison -[language.unison.grammar.source.git] -url = "https://github.com/kylegoetz/tree-sitter-unison" -pin = "1f505e2447fa876a87aee47ff3d70b9e141c744f" - -[language.unison.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../scanner.c", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "scanner.o", "parser.o", "-o", "unison.so"] -link_flags = ["-O3"] - -[language.unison.queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "be307a420480178c1bc443992c8336f6471b8b7b" - -[language.unison.queries] -path = "runtime/queries/unison" - -# uxntal -# TODO - -# v -# TODO - -# vala -# TODO - -# verilog -[language.verilog.grammar.source.git] -url = "https://github.com/tree-sitter/tree-sitter-verilog" -pin = "902031343056bc0b11f3e47b33f036a9cf59f58d" - -[language.verilog.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "parser.o", "-o", "verilog.so"] -link_flags = ["-O3"] - -[language.verilog.queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "cb286b7a5df247057602f3bba3254b4c58093375" - -[language.verilog.queries] -path = "runtime/queries/verilog" - -# vhdl -# TODO - -# vhs -# TODO - -# vue -[language.vue.grammar.source.git] -url = "https://github.com/ikatyang/tree-sitter-vue" -pin = "91fe2754796cd8fba5f229505a23fa08f3546c06" - -[language.vue.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../scanner.cc", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "scanner.o", "parser.o", "-o", "vue.so"] -link_flags = ["-O3", "-lstdc++"] - -[language.vue.queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "be307a420480178c1bc443992c8336f6471b8b7b" - -[language.vue.queries] -path = "runtime/queries/vue" - -# wast -# TODO - -# wat -# TODO - -# wgsl -# TODO - -# wit -# TODO - -# xit -# TODO - -# xml -[language.xml.grammar.source.git] -url = "https://github.com/RenjiSann/tree-sitter-xml" -pin = "48a7c2b6fb9d515577e115e6788937e837815651" - -[language.xml.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "parser.o", "-o", "xml.so"] -link_flags = ["-O3"] - -[language.xml.queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "dbd248fdfa680373d94fbc10094a160aafa0f7a7" - -[language.xml.queries] -path = "runtime/queries/xml" - -# yaml -[language.yaml.grammar.source.git] -url = "https://github.com/ikatyang/tree-sitter-yaml" -pin = "0e36bed171768908f331ff7dff9d956bae016efb" - -[language.yaml.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../scanner.cc", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "scanner.o", "parser.o", "-o", "yaml.so"] -link_flags = ["-O3", "-lstdc++"] - -[language.yaml.queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "dbd248fdfa680373d94fbc10094a160aafa0f7a7" - -[language.yaml.queries] -path = "runtime/queries/yaml" - -# yuck -# TODO - -# zig -[language.zig.grammar.source.git] -url = "https://github.com/maxxnino/tree-sitter-zig" -pin = "0d08703e4c3f426ec61695d7617415fff97029bd" - -[language.zig.grammar] -path = "src" -compile = "cc" -compile_args = ["-c", "-fpic", "../parser.c", "-I", ".."] -compile_flags = ["-O3"] -link = "cc" -link_args = ["-shared", "-fpic", "parser.o", "-o", "zig.so"] -link_flags = ["-O3"] - -[language.zig.queries.source.git] -url = "https://github.com/helix-editor/helix" -pin = "bc737404e8ad462b4101987730f4a76658d132ad" - -[language.zig.queries] -path = "runtime/queries/zig" diff --git a/.config/kak/colors/base16-kakoune b/.config/kak/colors/base16-kakoune deleted file mode 120000 index e4ac206..0000000 --- a/.config/kak/colors/base16-kakoune +++ /dev/null @@ -1 +0,0 @@ -/home/mikec/.config/kak/plugins/base16-kakoune \ No newline at end of file diff --git a/.config/kak/colors/catppuccin_macchiato.kak b/.config/kak/colors/catppuccin_macchiato.kak deleted file mode 100644 index 967279c..0000000 --- a/.config/kak/colors/catppuccin_macchiato.kak +++ /dev/null @@ -1,163 +0,0 @@ -# Catppuccin Macchiato theme for Kakoune -# -# Taken and adapted from -# - -# Color palette -declare-option str rosewater "rgb:f4dbd6" -declare-option str red "rgb:ed8796" -declare-option str mauve "rgb:c6a0f6" -declare-option str maroon "rgb:ee99a0" -declare-option str pink "rgb:f5bde6" -declare-option str cyan "rgb:7dc4e4" -declare-option str yellow "rgb:eed49f" -declare-option str green "rgb:a6da95" -declare-option str white "rgb:cad3f5" -declare-option str blue "rgb:8aadf4" -declare-option str sky "rgb:91d7e3" -declare-option str lavender "rgb:b7bdf8" -declare-option str black1 "rgb:1e2030" -declare-option str black2 "rgb:24273a" -declare-option str black3 "rgb:363a4f" -declare-option str orange "rgb:f5a97f" -declare-option str teal "rgb:8bd5ca" -declare-option str flamingo "rgb:f0c6c6" -declare-option str gray0 "rgb:5b6078" -declare-option str gray1 "rgb:6e738d" -declare-option str bright_red "%opt{red}+b" -declare-option str bright_green "%opt{green}+b" -declare-option str bright_yellow "%opt{yellow}+b" -declare-option str bright_blue "%opt{blue}+b" -declare-option str bright_cyan "%opt{cyan}+b" -declare-option str bright_white "%opt{white}+b" -declare-option str foreground %opt{white} -declare-option str background %opt{black2} -declare-option str overlay0 "rgb:8087a2" -declare-option str overlay1 "rgb:939ab7" - -# Markup -set-face global title "%opt{rosewater}" -set-face global header "%opt{bright_red}" -set-face global bold "%opt{mauve}" -set-face global italic "%opt{lavender}" -set-face global mono "%opt{green}" -set-face global block "%opt{cyan}" -set-face global link "%opt{green}" -set-face global bullet "%opt{green}" -set-face global list "%opt{white}" - -# Builtins -set-face global Default "%opt{white},%opt{background}" -set-face global PrimarySelection "%opt{gray0},%opt{lavender}" -set-face global SecondarySelection "%opt{lavender},%opt{gray0}" -set-face global PrimaryCursor "%opt{background},%opt{rosewater}" -set-face global SecondaryCursor "%opt{black1},%opt{teal}" -set-face global PrimaryCursorEol "%opt{gray0},%opt{mauve}" -set-face global SecondaryCursorEol "%opt{gray0},%opt{maroon}" -set-face global LineNumbers "%opt{gray1},%opt{background}" -set-face global LineNumberCursor "%opt{lavender},%opt{gray0}+b" -set-face global LineNumbersWrapped "%opt{teal},%opt{black1}+i" -set-face global MenuForeground "%opt{white},%opt{gray0}+b" -set-face global MenuBackground "%opt{white},%opt{black3}" -set-face global MenuInfo "%opt{black1},%opt{blue}" -set-face global Information "%opt{black1},%opt{lavender}" -set-face global Error "%opt{red},%opt{black2}" -set-face global StatusLine "%opt{white},%opt{black1}" -set-face global StatusLineMode "%opt{black2},%opt{yellow}" -set-face global StatusLineInfo "%opt{background},%opt{green}" -set-face global StatusLineValue "%opt{orange},%opt{gray0}" -set-face global StatusCursor "%opt{black1},%opt{lavender}" -set-face global Prompt "%opt{green},%opt{black2}" -set-face global MatchingChar "%opt{maroon},%opt{black2}" -set-face global Whitespace "%opt{gray1},%opt{background}+f" -set-face global WrapMarker Whitespace -set-face global BufferPadding "%opt{background},%opt{background}" - -# Code -set-face global value "%opt{orange}" -set-face global type "%opt{rosewater}" -set-face global variable "%opt{white}" -set-face global module "%opt{maroon}" -set-face global function "%opt{sky}" -set-face global string "%opt{green}" -set-face global keyword "%opt{blue}" -set-face global operator "%opt{blue}" -set-face global attribute "%opt{green}" -set-face global comment "%opt{gray1}+i" -set-face global documentation comment -set-face global meta "%opt{pink}" -set-face global builtin "%opt{lavender}+b" - -# Tree-sitter () -set-face global ts_attribute "%opt{blue}" -set-face global ts_comment "%opt{overlay0}+i" -set-face global ts_conceal "%opt{mauve}+i" -set-face global ts_constant "%opt{orange}" -set-face global ts_constant_builtin_boolean "%opt{sky}" -set-face global ts_constant_character "%opt{yellow}" -set-face global ts_constant_macro "%opt{mauve}" -set-face global ts_constructor "%opt{cyan}" -set-face global ts_diff_plus "%opt{green}" -set-face global ts_diff_minus "%opt{red}" -set-face global ts_diff_delta "%opt{blue}" -set-face global ts_diff_delta_moved "%opt{mauve}" -set-face global ts_error "%opt{red}+b" -set-face global ts_function "%opt{blue}" -set-face global ts_function_builtin "%opt{blue}+i" -set-face global ts_function_macro "%opt{mauve}" -set-face global ts_hint "%opt{blue}+b" -set-face global ts_info "%opt{green}+b" -set-face global ts_keyword "%opt{mauve}" -set-face global ts_keyword_conditional "%opt{mauve}+i" -set-face global ts_keyword_control_conditional "%opt{mauve}+i" -set-face global ts_keyword_control_directive "%opt{mauve}+i" -set-face global ts_keyword_control_import "%opt{mauve}+i" -set-face global ts_keyword_directive "%opt{mauve}+i" -set-face global ts_label "%opt{cyan}+i" -set-face global ts_markup_bold "%opt{orange}+b" -set-face global ts_markup_heading "%opt{red}" -set-face global ts_markup_heading_1 "%opt{red}" -set-face global ts_markup_heading_2 "%opt{mauve}" -set-face global ts_markup_heading_3 "%opt{green}" -set-face global ts_markup_heading_4 "%opt{yellow}" -set-face global ts_markup_heading_5 "%opt{pink}" -set-face global ts_markup_heading_6 "%opt{teal}" -set-face global ts_markup_heading_marker "%opt{orange}+b" -set-face global ts_markup_italic "%opt{pink}+i" -set-face global ts_markup_list_checked "%opt{green}" -set-face global ts_markup_list_numbered "%opt{blue}+i" -set-face global ts_markup_list_unchecked "%opt{teal}" -set-face global ts_markup_list_unnumbered "%opt{mauve}" -set-face global ts_markup_link_label "%opt{blue}" -set-face global ts_markup_link_url "%opt{teal}+u" -set-face global ts_markup_link_uri "%opt{teal}+u" -set-face global ts_markup_link_text "%opt{blue}" -set-face global ts_markup_quote "%opt{gray1}" -set-face global ts_markup_raw "%opt{green}" -set-face global ts_markup_strikethrough "%opt{gray1}+s" -set-face global ts_namespace "%opt{blue}+i" -set-face global ts_operator "%opt{sky}" -set-face global ts_property "%opt{sky}" -set-face global ts_punctuation "%opt{overlay1}" -set-face global ts_punctuation_special "%opt{sky}" -set-face global ts_special "%opt{blue}" -set-face global ts_spell "%opt{mauve}" -set-face global ts_string "%opt{green}" -set-face global ts_string_regex "%opt{orange}" -set-face global ts_string_regexp "%opt{orange}" -set-face global ts_string_escape "%opt{mauve}" -set-face global ts_string_special "%opt{blue}" -set-face global ts_string_special_path "%opt{green}" -set-face global ts_string_special_symbol "%opt{mauve}" -set-face global ts_string_symbol "%opt{red}" -set-face global ts_tag "%opt{mauve}" -set-face global ts_tag_error "%opt{red}" -set-face global ts_text "%opt{white}" -set-face global ts_text_title "%opt{mauve}" -set-face global ts_type "%opt{yellow}" -set-face global ts_type_enum_variant "%opt{flamingo}" -set-face global ts_variable "%opt{white}" -set-face global ts_variable_builtin "%opt{red}" -set-face global ts_variable_other_member "%opt{teal}" -set-face global ts_variable_parameter "%opt{maroon}+i" -set-face global ts_warning "%opt{orange}+b" diff --git a/.config/kak/colors/catppuccin_mocha.kak b/.config/kak/colors/catppuccin_mocha.kak deleted file mode 100644 index 730bd73..0000000 --- a/.config/kak/colors/catppuccin_mocha.kak +++ /dev/null @@ -1,166 +0,0 @@ -# Catppuccint Mocha theme for Kakoune -# -# Taken and adapted from -# - -# Catppuccin theme for Kakoune - -# Color palette (see https://catppuccin.com/palette) -declare-option str rosewater "rgb:f5e0dc" -declare-option str flamingo "rgb:f2cdcd" -declare-option str pink "rgb:f5c2e7" -declare-option str mauve "rgb:cba6f7" -declare-option str red "rgb:f38ba8" -declare-option str maroon "rgb:eba0ac" -declare-option str peach "rgb:fab387" -declare-option str yellow "rgb:f9e2af" -declare-option str green "rgb:a6e3a1" -declare-option str teal "rgb:94e2d5" -declare-option str sky "rgb:89dceb" -declare-option str sapphire "rgb:74c7ec" -declare-option str blue "rgb:89b4fa" -declare-option str lavender "rgb:b4befe" -declare-option str text "rgb:cdd6f4" -declare-option str subtext1 "rgb:bac2de" -declare-option str subtext0 "rgb:a6adc8" -declare-option str overlay2 "rgb:9399b2" -declare-option str overlay1 "rgb:7f849c" -declare-option str overlay0 "rgb:6c7086" -declare-option str surface2 "rgb:585b70" -declare-option str surface1 "rgb:45475a" -declare-option str surface0 "rgb:313244" -declare-option str base "rgb:1e1e2e" -declare-option str mantle "rgb:181825" -declare-option str crust "rgb:11111b" - -# Markup -set-face global title "%opt{text}+b" -set-face global header "%opt{subtext0}+b" -set-face global bold "%opt{maroon}+b" -set-face global italic "%opt{maroon}+i" -set-face global mono "%opt{green}" -set-face global block "%opt{sapphire}" -set-face global link "%opt{blue}" -set-face global bullet "%opt{peach}" -set-face global list "%opt{peach}" - -# Builtins -set-face global Default "%opt{text},%opt{base}" -set-face global PrimarySelection "%opt{text},%opt{surface2}" -set-face global SecondarySelection "%opt{text},%opt{surface2}" -set-face global PrimaryCursor "%opt{crust},%opt{rosewater}" -set-face global SecondaryCursor "%opt{text},%opt{overlay0}" -set-face global PrimaryCursorEol "%opt{surface2},%opt{lavender}" -set-face global SecondaryCursorEol "%opt{surface2},%opt{overlay1}" -set-face global LineNumbers "%opt{overlay1},%opt{base}" -set-face global LineNumberCursor "%opt{rosewater},%opt{surface2}+b" -set-face global LineNumbersWrapped "%opt{rosewater},%opt{surface2}" -set-face global MenuForeground "%opt{text},%opt{surface1}+b" -set-face global MenuBackground "%opt{text},%opt{surface0}" -set-face global MenuInfo "%opt{crust},%opt{teal}" -set-face global Information "%opt{crust},%opt{teal}" -set-face global Error "%opt{crust},%opt{red}" -set-face global DiagnosticError Error -set-face global DiagnosticWarning "%opt{yellow}" -set-face global StatusLine "%opt{text},%opt{mantle}" -set-face global StatusLineMode "%opt{crust},%opt{yellow}" -set-face global StatusLineInfo "%opt{crust},%opt{teal}" -set-face global StatusLineValue "%opt{crust},%opt{yellow}" -set-face global StatusCursor "%opt{crust},%opt{rosewater}" -set-face global Prompt "%opt{teal},%opt{base}+b" -set-face global MatchingChar "%opt{maroon},%opt{base}" -set-face global Whitespace "%opt{overlay1},%opt{base}+f" -set-face global WrapMarker Whitespace -set-face global BufferPadding "%opt{base},%opt{base}" - - -# Code -set-face global value "%opt{peach}" -set-face global type "%opt{yellow}" -set-face global variable "%opt{text}" -set-face global module "%opt{maroon}" -set-face global function "%opt{blue}" -set-face global string "%opt{green}" -set-face global keyword "%opt{mauve}" -set-face global operator "%opt{sky}" -set-face global attribute "%opt{yellow}" -set-face global comment "%opt{overlay1}+i" -set-face global documentation comment -set-face global meta "%opt{yellow}" -set-face global builtin "%opt{red}" - -# Tree-sitter () -# Copied from catppuccin_macchiato.kak -# Adjusted with https://github.com/catppuccin/catppuccin/blob/main/docs/style-guide.md -set-face global ts_attribute attribute -set-face global ts_comment comment -set-face global ts_conceal "%opt{mauve}+i" -set-face global ts_constant "%opt{peach}" -set-face global ts_constant_builtin_boolean "%opt{sky}" -set-face global ts_constant_character "%opt{yellow}" -set-face global ts_constant_macro "%opt{mauve}" -set-face global ts_constructor "%opt{sky}" -set-face global ts_diff_plus "%opt{green}" -set-face global ts_diff_minus "%opt{red}" -set-face global ts_diff_delta "%opt{blue}" -set-face global ts_diff_delta_moved "%opt{mauve}" -set-face global ts_error "%opt{red}+b" -set-face global ts_function "%opt{blue}" -set-face global ts_function_builtin "%opt{blue}+i" -set-face global ts_function_macro "%opt{mauve}" -set-face global ts_hint "%opt{blue}+b" -set-face global ts_info "%opt{teal}+b" -set-face global ts_keyword "%opt{mauve}" -set-face global ts_keyword_conditional "%opt{mauve}+i" -set-face global ts_keyword_control_conditional "%opt{mauve}+i" -set-face global ts_keyword_control_directive "%opt{mauve}+i" -set-face global ts_keyword_control_import "%opt{mauve}+i" -set-face global ts_keyword_directive "%opt{mauve}+i" -set-face global ts_label "%opt{sky}+i" -set-face global ts_markup_bold "%opt{peach}+b" -set-face global ts_markup_heading "%opt{red}" -set-face global ts_markup_heading_1 "%opt{red}" -set-face global ts_markup_heading_2 "%opt{mauve}" -set-face global ts_markup_heading_3 "%opt{green}" -set-face global ts_markup_heading_4 "%opt{yellow}" -set-face global ts_markup_heading_5 "%opt{pink}" -set-face global ts_markup_heading_6 "%opt{teal}" -set-face global ts_markup_heading_marker "%opt{peach}+b" -set-face global ts_markup_italic "%opt{pink}+i" -set-face global ts_markup_list_checked "%opt{green}" -set-face global ts_markup_list_numbered "%opt{blue}+i" -set-face global ts_markup_list_unchecked "%opt{teal}" -set-face global ts_markup_list_unnumbered "%opt{mauve}" -set-face global ts_markup_link_label "%opt{blue}" -set-face global ts_markup_link_url "%opt{teal}+u" -set-face global ts_markup_link_uri "%opt{teal}+u" -set-face global ts_markup_link_text "%opt{blue}" -set-face global ts_markup_quote "%opt{overlay1}" -set-face global ts_markup_raw "%opt{green}" -set-face global ts_markup_strikethrough "%opt{overlay1}+s" -set-face global ts_namespace "%opt{blue}+i" -set-face global ts_operator "%opt{sky}" -set-face global ts_property "%opt{sky}" -set-face global ts_punctuation "%opt{overlay1}" -set-face global ts_punctuation_special "%opt{sky}" -set-face global ts_special "%opt{blue}" -set-face global ts_spell "%opt{mauve}" -set-face global ts_string string -set-face global ts_string_regex "%opt{pink}" -set-face global ts_string_regexp "%opt{pink}" -set-face global ts_string_escape "%opt{flamingo}" -set-face global ts_string_special "%opt{blue}" -set-face global ts_string_special_path "%opt{green}" -set-face global ts_string_special_symbol "%opt{mauve}" -set-face global ts_string_symbol "%opt{red}" -set-face global ts_tag "%opt{mauve}" -set-face global ts_tag_error "%opt{red}" -set-face global ts_text "%opt{text}" -set-face global ts_text_title "%opt{mauve}" -set-face global ts_type type -set-face global ts_type_enum_variant "%opt{teal}" -set-face global ts_variable variable -set-face global ts_variable_builtin builtin -set-face global ts_variable_other_member "%opt{teal}" -set-face global ts_variable_parameter "%opt{maroon}+i" -set-face global ts_warning "%opt{yellow}+b" diff --git a/.config/kak/default.mustache b/.config/kak/default.mustache deleted file mode 100644 index bfeec06..0000000 --- a/.config/kak/default.mustache +++ /dev/null @@ -1,169 +0,0 @@ -# base16-{{scheme-slug}} -# -# Commentary: -# Tinted Theming: (https://github.com/tinted-theming) -# -# Authors: -# Scheme: {{scheme-author}} -# Template: Jamy Golden (https://github.com/JamyGolden) - -# palette - -declare-option str base00 'rgb:{{base00-hex}}'# black2 -declare-option str base01 'rgb:{{base01-hex}}'# black1 -declare-option str base02 'rgb:{{base02-hex}}'# black3 -declare-option str base03 'rgb:{{base03-hex}}'# flamingo -declare-option str base04 'rgb:{{base04-hex}}'# grey0 -declare-option str base05 'rgb:{{base05-hex}}'# white -declare-option str base06 'rgb:{{base06-hex}}'# rosewater -declare-option str base07 'rgb:{{base07-hex}}'# lavender -declare-option str base08 'rgb:{{base08-hex}}'# red -declare-option str base09 'rgb:{{base09-hex}}'# orange -declare-option str base0A 'rgb:{{base0A-hex}}'# yellow -declare-option str base0B 'rgb:{{base0B-hex}}'# green -declare-option str base0C 'rgb:{{base0C-hex}}'# teal -declare-option str base0D 'rgb:{{base0D-hex}}'# blue -declare-option str base0E 'rgb:{{base0E-hex}}'# mauve -declare-option str base0F 'rgb:{{base0F-hex}}'# flamingo - -# code - -set-face global value "%opt{base09}" -set-face global type "%opt{base08}" -set-face global variable "%opt{base08}" -set-face global module "%opt{base0D}" -set-face global function "%opt{base0D}" -set-face global identifier "%opt{base08}" -set-face global string "%opt{base0B}" -set-face global error "%opt{base08}" -set-face global keyword "%opt{base0E}" -set-face global operator "%opt{base05}" -set-face global attribute "%opt{base09}" -set-face global bracket "%opt{base05}+b" -set-face global arguement "%opt{base09}" -set-face global comma "%opt{base05}" -set-face global constant "%opt{base09}+b" -set-face global comment "%opt{base03}+i" -set-face global documentation "%opt{base03}+i" -set-face global docstring "%opt{base03}+i" -set-face global docstring "%opt{base0A}" -set-face global meta "%opt{base0C}" -set-face global builtin "%opt{base0C}+b" - -# text - -set-face global title "%opt{base0E}" -set-face global header "%opt{base0D}" -set-face global bold "%opt{base0E}" -set-face global italic "%opt{base0E}" -set-face global mono "%opt{base0B}" -set-face global block "%opt{base0D}" -set-face global link "%opt{base0B}" -set-face global bullet "%opt{base0B}" -set-face global list "%opt{base05}" - -# kakoune UI - -set-face global Default "%opt{base05},%opt{base00}" -set-face global PrimarySelection "%opt{base00},%opt{base0A}" -set-face global SecondarySelection "%opt{base03},%opt{base0A}" -set-face global PrimaryCursor "%opt{base00},%opt{base05}" -set-face global SecondaryCursor "%opt{base00},%opt{base0C}" -set-face global PrimaryCursorEol "%opt{base00},%opt{base0A}" -set-face global SecondaryCursorEol "%opt{base00},%opt{base0D}" -set-face global LineNumbers "%opt{base04},%opt{base00}" -set-face global LineNumberCursor "%opt{base0A},%opt{base00}+b" -set-face global LineNumbersWrapped "%opt{base04},%opt{base00}+i" -set-face global MenuForeground "%opt{base06},%opt{base01}+b" -set-face global MenuBackground "%opt{base0D},%opt{base07}" -set-face global MenuInfo "%opt{base0D},%opt{base07}" -set-face global Information "%opt{base01},%opt{base07}" -set-face global Error "%opt{base01},%opt{base08}" -set-face global DiagnosticError "%opt{base08}" -set-face global DiagnosticWarning "%opt{base0A}" -set-face global StatusLine "%opt{base04},%opt{base02}" -set-face global StatusLineMode "%opt{base0A},%opt{base02}" -set-face global StatusLineInfo "%opt{base06},%opt{base02}" -set-face global StatusLineValue "%opt{base04},%opt{base02}" -set-face global StatusCursor "%opt{base02},%opt{base05}" -set-face global Prompt "%opt{base0A},%opt{base02}" -set-face global MatchingChar "%opt{base0D},%opt{base00}" -set-face global Whitespace "%opt{base01},%opt{base00}+f" -set-face global WrapMarker Whitespace -set-face global BufferPadding "%opt{base04},%opt{base00}" -set-face global Search "%opt{base05},%opt{base01}" - - -# Tree-sitter () -set-face global ts_attribute "%opt{base0D}" -set-face global ts_comment "%opt{base04}+i" -set-face global ts_conceal "%opt{base0E}+i" -set-face global ts_constant "%opt{base09}" -set-face global ts_constant_builtin_boolean "%opt{base0C}" -set-face global ts_constant_character "%opt{base0A}" -set-face global ts_constant_macro "%opt{base0E}" -set-face global ts_constructor "%opt{base0D}" -set-face global ts_diff_plus "%opt{base0B}" -set-face global ts_diff_minus "%opt{base08}" -set-face global ts_diff_delta "%opt{base0D}" -set-face global ts_diff_delta_moved "%opt{base0E}" -set-face global ts_error "%opt{base08}+b" -set-face global ts_function "%opt{base0D}" -set-face global ts_function_builtin "%opt{base0D}+i" -set-face global ts_function_macro "%opt{base0E}" -set-face global ts_hint "%opt{base0D}+b" -set-face global ts_info "%opt{base0B}+b" -set-face global ts_keyword "%opt{base0E}" -set-face global ts_keyword_conditional "%opt{base0E}+i" -set-face global ts_keyword_control_conditional "%opt{base0E}+i" -set-face global ts_keyword_control_directive "%opt{base0E}+i" -set-face global ts_keyword_control_import "%opt{base0E}+i" -set-face global ts_keyword_directive "%opt{base0E}+i" -set-face global ts_label "%opt{base0E}+i" -set-face global ts_markup_bold "%opt{base09}+b" -set-face global ts_markup_heading "%opt{base08}" -set-face global ts_markup_heading_1 "%opt{base08}" -set-face global ts_markup_heading_2 "%opt{base0E}" -set-face global ts_markup_heading_3 "%opt{base0B}" -set-face global ts_markup_heading_4 "%opt{base0A}" -set-face global ts_markup_heading_5 "%opt{base07}" -set-face global ts_markup_heading_6 "%opt{base0C}" -set-face global ts_markup_heading_marker "%opt{base09}+b" -set-face global ts_markup_italic "%opt{base07}+i" -set-face global ts_markup_list_checked "%opt{base0B}" -set-face global ts_markup_list_numbered "%opt{base0D}+i" -set-face global ts_markup_list_unchecked "%opt{base0C}" -set-face global ts_markup_list_unnumbered "%opt{base0E}" -set-face global ts_markup_link_label "%opt{base0D}" -set-face global ts_markup_link_url "%opt{base0C}+u" -set-face global ts_markup_link_uri "%opt{base0C}+u" -set-face global ts_markup_link_text "%opt{base0D}" -set-face global ts_markup_quote "%opt{base04}" -set-face global ts_markup_raw "%opt{base0B}" -set-face global ts_markup_strikethrough "%opt{base04}+s" -set-face global ts_namespace "%opt{base0D}+i" -set-face global ts_operator "%opt{base0C}" -set-face global ts_property "%opt{base0C}" -set-face global ts_punctuation "%opt{base04}" -set-face global ts_punctuation_special "%opt{base0C}" -set-face global ts_special "%opt{base0D}" -set-face global ts_spell "%opt{base0E}" -set-face global ts_string "%opt{base0B}" -set-face global ts_string_regex "%opt{base09}" -set-face global ts_string_regexp "%opt{base09}" -set-face global ts_string_escape "%opt{base0E}" -set-face global ts_string_special "%opt{base0D}" -set-face global ts_string_special_path "%opt{base0B}" -set-face global ts_string_special_symbol "%opt{base0E}" -set-face global ts_string_symbol "%opt{base08}" -set-face global ts_tag "%opt{base0E}" -set-face global ts_tag_error "%opt{base08}" -set-face global ts_text "%opt{base05}" -set-face global ts_text_title "%opt{base0E}" -set-face global ts_type "%opt{base0A}" -set-face global ts_type_enum_variant "%opt{base03}" -set-face global ts_variable "%opt{base05}" -set-face global ts_variable_builtin "%opt{base08}" -set-face global ts_variable_other_member "%opt{base0C}" -set-face global ts_variable_parameter "%opt{base0F}+i" -set-face global ts_warning "%opt{base09}+b" diff --git a/.config/kak/kakrc b/.config/kak/kakrc deleted file mode 100644 index 3dc04f1..0000000 --- a/.config/kak/kakrc +++ /dev/null @@ -1,358 +0,0 @@ -### Plugins ### -evaluate-commands %sh{ - plugins="$kak_config/plugins" - mkdir -p "$plugins" - [ ! -e "$plugins/plug.kak" ] && \ - git clone -q https://github.com/andreyorst/plug.kak.git "$plugins/plug.kak" - printf "%s\n" "source '$plugins/plug.kak/rc/plug.kak'" -} - -plug "andreyorst/plug.kak" noload - -plug "andreyorst/smarttab.kak" defer smarttab %{ - set-option global softtabstop 4 -} - -plug "occivink/kakoune-sudo-write" - -plug "kak-lsp/kak-lsp" do %{ - cargo install --locked --force --path . -} - -# plug "gustavo-hms/luar" %{ -# plug "gustavo-hms/peneira" %{ -# require-module peneira -# } -# } - -# # Color Themes -plug "tinted-theming/base16-kakoune" - -### End Of Plugins ### - -# set-option global luar_interpreter luajit - -## Treesitter ## - -eval %sh{ kak-tree-sitter -dks --with-highlighting --with-text-objects --session $kak_session } -#eval %sh{ kak-tree-sitter -dks --with-text-objects --session $kak_session } -#eval %sh{ kak-tree-sitter -dks --with-highlighting --session $kak_session } - -evaluate-commands %sh{ - echo "colorscheme base16-$BASE16_THEME" -} - -## Highlighting ## -hook global WinCreate .* %{ add-highlighter window/number-lines number-lines -relative -hlcursor} -hook global WinCreate .* %{ add-highlighter window/ show-matching} -add-highlighter global/ column 80 MenuForeground -add-highlighter global/ show-whitespaces - -## Formatting ## -define-command enable-autofmt -docstring 'enable autoformatting of buffer' %{ - hook global -group autofmt BufSetOption filetype=(c|cpp) %{ - set-option buffer formatcmd 'clang-format -style=file:/home/mikec/.clang-format' - - hook -group autofmt buffer BufOpenFile .* %{ - format - } - - hook -group autofmt buffer BufWritePre .* { - format - ctags-update-tags - } - } -} - -define-command disable-autofmt -docstring 'disable autoformatting of buffer' %{ - remove-hooks global autofmt -} - -## Indentation ## -set global tabstop 4 -set global indentwidth 4 -hook global WinSetOption filetype=.* expandtab -hook global WinSetOption filetype=(makefile|gas) noexpandtab -hook global BufCreate .* %{ - editorconfig-load - autoconfigtab -} - -define-command sleuth -docstring 'Heuristically set buffer options' %{ - try %{ - evaluate-commands -draft %{ - # Search the first indent level - execute-keys 'gg' '/' '^\h+' '' - - # Tab vs. Space - # https://youtu.be/V7PLxL8jIl8 - try %{ - execute-keys '' '\t' '' - #set-option buffer indentwidth 0 - noexpandtab - } catch %{ - set-option buffer indentwidth %val{selection_length} - expandtab - } - } - } -} - -define-command git-status -docstring 'Show git diff' %{ - hook -group git-status global BufOpenFile .* %{ - git show-diff - } - - hook -group git-status global BufWritePost .* %{ - git show-diff - } -} - -define-command disable-git-status -docstring 'Disable git diff gutter' %{ - remove-hooks global git-status -} - -define-command sleuth-enable -docstring 'Enable sleuth' %{ - # Run sleuth when opening and saving files. - hook -group sleuth global BufOpenFile .* %{ - sleuth - } - - hook -group sleuth global BufWritePost .* %{ - sleuth - } -} - -define-command sleuth-disable -docstring 'Disable sleuth' %{ - remove-hooks global sleuth -} - -## LSP ## -lsp-enable -lsp-auto-hover-enable - -lsp-inlay-diagnostics-enable global -hook global WinSetOption filetype=(c|zig|rust|python|ruby|lua) %{ - hook window -group semantic-tokens BufReload .* lsp-semantic-tokens - hook window -group semantic-tokens NormalIdle .* lsp-semantic-tokens - hook window -group semantic-tokens InsertIdle .* lsp-semantic-tokens - hook -once -always window WinSetOption filetype=.* %{ - remove-hooks window semantic-tokens - } -} - -face global InfoDefault Information -face global InfoBlock Information -face global InfoBlockQuote Information -face global InfoBullet Information -face global InfoHeader Information -face global InfoLink Information -face global InfoLinkMono Information -face global InfoMono Information -face global InfoRule Information -face global InfoDiagnosticError Information -face global InfoDiagnosticHint Information -face global InfoDiagnosticInformation Information -face global InfoDiagnosticWarning Information - -set-option global lsp_config %{ -} - -define-command -docstring 'Invoke fzf to select a buffer' fzf-buffer %{ - evaluate-commands %sh{ - BUFFER=$( - ( - eval "set -- $kak_buflist" - while [ $# -gt 0 ]; do - printf "%s\0" "$1" - shift - done - ) | - fzf-tmux --cycle -p 175,45 --read0 --preview='bat --theme=base16-256 --color=always {} 2>/dev/null' - ) - BUFFER=${BUFFER/\'/\'\'} - if [ -n "$BUFFER" ]; then - printf "buffer %s" "${BUFFER}" - fi - } -} - -define-command -docstring 'live grep' live-grep %{ - evaluate-commands %sh{ - - if [ -z "${kak_client_env_TMUX}" ]; then - printf 'fail "client was not started under tmux"\n' - else - file="$(rfv.sh)" - if [ -n "$file" ]; then - printf "edit %s\n" "$file" - fi - fi - } -} - -define-command -docstring 'exact grep' exact-grep %{ - evaluate-commands %sh{ - - if [ -z "${kak_client_env_TMUX}" ]; then - printf 'fail "client was not started under tmux"\n' - else - file="$(rfve.sh)" - if [ -n "$file" ]; then - printf "edit %s\n" "$file" - fi - fi - } -} - -define-command -docstring 'search contents of current file' file-search %{ - evaluate-commands -save-regs '"' %{ - set-register dquote %sh{ mktemp } - execute-keys -draft '% cat > $kak_reg_dquote' - evaluate-commands %sh{ - if [ -z "${kak_client_env_TMUX}" ]; then - printf 'fail "client was not started under tmux"\n' - else - file="$(rfs.sh ${kak_reg_dquote} ${kak_buffile})" - if [ -n "$file" ]; then - printf "edit %s\n" "$file" - fi - rm $kak_reg_dquote - fi - } - } -} - -define-command -docstring 'search contents of current file with regex' regex-file-search %{ - evaluate-commands -save-regs '"' %{ - set-register dquote %sh{ mktemp } - execute-keys -draft '% cat > $kak_reg_dquote' - evaluate-commands %sh{ - if [ -z "${kak_client_env_TMUX}" ]; then - printf 'fail "client was not started under tmux"\n' - else - file="$(rgrs.sh ${kak_reg_dquote} ${kak_buffile})" - if [ -n "$file" ]; then - printf "edit %s\n" "$file" - fi - rm $kak_reg_dquote - fi - } - } -} - -define-command -docstring 'Invoke fzf to open a file' -params 0 fzf-edit %{ - evaluate-commands %sh{ - if [ -z "${kak_client_env_TMUX}" ]; then - printf 'fail "client was not started under tmux"\n' - else - file="$(fd -u -t f . |TMUX="${kak_client_env_TMUX}" fzf-tmux --cycle -p 175,45 --preview='bat --theme=base16-256 --color=always {} 2>/dev/null || cat {} 2>/dev/null')" - if [ -n "$file" ]; then - printf "edit %s\n" "$file" - fi - fi - } -} - -define-command -docstring 'Invoke fzf to open a file local to the current file' -params 0 fzf-edit-local %{ - evaluate-commands %sh{ - if [ -z "${kak_client_env_TMUX}" ]; then - printf 'fail "client was not started under tmux"\n' - else - dir="$(get_local_path ${kak_buffile})" - if [ -n "$dir" ]; then - file="$(fd -u -t f . $dir |TMUX="${kak_client_env_TMUX}" fzf-tmux --cycle -p 175,45 --preview='bat --theme=base16-256 --color=always {} 2>/dev/null || cat {} 2>/dev/null')" - fi - if [ -n "$file" ]; then - printf "edit %s\n" "$file" - fi - fi - } -} - -define-command -docstring 'Pick project' -params 0 switch-project %{ - evaluate-commands %sh{ - if [ -z "${kak_client_env_TMUX}" ]; then - printf 'fail "client was not started under tmux"\n' - else - proj="$(cat ~/.scripts/projects | TMUX="${kak_client_env_TMUX}" fzf-tmux --cycle -p 175,45 | cut -d' ' -f1)" - if [ -n "$proj" ]; then - printf "cd %s\n" "$proj" - printf 'fzf-edit\n' - fi - fi - } -} - -define-command -docstring 'Project wide search' project-search %{ - evaluate-commands %sh{ - - if [ -z "${kak_client_env_TMUX}" ]; then - printf 'fail "client was not started under tmux"\n' - else - file="$(rgfs.sh)" - if [ -n "$file" ]; then - printf "edit %s\n" "$file" - fi - fi - } -} - -define-command -docstring 'Print Working Directory' -params 0 pwd %{ - evaluate-commands echo %sh{ echo "$(pwd)"} -} - -declare-user-mode config -map -docstring 'enter config mode' global user e ':enter-user-mode config' -map -docstring 'edit kakoune config' global config k ':cd ~/.config/kak/:e ./kakrc' -map -docstring 'edit tmux config' global config t ':e ~/.tmux.conf' -map -docstring 'edit bash config' global config b ':e ~/.bashrc' -map -docstring 'edit scripts folder' global config s ':cd ~/.scripts:fzf-edit' -map -docstring 'edit .config folder' global config c ':cd ~/.config:fzf-edit' - -declare-user-mode buffer -map -docstring 'enter buffer mode' global user b ':enter-user-mode buffer' -map -docstring 'next buffer' global buffer n ':buffer-next' -map -docstring 'previous buffer' global buffer p ':buffer-previous' -map -docstring 'close current buffer' global buffer d ':delete-buffer!' -map -docstring 'write and close current buffer' global buffer w ':w:db' -map -docstring 'list and select a buffer' global buffer b ':fzf-buffer' - -declare-user-mode find -map -docstring 'enter find mode' global user f ':enter-user-mode find' -map -docstring 'find files' global find f ':fzf-edit' -map -docstring 'find tags for the current project' global find t ':ctags-search ' -map -docstring 'find line in current file' global find l ':file-search' -map -docstring 'find line in current file with regex' global find L ':regex-file-search' -map -docstring 'find files in current directory' global find F ':fzf-edit-local' -map -docstring "grep file contents recursively" global find g ':live-grep' -map -docstring "grep exact file contents recursively" global find e ':exact-grep' -map -docstring 'project wide search' global find p ':project-search' - -map -docstring 'enter lsp mode' global user l ':enter-user-mode lsp' -map -docstring 'goto definition (tag)' global lsp t 'w:ctags-search' - -map -docstring 'enter treesitter mode' global user t ':enter-user-mode tree-sitter' -map -docstring 'enter treesitter search mode' global user s ':enter-user-mode tree-sitter-search' - -declare-user-mode tmux -map -docstring 'enter tmux/window mode' global user w ':enter-user-mode tmux' -map -docstring 'vertical split' global tmux v ':tmux-terminal-horizontal kak -c %val{session}' -map -docstring 'horizontal split' global tmux h ':tmux-terminal-vertical kak -c %val{session}' -map -docstring 'new tab' global tmux t ':tmux-terminal-window kak -c %val{session}' -map -docstring 'vertical terminal split' global tmux V ':tmux-repl-horizontal bash' -map -docstring 'horizontal terminal split' global tmux H ':tmux-repl-vertical bash' -map -docstring 'new terminal tab' global tmux T ':tmux-repl-window' -map -docstring 'new git window' global tmux g ':tmux-terminal-window lazygit' - -declare-user-mode project -map -docstring 'enter project mode' global user P ':enter-user-mode project' -map -docstring 'open project' global project o ':switch-project' - -map -docstring 'enter man mode' global user m ':enter-user-mode man' - -map -docstring 'clipboard yank' global user y 'clip.exe' -map -docstring 'clipboard paste' global user p '|powershell.exe -C Get-Clipboard | tr -d "\r"' - -map -docstring 'quit kakoune' global user q ':q' -map -docstring 'toggle comments' global user c ':comment-line' diff --git a/.config/lazygit/config.yml b/.config/lazygit/config.yml deleted file mode 100644 index e69de29..0000000 diff --git a/.config/mc/ini b/.config/mc/ini deleted file mode 100644 index 24aa848..0000000 --- a/.config/mc/ini +++ /dev/null @@ -1,143 +0,0 @@ -[Midnight-Commander] -verbose=true -shell_patterns=true -auto_save_setup=true -preallocate_space=false -auto_menu=false -use_internal_view=true -use_internal_edit=true -clear_before_exec=true -confirm_delete=true -confirm_overwrite=true -confirm_execute=false -confirm_history_cleanup=true -confirm_exit=false -confirm_directory_hotlist_delete=false -confirm_view_dir=false -safe_delete=false -safe_overwrite=false -use_8th_bit_as_meta=false -mouse_move_pages_viewer=true -mouse_close_dialog=false -fast_refresh=false -drop_menus=false -wrap_mode=true -old_esc_mode=true -cd_symlinks=true -show_all_if_ambiguous=false -use_file_to_guess_type=true -alternate_plus_minus=false -only_leading_plus_minus=true -show_output_starts_shell=false -xtree_mode=false -file_op_compute_totals=true -classic_progressbar=true -use_netrc=true -ftpfs_always_use_proxy=false -ftpfs_use_passive_connections=true -ftpfs_use_passive_connections_over_proxy=false -ftpfs_use_unix_list_options=true -ftpfs_first_cd_then_ls=true -ignore_ftp_chattr_errors=true -editor_fill_tabs_with_spaces=false -editor_return_does_auto_indent=true -editor_backspace_through_tabs=false -editor_fake_half_tabs=true -editor_option_save_position=true -editor_option_auto_para_formatting=false -editor_option_typewriter_wrap=false -editor_edit_confirm_save=true -editor_syntax_highlighting=true -editor_persistent_selections=true -editor_drop_selection_on_copy=true -editor_cursor_beyond_eol=false -editor_cursor_after_inserted_block=false -editor_visible_tabs=true -editor_visible_spaces=true -editor_line_state=false -editor_simple_statusbar=false -editor_check_new_line=false -editor_show_right_margin=false -editor_group_undo=false -editor_state_full_filename=false -editor_ask_filename_before_edit=false -nice_rotating_dash=true -shadows=true -mcview_remember_file_position=false -auto_fill_mkdir_name=true -copymove_persistent_attr=true -pause_after_run=1 -mouse_repeat_rate=100 -double_click_speed=250 -old_esc_mode_timeout=1000000 -max_dirt_limit=10 -num_history_items_recorded=60 -vfs_timeout=60 -ftpfs_directory_timeout=900 -ftpfs_retry_seconds=30 -shell_directory_timeout=900 -editor_tab_spacing=8 -editor_word_wrap_line_length=72 -editor_option_save_mode=0 -editor_backup_extension=~ -editor_filesize_threshold=64M -editor_stop_format_chars=-+*\\,.;:&> -mcview_eof= -skin=default - -[Layout] -output_lines=0 -left_panel_size=105 -top_panel_size=0 -message_visible=true -keybar_visible=true -xterm_title=true -command_prompt=true -menubar_visible=true -free_space=true -horizontal_split=false -vertical_equal=true -horizontal_equal=true - -[Misc] -timeformat_recent=%b %e %H:%M -timeformat_old=%b %e %Y -ftp_proxy_host=gate -ftpfs_password=anonymous@ -display_codepage=UTF-8 -source_codepage=Other_8_bit -autodetect_codeset= -clipboard_store= -clipboard_paste= - -[Colors] -base_color= -xterm-256color= -color_terminals= - -[Panels] -show_mini_info=true -kilobyte_si=false -mix_all_files=false -show_backups=true -show_dot_files=true -fast_reload=false -fast_reload_msg_shown=false -mark_moves_down=true -reverse_files_only=true -auto_save_setup_panels=false -navigate_with_arrows=false -panel_scroll_pages=true -panel_scroll_center=false -mouse_move_pages=true -filetype_mode=true -permission_mode=false -torben_fj_mode=false -quick_search_mode=2 -select_flags=6 - -[Panelize] -Find SUID and SGID programs=find . \\( \\( -perm -04000 -a -perm /011 \\) -o \\( -perm -02000 -a -perm /01 \\) \\) -print -Modified git files=git ls-files --modified -Find rejects after patching=find . -name \\*.rej -print -Find *.orig after patching=find . -name \\*.orig -print diff --git a/.config/mc/panels.ini b/.config/mc/panels.ini deleted file mode 100644 index e69de29..0000000 diff --git a/.config/newsboat/config b/.config/newsboat/config deleted file mode 100644 index abc2153..0000000 --- a/.config/newsboat/config +++ /dev/null @@ -1,26 +0,0 @@ -# unbind keys -# unbind-key ENTER -unbind-key j -unbind-key k -unbind-key h -unbind-key l -unbind-key g -unbind-key G - -# bind keys - vim style -bind-key j down -bind-key k up -bind-key l open -bind-key h quit -bind-key g home -bind-key G end - -podlist-format "%2i %b %> %S [%dMB / %tMB] [%p %%] [%K]" -download-filename-format "%t | %n [%F].%e" -download-path "~/podcasts/%n/" - -macro 1 set browser "curl %u --output /tmp/image && sxiv /tmp/image && rm /tmp/image"; one; set browser lynx; -macro 2 set browser "mpv --vid=no -- %u"; one; set browser lynx; -macro 3 set browser "curl %u --output /tmp/image && sxiv /tmp/image && rm /tmp/image"; -macro 4 set browser "mpv --vid=no -- %u"; -macro 5 set browser lynx; diff --git a/.config/newsboat/queue b/.config/newsboat/queue deleted file mode 100644 index e69de29..0000000 diff --git a/.config/newsboat/urls b/.config/newsboat/urls deleted file mode 100644 index ae0247f..0000000 --- a/.config/newsboat/urls +++ /dev/null @@ -1,9 +0,0 @@ -https://phaazon.net/blog/feed -https://danielde.dev/rss.xml -https://sizeof.cat/index.xml -https://lukesmith.xyz/rss.xml -https://api.substack.com/feed/podcast/462466.rss -https://www.dailywire.com/feeds/rss.xml -https://feeds.simplecast.com/6c2VScgo -https://feeds.simplecast.com/pp_b9xO6 -https://notrelated.xyz/rss diff --git a/.config/nushell/config.nu b/.config/nushell/config.nu deleted file mode 100644 index 6d84d8d..0000000 --- a/.config/nushell/config.nu +++ /dev/null @@ -1,895 +0,0 @@ -# Nushell Config File -# -# version = "0.94.2" - -# For more information on defining custom themes, see -# https://www.nushell.sh/book/coloring_and_theming.html -# And here is the theme collection -# https://github.com/nushell/nu_scripts/tree/main/themes -let dark_theme = { - # color for nushell primitives - separator: white - leading_trailing_space_bg: { attr: n } # no fg, no bg, attr none effectively turns this off - header: green_bold - empty: blue - # Closures can be used to choose colors for specific values. - # The value (in this case, a bool) is piped into the closure. - # eg) {|| if $in { 'light_cyan' } else { 'light_gray' } } - bool: light_cyan - int: white - filesize: cyan - duration: white - date: purple - range: white - float: white - string: white - nothing: white - binary: white - cell-path: white - row_index: green_bold - record: white - list: white - block: white - hints: dark_gray - search_result: { bg: red fg: white } - shape_and: purple_bold - shape_binary: purple_bold - shape_block: blue_bold - shape_bool: light_cyan - shape_closure: green_bold - shape_custom: green - shape_datetime: cyan_bold - shape_directory: cyan - shape_external: cyan - shape_externalarg: green_bold - shape_external_resolved: light_yellow_bold - shape_filepath: cyan - shape_flag: blue_bold - shape_float: purple_bold - # shapes are used to change the cli syntax highlighting - shape_garbage: { fg: white bg: red attr: b} - shape_globpattern: cyan_bold - shape_int: purple_bold - shape_internalcall: cyan_bold - shape_keyword: cyan_bold - shape_list: cyan_bold - shape_literal: blue - shape_match_pattern: green - shape_matching_brackets: { attr: u } - shape_nothing: light_cyan - shape_operator: yellow - shape_or: purple_bold - shape_pipe: purple_bold - shape_range: yellow_bold - shape_record: cyan_bold - shape_redirection: purple_bold - shape_signature: green_bold - shape_string: green - shape_string_interpolation: cyan_bold - shape_table: blue_bold - shape_variable: purple - shape_vardecl: purple - shape_raw_string: light_purple -} - -let light_theme = { - # color for nushell primitives - separator: dark_gray - leading_trailing_space_bg: { attr: n } # no fg, no bg, attr none effectively turns this off - header: green_bold - empty: blue - # Closures can be used to choose colors for specific values. - # The value (in this case, a bool) is piped into the closure. - # eg) {|| if $in { 'dark_cyan' } else { 'dark_gray' } } - bool: dark_cyan - int: dark_gray - filesize: cyan_bold - duration: dark_gray - date: purple - range: dark_gray - float: dark_gray - string: dark_gray - nothing: dark_gray - binary: dark_gray - cell-path: dark_gray - row_index: green_bold - record: dark_gray - list: dark_gray - block: dark_gray - hints: dark_gray - search_result: { fg: white bg: red } - shape_and: purple_bold - shape_binary: purple_bold - shape_block: blue_bold - shape_bool: light_cyan - shape_closure: green_bold - shape_custom: green - shape_datetime: cyan_bold - shape_directory: cyan - shape_external: cyan - shape_externalarg: green_bold - shape_external_resolved: light_purple_bold - shape_filepath: cyan - shape_flag: blue_bold - shape_float: purple_bold - # shapes are used to change the cli syntax highlighting - shape_garbage: { fg: white bg: red attr: b} - shape_globpattern: cyan_bold - shape_int: purple_bold - shape_internalcall: cyan_bold - shape_keyword: cyan_bold - shape_list: cyan_bold - shape_literal: blue - shape_match_pattern: green - shape_matching_brackets: { attr: u } - shape_nothing: light_cyan - shape_operator: yellow - shape_or: purple_bold - shape_pipe: purple_bold - shape_range: yellow_bold - shape_record: cyan_bold - shape_redirection: purple_bold - shape_signature: green_bold - shape_string: green - shape_string_interpolation: cyan_bold - shape_table: blue_bold - shape_variable: purple - shape_vardecl: purple - shape_raw_string: light_purple -} - -# External completer example -# let carapace_completer = {|spans| -# carapace $spans.0 nushell ...$spans | from json -# } - -# The default config record. This is where much of your global configuration is setup. -$env.config = { - show_banner: true # true or false to enable or disable the welcome banner at startup - - ls: { - use_ls_colors: true # use the LS_COLORS environment variable to colorize output - clickable_links: true # enable or disable clickable links. Your terminal has to support links. - } - - rm: { - always_trash: false # always act as if -t was given. Can be overridden with -p - } - - table: { - mode: rounded # basic, compact, compact_double, light, thin, with_love, rounded, reinforced, heavy, none, other - index_mode: always # "always" show indexes, "never" show indexes, "auto" = show indexes when a table has "index" column - show_empty: true # show 'empty list' and 'empty record' placeholders for command output - padding: { left: 1, right: 1 } # a left right padding of each column in a table - trim: { - methodology: wrapping # wrapping or truncating - wrapping_try_keep_words: true # A strategy used by the 'wrapping' methodology - truncating_suffix: "..." # A suffix used by the 'truncating' methodology - } - header_on_separator: false # show header text on separator/border line - # abbreviated_row_count: 10 # limit data rows from top and bottom after reaching a set point - } - - error_style: "fancy" # "fancy" or "plain" for screen reader-friendly error messages - - # datetime_format determines what a datetime rendered in the shell would look like. - # Behavior without this configuration point will be to "humanize" the datetime display, - # showing something like "a day ago." - datetime_format: { - # normal: '%a, %d %b %Y %H:%M:%S %z' # shows up in displays of variables or other datetime's outside of tables - # table: '%m/%d/%y %I:%M:%S%p' # generally shows up in tabular outputs such as ls. commenting this out will change it to the default human readable datetime format - } - - explore: { - status_bar_background: { fg: "#1D1F21", bg: "#C4C9C6" }, - command_bar_text: { fg: "#C4C9C6" }, - highlight: { fg: "black", bg: "yellow" }, - status: { - error: { fg: "white", bg: "red" }, - warn: {} - info: {} - }, - table: { - split_line: { fg: "#404040" }, - selected_cell: { bg: light_blue }, - selected_row: {}, - selected_column: {}, - }, - } - - history: { - max_size: 100_000 # Session has to be reloaded for this to take effect - sync_on_enter: true # Enable to share history between multiple sessions, else you have to close the session to write history to file - file_format: "plaintext" # "sqlite" or "plaintext" - isolation: false # only available with sqlite file_format. true enables history isolation, false disables it. true will allow the history to be isolated to the current session using up/down arrows. false will allow the history to be shared across all sessions. - } - - completions: { - case_sensitive: false # set to true to enable case-sensitive completions - quick: true # set this to false to prevent auto-selecting completions when only one remains - partial: true # set this to false to prevent partial filling of the prompt - algorithm: "prefix" # prefix or fuzzy - external: { - enable: true # set to false to prevent nushell looking into $env.PATH to find more suggestions, `false` recommended for WSL users as this look up may be very slow - max_results: 100 # setting it lower can improve completion performance at the cost of omitting some options - completer: null # check 'carapace_completer' above as an example - } - use_ls_colors: true # set this to true to enable file/path/directory completions using LS_COLORS - } - - filesize: { - metric: false # true => KB, MB, GB (ISO standard), false => KiB, MiB, GiB (Windows standard) - format: "auto" # b, kb, kib, mb, mib, gb, gib, tb, tib, pb, pib, eb, eib, auto - } - - cursor_shape: { - emacs: line # block, underscore, line, blink_block, blink_underscore, blink_line, inherit to skip setting cursor shape (line is the default) - vi_insert: block # block, underscore, line, blink_block, blink_underscore, blink_line, inherit to skip setting cursor shape (block is the default) - vi_normal: underscore # block, underscore, line, blink_block, blink_underscore, blink_line, inherit to skip setting cursor shape (underscore is the default) - } - - color_config: $dark_theme # if you want a more interesting theme, you can replace the empty record with `$dark_theme`, `$light_theme` or another custom record - use_grid_icons: true - footer_mode: "25" # always, never, number_of_rows, auto - float_precision: 2 # the precision for displaying floats in tables - buffer_editor: "" # command that will be used to edit the current line buffer with ctrl+o, if unset fallback to $env.EDITOR and $env.VISUAL - use_ansi_coloring: true - bracketed_paste: true # enable bracketed paste, currently useless on windows - edit_mode: emacs # emacs, vi - shell_integration: { - # osc2 abbreviates the path if in the home_dir, sets the tab/window title, shows the running command in the tab/window title - osc2: true - # osc7 is a way to communicate the path to the terminal, this is helpful for spawning new tabs in the same directory - osc7: true - # osc8 is also implemented as the deprecated setting ls.show_clickable_links, it shows clickable links in ls output if your terminal supports it. show_clickable_links is deprecated in favor of osc8 - osc8: true - # osc9_9 is from ConEmu and is starting to get wider support. It's similar to osc7 in that it communicates the path to the terminal - osc9_9: false - # osc133 is several escapes invented by Final Term which include the supported ones below. - # 133;A - Mark prompt start - # 133;B - Mark prompt end - # 133;C - Mark pre-execution - # 133;D;exit - Mark execution finished with exit code - # This is used to enable terminals to know where the prompt is, the command is, where the command finishes, and where the output of the command is - osc133: true - # osc633 is closely related to osc133 but only exists in visual studio code (vscode) and supports their shell integration features - # 633;A - Mark prompt start - # 633;B - Mark prompt end - # 633;C - Mark pre-execution - # 633;D;exit - Mark execution finished with exit code - # 633;E - NOT IMPLEMENTED - Explicitly set the command line with an optional nonce - # 633;P;Cwd= - Mark the current working directory and communicate it to the terminal - # and also helps with the run recent menu in vscode - osc633: true - # reset_application_mode is escape \x1b[?1l and was added to help ssh work better - reset_application_mode: true - } - render_right_prompt_on_last_line: false # true or false to enable or disable right prompt to be rendered on last line of the prompt. - use_kitty_protocol: false # enables keyboard enhancement protocol implemented by kitty console, only if your terminal support this. - highlight_resolved_externals: false # true enables highlighting of external commands in the repl resolved by which. - recursion_limit: 50 # the maximum number of times nushell allows recursion before stopping it - - plugins: {} # Per-plugin configuration. See https://www.nushell.sh/contributor-book/plugins.html#configuration. - - plugin_gc: { - # Configuration for plugin garbage collection - default: { - enabled: true # true to enable stopping of inactive plugins - stop_after: 10sec # how long to wait after a plugin is inactive to stop it - } - plugins: { - # alternate configuration for specific plugins, by name, for example: - # - # gstat: { - # enabled: false - # } - } - } - - hooks: { - pre_prompt: [{ null }] # run before the prompt is shown - pre_execution: [{ null }] # run before the repl input is run - env_change: { - PWD: [{|before, after| null }] # run if the PWD environment is different since the last repl input - } - display_output: "if (term size).columns >= 100 { table -e } else { table }" # run to display the output of a pipeline - command_not_found: { null } # return an error message when a command is not found - } - - menus: [ - # Configuration for default nushell menus - # Note the lack of source parameter - { - name: completion_menu - only_buffer_difference: false - marker: "| " - type: { - layout: columnar - columns: 4 - col_width: 20 # Optional value. If missing all the screen width is used to calculate column width - col_padding: 2 - } - style: { - text: green - selected_text: { attr: r } - description_text: yellow - match_text: { attr: u } - selected_match_text: { attr: ur } - } - } - { - name: ide_completion_menu - only_buffer_difference: false - marker: "| " - type: { - layout: ide - min_completion_width: 0, - max_completion_width: 50, - max_completion_height: 10, # will be limited by the available lines in the terminal - padding: 0, - border: true, - cursor_offset: 0, - description_mode: "prefer_right" - min_description_width: 0 - max_description_width: 50 - max_description_height: 10 - description_offset: 1 - # If true, the cursor pos will be corrected, so the suggestions match up with the typed text - # - # C:\> str - # str join - # str trim - # str split - correct_cursor_pos: false - } - style: { - text: green - selected_text: { attr: r } - description_text: yellow - match_text: { attr: u } - selected_match_text: { attr: ur } - } - } - { - name: history_menu - only_buffer_difference: true - marker: "? " - type: { - layout: list - page_size: 10 - } - style: { - text: green - selected_text: green_reverse - description_text: yellow - } - } - { - name: help_menu - only_buffer_difference: true - marker: "? " - type: { - layout: description - columns: 4 - col_width: 20 # Optional value. If missing all the screen width is used to calculate column width - col_padding: 2 - selection_rows: 4 - description_rows: 10 - } - style: { - text: green - selected_text: green_reverse - description_text: yellow - } - } - ] - - keybindings: [ - { - name: completion_menu - modifier: none - keycode: tab - mode: [emacs vi_normal vi_insert] - event: { - until: [ - { send: menu name: completion_menu } - { send: menunext } - { edit: complete } - ] - } - } - { - name: ide_completion_menu - modifier: control - keycode: char_n - mode: [emacs vi_normal vi_insert] - event: { - until: [ - { send: menu name: ide_completion_menu } - { send: menunext } - { edit: complete } - ] - } - } - { - name: history_menu - modifier: control - keycode: char_r - mode: [emacs, vi_insert, vi_normal] - event: { send: menu name: history_menu } - } - { - name: help_menu - modifier: none - keycode: f1 - mode: [emacs, vi_insert, vi_normal] - event: { send: menu name: help_menu } - } - { - name: completion_previous_menu - modifier: shift - keycode: backtab - mode: [emacs, vi_normal, vi_insert] - event: { send: menuprevious } - } - { - name: next_page_menu - modifier: control - keycode: char_x - mode: emacs - event: { send: menupagenext } - } - { - name: undo_or_previous_page_menu - modifier: control - keycode: char_z - mode: emacs - event: { - until: [ - { send: menupageprevious } - { edit: undo } - ] - } - } - { - name: escape - modifier: none - keycode: escape - mode: [emacs, vi_normal, vi_insert] - event: { send: esc } # NOTE: does not appear to work - } - { - name: cancel_command - modifier: control - keycode: char_c - mode: [emacs, vi_normal, vi_insert] - event: { send: ctrlc } - } - { - name: quit_shell - modifier: control - keycode: char_d - mode: [emacs, vi_normal, vi_insert] - event: { send: ctrld } - } - { - name: clear_screen - modifier: control - keycode: char_l - mode: [emacs, vi_normal, vi_insert] - event: { send: clearscreen } - } - { - name: search_history - modifier: control - keycode: char_q - mode: [emacs, vi_normal, vi_insert] - event: { send: searchhistory } - } - { - name: open_command_editor - modifier: control - keycode: char_o - mode: [emacs, vi_normal, vi_insert] - event: { send: openeditor } - } - { - name: move_up - modifier: none - keycode: up - mode: [emacs, vi_normal, vi_insert] - event: { - until: [ - { send: menuup } - { send: up } - ] - } - } - { - name: move_down - modifier: none - keycode: down - mode: [emacs, vi_normal, vi_insert] - event: { - until: [ - { send: menudown } - { send: down } - ] - } - } - { - name: move_left - modifier: none - keycode: left - mode: [emacs, vi_normal, vi_insert] - event: { - until: [ - { send: menuleft } - { send: left } - ] - } - } - { - name: move_right_or_take_history_hint - modifier: none - keycode: right - mode: [emacs, vi_normal, vi_insert] - event: { - until: [ - { send: historyhintcomplete } - { send: menuright } - { send: right } - ] - } - } - { - name: move_one_word_left - modifier: control - keycode: left - mode: [emacs, vi_normal, vi_insert] - event: { edit: movewordleft } - } - { - name: move_one_word_right_or_take_history_hint - modifier: control - keycode: right - mode: [emacs, vi_normal, vi_insert] - event: { - until: [ - { send: historyhintwordcomplete } - { edit: movewordright } - ] - } - } - { - name: move_to_line_start - modifier: none - keycode: home - mode: [emacs, vi_normal, vi_insert] - event: { edit: movetolinestart } - } - { - name: move_to_line_start - modifier: control - keycode: char_a - mode: [emacs, vi_normal, vi_insert] - event: { edit: movetolinestart } - } - { - name: move_to_line_end_or_take_history_hint - modifier: none - keycode: end - mode: [emacs, vi_normal, vi_insert] - event: { - until: [ - { send: historyhintcomplete } - { edit: movetolineend } - ] - } - } - { - name: move_to_line_end_or_take_history_hint - modifier: control - keycode: char_e - mode: [emacs, vi_normal, vi_insert] - event: { - until: [ - { send: historyhintcomplete } - { edit: movetolineend } - ] - } - } - { - name: move_to_line_start - modifier: control - keycode: home - mode: [emacs, vi_normal, vi_insert] - event: { edit: movetolinestart } - } - { - name: move_to_line_end - modifier: control - keycode: end - mode: [emacs, vi_normal, vi_insert] - event: { edit: movetolineend } - } - { - name: move_up - modifier: control - keycode: char_p - mode: [emacs, vi_normal, vi_insert] - event: { - until: [ - { send: menuup } - { send: up } - ] - } - } - { - name: move_down - modifier: control - keycode: char_t - mode: [emacs, vi_normal, vi_insert] - event: { - until: [ - { send: menudown } - { send: down } - ] - } - } - { - name: delete_one_character_backward - modifier: none - keycode: backspace - mode: [emacs, vi_insert] - event: { edit: backspace } - } - { - name: delete_one_word_backward - modifier: control - keycode: backspace - mode: [emacs, vi_insert] - event: { edit: backspaceword } - } - { - name: delete_one_character_forward - modifier: none - keycode: delete - mode: [emacs, vi_insert] - event: { edit: delete } - } - { - name: delete_one_character_forward - modifier: control - keycode: delete - mode: [emacs, vi_insert] - event: { edit: delete } - } - { - name: delete_one_character_backward - modifier: control - keycode: char_h - mode: [emacs, vi_insert] - event: { edit: backspace } - } - { - name: delete_one_word_backward - modifier: control - keycode: char_w - mode: [emacs, vi_insert] - event: { edit: backspaceword } - } - { - name: move_left - modifier: none - keycode: backspace - mode: vi_normal - event: { edit: moveleft } - } - { - name: newline_or_run_command - modifier: none - keycode: enter - mode: emacs - event: { send: enter } - } - { - name: move_left - modifier: control - keycode: char_b - mode: emacs - event: { - until: [ - { send: menuleft } - { send: left } - ] - } - } - { - name: move_right_or_take_history_hint - modifier: control - keycode: char_f - mode: emacs - event: { - until: [ - { send: historyhintcomplete } - { send: menuright } - { send: right } - ] - } - } - { - name: redo_change - modifier: control - keycode: char_g - mode: emacs - event: { edit: redo } - } - { - name: undo_change - modifier: control - keycode: char_z - mode: emacs - event: { edit: undo } - } - { - name: paste_before - modifier: control - keycode: char_y - mode: emacs - event: { edit: pastecutbufferbefore } - } - { - name: cut_word_left - modifier: control - keycode: char_w - mode: emacs - event: { edit: cutwordleft } - } - { - name: cut_line_to_end - modifier: control - keycode: char_k - mode: emacs - event: { edit: cuttoend } - } - { - name: cut_line_from_start - modifier: control - keycode: char_u - mode: emacs - event: { edit: cutfromstart } - } - { - name: swap_graphemes - modifier: control - keycode: char_t - mode: emacs - event: { edit: swapgraphemes } - } - { - name: move_one_word_left - modifier: alt - keycode: left - mode: emacs - event: { edit: movewordleft } - } - { - name: move_one_word_right_or_take_history_hint - modifier: alt - keycode: right - mode: emacs - event: { - until: [ - { send: historyhintwordcomplete } - { edit: movewordright } - ] - } - } - { - name: move_one_word_left - modifier: alt - keycode: char_b - mode: emacs - event: { edit: movewordleft } - } - { - name: move_one_word_right_or_take_history_hint - modifier: alt - keycode: char_f - mode: emacs - event: { - until: [ - { send: historyhintwordcomplete } - { edit: movewordright } - ] - } - } - { - name: delete_one_word_forward - modifier: alt - keycode: delete - mode: emacs - event: { edit: deleteword } - } - { - name: delete_one_word_backward - modifier: alt - keycode: backspace - mode: emacs - event: { edit: backspaceword } - } - { - name: delete_one_word_backward - modifier: alt - keycode: char_m - mode: emacs - event: { edit: backspaceword } - } - { - name: cut_word_to_right - modifier: alt - keycode: char_d - mode: emacs - event: { edit: cutwordright } - } - { - name: upper_case_word - modifier: alt - keycode: char_u - mode: emacs - event: { edit: uppercaseword } - } - { - name: lower_case_word - modifier: alt - keycode: char_l - mode: emacs - event: { edit: lowercaseword } - } - { - name: capitalize_char - modifier: alt - keycode: char_c - mode: emacs - event: { edit: capitalizechar } - } - # The following bindings with `*system` events require that Nushell has - # been compiled with the `system-clipboard` feature. - # This should be the case for Windows, macOS, and most Linux distributions - # Not available for example on Android (termux) - # If you want to use the system clipboard for visual selection or to - # paste directly, uncomment the respective lines and replace the version - # using the internal clipboard. - { - name: copy_selection - modifier: control_shift - keycode: char_c - mode: emacs - event: { edit: copyselection } - # event: { edit: copyselectionsystem } - } - { - name: cut_selection - modifier: control_shift - keycode: char_x - mode: emacs - event: { edit: cutselection } - # event: { edit: cutselectionsystem } - } - # { - # name: paste_system - # modifier: control_shift - # keycode: char_v - # mode: emacs - # event: { edit: pastesystem } - # } - { - name: select_all - modifier: control_shift - keycode: char_a - mode: emacs - event: { edit: selectall } - } - ] -} \ No newline at end of file diff --git a/.config/nushell/env.nu b/.config/nushell/env.nu deleted file mode 100644 index edf0830..0000000 --- a/.config/nushell/env.nu +++ /dev/null @@ -1,100 +0,0 @@ -# Nushell Environment Config File -# -# version = "0.94.2" - -def create_left_prompt [] { - let dir = match (do --ignore-shell-errors { $env.PWD | path relative-to $nu.home-path }) { - null => $env.PWD - '' => '~' - $relative_pwd => ([~ $relative_pwd] | path join) - } - - let path_color = (if (is-admin) { ansi red_bold } else { ansi green_bold }) - let separator_color = (if (is-admin) { ansi light_red_bold } else { ansi light_green_bold }) - let path_segment = $"($path_color)($dir)" - - $path_segment | str replace --all (char path_sep) $"($separator_color)(char path_sep)($path_color)" -} - -def create_right_prompt [] { - # create a right prompt in magenta with green separators and am/pm underlined - let time_segment = ([ - (ansi reset) - (ansi magenta) - (date now | format date '%x %X') # try to respect user's locale - ] | str join | str replace --regex --all "([/:])" $"(ansi green)${1}(ansi magenta)" | - str replace --regex --all "([AP]M)" $"(ansi magenta_underline)${1}") - - let last_exit_code = if ($env.LAST_EXIT_CODE != 0) {([ - (ansi rb) - ($env.LAST_EXIT_CODE) - ] | str join) - } else { "" } - - ([$last_exit_code, (char space), $time_segment] | str join) -} - -# Use nushell functions to define your right and left prompt -$env.PROMPT_COMMAND = {|| create_left_prompt } -# FIXME: This default is not implemented in rust code as of 2023-09-08. -$env.PROMPT_COMMAND_RIGHT = {|| create_right_prompt } - -# The prompt indicators are environmental variables that represent -# the state of the prompt -$env.PROMPT_INDICATOR = {|| "> " } -$env.PROMPT_INDICATOR_VI_INSERT = {|| ": " } -$env.PROMPT_INDICATOR_VI_NORMAL = {|| "> " } -$env.PROMPT_MULTILINE_INDICATOR = {|| "::: " } - -# If you want previously entered commands to have a different prompt from the usual one, -# you can uncomment one or more of the following lines. -# This can be useful if you have a 2-line prompt and it's taking up a lot of space -# because every command entered takes up 2 lines instead of 1. You can then uncomment -# the line below so that previously entered commands show with a single `🚀`. -# $env.TRANSIENT_PROMPT_COMMAND = {|| "🚀 " } -# $env.TRANSIENT_PROMPT_INDICATOR = {|| "" } -# $env.TRANSIENT_PROMPT_INDICATOR_VI_INSERT = {|| "" } -# $env.TRANSIENT_PROMPT_INDICATOR_VI_NORMAL = {|| "" } -# $env.TRANSIENT_PROMPT_MULTILINE_INDICATOR = {|| "" } -# $env.TRANSIENT_PROMPT_COMMAND_RIGHT = {|| "" } - -# Specifies how environment variables are: -# - converted from a string to a value on Nushell startup (from_string) -# - converted from a value back to a string when running external commands (to_string) -# Note: The conversions happen *after* config.nu is loaded -$env.ENV_CONVERSIONS = { - "PATH": { - from_string: { |s| $s | split row (char esep) | path expand --no-symlink } - to_string: { |v| $v | path expand --no-symlink | str join (char esep) } - } - "Path": { - from_string: { |s| $s | split row (char esep) | path expand --no-symlink } - to_string: { |v| $v | path expand --no-symlink | str join (char esep) } - } -} - -# Directories to search for scripts when calling source or use -# The default for this is $nu.default-config-dir/scripts -$env.NU_LIB_DIRS = [ - ($nu.default-config-dir | path join 'scripts') # add /scripts -] - -# Directories to search for plugin binaries when calling register -# The default for this is $nu.default-config-dir/plugins -$env.NU_PLUGIN_DIRS = [ - ($nu.default-config-dir | path join 'plugins') # add /plugins -] - -# To add entries to PATH (on Windows you might use Path), you can use the following pattern: -# $env.PATH = ($env.PATH | split row (char esep) | prepend '/some/path') -# An alternate way to add entries to $env.PATH is to use the custom command `path add` -# which is built into the nushell stdlib: -# use std "path add" -# $env.PATH = ($env.PATH | split row (char esep)) -# path add /some/path -# path add ($env.CARGO_HOME | path join "bin") -# path add ($env.HOME | path join ".local" "bin") -# $env.PATH = ($env.PATH | uniq) - -# To load from a custom file you can use: -# source ($nu.default-config-dir | path join 'custom.nu') \ No newline at end of file diff --git a/.config/nushell/history.txt b/.config/nushell/history.txt deleted file mode 100644 index 3cca868..0000000 --- a/.config/nushell/history.txt +++ /dev/null @@ -1,13 +0,0 @@ -ls -eza -eza -l -ls -exit -which ls -man nu -nu --help -exit -cat compile_commands.json -cat compile_commands.json | from json -clear -exit diff --git a/.config/nvim/after/plugin/colors.lua b/.config/nvim/after/plugin/colors.lua deleted file mode 100644 index c4e5ba0..0000000 --- a/.config/nvim/after/plugin/colors.lua +++ /dev/null @@ -1,14 +0,0 @@ -function colors(color) - color = color or 'gruvbox' - -- Available values: `'hard'`, `'medium'`, `'soft'` - vim.g.gruvbox_material_background = 'medium' - -- Available values: `'material'`, `'mix'`, `'original'` - vim.g.gruvbox_material_foreground = 'mix' - -- Available values: `'hard'`, `'medium'`, `'soft'` - vim.g.everforest_background = 'hard' - vim.g.gruvbox_material_better_performance = 1 - vim.g.everforest_better_performance = 1 - vim.cmd.colorscheme(color) -end - -colors() diff --git a/.config/nvim/after/plugin/lsp.lua b/.config/nvim/after/plugin/lsp.lua deleted file mode 100644 index 40bff54..0000000 --- a/.config/nvim/after/plugin/lsp.lua +++ /dev/null @@ -1,81 +0,0 @@ -local lsp = require('lsp-zero') -local lsp_config = require("lspconfig") -local mason = require("mason") - -lsp.preset('recommended') - ---lsp.ensure_installed({ ---'lua_ls', ---}) - ---Enable (broadcasting) snippet capability for completion -local capabilities = vim.lsp.protocol.make_client_capabilities() -capabilities.textDocument.completion.completionItem.snippetSupport = true - -lsp_config.html.setup { - capabilities = capabilities, - filetypes = { "html", "etlua" }, -} - -local cmp = require("cmp") -local cmp_select = {behavior = cmp.SelectBehavior.Select} -local cmp_mappings = lsp.defaults.cmp_mappings({ - [''] = cmp.mapping.select_prev_item(cmp_select), - [''] = cmp.mapping.select_next_item(cmp_select), - [''] = cmp.mapping.confirm({select = true}), - [''] = cmp.mapping.complete(), -}) - -cmp.setup { - sources = { - -- { name = 'conjure' }, - { name = 'nvim_lsp_signature_help' }, - { name = 'nvim_lsp' }, - { name = 'luasnip' }, - } -} - -lsp.set_preferences({ - sign_icons = { } -}) - --- lsp.setup_nvim_cmp({ --- mapping = cmp_mappings --- }) - -lsp.on_attach(function(client, bufnr) - local opts = {buffer = bufnr, remap = false} - - if client.name == "eslint" then - vim.cmd.LspStop('eslint') - return - end - if client.name == "html" or client.name == "cssls" then - capabilities = capabilities - end - - vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts) - vim.keymap.set("n", "K", vim.lsp.buf.hover, opts) - vim.keymap.set("n", "vws", vim.lsp.buf.workspace_symbol, opts) - vim.keymap.set("n", "vd", vim.diagnostic.open_float, opts) - vim.keymap.set("n", "[d", vim.diagnostic.goto_next, opts) - vim.keymap.set("n", "]d", vim.diagnostic.goto_prev, opts) - vim.keymap.set("n", "vca", vim.lsp.buf.code_action, opts) - vim.keymap.set("n", "vrr", vim.lsp.buf.references, opts) - vim.keymap.set("n", "vrn", vim.lsp.buf.rename, opts) - vim.keymap.set("i", "", vim.lsp.buf.signature_help, opts) -end) - -lsp_config.lua_ls.setup { - -- ... other configs - settings = { - Lua = { - diagnostics = { - globals = { 'vim' } - } - } - } -} -lsp_config.racket_langserver.setup{} -lsp.setup() -mason.setup() diff --git a/.config/nvim/after/plugin/telescope.lua b/.config/nvim/after/plugin/telescope.lua deleted file mode 100644 index 99cfc0e..0000000 --- a/.config/nvim/after/plugin/telescope.lua +++ /dev/null @@ -1,15 +0,0 @@ -local builtin = require('telescope.builtin') -local telescope = require('telescope') -telescope.load_extension("workspaces") -telescope.load_extension("recent_files") -telescope.load_extension("telescope-tabs") -vim.keymap.set('n', 'ff', builtin.find_files, {}) -vim.keymap.set('n', 'fF', builtin.git_files, {}) -vim.keymap.set('n', 'fg', builtin.live_grep, {}) -vim.keymap.set('n', 'bb', builtin.buffers, {}) -vim.keymap.set('n', 'hh', builtin.help_tags, {}) -vim.keymap.set('n', 'cc', builtin.colorscheme, {}) -vim.keymap.set('n', 'wo', ":Telescope workspaces", {}) -vim.api.nvim_set_keymap("n", "fr", - [[lua require('telescope').extensions.recent_files.pick()]], - {noremap = true, silent = true}) diff --git a/.config/nvim/after/plugin/treesitter.lua b/.config/nvim/after/plugin/treesitter.lua deleted file mode 100644 index a0b7388..0000000 --- a/.config/nvim/after/plugin/treesitter.lua +++ /dev/null @@ -1,22 +0,0 @@ -require'nvim-treesitter.configs'.setup { - -- A list of parser names, or "all" - ensure_installed = { "java", "c", "lua" }, - - -- Install parsers synchronously (only applied to `ensure_installed`) - sync_install = false, - - -- Automatically install missing parsers when entering buffer - -- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally - auto_install = true, - - highlight = { - -- `false` will disable the whole extension - enable = true, - - -- Setting this to true will run `:h syntax` and tree-sitter at the same time. - -- Set this to `true` if you depend on 'syntax' being enabled (like for indentation). - -- Using this option may slow down your editor, and you may see some duplicate highlights. - -- Instead of true it can also be a list of languages - additional_vim_regex_highlighting = false, - }, -} diff --git a/.config/nvim/after/plugin/undotree.lua b/.config/nvim/after/plugin/undotree.lua deleted file mode 100644 index 97bb7ab..0000000 --- a/.config/nvim/after/plugin/undotree.lua +++ /dev/null @@ -1,2 +0,0 @@ -vim.keymap.set("n", "u", vim.cmd.UndotreeToggle) - diff --git a/.config/nvim/db_ui/connections.json b/.config/nvim/db_ui/connections.json deleted file mode 100644 index 7780eff..0000000 --- a/.config/nvim/db_ui/connections.json +++ /dev/null @@ -1 +0,0 @@ -[{"url": "sqlserver://chalupmc:MikeC00l@golem.csse.rose-hulman.edu/SodaBasechalupmc", "name": "SodaBasechalupmc"}, {"url": "sqlserver://chalupmc:MikeC00l@golem.csse.rose-hulman.edu/NWindchalupmc", "name": "NWindchalupmc"}] diff --git a/.config/nvim/ftplugin/java.lua b/.config/nvim/ftplugin/java.lua deleted file mode 100644 index 4684615..0000000 --- a/.config/nvim/ftplugin/java.lua +++ /dev/null @@ -1,97 +0,0 @@ --- See `:help vim.lsp.start_client` for an overview of the supported `config` options. - ---local project_name = vim.fn.fnamemodify(vim.fn.getcwd(), ':p:h:t') ---local workspace_dir = '/path/to/workspace-root/' .. project_name -local workspace_dir = vim.fn.getcwd() -local config = { - -- The command that starts the language server - -- See: https://github.com/eclipse/eclipse.jdt.ls#running-from-the-command-line - cmd = { - - -- 💀 - '/usr/lib/jvm/java-19-openjdk/bin/java', -- or '/path/to/java17_or_newer/bin/java' - -- depends on if `java` is in your $PATH env variable and if it points to the right version. - - '-Declipse.application=org.eclipse.jdt.ls.core.id1', - '-Dosgi.bundles.defaultStartLevel=4', - '-Declipse.product=org.eclipse.jdt.ls.core.product', - '-Dlog.protocol=true', - '-Dlog.level=ALL', - '-Xms1g', - '--add-modules=ALL-SYSTEM', - '--add-opens', 'java.base/java.util=ALL-UNNAMED', - '--add-opens', 'java.base/java.lang=ALL-UNNAMED', - - -- 💀 - '-jar', '/usr/share/java/jdtls/plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar', - -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ - -- Must point to the Change this to - -- eclipse.jdt.ls installation the actual version - - - -- 💀 - '-configuration', '/usr/share/java/jdtls/config_linux', - -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ - -- Must point to the Change to one of `linux`, `win` or `mac` - -- eclipse.jdt.ls installation Depending on your system. - - - -- 💀 - -- See `data directory configuration` section in the README - '-data', "/home/mikec/Documents/workspace" - }, - - -- 💀 - -- This is the default if not provided, you can remove it. Or adjust as needed. - -- One dedicated LSP server & client will be started per unique root_dir - root_dir = require('jdtls.setup').find_root({'.git', 'mvnw', 'gradlew'}), - - -- Here you can configure eclipse.jdt.ls specific settings - -- See https://github.com/eclipse/eclipse.jdt.ls/wiki/Running-the-JAVA-LS-server-from-the-command-line#initialize-request - -- for a list of options - settings = { - java = { - } - }, - - -- Language server `initializationOptions` - -- You need to extend the `bundles` with paths to jar files - -- if you want to use additional eclipse.jdt.ls plugins. - -- - -- See https://github.com/mfussenegger/nvim-jdtls#java-debug-installation - -- - -- If you don't plan on using the debugger or other eclipse.jdt.ls plugins you can remove this - --init_options = { - -- bundles = { - -- vim.fn.glob("/home/mikec/.local/share/nvim/mason/packages/java-debug-adapter/extension/server/com.microsoft.java.debug.plugin/target/com.microsoft.java.debug.plugin-*.jar", 1) - -- } - --}, -} - --- This bundles definition is the same as in the previous section (java-debug installation) -local bundles = { - vim.fn.glob("/home/mikec/.local/share/nvim/mason/packages/java-debug-adapter/extension/server/com.microsoft.java.debug.plugin/target/com.microsoft.java.debug.plugin-*.jar", 1) -}; - --- This is the new part -vim.list_extend(bundles, vim.split(vim.fn.glob("/path/to/microsoft/vscode-java-test/server/*.jar", 1), "\n")) -config['init_options'] = { - bundles = bundles; -} - --- This starts a new client & server, --- or attaches to an existing client & server depending on the `root_dir`. - -vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts) -vim.keymap.set("n", "K", vim.lsp.buf.hover, opts) -vim.keymap.set("n", "vws", vim.lsp.buf.workspace_symbol, opts) -vim.keymap.set("n", "vd", vim.diagnostic.open_float, opts) -vim.keymap.set("n", "[d", vim.diagnostic.goto_next, opts) -vim.keymap.set("n", "]d", vim.diagnostic.goto_prev, opts) -vim.keymap.set("n", "vca", vim.lsp.buf.code_action, opts) -vim.keymap.set("n", "vrr", vim.lsp.buf.references, opts) -vim.keymap.set("n", "vrn", vim.lsp.buf.rename, opts) -vim.keymap.set("i", "", vim.lsp.buf.signature_help, opts) -vim.keymap.set("n", "i", function() require('jdtls').organize_imports() end, opts) - -require('jdtls').start_or_attach(config) diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua deleted file mode 100644 index dbc863e..0000000 --- a/.config/nvim/init.lua +++ /dev/null @@ -1 +0,0 @@ -require("config") diff --git a/.config/nvim/lua/config/dadbod.lua b/.config/nvim/lua/config/dadbod.lua deleted file mode 100644 index 90c13fb..0000000 --- a/.config/nvim/lua/config/dadbod.lua +++ /dev/null @@ -1,29 +0,0 @@ -local M = {} - -local function db_completion() - require("cmp").setup.buffer { sources = { { name = "vim-dadbod-completion" } } } -end - -function M.setup() - vim.g.db_ui_save_location = vim.fn.stdpath "config" .. require("plenary.path").path.sep .. "db_ui" - - vim.api.nvim_create_autocmd("FileType", { - pattern = { - "sql", - }, - command = [[setlocal omnifunc=vim_dadbod_completion#omni]], - }) - - vim.api.nvim_create_autocmd("FileType", { - pattern = { - "sql", - "mysql", - "plsql", - }, - callback = function() - vim.schedule(db_completion) - end, - }) -end - -return M diff --git a/.config/nvim/lua/config/init.lua b/.config/nvim/lua/config/init.lua deleted file mode 100644 index 208c9de..0000000 --- a/.config/nvim/lua/config/init.lua +++ /dev/null @@ -1,3 +0,0 @@ -require("config.remap") -require("config.packer") -require("config.set") diff --git a/.config/nvim/lua/config/packer.lua b/.config/nvim/lua/config/packer.lua deleted file mode 100644 index c007169..0000000 --- a/.config/nvim/lua/config/packer.lua +++ /dev/null @@ -1,328 +0,0 @@ --- This file can be loaded by calling `lua require('plugins')` from your init.vim - --- Only required if you have packer configured as `opt` -vim.cmd [[packadd packer.nvim]] - -return require('packer').startup(function(use) - -- Packer can manage itself - use 'wbthomason/packer.nvim' - - use { - 'nvim-telescope/telescope.nvim', - branch = '0.1.x', - requires = { { 'nvim-lua/plenary.nvim' } } - } - - use { - 'LukasPietzschmann/telescope-tabs', - requires = { 'nvim-telescope/telescope.nvim' }, - config = function() - require'telescope-tabs'.setup{ - -- Your custom config :^) - } - end - } - - use({ - 'rose-pine/neovim', - as = 'rose-pine', - -- config = function() - -- vim.cmd('colorscheme rose-pine') - -- end - }) - - use 'tanvirtin/monokai.nvim' - - use 'arzg/vim-colors-xcode' - - use 'shaunsingh/nord.nvim' - - use 'kvrohit/mellow.nvim' - - use 'Mofiqul/vscode.nvim' - - use 'Th3Whit3Wolf/one-nvim' - - use 'mhartington/oceanic-next' - - use 'folke/tokyonight.nvim' - - use 'sainnhe/gruvbox-material' - - use { "ellisonleao/gruvbox.nvim" } - - use 'sainnhe/everforest' - - use 'lourenci/github-colors' - - use 'navarasu/onedark.nvim' - - use 'shaunsingh/moonlight.nvim' - - use 'Mofiqul/dracula.nvim' - - use 'kdheepak/monochrome.nvim' - - use "savq/melange-nvim" - - use { "catppuccin/nvim", as = "catppuccin" } - - -- use 'RRethy/nvim-base16' - - use ({ 'projekt0n/github-nvim-theme' }) - - use { 'Everblush/nvim', as = 'everblush' } - - use "lewpoly/sherbet.nvim" - - use { - 'nvim-treesitter/nvim-treesitter', - run = ':TSUpdate', - } - - use { - 'numToStr/Comment.nvim', - config = function() - require('Comment').setup() - end - } - - use 'nvim-treesitter/playground' - - -- use 'mbbill/undotree' - - use { - 'VonHeikemen/lsp-zero.nvim', - requires = { - -- LSP Support - { 'neovim/nvim-lspconfig' }, - { 'williamboman/mason.nvim' }, - { 'williamboman/mason-lspconfig.nvim' }, - - -- Autocompletion - { 'hrsh7th/nvim-cmp' }, - { 'hrsh7th/cmp-buffer' }, - { 'hrsh7th/cmp-path' }, - { 'hrsh7th/cmp-nvim-lsp-signature-help' }, - { 'saadparwaiz1/cmp_luasnip' }, - { 'hrsh7th/cmp-nvim-lsp' }, - { 'hrsh7th/cmp-nvim-lua' }, - - -- Snippets - { 'L3MON4D3/LuaSnip' }, - { 'rafamadriz/friendly-snippets' }, - } - } - - use { - 'L3MON4D3/LuaSnip', - --after = 'nvim-cmp', - requires = { "rafamadriz/friendly-snippets" }, - config = function() - --require('config.snippets') - require("luasnip.loaders.from_vscode").lazy_load() - end, - run = "make install_jsregexp" - } - - use 'rafamadriz/friendly-snippets' - - use { - "folke/twilight.nvim", - config = function() - require("twilight").setup { - -- your configuration comes here - -- or leave it empty to use the default settings - -- refer to the configuration section below - } - end - } - - use 'winston0410/cmd-parser.nvim' - use { - 'winston0410/range-highlight.nvim', - config = function() require("range-highlight").setup {} end - } - - use 'RRethy/vim-illuminate' - - use 'mfussenegger/nvim-jdtls' - - use { - "samjwill/nvim-unception", - setup = function() - -- Optional settings go here! - end - } - - use { - "0oAstro/dim.lua", - requires = { "nvim-treesitter/nvim-treesitter", "neovim/nvim-lspconfig" }, - config = function() - require('dim').setup({}) - end - } - use 'mfussenegger/nvim-dap' - - use { "rcarriga/nvim-dap-ui", requires = { "mfussenegger/nvim-dap" } } - - use { 'stevearc/dressing.nvim' } - - use { - 'krady21/compiler-explorer.nvim', - config = function() - require("compiler-explorer").setup({ - autocmd = { - enable = true, - hl = "Cursorline" - } - }) - end - } - - -- use 'ggandor/lightspeed.nvim' - - use { - 'ggandor/leap.nvim', - config = function() - require('leap').add_default_mappings() - end - } - use 'ollykel/v-vim' - - use { - 'windwp/nvim-ts-autotag', - config = function() - require('nvim-ts-autotag').setup() - end - } - - use 'jbyuki/nabla.nvim' - - use { - 'ray-x/web-tools.nvim', - config = function() - require('web-tools').setup() - end - } - - use { - 'natecraddock/workspaces.nvim', - config = function() - require('workspaces').setup() - end - } - - use {"smartpde/telescope-recent-files"} - - use 'uga-rosa/ccc.nvim' - - use 'tveskag/nvim-blame-line' - - use { - 'lewis6991/gitsigns.nvim', - config = function() - require('gitsigns').setup() - end - } - - -- use 'Olical/conjure' - -- use 'PaterJason/cmp-conjure' - - use { - 'lukas-reineke/indent-blankline.nvim', - config = function() - require 'ibl'.setup{ scope = { enabled = false } } - end, - } - - use 'jaawerth/fennel.vim' - - use 'stefanos82/nelua.vim' - - use 'leafo/moonscript-vim' - - use 'teal-language/vim-teal' - - use 'https://github.com/VaiN474/vim-etlua' - - use 'folke/neodev.nvim' - - use { - "kylechui/nvim-surround", - tag = "*", -- Use for stability; omit to use `main` branch for the latest features - config = function() - require("nvim-surround").setup({ - -- Configuration here, or leave empty to use defaults - }) - end - } - - use { - "utilyre/barbecue.nvim", - tag = "*", - requires = { - "SmiteshP/nvim-navic", - "nvim-tree/nvim-web-devicons", -- optional dependency - }, - after = "nvim-web-devicons", -- keep this if you're using NvChad - config = function() - require("barbecue").setup() - end, - } - - use { - 'nvim-lualine/lualine.nvim', - requires = { 'nvim-tree/nvim-web-devicons', opt = true }, - config = function() - local function lspactive() - local names = {} - for i, server in pairs(vim.lsp.get_active_clients({ bufnr = 0 })) do - table.insert(names, server.name) - end - return " [" .. table.concat(names, " ") .. "]" - end - require('lualine').setup { - options = { - globalstatus = true, - icons_enabled = false, - section_separators = { left = '', right = '' }, - component_separators = { left = '', right = '' } - }, - sections = { - lualine_a = { { 'mode', separator = { left = '', right = '' } }, }, - lualine_b = {}, - lualine_c = {'filename'}, - lualine_x = {lspactive, { 'diagnostics', icons_enabled = true }, 'branch', 'diff'}, - lualine_y = {'encoding', 'fileformat', 'filetype'}, - lualine_z = {'location', { 'progress', separator = { left = '', right = '' } }, }, - }, - } - end, - } - - use { - 'goolord/alpha-nvim', - requires = { 'nvim-tree/nvim-web-devicons' }, - config = function () - require'alpha'.setup(require'alpha.themes.startify'.config) - end - } - - use 'aklt/plantuml-syntax' - - use { - "tpope/vim-dadbod", - opt = true, - requires = { - "kristijanhusak/vim-dadbod-ui", - "kristijanhusak/vim-dadbod-completion", - }, - config = function() - require("config.dadbod").setup() - end, - cmd = { "DBUIToggle", "DBUI", "DBUIAddConnection", "DBUIFindBuffer", "DBUIRenameBuffer", "DBUILastQueryInfo" }, - } - - use 'eandrju/cellular-automaton.nvim' -end) diff --git a/.config/nvim/lua/config/remap.lua b/.config/nvim/lua/config/remap.lua deleted file mode 100644 index c77dc98..0000000 --- a/.config/nvim/lua/config/remap.lua +++ /dev/null @@ -1,56 +0,0 @@ -require('Comment').setup() -vim.g.mapleader = " " -vim.g.maplocalleader = "," - -vim.keymap.set("n", "op", vim.cmd.Ex) - -vim.keymap.set("n", "lp", ":lua require(\"nabla\").popup()") -vim.keymap.set("n", "ll", ":lua require(\"nabla\").toggle_virt()") - --- vim.keymap.set("n", "", vim.cmd.nohlsearch) -vim.keymap.set("n", "x", vim.cmd.bdelete) -vim.keymap.set("n", "bd", ":bdelete!") -vim.keymap.set("n", "w", function() - vim.cmd.write(); - vim.cmd.bdelete(); -end) - -vim.keymap.set("v", "J", ":m '>+1gv=gv") -vim.keymap.set("v", "K", ":m '<-2gv=gv") - -vim.keymap.set("n", "J", "mzJ'z") -vim.keymap.set("n", "", "zz") -vim.keymap.set("n", "", "zz") -vim.keymap.set("n", "n", "nzzzv") -vim.keymap.set("n", "N", "Nzzzv") - -vim.keymap.set("n", "y", "\"+y") -vim.keymap.set("v", "y", "\"+y") -vim.keymap.set("n", "Y", "\"+Y") -vim.keymap.set("n", "p", "\"+p") -vim.keymap.set("v", "p", "\"+p") -vim.keymap.set("n", "P", "\"+P") - -vim.keymap.set("n", "f", function() - vim.lsp.buf.format() -end) - -vim.keymap.set("n", "tw", function() - vim.cmd.Twilight() -end) - - -vim.keymap.set("t", "", "") - -vim.keymap.set("n", "ec", ":e ~/.config/nvim") - -vim.keymap.set("n", "bn", ":bnext") -vim.keymap.set("n", "bp", ":bprevious") - -vim.keymap.set("n", "tn", ":tabnext") -vim.keymap.set("n", "tp", ":tabprevious") -vim.keymap.set("n", "to", ":tabnew") -vim.keymap.set("n", "td", ":tabclose") -vim.keymap.set("n", "tt", function() - require('telescope-tabs').list_tabs() -end) diff --git a/.config/nvim/lua/config/set.lua b/.config/nvim/lua/config/set.lua deleted file mode 100644 index c24aa82..0000000 --- a/.config/nvim/lua/config/set.lua +++ /dev/null @@ -1,53 +0,0 @@ -vim.opt.nu = true -vim.opt.relativenumber = true - -vim.opt.tabstop = 4 -vim.opt.softtabstop = 4 -vim.opt.shiftwidth = 4 -vim.opt.expandtab = true - -vim.opt.showmode = false - -vim.opt.smartindent = true - -vim.opt.wrap = false - - -vim.opt.swapfile = false -vim.opt.backup = false -vim.opt.undodir = os.getenv("HOME") .. "/.vim/undodir" -vim.opt.undofile = true - -vim.opt.hlsearch = true -vim.opt.incsearch = true - -vim.opt.termguicolors = true - -vim.opt.scrolloff = 8 -vim.opt.signcolumn = "yes" -vim.opt.isfname:append("@-@") - -vim.opt.updatetime = 50 - -vim.opt.colorcolumn = "80" - -vim.opt.splitright = true -vim.opt.splitbelow = true - -vim.g.mapleader = " " - -vim.g.neovide_scale_factor = 1.0 -function ChangeScaleFactor(delta) - vim.g.neovide_scale_factor = vim.g.neovide_scale_factor * delta -end - -vim.keymap.set("n", "", function() - ChangeScaleFactor(1.25) -end) -vim.keymap.set("n", "", function() - ChangeScaleFactor(1 / 1.25) -end) - -vim.opt.guifont = { "Cascadia Code", ":h12" } - -vim.g.netrw_keepdir = 0 diff --git a/.config/nvim/plugin/packer_compiled.lua b/.config/nvim/plugin/packer_compiled.lua deleted file mode 100644 index 1d4433a..0000000 --- a/.config/nvim/plugin/packer_compiled.lua +++ /dev/null @@ -1,660 +0,0 @@ --- Automatically generated packer.nvim plugin loader code - -if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then - vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"') - return -end - -vim.api.nvim_command('packadd packer.nvim') - -local no_errors, error_msg = pcall(function() - -_G._packer = _G._packer or {} -_G._packer.inside_compile = true - -local time -local profile_info -local should_profile = false -if should_profile then - local hrtime = vim.loop.hrtime - profile_info = {} - time = function(chunk, start) - if start then - profile_info[chunk] = hrtime() - else - profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6 - end - end -else - time = function(chunk, start) end -end - -local function save_profiles(threshold) - local sorted_times = {} - for chunk_name, time_taken in pairs(profile_info) do - sorted_times[#sorted_times + 1] = {chunk_name, time_taken} - end - table.sort(sorted_times, function(a, b) return a[2] > b[2] end) - local results = {} - for i, elem in ipairs(sorted_times) do - if not threshold or threshold and elem[2] > threshold then - results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms' - end - end - if threshold then - table.insert(results, '(Only showing plugins that took longer than ' .. threshold .. ' ms ' .. 'to load)') - end - - _G._packer.profile_output = results -end - -time([[Luarocks path setup]], true) -local package_path_str = "/home/mikec/.cache/nvim/packer_hererocks/2.1.1707061634/share/lua/5.1/?.lua;/home/mikec/.cache/nvim/packer_hererocks/2.1.1707061634/share/lua/5.1/?/init.lua;/home/mikec/.cache/nvim/packer_hererocks/2.1.1707061634/lib/luarocks/rocks-5.1/?.lua;/home/mikec/.cache/nvim/packer_hererocks/2.1.1707061634/lib/luarocks/rocks-5.1/?/init.lua" -local install_cpath_pattern = "/home/mikec/.cache/nvim/packer_hererocks/2.1.1707061634/lib/lua/5.1/?.so" -if not string.find(package.path, package_path_str, 1, true) then - package.path = package.path .. ';' .. package_path_str -end - -if not string.find(package.cpath, install_cpath_pattern, 1, true) then - package.cpath = package.cpath .. ';' .. install_cpath_pattern -end - -time([[Luarocks path setup]], false) -time([[try_loadstring definition]], true) -local function try_loadstring(s, component, name) - local success, result = pcall(loadstring(s), name, _G.packer_plugins[name]) - if not success then - vim.schedule(function() - vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {}) - end) - end - return result -end - -time([[try_loadstring definition]], false) -time([[Defining packer_plugins]], true) -_G.packer_plugins = { - ["Comment.nvim"] = { - config = { "\27LJ\2\n5\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\fComment\frequire\0" }, - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/Comment.nvim", - url = "https://github.com/numToStr/Comment.nvim" - }, - LuaSnip = { - config = { "\27LJ\2\nM\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\14lazy_load luasnip.loaders.from_vscode\frequire\0" }, - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/LuaSnip", - url = "https://github.com/L3MON4D3/LuaSnip" - }, - ["alpha-nvim"] = { - config = { "\27LJ\2\n`\0\0\5\0\5\0\n6\0\0\0'\2\1\0B\0\2\0029\0\2\0006\2\0\0'\4\3\0B\2\2\0029\2\4\2B\0\2\1K\0\1\0\vconfig\26alpha.themes.startify\nsetup\nalpha\frequire\0" }, - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/alpha-nvim", - url = "https://github.com/goolord/alpha-nvim" - }, - ["barbecue.nvim"] = { - config = { "\27LJ\2\n6\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\rbarbecue\frequire\0" }, - load_after = {}, - loaded = true, - needs_bufread = false, - path = "/home/mikec/.local/share/nvim/site/pack/packer/opt/barbecue.nvim", - url = "https://github.com/utilyre/barbecue.nvim" - }, - catppuccin = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/catppuccin", - url = "https://github.com/catppuccin/nvim" - }, - ["ccc.nvim"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/ccc.nvim", - url = "https://github.com/uga-rosa/ccc.nvim" - }, - ["cellular-automaton.nvim"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/cellular-automaton.nvim", - url = "https://github.com/eandrju/cellular-automaton.nvim" - }, - ["cmd-parser.nvim"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/cmd-parser.nvim", - url = "https://github.com/winston0410/cmd-parser.nvim" - }, - ["cmp-buffer"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/cmp-buffer", - url = "https://github.com/hrsh7th/cmp-buffer" - }, - ["cmp-nvim-lsp"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp", - url = "https://github.com/hrsh7th/cmp-nvim-lsp" - }, - ["cmp-nvim-lsp-signature-help"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp-signature-help", - url = "https://github.com/hrsh7th/cmp-nvim-lsp-signature-help" - }, - ["cmp-nvim-lua"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/cmp-nvim-lua", - url = "https://github.com/hrsh7th/cmp-nvim-lua" - }, - ["cmp-path"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/cmp-path", - url = "https://github.com/hrsh7th/cmp-path" - }, - cmp_luasnip = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/cmp_luasnip", - url = "https://github.com/saadparwaiz1/cmp_luasnip" - }, - ["compiler-explorer.nvim"] = { - config = { "\27LJ\2\nx\0\0\4\0\6\0\t6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\4\0005\3\3\0=\3\5\2B\0\2\1K\0\1\0\fautocmd\1\0\1\fautocmd\0\1\0\2\venable\2\ahl\15Cursorline\nsetup\22compiler-explorer\frequire\0" }, - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/compiler-explorer.nvim", - url = "https://github.com/krady21/compiler-explorer.nvim" - }, - ["dim.lua"] = { - config = { "\27LJ\2\n5\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\bdim\frequire\0" }, - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/dim.lua", - url = "https://github.com/0oAstro/dim.lua" - }, - ["dracula.nvim"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/dracula.nvim", - url = "https://github.com/Mofiqul/dracula.nvim" - }, - ["dressing.nvim"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/dressing.nvim", - url = "https://github.com/stevearc/dressing.nvim" - }, - everblush = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/everblush", - url = "https://github.com/Everblush/nvim" - }, - everforest = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/everforest", - url = "https://github.com/sainnhe/everforest" - }, - ["fennel.vim"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/fennel.vim", - url = "https://github.com/jaawerth/fennel.vim" - }, - ["friendly-snippets"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/friendly-snippets", - url = "https://github.com/rafamadriz/friendly-snippets" - }, - ["github-colors"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/github-colors", - url = "https://github.com/lourenci/github-colors" - }, - ["github-nvim-theme"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/github-nvim-theme", - url = "https://github.com/projekt0n/github-nvim-theme" - }, - ["gitsigns.nvim"] = { - config = { "\27LJ\2\n6\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\rgitsigns\frequire\0" }, - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/gitsigns.nvim", - url = "https://github.com/lewis6991/gitsigns.nvim" - }, - ["gruvbox-material"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/gruvbox-material", - url = "https://github.com/sainnhe/gruvbox-material" - }, - ["gruvbox.nvim"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/gruvbox.nvim", - url = "https://github.com/ellisonleao/gruvbox.nvim" - }, - ["indent-blankline.nvim"] = { - config = { "\27LJ\2\nY\0\0\4\0\6\0\t6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\4\0005\3\3\0=\3\5\2B\0\2\1K\0\1\0\nscope\1\0\1\nscope\0\1\0\1\fenabled\1\nsetup\bibl\frequire\0" }, - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim", - url = "https://github.com/lukas-reineke/indent-blankline.nvim" - }, - ["leap.nvim"] = { - config = { "\27LJ\2\nA\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\25add_default_mappings\tleap\frequire\0" }, - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/leap.nvim", - url = "https://github.com/ggandor/leap.nvim" - }, - ["lsp-zero.nvim"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/lsp-zero.nvim", - url = "https://github.com/VonHeikemen/lsp-zero.nvim" - }, - ["lualine.nvim"] = { - config = { "\27LJ\2\n\1\0\0\n\0\f\0\0254\0\0\0006\1\0\0006\3\1\0009\3\2\0039\3\3\0035\5\4\0B\3\2\0A\1\0\4H\4\56\6\5\0009\6\6\6\18\b\0\0009\t\a\5B\6\3\1F\4\3\3R\4\127'\1\b\0006\2\5\0009\2\t\2\18\4\0\0'\5\n\0B\2\3\2'\3\v\0&\1\3\1L\1\2\0\6]\6 \vconcat\n [\tname\vinsert\ntable\1\0\1\nbufnr\3\0\23get_active_clients\blsp\bvim\npairs\5\1\0\b\0\29\0'3\0\0\0006\1\1\0'\3\2\0B\1\2\0029\1\3\0015\3\t\0005\4\4\0005\5\5\0=\5\6\0045\5\a\0=\5\b\4=\4\n\0035\4\14\0004\5\3\0005\6\v\0005\a\f\0=\a\r\6>\6\1\5=\5\15\0044\5\0\0=\5\16\0045\5\17\0=\5\18\0045\5\20\0>\0\1\0055\6\19\0>\6\2\5=\5\21\0045\5\22\0=\5\23\0045\5\24\0005\6\25\0005\a\26\0=\a\r\6>\6\2\5=\5\27\4=\4\28\3B\1\2\1K\0\1\0\rsections\14lualine_z\1\0\2\nright\b\tleft\b\1\2\1\0\rprogress\14separator\0\1\2\0\0\rlocation\14lualine_y\1\4\0\0\rencoding\15fileformat\rfiletype\14lualine_x\1\5\0\0\0\0\vbranch\tdiff\1\2\1\0\16diagnostics\18icons_enabled\2\14lualine_c\1\2\0\0\rfilename\14lualine_b\14lualine_a\1\0\6\14lualine_a\0\14lualine_y\0\14lualine_z\0\14lualine_x\0\14lualine_c\0\14lualine_b\0\14separator\1\0\2\nright\b\tleft\b\1\2\1\0\tmode\14separator\0\foptions\1\0\2\foptions\0\rsections\0\25component_separators\1\0\2\nright\5\tleft\5\23section_separators\1\0\2\nright\b\tleft\b\1\0\4\25component_separators\0\23section_separators\0\18icons_enabled\1\17globalstatus\2\nsetup\flualine\frequire\0\0" }, - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/lualine.nvim", - url = "https://github.com/nvim-lualine/lualine.nvim" - }, - ["mason-lspconfig.nvim"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/mason-lspconfig.nvim", - url = "https://github.com/williamboman/mason-lspconfig.nvim" - }, - ["mason.nvim"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/mason.nvim", - url = "https://github.com/williamboman/mason.nvim" - }, - ["melange-nvim"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/melange-nvim", - url = "https://github.com/savq/melange-nvim" - }, - ["mellow.nvim"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/mellow.nvim", - url = "https://github.com/kvrohit/mellow.nvim" - }, - ["monochrome.nvim"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/monochrome.nvim", - url = "https://github.com/kdheepak/monochrome.nvim" - }, - ["monokai.nvim"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/monokai.nvim", - url = "https://github.com/tanvirtin/monokai.nvim" - }, - ["moonlight.nvim"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/moonlight.nvim", - url = "https://github.com/shaunsingh/moonlight.nvim" - }, - ["moonscript-vim"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/moonscript-vim", - url = "https://github.com/leafo/moonscript-vim" - }, - ["nabla.nvim"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/nabla.nvim", - url = "https://github.com/jbyuki/nabla.nvim" - }, - ["nelua.vim"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/nelua.vim", - url = "https://github.com/stefanos82/nelua.vim" - }, - ["neodev.nvim"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/neodev.nvim", - url = "https://github.com/folke/neodev.nvim" - }, - ["nord.nvim"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/nord.nvim", - url = "https://github.com/shaunsingh/nord.nvim" - }, - ["nvim-blame-line"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/nvim-blame-line", - url = "https://github.com/tveskag/nvim-blame-line" - }, - ["nvim-cmp"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/nvim-cmp", - url = "https://github.com/hrsh7th/nvim-cmp" - }, - ["nvim-dap"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/nvim-dap", - url = "https://github.com/mfussenegger/nvim-dap" - }, - ["nvim-dap-ui"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/nvim-dap-ui", - url = "https://github.com/rcarriga/nvim-dap-ui" - }, - ["nvim-jdtls"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/nvim-jdtls", - url = "https://github.com/mfussenegger/nvim-jdtls" - }, - ["nvim-lspconfig"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/nvim-lspconfig", - url = "https://github.com/neovim/nvim-lspconfig" - }, - ["nvim-navic"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/nvim-navic", - url = "https://github.com/SmiteshP/nvim-navic" - }, - ["nvim-surround"] = { - config = { "\27LJ\2\n?\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\18nvim-surround\frequire\0" }, - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/nvim-surround", - url = "https://github.com/kylechui/nvim-surround" - }, - ["nvim-treesitter"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/nvim-treesitter", - url = "https://github.com/nvim-treesitter/nvim-treesitter" - }, - ["nvim-ts-autotag"] = { - config = { "\27LJ\2\n=\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\20nvim-ts-autotag\frequire\0" }, - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/nvim-ts-autotag", - url = "https://github.com/windwp/nvim-ts-autotag" - }, - ["nvim-unception"] = { - loaded = true, - needs_bufread = false, - path = "/home/mikec/.local/share/nvim/site/pack/packer/opt/nvim-unception", - url = "https://github.com/samjwill/nvim-unception" - }, - ["nvim-web-devicons"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/nvim-web-devicons", - url = "https://github.com/nvim-tree/nvim-web-devicons" - }, - ["oceanic-next"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/oceanic-next", - url = "https://github.com/mhartington/oceanic-next" - }, - ["one-nvim"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/one-nvim", - url = "https://github.com/Th3Whit3Wolf/one-nvim" - }, - ["onedark.nvim"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/onedark.nvim", - url = "https://github.com/navarasu/onedark.nvim" - }, - ["packer.nvim"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/packer.nvim", - url = "https://github.com/wbthomason/packer.nvim" - }, - ["plantuml-syntax"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/plantuml-syntax", - url = "https://github.com/aklt/plantuml-syntax" - }, - playground = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/playground", - url = "https://github.com/nvim-treesitter/playground" - }, - ["plenary.nvim"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/plenary.nvim", - url = "https://github.com/nvim-lua/plenary.nvim" - }, - ["range-highlight.nvim"] = { - config = { "\27LJ\2\nA\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\20range-highlight\frequire\0" }, - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/range-highlight.nvim", - url = "https://github.com/winston0410/range-highlight.nvim" - }, - ["rose-pine"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/rose-pine", - url = "https://github.com/rose-pine/neovim" - }, - ["sherbet.nvim"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/sherbet.nvim", - url = "https://github.com/lewpoly/sherbet.nvim" - }, - ["telescope-recent-files"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/telescope-recent-files", - url = "https://github.com/smartpde/telescope-recent-files" - }, - ["telescope-tabs"] = { - config = { "\27LJ\2\n@\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\19telescope-tabs\frequire\0" }, - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/telescope-tabs", - url = "https://github.com/LukasPietzschmann/telescope-tabs" - }, - ["telescope.nvim"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/telescope.nvim", - url = "https://github.com/nvim-telescope/telescope.nvim" - }, - ["tokyonight.nvim"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/tokyonight.nvim", - url = "https://github.com/folke/tokyonight.nvim" - }, - ["twilight.nvim"] = { - config = { "\27LJ\2\n:\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\rtwilight\frequire\0" }, - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/twilight.nvim", - url = "https://github.com/folke/twilight.nvim" - }, - ["v-vim"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/v-vim", - url = "https://github.com/ollykel/v-vim" - }, - ["vim-colors-xcode"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/vim-colors-xcode", - url = "https://github.com/arzg/vim-colors-xcode" - }, - ["vim-dadbod"] = { - after = { "vim-dadbod-ui", "vim-dadbod-completion" }, - commands = { "DBUIToggle", "DBUI", "DBUIAddConnection", "DBUIFindBuffer", "DBUIRenameBuffer", "DBUILastQueryInfo" }, - config = { "\27LJ\2\n;\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\18config.dadbod\frequire\0" }, - loaded = false, - needs_bufread = false, - only_cond = false, - path = "/home/mikec/.local/share/nvim/site/pack/packer/opt/vim-dadbod", - url = "https://github.com/tpope/vim-dadbod" - }, - ["vim-dadbod-completion"] = { - after_files = { "/home/mikec/.local/share/nvim/site/pack/packer/opt/vim-dadbod-completion/after/plugin/vim_dadbod_completion.lua", "/home/mikec/.local/share/nvim/site/pack/packer/opt/vim-dadbod-completion/after/plugin/vim_dadbod_completion.vim" }, - load_after = { - ["vim-dadbod"] = true - }, - loaded = false, - needs_bufread = false, - path = "/home/mikec/.local/share/nvim/site/pack/packer/opt/vim-dadbod-completion", - url = "https://github.com/kristijanhusak/vim-dadbod-completion" - }, - ["vim-dadbod-ui"] = { - load_after = { - ["vim-dadbod"] = true - }, - loaded = false, - needs_bufread = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/opt/vim-dadbod-ui", - url = "https://github.com/kristijanhusak/vim-dadbod-ui" - }, - ["vim-etlua"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/vim-etlua", - url = "https://github.com/VaiN474/vim-etlua" - }, - ["vim-illuminate"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/vim-illuminate", - url = "https://github.com/RRethy/vim-illuminate" - }, - ["vim-teal"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/vim-teal", - url = "https://github.com/teal-language/vim-teal" - }, - ["vscode.nvim"] = { - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/vscode.nvim", - url = "https://github.com/Mofiqul/vscode.nvim" - }, - ["web-tools.nvim"] = { - config = { "\27LJ\2\n7\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\14web-tools\frequire\0" }, - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/web-tools.nvim", - url = "https://github.com/ray-x/web-tools.nvim" - }, - ["workspaces.nvim"] = { - config = { "\27LJ\2\n8\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\15workspaces\frequire\0" }, - loaded = true, - path = "/home/mikec/.local/share/nvim/site/pack/packer/start/workspaces.nvim", - url = "https://github.com/natecraddock/workspaces.nvim" - } -} - -time([[Defining packer_plugins]], false) --- Setup for: nvim-unception -time([[Setup for nvim-unception]], true) -try_loadstring("\27LJ\2\n\v\0\0\1\0\0\0\1K\0\1\0\0", "setup", "nvim-unception") -time([[Setup for nvim-unception]], false) -time([[packadd for nvim-unception]], true) -vim.cmd [[packadd nvim-unception]] -time([[packadd for nvim-unception]], false) --- Config for: indent-blankline.nvim -time([[Config for indent-blankline.nvim]], true) -try_loadstring("\27LJ\2\nY\0\0\4\0\6\0\t6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\4\0005\3\3\0=\3\5\2B\0\2\1K\0\1\0\nscope\1\0\1\nscope\0\1\0\1\fenabled\1\nsetup\bibl\frequire\0", "config", "indent-blankline.nvim") -time([[Config for indent-blankline.nvim]], false) --- Config for: lualine.nvim -time([[Config for lualine.nvim]], true) -try_loadstring("\27LJ\2\n\1\0\0\n\0\f\0\0254\0\0\0006\1\0\0006\3\1\0009\3\2\0039\3\3\0035\5\4\0B\3\2\0A\1\0\4H\4\56\6\5\0009\6\6\6\18\b\0\0009\t\a\5B\6\3\1F\4\3\3R\4\127'\1\b\0006\2\5\0009\2\t\2\18\4\0\0'\5\n\0B\2\3\2'\3\v\0&\1\3\1L\1\2\0\6]\6 \vconcat\n [\tname\vinsert\ntable\1\0\1\nbufnr\3\0\23get_active_clients\blsp\bvim\npairs\5\1\0\b\0\29\0'3\0\0\0006\1\1\0'\3\2\0B\1\2\0029\1\3\0015\3\t\0005\4\4\0005\5\5\0=\5\6\0045\5\a\0=\5\b\4=\4\n\0035\4\14\0004\5\3\0005\6\v\0005\a\f\0=\a\r\6>\6\1\5=\5\15\0044\5\0\0=\5\16\0045\5\17\0=\5\18\0045\5\20\0>\0\1\0055\6\19\0>\6\2\5=\5\21\0045\5\22\0=\5\23\0045\5\24\0005\6\25\0005\a\26\0=\a\r\6>\6\2\5=\5\27\4=\4\28\3B\1\2\1K\0\1\0\rsections\14lualine_z\1\0\2\nright\b\tleft\b\1\2\1\0\rprogress\14separator\0\1\2\0\0\rlocation\14lualine_y\1\4\0\0\rencoding\15fileformat\rfiletype\14lualine_x\1\5\0\0\0\0\vbranch\tdiff\1\2\1\0\16diagnostics\18icons_enabled\2\14lualine_c\1\2\0\0\rfilename\14lualine_b\14lualine_a\1\0\6\14lualine_a\0\14lualine_y\0\14lualine_z\0\14lualine_x\0\14lualine_c\0\14lualine_b\0\14separator\1\0\2\nright\b\tleft\b\1\2\1\0\tmode\14separator\0\foptions\1\0\2\foptions\0\rsections\0\25component_separators\1\0\2\nright\5\tleft\5\23section_separators\1\0\2\nright\b\tleft\b\1\0\4\25component_separators\0\23section_separators\0\18icons_enabled\1\17globalstatus\2\nsetup\flualine\frequire\0\0", "config", "lualine.nvim") -time([[Config for lualine.nvim]], false) --- Config for: alpha-nvim -time([[Config for alpha-nvim]], true) -try_loadstring("\27LJ\2\n`\0\0\5\0\5\0\n6\0\0\0'\2\1\0B\0\2\0029\0\2\0006\2\0\0'\4\3\0B\2\2\0029\2\4\2B\0\2\1K\0\1\0\vconfig\26alpha.themes.startify\nsetup\nalpha\frequire\0", "config", "alpha-nvim") -time([[Config for alpha-nvim]], false) --- Config for: web-tools.nvim -time([[Config for web-tools.nvim]], true) -try_loadstring("\27LJ\2\n7\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\14web-tools\frequire\0", "config", "web-tools.nvim") -time([[Config for web-tools.nvim]], false) --- Config for: leap.nvim -time([[Config for leap.nvim]], true) -try_loadstring("\27LJ\2\nA\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\25add_default_mappings\tleap\frequire\0", "config", "leap.nvim") -time([[Config for leap.nvim]], false) --- Config for: gitsigns.nvim -time([[Config for gitsigns.nvim]], true) -try_loadstring("\27LJ\2\n6\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\rgitsigns\frequire\0", "config", "gitsigns.nvim") -time([[Config for gitsigns.nvim]], false) --- Config for: telescope-tabs -time([[Config for telescope-tabs]], true) -try_loadstring("\27LJ\2\n@\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\19telescope-tabs\frequire\0", "config", "telescope-tabs") -time([[Config for telescope-tabs]], false) --- Config for: compiler-explorer.nvim -time([[Config for compiler-explorer.nvim]], true) -try_loadstring("\27LJ\2\nx\0\0\4\0\6\0\t6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\4\0005\3\3\0=\3\5\2B\0\2\1K\0\1\0\fautocmd\1\0\1\fautocmd\0\1\0\2\venable\2\ahl\15Cursorline\nsetup\22compiler-explorer\frequire\0", "config", "compiler-explorer.nvim") -time([[Config for compiler-explorer.nvim]], false) --- Config for: Comment.nvim -time([[Config for Comment.nvim]], true) -try_loadstring("\27LJ\2\n5\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\fComment\frequire\0", "config", "Comment.nvim") -time([[Config for Comment.nvim]], false) --- Config for: nvim-ts-autotag -time([[Config for nvim-ts-autotag]], true) -try_loadstring("\27LJ\2\n=\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\20nvim-ts-autotag\frequire\0", "config", "nvim-ts-autotag") -time([[Config for nvim-ts-autotag]], false) --- Config for: range-highlight.nvim -time([[Config for range-highlight.nvim]], true) -try_loadstring("\27LJ\2\nA\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\20range-highlight\frequire\0", "config", "range-highlight.nvim") -time([[Config for range-highlight.nvim]], false) --- Config for: dim.lua -time([[Config for dim.lua]], true) -try_loadstring("\27LJ\2\n5\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\bdim\frequire\0", "config", "dim.lua") -time([[Config for dim.lua]], false) --- Config for: LuaSnip -time([[Config for LuaSnip]], true) -try_loadstring("\27LJ\2\nM\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\14lazy_load luasnip.loaders.from_vscode\frequire\0", "config", "LuaSnip") -time([[Config for LuaSnip]], false) --- Config for: nvim-surround -time([[Config for nvim-surround]], true) -try_loadstring("\27LJ\2\n?\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\18nvim-surround\frequire\0", "config", "nvim-surround") -time([[Config for nvim-surround]], false) --- Config for: workspaces.nvim -time([[Config for workspaces.nvim]], true) -try_loadstring("\27LJ\2\n8\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\15workspaces\frequire\0", "config", "workspaces.nvim") -time([[Config for workspaces.nvim]], false) --- Config for: twilight.nvim -time([[Config for twilight.nvim]], true) -try_loadstring("\27LJ\2\n:\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\rtwilight\frequire\0", "config", "twilight.nvim") -time([[Config for twilight.nvim]], false) --- Load plugins in order defined by `after` -time([[Sequenced loading]], true) -vim.cmd [[ packadd nvim-web-devicons ]] -vim.cmd [[ packadd barbecue.nvim ]] - --- Config for: barbecue.nvim -try_loadstring("\27LJ\2\n6\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\rbarbecue\frequire\0", "config", "barbecue.nvim") - -time([[Sequenced loading]], false) - --- Command lazy-loads -time([[Defining lazy-load commands]], true) -pcall(vim.api.nvim_create_user_command, 'DBUIRenameBuffer', function(cmdargs) - require('packer.load')({'vim-dadbod'}, { cmd = 'DBUIRenameBuffer', l1 = cmdargs.line1, l2 = cmdargs.line2, bang = cmdargs.bang, args = cmdargs.args, mods = cmdargs.mods }, _G.packer_plugins) - end, - {nargs = '*', range = true, bang = true, complete = function() - require('packer.load')({'vim-dadbod'}, {}, _G.packer_plugins) - return vim.fn.getcompletion('DBUIRenameBuffer ', 'cmdline') - end}) -pcall(vim.api.nvim_create_user_command, 'DBUILastQueryInfo', function(cmdargs) - require('packer.load')({'vim-dadbod'}, { cmd = 'DBUILastQueryInfo', l1 = cmdargs.line1, l2 = cmdargs.line2, bang = cmdargs.bang, args = cmdargs.args, mods = cmdargs.mods }, _G.packer_plugins) - end, - {nargs = '*', range = true, bang = true, complete = function() - require('packer.load')({'vim-dadbod'}, {}, _G.packer_plugins) - return vim.fn.getcompletion('DBUILastQueryInfo ', 'cmdline') - end}) -pcall(vim.api.nvim_create_user_command, 'DBUIToggle', function(cmdargs) - require('packer.load')({'vim-dadbod'}, { cmd = 'DBUIToggle', l1 = cmdargs.line1, l2 = cmdargs.line2, bang = cmdargs.bang, args = cmdargs.args, mods = cmdargs.mods }, _G.packer_plugins) - end, - {nargs = '*', range = true, bang = true, complete = function() - require('packer.load')({'vim-dadbod'}, {}, _G.packer_plugins) - return vim.fn.getcompletion('DBUIToggle ', 'cmdline') - end}) -pcall(vim.api.nvim_create_user_command, 'DBUI', function(cmdargs) - require('packer.load')({'vim-dadbod'}, { cmd = 'DBUI', l1 = cmdargs.line1, l2 = cmdargs.line2, bang = cmdargs.bang, args = cmdargs.args, mods = cmdargs.mods }, _G.packer_plugins) - end, - {nargs = '*', range = true, bang = true, complete = function() - require('packer.load')({'vim-dadbod'}, {}, _G.packer_plugins) - return vim.fn.getcompletion('DBUI ', 'cmdline') - end}) -pcall(vim.api.nvim_create_user_command, 'DBUIAddConnection', function(cmdargs) - require('packer.load')({'vim-dadbod'}, { cmd = 'DBUIAddConnection', l1 = cmdargs.line1, l2 = cmdargs.line2, bang = cmdargs.bang, args = cmdargs.args, mods = cmdargs.mods }, _G.packer_plugins) - end, - {nargs = '*', range = true, bang = true, complete = function() - require('packer.load')({'vim-dadbod'}, {}, _G.packer_plugins) - return vim.fn.getcompletion('DBUIAddConnection ', 'cmdline') - end}) -pcall(vim.api.nvim_create_user_command, 'DBUIFindBuffer', function(cmdargs) - require('packer.load')({'vim-dadbod'}, { cmd = 'DBUIFindBuffer', l1 = cmdargs.line1, l2 = cmdargs.line2, bang = cmdargs.bang, args = cmdargs.args, mods = cmdargs.mods }, _G.packer_plugins) - end, - {nargs = '*', range = true, bang = true, complete = function() - require('packer.load')({'vim-dadbod'}, {}, _G.packer_plugins) - return vim.fn.getcompletion('DBUIFindBuffer ', 'cmdline') - end}) -time([[Defining lazy-load commands]], false) - - -_G._packer.inside_compile = false -if _G._packer.needs_bufread == true then - vim.cmd("doautocmd BufRead") -end -_G._packer.needs_bufread = false - -if should_profile then save_profiles() end - -end) - -if not no_errors then - error_msg = error_msg:gsub('"', '\\"') - vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None') -end diff --git a/.config/pavucontrol.ini b/.config/pavucontrol.ini deleted file mode 100644 index 46d646c..0000000 --- a/.config/pavucontrol.ini +++ /dev/null @@ -1,8 +0,0 @@ -[window] -width=640 -height=400 -sinkInputType=1 -sourceOutputType=1 -sinkType=0 -sourceType=1 -showVolumeMeters=1 diff --git a/.config/pulse/cookie b/.config/pulse/cookie deleted file mode 100644 index 51fcccea5066fa0f923ecc8cda9872902b2d9772..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 256 zcmV+b0ssDJ)#{#Onrn{PWz4qXCH5y94*!)b^ON%RKN{Vl-6DUqh`M5cSf$T0K6zfC*|ML1le@OYQj*(?$U-O2|b z02gi3++r!Oxiof9bEb0aFWr}H(}9&CItQ~0Rd+Zl<~ZDTqS?kg4FD8?7BHeXLx&mJ zaa}+|X?)b+@6XjLbA{1rB90KT%@3Ja_Y*} tables in database, set to 0 for no exhaustive preview (only the sqlite_master table is displayed). -SQLITE_ROW_LIMIT=5 # Display only the first and the last ( - 1) records in each table, set to 0 for no limits. - -handle_extension() { - case "${FILE_EXTENSION_LOWER}" in - ## Archive - a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|\ - rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip) - atool --list -- "${FILE_PATH}" && exit 5 - bsdtar --list --file "${FILE_PATH}" && exit 5 - exit 1;; - rar) - ## Avoid password prompt by providing empty password - unrar lt -p- -- "${FILE_PATH}" && exit 5 - exit 1;; - 7z) - ## Avoid password prompt by providing empty password - 7z l -p -- "${FILE_PATH}" && exit 5 - exit 1;; - - ## PDF - pdf) - ## Preview as text conversion - pdftotext -l 10 -nopgbrk -q -- "${FILE_PATH}" - | \ - fmt -w "${PV_WIDTH}" && exit 5 - mutool draw -F txt -i -- "${FILE_PATH}" 1-10 | \ - fmt -w "${PV_WIDTH}" && exit 5 - exiftool "${FILE_PATH}" && exit 5 - exit 1;; - - ## BitTorrent - torrent) - transmission-show -- "${FILE_PATH}" && exit 5 - exit 1;; - - ## OpenDocument - odt|sxw) - ## Preview as text conversion - odt2txt "${FILE_PATH}" && exit 5 - ## Preview as markdown conversion - pandoc -s -t markdown -- "${FILE_PATH}" && exit 5 - exit 1;; - ods|odp) - ## Preview as text conversion (unsupported by pandoc for markdown) - odt2txt "${FILE_PATH}" && exit 5 - exit 1;; - - ## XLSX - xlsx) - ## Preview as csv conversion - ## Uses: https://github.com/dilshod/xlsx2csv - xlsx2csv -- "${FILE_PATH}" && exit 5 - exit 1;; - - ## HTML - htm|html|xhtml) - ## Preview as text conversion - w3m -dump "${FILE_PATH}" && exit 5 - lynx -dump -- "${FILE_PATH}" && exit 5 - elinks -dump "${FILE_PATH}" && exit 5 - pandoc -s -t markdown -- "${FILE_PATH}" && exit 5 - ;; - - ## JSON - json) - jq --color-output . "${FILE_PATH}" && exit 5 - python -m json.tool -- "${FILE_PATH}" && exit 5 - ;; - - ## Jupyter Notebooks - ipynb) - jupyter nbconvert --to markdown "${FILE_PATH}" --stdout | env COLORTERM=8bit bat --color=always --style=plain --language=markdown && exit 5 - jupyter nbconvert --to markdown "${FILE_PATH}" --stdout && exit 5 - jq --color-output . "${FILE_PATH}" && exit 5 - python -m json.tool -- "${FILE_PATH}" && exit 5 - ;; - - ## Direct Stream Digital/Transfer (DSDIFF) and wavpack aren't detected - ## by file(1). - dff|dsf|wv|wvc) - mediainfo "${FILE_PATH}" && exit 5 - exiftool "${FILE_PATH}" && exit 5 - ;; # Continue with next handler on failure - esac -} - -handle_image() { - ## Size of the preview if there are multiple options or it has to be - ## rendered from vector graphics. If the conversion program allows - ## specifying only one dimension while keeping the aspect ratio, the width - ## will be used. - local DEFAULT_SIZE="1920x1080" - - local mimetype="${1}" - case "${mimetype}" in - ## SVG - image/svg+xml|image/svg) - rsvg-convert --keep-aspect-ratio --width "${DEFAULT_SIZE%x*}" "${FILE_PATH}" -o "${IMAGE_CACHE_PATH}.png" \ - && mv "${IMAGE_CACHE_PATH}.png" "${IMAGE_CACHE_PATH}" \ - && exit 6 - exit 1;; - - ## DjVu - image/vnd.djvu) - ddjvu -format=tiff -quality=90 -page=1 -size="${DEFAULT_SIZE}" \ - - "${IMAGE_CACHE_PATH}" < "${FILE_PATH}" \ - && exit 6 || exit 1;; - - ## Image - image/*) - local orientation - orientation="$( identify -format '%[EXIF:Orientation]\n' -- "${FILE_PATH}" )" - ## If orientation data is present and the image actually - ## needs rotating ("1" means no rotation)... - if [[ -n "$orientation" && "$orientation" != 1 ]]; then - ## ...auto-rotate the image according to the EXIF data. - convert -- "${FILE_PATH}" -auto-orient "${IMAGE_CACHE_PATH}" && exit 6 - fi - - ## `w3mimgdisplay` will be called for all images (unless overridden - ## as above), but might fail for unsupported types. - exit 7;; - - ## Video - # video/*) - # # Get embedded thumbnail - # ffmpeg -i "${FILE_PATH}" -map 0:v -map -0:V -c copy "${IMAGE_CACHE_PATH}" && exit 6 - # # Get frame 10% into video - # ffmpegthumbnailer -i "${FILE_PATH}" -o "${IMAGE_CACHE_PATH}" -s 0 && exit 6 - # exit 1;; - - ## Audio - # audio/*) - # # Get embedded thumbnail - # ffmpeg -i "${FILE_PATH}" -map 0:v -map -0:V -c copy \ - # "${IMAGE_CACHE_PATH}" && exit 6;; - - ## PDF - # application/pdf) - # pdftoppm -f 1 -l 1 \ - # -scale-to-x "${DEFAULT_SIZE%x*}" \ - # -scale-to-y -1 \ - # -singlefile \ - # -jpeg -tiffcompression jpeg \ - # -- "${FILE_PATH}" "${IMAGE_CACHE_PATH%.*}" \ - # && exit 6 || exit 1;; - - - ## ePub, MOBI, FB2 (using Calibre) - # application/epub+zip|application/x-mobipocket-ebook|\ - # application/x-fictionbook+xml) - # # ePub (using https://github.com/marianosimone/epub-thumbnailer) - # epub-thumbnailer "${FILE_PATH}" "${IMAGE_CACHE_PATH}" \ - # "${DEFAULT_SIZE%x*}" && exit 6 - # ebook-meta --get-cover="${IMAGE_CACHE_PATH}" -- "${FILE_PATH}" \ - # >/dev/null && exit 6 - # exit 1;; - - ## Font - application/font*|application/*opentype) - preview_png="/tmp/$(basename "${IMAGE_CACHE_PATH%.*}").png" - if fontimage -o "${preview_png}" \ - --pixelsize "120" \ - --fontname \ - --pixelsize "80" \ - --text " ABCDEFGHIJKLMNOPQRSTUVWXYZ " \ - --text " abcdefghijklmnopqrstuvwxyz " \ - --text " 0123456789.:,;(*!?') ff fl fi ffi ffl " \ - --text " The quick brown fox jumps over the lazy dog. " \ - "${FILE_PATH}"; - then - convert -- "${preview_png}" "${IMAGE_CACHE_PATH}" \ - && rm "${preview_png}" \ - && exit 6 - else - exit 1 - fi - ;; - - ## Preview archives using the first image inside. - ## (Very useful for comic book collections for example.) - # application/zip|application/x-rar|application/x-7z-compressed|\ - # application/x-xz|application/x-bzip2|application/x-gzip|application/x-tar) - # local fn=""; local fe="" - # local zip=""; local rar=""; local tar=""; local bsd="" - # case "${mimetype}" in - # application/zip) zip=1 ;; - # application/x-rar) rar=1 ;; - # application/x-7z-compressed) ;; - # *) tar=1 ;; - # esac - # { [ "$tar" ] && fn=$(tar --list --file "${FILE_PATH}"); } || \ - # { fn=$(bsdtar --list --file "${FILE_PATH}") && bsd=1 && tar=""; } || \ - # { [ "$rar" ] && fn=$(unrar lb -p- -- "${FILE_PATH}"); } || \ - # { [ "$zip" ] && fn=$(zipinfo -1 -- "${FILE_PATH}"); } || return - # - # fn=$(echo "$fn" | python -c "from __future__ import print_function; \ - # import sys; import mimetypes as m; \ - # [ print(l, end='') for l in sys.stdin if \ - # (m.guess_type(l[:-1])[0] or '').startswith('image/') ]" |\ - # sort -V | head -n 1) - # [ "$fn" = "" ] && return - # [ "$bsd" ] && fn=$(printf '%b' "$fn") - # - # [ "$tar" ] && tar --extract --to-stdout \ - # --file "${FILE_PATH}" -- "$fn" > "${IMAGE_CACHE_PATH}" && exit 6 - # fe=$(echo -n "$fn" | sed 's/[][*?\]/\\\0/g') - # [ "$bsd" ] && bsdtar --extract --to-stdout \ - # --file "${FILE_PATH}" -- "$fe" > "${IMAGE_CACHE_PATH}" && exit 6 - # [ "$bsd" ] || [ "$tar" ] && rm -- "${IMAGE_CACHE_PATH}" - # [ "$rar" ] && unrar p -p- -inul -- "${FILE_PATH}" "$fn" > \ - # "${IMAGE_CACHE_PATH}" && exit 6 - # [ "$zip" ] && unzip -pP "" -- "${FILE_PATH}" "$fe" > \ - # "${IMAGE_CACHE_PATH}" && exit 6 - # [ "$rar" ] || [ "$zip" ] && rm -- "${IMAGE_CACHE_PATH}" - # ;; - esac - - # openscad_image() { - # TMPPNG="$(mktemp -t XXXXXX.png)" - # openscad --colorscheme="${OPENSCAD_COLORSCHEME}" \ - # --imgsize="${OPENSCAD_IMGSIZE/x/,}" \ - # -o "${TMPPNG}" "${1}" - # mv "${TMPPNG}" "${IMAGE_CACHE_PATH}" - # } - - case "${FILE_EXTENSION_LOWER}" in - ## 3D models - ## OpenSCAD only supports png image output, and ${IMAGE_CACHE_PATH} - ## is hardcoded as jpeg. So we make a tempfile.png and just - ## move/rename it to jpg. This works because image libraries are - ## smart enough to handle it. - # csg|scad) - # openscad_image "${FILE_PATH}" && exit 6 - # ;; - # 3mf|amf|dxf|off|stl) - # openscad_image <(echo "import(\"${FILE_PATH}\");") && exit 6 - # ;; - drawio) - draw.io -x "${FILE_PATH}" -o "${IMAGE_CACHE_PATH}" \ - --width "${DEFAULT_SIZE%x*}" && exit 6 - exit 1;; - esac -} - -handle_mime() { - local mimetype="${1}" - case "${mimetype}" in - ## RTF and DOC - text/rtf|*msword) - ## Preview as text conversion - ## note: catdoc does not always work for .doc files - ## catdoc: http://www.wagner.pp.ru/~vitus/software/catdoc/ - catdoc -- "${FILE_PATH}" && exit 5 - exit 1;; - - ## DOCX, ePub, FB2 (using markdown) - ## You might want to remove "|epub" and/or "|fb2" below if you have - ## uncommented other methods to preview those formats - *wordprocessingml.document|*/epub+zip|*/x-fictionbook+xml) - ## Preview as markdown conversion - pandoc -s -t markdown -- "${FILE_PATH}" && exit 5 - exit 1;; - - ## E-mails - message/rfc822) - ## Parsing performed by mu: https://github.com/djcb/mu - mu view -- "${FILE_PATH}" && exit 5 - exit 1;; - - ## XLS - *ms-excel) - ## Preview as csv conversion - ## xls2csv comes with catdoc: - ## http://www.wagner.pp.ru/~vitus/software/catdoc/ - xls2csv -- "${FILE_PATH}" && exit 5 - exit 1;; - - ## SQLite - *sqlite3) - ## Preview as text conversion - sqlite_tables="$( sqlite3 "file:${FILE_PATH}?mode=ro" '.tables' )" \ - || exit 1 - [ -z "${sqlite_tables}" ] && - { echo "Empty SQLite database." && exit 5; } - sqlite_show_query() { - sqlite-utils query "${FILE_PATH}" "${1}" --table --fmt fancy_grid \ - || sqlite3 "file:${FILE_PATH}?mode=ro" "${1}" -header -column - } - ## Display basic table information - sqlite_rowcount_query="$( - sqlite3 "file:${FILE_PATH}?mode=ro" -noheader \ - 'SELECT group_concat( - "SELECT """ || name || """ AS tblname, - count(*) AS rowcount - FROM " || name, - " UNION ALL " - ) - FROM sqlite_master - WHERE type="table" AND name NOT LIKE "sqlite_%";' - )" - sqlite_show_query \ - "SELECT tblname AS 'table', rowcount AS 'count', - ( - SELECT '(' || group_concat(name, ', ') || ')' - FROM pragma_table_info(tblname) - ) AS 'columns', - ( - SELECT '(' || group_concat( - upper(type) || ( - CASE WHEN pk > 0 THEN ' PRIMARY KEY' ELSE '' END - ), - ', ' - ) || ')' - FROM pragma_table_info(tblname) - ) AS 'types' - FROM (${sqlite_rowcount_query});" - if [ "${SQLITE_TABLE_LIMIT}" -gt 0 ] && - [ "${SQLITE_ROW_LIMIT}" -ge 0 ]; then - ## Do exhaustive preview - echo && printf '>%.0s' $( seq "${PV_WIDTH}" ) && echo - sqlite3 "file:${FILE_PATH}?mode=ro" -noheader \ - "SELECT name FROM sqlite_master - WHERE type='table' AND name NOT LIKE 'sqlite_%' - LIMIT ${SQLITE_TABLE_LIMIT};" | - while read -r sqlite_table; do - sqlite_rowcount="$( - sqlite3 "file:${FILE_PATH}?mode=ro" -noheader \ - "SELECT count(*) FROM ${sqlite_table}" - )" - echo - if [ "${SQLITE_ROW_LIMIT}" -gt 0 ] && - [ "${SQLITE_ROW_LIMIT}" \ - -lt "${sqlite_rowcount}" ]; then - echo "${sqlite_table} [${SQLITE_ROW_LIMIT} of ${sqlite_rowcount}]:" - sqlite_ellipsis_query="$( - sqlite3 "file:${FILE_PATH}?mode=ro" -noheader \ - "SELECT 'SELECT ' || group_concat( - '''...''', ', ' - ) - FROM pragma_table_info( - '${sqlite_table}' - );" - )" - sqlite_show_query \ - "SELECT * FROM ( - SELECT * FROM ${sqlite_table} LIMIT 1 - ) - UNION ALL ${sqlite_ellipsis_query} UNION ALL - SELECT * FROM ( - SELECT * FROM ${sqlite_table} - LIMIT (${SQLITE_ROW_LIMIT} - 1) - OFFSET ( - ${sqlite_rowcount} - - (${SQLITE_ROW_LIMIT} - 1) - ) - );" - else - echo "${sqlite_table} [${sqlite_rowcount}]:" - sqlite_show_query "SELECT * FROM ${sqlite_table};" - fi - done - fi - exit 5;; - - ## Text - text/* | */xml) - ## Syntax highlight - if [[ "$( stat --printf='%s' -- "${FILE_PATH}" )" -gt "${HIGHLIGHT_SIZE_MAX}" ]]; then - exit 2 - fi - if [[ "$( tput colors )" -ge 256 ]]; then - local pygmentize_format='terminal' - local highlight_format='ansi' - else - local pygmentize_format='terminal' - local highlight_format='ansi' - fi - env HIGHLIGHT_OPTIONS="${HIGHLIGHT_OPTIONS}" highlight \ - --out-format="${highlight_format}" \ - --force -- "${FILE_PATH}" && exit 5 - env COLORTERM=8bit bat --color=always --style="${BAT_STYLE}" \ - -- "${FILE_PATH}" && exit 5 - pygmentize -f "${pygmentize_format}" -O "style=${PYGMENTIZE_STYLE}"\ - -- "${FILE_PATH}" && exit 5 - exit 2;; - - ## DjVu - image/vnd.djvu) - ## Preview as text conversion (requires djvulibre) - djvutxt "${FILE_PATH}" | fmt -w "${PV_WIDTH}" && exit 5 - exiftool "${FILE_PATH}" && exit 5 - exit 1;; - - ## Image - image/*) - ## Preview as text conversion - # img2txt --gamma=0.6 --width="${PV_WIDTH}" -- "${FILE_PATH}" && exit 4 - exiftool "${FILE_PATH}" && exit 5 - exit 1;; - - ## Video and audio - video/* | audio/*) - mediainfo "${FILE_PATH}" && exit 5 - exiftool "${FILE_PATH}" && exit 5 - exit 1;; - - ## ELF files (executables and shared objects) - application/x-executable | application/x-pie-executable | application/x-sharedlib) - readelf -WCa "${FILE_PATH}" && exit 5 - exit 1;; - esac -} - -handle_fallback() { - echo '----- File Type Classification -----' && file --dereference --brief -- "${FILE_PATH}" && exit 5 -} - - -MIMETYPE="$( file --dereference --brief --mime-type -- "${FILE_PATH}" )" -if [[ "${PV_IMAGE_ENABLED}" == 'True' ]]; then - handle_image "${MIMETYPE}" -fi -handle_extension -handle_mime "${MIMETYPE}" -handle_fallback - -exit 1 diff --git a/.config/tinted-theming/tinty/config.toml b/.config/tinted-theming/tinty/config.toml deleted file mode 100644 index c32d48d..0000000 --- a/.config/tinted-theming/tinty/config.toml +++ /dev/null @@ -1,17 +0,0 @@ -[[items]] -path = "https://github.com/tinted-theming/tinted-shell" -name = "base16-shell" -themes-dir = "scripts" -hook = ". %f" - -[[items]] -path = "https://github.com/tinted-theming/tinted-tmux" -name = "tinted-tmux" -# Check if tmux is in use and if it is, reload the config file -hook = "test -n \"$TMUX\" && tmux source-file ~/.tmux.conf" -themes-dir = "colors" - -[[items]] -path = "https://github.com/tinted-theming/tinted-fzf" -name = "tinted-fzf" -themes-dir = "sh" diff --git a/.doom.d/config.el b/.doom.d/config.el deleted file mode 100644 index b9e3776..0000000 --- a/.doom.d/config.el +++ /dev/null @@ -1,143 +0,0 @@ -;;; $DOOMDIR/config.el -*- lexical-binding: t; -*- - -;; Place your private configuration here! Remember, you do not need to run 'doom -;; sync' after modifying this file! - - -;; Some functionality uses this to identify you, e.g. GPG configuration, email -;; clients, file templates and snippets. It is optional. -;; (setq user-full-name "John Doe" -;; user-mail-address "john@doe.com") - -;; Doom exposes five (optional) variables for controlling fonts in Doom: -;; -;; - `doom-font' -- the primary font to use -;; - `doom-variable-pitch-font' -- a non-monospace font (where applicable) -;; - `doom-big-font' -- used for `doom-big-font-mode'; use this for -;; presentations or streaming. -;; - `doom-symbol-font' -- for symbols -;; - `doom-serif-font' -- for the `fixed-pitch-serif' face -;; -;; See 'C-h v doom-font' for documentation and more examples of what they -;; accept. For example: -;; -(setq doom-font (font-spec :family "Cascadia Code" :size 16) - doom-variable-pitch-font (font-spec :family "Cascadia Code" :size 16)) -;; -;; If you or Emacs can't find your font, use 'M-x describe-font' to look them -;; up, `M-x eval-region' to execute elisp code, and 'M-x doom/reload-font' to -;; refresh your font settings. If Emacs still can't find your font, it likely -;; wasn't installed correctly. Font issues are rarely Doom issues! - -;; There are two ways to load a theme. Both assume the theme is installed and -;; available. You can either set `doom-theme' or manually load a theme with the -;; `load-theme' function. This is the default: -(setq doom-theme 'doom-monokai-classic) - -;; This determines the style of line numbers in effect. If set to `nil', line -;; numbers are disabled. For relative line numbers, set this to `relative'. -(setq display-line-numbers-type 'relative) - -;; If you use `org' and don't want your org files in the default location below, -;; change `org-directory'. It must be set before org loads! -(setq org-directory "~/org/") - - -;; Whenever you reconfigure a package, make sure to wrap your config in an -;; `after!' block, otherwise Doom's defaults may override your settings. E.g. -;; -;; (after! PACKAGE -;; (setq x y)) -;; -;; The exceptions to this rule: -;; -;; - Setting file/directory variables (like `org-directory') -;; - Setting variables which explicitly tell you to set them before their -;; package is loaded (see 'C-h v VARIABLE' to look up their documentation). -;; - Setting doom variables (which start with 'doom-' or '+'). -;; -;; Here are some additional functions/macros that will help you configure Doom. -;; -;; - `load!' for loading external *.el files relative to this one -;; - `use-package!' for configuring packages -;; - `after!' for running code after a package has loaded -;; - `add-load-path!' for adding directories to the `load-path', relative to -;; this file. Emacs searches the `load-path' when you load packages with -;; `require' or `use-package'. -;; - `map!' for binding new keys -;; -;; To get information about any of these functions/macros, move the cursor over -;; the highlighted symbol at press 'K' (non-evil users must press 'C-c c k'). -;; This will open documentation for it, including demos of how they are used. -;; Alternatively, use `C-h o' to look up a symbol (functions, variables, faces, -;; etc). -;; -;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how -;; they are implemented. -(setq elfeed-feeds - '(("https://phaazon.net/blog/feed") - ("https://danielde.dev/rss.xml") - ("https://sizeof.cat/index.xml") - ("https://lukesmith.xyz/rss.xml") - ("https://api.substack.com/feed/podcast/462466.rss") - ("https://www.dailywire.com/feeds/rss.xml") - ("https://feeds.simplecast.com/6c2VScgo") - ("https://feeds.simplecast.com/pp_b9xO6") - ("https://notrelated.xyz/rss"))) -(setq elfeed-summary-settings - '((group - (:title . "Feeds") - (:elements - (query . :all))))) - -(after! elfeed - (setq elfeed-search-filter "")) -(after! elfeed-summary - (setq elfeed-summary-default-filter "")) - -(add-hook 'elfeed-summary-mode-hook - (lambda () - (define-key elfeed-summary-mode-map - (kbd "RET") - 'elfeed-summary--action-show-read) - (define-key elfeed-summary-mode-map - (kbd "RET") - 'elfeed-summary--action-show-read) - (define-key elfeed-summary-mode-map - (kbd "h") - 'elfeed-summary-quit-window) - (define-key elfeed-summary-mode-map - (kbd "l") - 'elfeed-summary--action-show-read))) - -(add-hook 'elfeed-search-mode-hook - (lambda () - (define-key elfeed-search-mode-map - (kbd "h") - 'elfeed-kill-buffer) - (define-key elfeed-search-mode-map - (kbd "l") - 'elfeed-search-show-entry))) - -(add-hook 'elfeed-show-mode-hook - (lambda () - (define-key elfeed-show-mode-map - (kbd "h") - 'elfeed-kill-buffer) - (define-key elfeed-show-mode-map - (kbd "j") - 'View-scroll-line-forward) - (define-key elfeed-show-mode-map - (kbd "k") - 'View-scroll-line-backward))) - -(add-hook 'elfeed-show-mode-hook 'view-mode) - -(defun elfeed-podcast-tagger (entry) - (when (elfeed-entry-enclosures entry) - (elfeed-tag entry 'podcast))) - -;;(add-hook 'elfeed-new-entry-hook #'ime-elfeed-podcast-tagger) -(setq emms-source-file-default-directory "/mnt/c/Users/mchalupi/Music") -(global-tree-sitter-mode) -(add-hook 'tree-sitter-after-on-hook #'tree-sitter-hl-mode) diff --git a/.doom.d/custom.el b/.doom.d/custom.el deleted file mode 100644 index 1853c91..0000000 --- a/.doom.d/custom.el +++ /dev/null @@ -1,14 +0,0 @@ -(custom-set-variables - ;; custom-set-variables was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. - '(custom-safe-themes - '("f5f80dd6588e59cfc3ce2f11568ff8296717a938edd448a947f9823a4e282b66" "37b6695bae243145fa2dfb41440c204cd22833c25cd1993b0f258905b9e65577" "e4a702e262c3e3501dfe25091621fe12cd63c7845221687e36a79e17cf3a67e0" default)) - '(delete-selection-mode nil)) -(custom-set-faces - ;; custom-set-faces was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. - ) diff --git a/.doom.d/init.el b/.doom.d/init.el deleted file mode 100644 index 06edb18..0000000 --- a/.doom.d/init.el +++ /dev/null @@ -1,195 +0,0 @@ -;;; init.el -*- lexical-binding: t; -*- - -;; This file controls what Doom modules are enabled and what order they load -;; in. Remember to run 'doom sync' after modifying it! - -;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's -;; documentation. There you'll find a link to Doom's Module Index where all -;; of our modules are listed, including what flags they support. - -;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or -;; 'C-c c k' for non-vim users) to view its documentation. This works on -;; flags as well (those symbols that start with a plus). -;; -;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its -;; directory (for easy access to its source code). - -(doom! :input - ;;bidi ; (tfel ot) thgir etirw uoy gnipleh - ;;chinese - ;;japanese - ;;layout ; auie,ctsrnm is the superior home row - - :completion - company ; the ultimate code completion backend - ;;(corfu +orderless) ; complete with cap(f), cape and a flying feather! - ;;helm ; the *other* search engine for love and life - ;;ido ; the other *other* search engine... - ;;ivy ; a search engine for love and life - vertico ; the search engine of the future - - :ui - ;;deft ; notational velocity for Emacs - doom ; what makes DOOM look the way it does - doom-dashboard ; a nifty splash screen for Emacs - ;;doom-quit ; DOOM quit-message prompts when you quit Emacs - ;;(emoji +unicode) ; 🙂 - hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW - ;;hydra - indent-guides ; highlighted indent columns - ;;ligatures ; ligatures and symbols to make your code pretty again - ;;minimap ; show a map of the code on the side - modeline ; snazzy, Atom-inspired modeline, plus API - ;;nav-flash ; blink cursor line after big motions - ;;neotree ; a project drawer, like NERDTree for vim - ophints ; highlight the region an operation acts on - (popup +defaults) ; tame sudden yet inevitable temporary windows - ;;tabs ; a tab bar for Emacs - ;;treemacs ; a project drawer, like neotree but cooler - ;;unicode ; extended unicode support for various languages - (vc-gutter +pretty) ; vcs diff in the fringe - vi-tilde-fringe ; fringe tildes to mark beyond EOB - ;;window-select ; visually switch windows - workspaces ; tab emulation, persistence & separate workspaces - ;;zen ; distraction-free coding or writing - - :editor - (evil +everywhere); come to the dark side, we have cookies - file-templates ; auto-snippets for empty files - fold ; (nigh) universal code folding - ;;(format +onsave) ; automated prettiness - ;;god ; run Emacs commands without modifier keys - ;;lispy ; vim for lisp, for people who don't like vim - ;;multiple-cursors ; editing in many places at once - ;;objed ; text object editing for the innocent - ;;parinfer ; turn lisp into python, sort of - ;;rotate-text ; cycle region at point between text candidates - snippets ; my elves. They type so I don't have to - ;;word-wrap ; soft wrapping with language-aware indent - - :emacs - dired ; making dired pretty [functional] - electric ; smarter, keyword-based electric-indent - ;;ibuffer ; interactive buffer management - undo ; persistent, smarter undo for your inevitable mistakes - vc ; version-control and Emacs, sitting in a tree - - :term - eshell ; the elisp shell that works everywhere - ;;shell ; simple shell REPL for Emacs - ;;term ; basic terminal emulator for Emacs - vterm ; the best terminal emulation in Emacs - - :checkers - syntax ; tasing you for every semicolon you forget - ;;(spell +flyspell) ; tasing you for misspelling mispelling - ;;grammar ; tasing grammar mistake every you make - - :tools - ;;ansible - ;;biblio ; Writes a PhD for you (citation needed) - ;;collab ; buffers with friends - ;;debugger ; FIXME stepping through code, to help you add bugs - ;;direnv - ;;docker - ;;editorconfig ; let someone else argue about tabs vs spaces - ;;ein ; tame Jupyter notebooks with emacs - (eval +overlay) ; run code, run (also, repls) - lookup ; navigate your code and its documentation - lsp ; M-x vscode - magit ; a git porcelain for Emacs - ;;make ; run make tasks from Emacs - ;;pass ; password manager for nerds - ;;pdf ; pdf enhancements - ;;prodigy ; FIXME managing external services & code builders - ;;rgb ; creating color strings - ;;taskrunner ; taskrunner for all your projects - ;;terraform ; infrastructure as code - ;;tmux ; an API for interacting with tmux - tree-sitter ; syntax and parsing, sitting in a tree... - ;;upload ; map local to remote projects via ssh/ftp - - :os - (:if (featurep :system 'macos) macos) ; improve compatibility with macOS - tty ; improve the terminal Emacs experience - - :lang - ;;agda ; types of types of types of types... - ;;beancount ; mind the GAAP - (cc +lsp) ; C > C++ == 1 - ;;clojure ; java with a lisp - ;;common-lisp ; if you've seen one lisp, you've seen them all - ;;coq ; proofs-as-programs - ;;crystal ; ruby at the speed of c - ;;csharp ; unity, .NET, and mono shenanigans - ;;data ; config/data formats - ;;(dart +flutter) ; paint ui and not much else - ;;dhall - ;;elixir ; erlang done right - ;;elm ; care for a cup of TEA? - emacs-lisp ; drown in parentheses - ;;erlang ; an elegant language for a more civilized age - ;;ess ; emacs speaks statistics - ;;factor - ;;faust ; dsp, but you get to keep your soul - ;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER) - ;;fsharp ; ML stands for Microsoft's Language - ;;fstar ; (dependent) types and (monadic) effects and Z3 - ;;gdscript ; the language you waited for - ;;(go +lsp) ; the hipster dialect - ;;(graphql +lsp) ; Give queries a REST - ;;(haskell +lsp) ; a language that's lazier than I am - ;;hy ; readability of scheme w/ speed of python - ;;idris ; a language you can depend on - ;;json ; At least it ain't XML - ;;(java +lsp) ; the poster child for carpal tunnel syndrome - ;;javascript ; all(hope(abandon(ye(who(enter(here)))))) - ;;julia ; a better, faster MATLAB - ;;kotlin ; a better, slicker Java(Script) - ;;latex ; writing papers in Emacs has never been so fun - ;;lean ; for folks with too much to prove - ;;ledger ; be audit you can be - ;;lua ; one-based indices? one-based indices - markdown ; writing docs for people to ignore - ;;nim ; python + lisp at the speed of c - ;;nix ; I hereby declare "nix geht mehr!" - ;;ocaml ; an objective camel - org ; organize your plain life in plain text - ;;php ; perl's insecure younger brother - ;;plantuml ; diagrams for confusing people more - ;;purescript ; javascript, but functional - ;;python ; beautiful is better than ugly - ;;qt ; the 'cutest' gui framework ever - ;;racket ; a DSL for DSLs - ;;raku ; the artist formerly known as perl6 - ;;rest ; Emacs as a REST client - ;;rst ; ReST in peace - ;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"} - ;;(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap() - ;;scala ; java, but good - ;;(scheme +guile) ; a fully conniving family of lisps - sh ; she sells {ba,z,fi}sh shells on the C xor - ;;sml - ;;solidity ; do you need a blockchain? No. - ;;swift ; who asked for emoji variables? - ;;terra ; Earth and Moon in alignment for performance. - web ; the tubes - ;;yaml ; JSON, but readable - ;;zig ; C, but simpler - - :email - ;;(mu4e +org +gmail) - ;;notmuch - ;;(wanderlust +gmail) - - :app - ;;calendar - emms - ;;everywhere ; *leave* Emacs!? You must be joking - ;;irc ; how neckbeards socialize - (rss) ; emacs as an RSS reader - ;;twitter ; twitter client https://twitter.com/vnought - - :config - ;;literate - (default +bindings +smartparens)) diff --git a/.doom.d/packages.el b/.doom.d/packages.el deleted file mode 100644 index 22bab30..0000000 --- a/.doom.d/packages.el +++ /dev/null @@ -1,51 +0,0 @@ -;; -*- no-byte-compile: t; -*- -;;; $DOOMDIR/packages.el - -;; To install a package with Doom you must declare them here and run 'doom sync' -;; on the command line, then restart Emacs for the changes to take effect -- or -;; use 'M-x doom/reload'. - - -;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror: -;; (package! some-package) - -;; To install a package directly from a remote git repo, you must specify a -;; `:recipe'. You'll find documentation on what `:recipe' accepts here: -;; https://github.com/radian-software/straight.el#the-recipe-format -;; (package! another-package -;; :recipe (:host github :repo "username/repo")) - -;; If the package you are trying to install does not contain a PACKAGENAME.el -;; file, or is located in a subdirectory of the repo, you'll need to specify -;; `:files' in the `:recipe': -;; (package! this-package -;; :recipe (:host github :repo "username/repo" -;; :files ("some-file.el" "src/lisp/*.el"))) - -;; If you'd like to disable a package included with Doom, you can do so here -;; with the `:disable' property: -;; (package! builtin-package :disable t) - -;; You can override the recipe of a built in package without having to specify -;; all the properties for `:recipe'. These will inherit the rest of its recipe -;; from Doom or MELPA/ELPA/Emacsmirror: -;; (package! builtin-package :recipe (:nonrecursive t)) -;; (package! builtin-package-2 :recipe (:repo "myfork/package")) - -;; Specify a `:branch' to install a package from a particular branch or tag. -;; This is required for some packages whose default branch isn't 'master' (which -;; our package manager can't deal with; see radian-software/straight.el#279) -;; (package! builtin-package :recipe (:branch "develop")) - -;; Use `:pin' to specify a particular commit to install. -;; (package! builtin-package :pin "1a2b3c4d5e") - - -;; Doom's packages are pinned to a specific commit and updated from release to -;; release. The `unpin!' macro allows you to unpin single packages... -;; (unpin! pinned-package) -;; ...or multiple packages -;; (unpin! pinned-package another-pinned-package) -;; ...Or *all* packages (NOT RECOMMENDED; will likely break things) -;; (unpin! t) -(package! elfeed-summary) diff --git a/.doom.d_/config.el b/.doom.d_/config.el deleted file mode 100644 index 67a66bb..0000000 --- a/.doom.d_/config.el +++ /dev/null @@ -1,144 +0,0 @@ -;;; $DOOMDIR/config.el -*- lexical-binding: t; -*- - -;; Place your private configuration here! Remember, you do not need to run 'doom -;; sync' after modifying this file! - - -;; Some functionality uses this to identify you, e.g. GPG configuration, email -;; clients, file templates and snippets. It is optional. -;; (setq user-full-name "John Doe" -;; user-mail-address "john@doe.com") - -;; Doom exposes five (optional) variables for controlling fonts in Doom: -;; -;; - `doom-font' -- the primary font to use -;; - `doom-variable-pitch-font' -- a non-monospace font (where applicable) -;; - `doom-big-font' -- used for `doom-big-font-mode'; use this for -;; presentations or streaming. -;; - `doom-symbol-font' -- for symbols -;; - `doom-serif-font' -- for the `fixed-pitch-serif' face -;; -;; See 'C-h v doom-font' for documentation and more examples of what they -;; accept. For example: -;; -(setq doom-font (font-spec :family "Cascadia Code" :size 16) - doom-variable-pitch-font (font-spec :family "Cascadia Code" :size 16)) -;; -;; If you or Emacs can't find your font, use 'M-x describe-font' to look them -;; up, `M-x eval-region' to execute elisp code, and 'M-x doom/reload-font' to -;; refresh your font settings. If Emacs still can't find your font, it likely -;; wasn't installed correctly. Font issues are rarely Doom issues! - -;; There are two ways to load a theme. Both assume the theme is installed and -;; available. You can either set `doom-theme' or manually load a theme with the -;; `load-theme' function. This is the default: -(setq doom-theme 'doom-monokai-classic) - -;; This determines the style of line numbers in effect. If set to `nil', line -;; numbers are disabled. For relative line numbers, set this to `relative'. -(setq display-line-numbers-type 'relative) - -;; If you use `org' and don't want your org files in the default location below, -;; change `org-directory'. It must be set before org loads! -(setq org-directory "~/org/") - - -;; Whenever you reconfigure a package, make sure to wrap your config in an -;; `after!' block, otherwise Doom's defaults may override your settings. E.g. -;; -;; (after! PACKAGE -;; (setq x y)) -;; -;; The exceptions to this rule: -;; -;; - Setting file/directory variables (like `org-directory') -;; - Setting variables which explicitly tell you to set them before their -;; package is loaded (see 'C-h v VARIABLE' to look up their documentation). -;; - Setting doom variables (which start with 'doom-' or '+'). -;; -;; Here are some additional functions/macros that will help you configure Doom. -;; -;; - `load!' for loading external *.el files relative to this one -;; - `use-package!' for configuring packages -;; - `after!' for running code after a package has loaded -;; - `add-load-path!' for adding directories to the `load-path', relative to -;; this file. Emacs searches the `load-path' when you load packages with -;; `require' or `use-package'. -;; - `map!' for binding new keys -;; -;; To get information about any of these functions/macros, move the cursor over -;; the highlighted symbol at press 'K' (non-evil users must press 'C-c c k'). -;; This will open documentation for it, including demos of how they are used. -;; Alternatively, use `C-h o' to look up a symbol (functions, variables, faces, -;; etc). -;; -;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how -;; they are implemented. -(setq elfeed-feeds - '(("https://phaazon.net/blog/feed") - ("https://danielde.dev/rss.xml") - ("https://sizeof.cat/index.xml") - ("https://lukesmith.xyz/rss.xml") - ("https://api.substack.com/feed/podcast/462466.rss") - ("https://www.dailywire.com/feeds/rss.xml") - ("https://feeds.simplecast.com/6c2VScgo") - ("https://feeds.simplecast.com/pp_b9xO6") - ("https://notrelated.xyz/rss"))) -(setq elfeed-summary-settings - '((group - (:title . "Feeds") - (:elements - (query . :all))))) - -(after! elfeed - (setq elfeed-search-filter "")) -(after! elfeed-summary - (setq elfeed-summary-default-filter "")) - -(add-hook 'elfeed-summary-mode-hook - (lambda () - (define-key elfeed-summary-mode-map - (kbd "RET") - 'elfeed-summary--action-show-read) - (define-key elfeed-summary-mode-map - (kbd "RET") - 'elfeed-summary--action-show-read) - (define-key elfeed-summary-mode-map - (kbd "h") - 'elfeed-summary-quit-window) - (define-key elfeed-summary-mode-map - (kbd "l") - 'elfeed-summary--action-show-read))) - -(add-hook 'elfeed-search-mode-hook - (lambda () - (define-key elfeed-search-mode-map - (kbd "h") - 'elfeed-kill-buffer) - (define-key elfeed-search-mode-map - (kbd "l") - 'elfeed-search-show-entry))) - -(add-hook 'elfeed-show-mode-hook - (lambda () - (define-key elfeed-show-mode-map - (kbd "h") - 'elfeed-kill-buffer) - (define-key elfeed-show-mode-map - (kbd "C-n") - 'View-scroll-line-forward) - (define-key elfeed-show-mode-map - (kbd "C-p") - 'View-scroll-line-backward))) - -(add-hook 'elfeed-show-mode-hook 'view-mode) - -(defun elfeed-podcast-tagger (entry) - (when (elfeed-entry-enclosures entry) - (elfeed-tag entry 'podcast))) - -;;(add-hook 'elfeed-new-entry-hook #'ime-elfeed-podcast-tagger) -(setq emms-source-file-default-directory "/mnt/c/Users/mchalupi/Music") -(global-tree-sitter-mode) -(add-hook 'tree-sitter-after-on-hook #'tree-sitter-hl-mode) -(require 'vlf-setup) diff --git a/.doom.d_/custom.el b/.doom.d_/custom.el deleted file mode 100644 index 214b773..0000000 --- a/.doom.d_/custom.el +++ /dev/null @@ -1,14 +0,0 @@ -(custom-set-variables - ;; custom-set-variables was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. - '(custom-safe-themes - '("b54376ec363568656d54578d28b95382854f62b74c32077821fdfd604268616a" "8d8207a39e18e2cc95ebddf62f841442d36fcba01a2a9451773d4ed30b632443" "aec7b55f2a13307a55517fdf08438863d694550565dee23181d2ebd973ebd6b8" "56044c5a9cc45b6ec45c0eb28df100d3f0a576f18eef33ff8ff5d32bac2d9700" "e3daa8f18440301f3e54f2093fe15f4fe951986a8628e98dcd781efbec7a46f2" "f5f80dd6588e59cfc3ce2f11568ff8296717a938edd448a947f9823a4e282b66" "37b6695bae243145fa2dfb41440c204cd22833c25cd1993b0f258905b9e65577" "e4a702e262c3e3501dfe25091621fe12cd63c7845221687e36a79e17cf3a67e0" default)) - '(delete-selection-mode nil)) -(custom-set-faces - ;; custom-set-faces was added by Custom. - ;; If you edit it by hand, you could mess it up, so be careful. - ;; Your init file should contain only one such instance. - ;; If there is more than one, they won't work right. - '(ts-fold-replacement-face ((t (:foreground unspecified :box nil :inherit font-lock-comment-face :weight light))))) diff --git a/.doom.d_/init.el b/.doom.d_/init.el deleted file mode 100644 index 66b15fa..0000000 --- a/.doom.d_/init.el +++ /dev/null @@ -1,195 +0,0 @@ -;;; init.el -*- lexical-binding: t; -*- - -;; This file controls what Doom modules are enabled and what order they load -;; in. Remember to run 'doom sync' after modifying it! - -;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's -;; documentation. There you'll find a link to Doom's Module Index where all -;; of our modules are listed, including what flags they support. - -;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or -;; 'C-c c k' for non-vim users) to view its documentation. This works on -;; flags as well (those symbols that start with a plus). -;; -;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its -;; directory (for easy access to its source code). - -(doom! :input - ;;bidi ; (tfel ot) thgir etirw uoy gnipleh - ;;chinese - ;;japanese - ;;layout ; auie,ctsrnm is the superior home row - - :completion - company ; the ultimate code completion backend - ;;(corfu +orderless) ; complete with cap(f), cape and a flying feather! - ;;helm ; the *other* search engine for love and life - ;;ido ; the other *other* search engine... - ;;ivy ; a search engine for love and life - vertico ; the search engine of the future - - :ui - ;;deft ; notational velocity for Emacs - doom ; what makes DOOM look the way it does - doom-dashboard ; a nifty splash screen for Emacs - ;;doom-quit ; DOOM quit-message prompts when you quit Emacs - ;;(emoji +unicode) ; 🙂 - hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW - ;;hydra - indent-guides ; highlighted indent columns - ;;ligatures ; ligatures and symbols to make your code pretty again - ;;minimap ; show a map of the code on the side - modeline ; snazzy, Atom-inspired modeline, plus API - ;;nav-flash ; blink cursor line after big motions - ;;neotree ; a project drawer, like NERDTree for vim - ophints ; highlight the region an operation acts on - (popup +defaults) ; tame sudden yet inevitable temporary windows - ;;tabs ; a tab bar for Emacs - ;;treemacs ; a project drawer, like neotree but cooler - ;;unicode ; extended unicode support for various languages - (vc-gutter +pretty) ; vcs diff in the fringe - vi-tilde-fringe ; fringe tildes to mark beyond EOB - ;;window-select ; visually switch windows - workspaces ; tab emulation, persistence & separate workspaces - zen ; distraction-free coding or writing - - :editor - (evil +everywhere); come to the dark side, we have cookies - file-templates ; auto-snippets for empty files - fold ; (nigh) universal code folding - ;;(format +onsave) ; automated prettiness - ;;god ; run Emacs commands without modifier keys - ;;lispy ; vim for lisp, for people who don't like vim - ;;multiple-cursors ; editing in many places at once - ;;objed ; text object editing for the innocent - ;;parinfer ; turn lisp into python, sort of - ;;rotate-text ; cycle region at point between text candidates - snippets ; my elves. They type so I don't have to - ;;word-wrap ; soft wrapping with language-aware indent - - :emacs - dired ; making dired pretty [functional] - electric ; smarter, keyword-based electric-indent - ;;ibuffer ; interactive buffer management - undo ; persistent, smarter undo for your inevitable mistakes - vc ; version-control and Emacs, sitting in a tree - - :term - eshell ; the elisp shell that works everywhere - shell ; simple shell REPL for Emacs - ;;term ; basic terminal emulator for Emacs - vterm ; the best terminal emulation in Emacs - - :checkers - syntax ; tasing you for every semicolon you forget - ;;(spell +flyspell) ; tasing you for misspelling mispelling - ;;grammar ; tasing grammar mistake every you make - - :tools - ;;ansible - ;;biblio ; Writes a PhD for you (citation needed) - ;;collab ; buffers with friends - ;;debugger ; FIXME stepping through code, to help you add bugs - ;;direnv - ;;docker - ;;editorconfig ; let someone else argue about tabs vs spaces - ;;ein ; tame Jupyter notebooks with emacs - (eval +overlay) ; run code, run (also, repls) - lookup ; navigate your code and its documentation - lsp ; M-x vscode - magit ; a git porcelain for Emacs - ;;make ; run make tasks from Emacs - ;;pass ; password manager for nerds - ;;pdf ; pdf enhancements - ;;prodigy ; FIXME managing external services & code builders - ;;rgb ; creating color strings - ;;taskrunner ; taskrunner for all your projects - ;;terraform ; infrastructure as code - ;;tmux ; an API for interacting with tmux - tree-sitter ; syntax and parsing, sitting in a tree... - ;;upload ; map local to remote projects via ssh/ftp - - :os - (:if (featurep :system 'macos) macos) ; improve compatibility with macOS - tty ; improve the terminal Emacs experience - - :lang - ;;agda ; types of types of types of types... - ;;beancount ; mind the GAAP - (cc +lsp) ; C > C++ == 1 - ;;clojure ; java with a lisp - ;;common-lisp ; if you've seen one lisp, you've seen them all - ;;coq ; proofs-as-programs - ;;crystal ; ruby at the speed of c - ;;csharp ; unity, .NET, and mono shenanigans - ;;data ; config/data formats - ;;(dart +flutter) ; paint ui and not much else - ;;dhall - ;;elixir ; erlang done right - ;;elm ; care for a cup of TEA? - emacs-lisp ; drown in parentheses - ;;erlang ; an elegant language for a more civilized age - ;;ess ; emacs speaks statistics - ;;factor - ;;faust ; dsp, but you get to keep your soul - ;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER) - ;;fsharp ; ML stands for Microsoft's Language - ;;fstar ; (dependent) types and (monadic) effects and Z3 - ;;gdscript ; the language you waited for - ;;(go +lsp) ; the hipster dialect - ;;(graphql +lsp) ; Give queries a REST - ;;(haskell +lsp) ; a language that's lazier than I am - ;;hy ; readability of scheme w/ speed of python - ;;idris ; a language you can depend on - ;;json ; At least it ain't XML - ;;(java +lsp) ; the poster child for carpal tunnel syndrome - ;;javascript ; all(hope(abandon(ye(who(enter(here)))))) - ;;julia ; a better, faster MATLAB - ;;kotlin ; a better, slicker Java(Script) - ;;latex ; writing papers in Emacs has never been so fun - ;;lean ; for folks with too much to prove - ;;ledger ; be audit you can be - ;;lua ; one-based indices? one-based indices - markdown ; writing docs for people to ignore - ;;nim ; python + lisp at the speed of c - ;;nix ; I hereby declare "nix geht mehr!" - ;;ocaml ; an objective camel - org ; organize your plain life in plain text - ;;php ; perl's insecure younger brother - ;;plantuml ; diagrams for confusing people more - ;;purescript ; javascript, but functional - ;;python ; beautiful is better than ugly - ;;qt ; the 'cutest' gui framework ever - ;;racket ; a DSL for DSLs - ;;raku ; the artist formerly known as perl6 - ;;rest ; Emacs as a REST client - ;;rst ; ReST in peace - ;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"} - ;;(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap() - ;;scala ; java, but good - ;;(scheme +guile) ; a fully conniving family of lisps - sh ; she sells {ba,z,fi}sh shells on the C xor - ;;sml - ;;solidity ; do you need a blockchain? No. - ;;swift ; who asked for emoji variables? - ;;terra ; Earth and Moon in alignment for performance. - web ; the tubes - ;;yaml ; JSON, but readable - ;;zig ; C, but simpler - - :email - ;;(mu4e +org +gmail) - ;;notmuch - ;;(wanderlust +gmail) - - :app - ;;calendar - emms - ;;everywhere ; *leave* Emacs!? You must be joking - ;;irc ; how neckbeards socialize - (rss) ; emacs as an RSS reader - ;;twitter ; twitter client https://twitter.com/vnought - - :config - ;;literate - (default +bindings +smartparens)) diff --git a/.doom.d_/packages.el b/.doom.d_/packages.el deleted file mode 100644 index bae7c41..0000000 --- a/.doom.d_/packages.el +++ /dev/null @@ -1,52 +0,0 @@ -;; -*- no-byte-compile: t; -*- -;;; $DOOMDIR/packages.el - -;; To install a package with Doom you must declare them here and run 'doom sync' -;; on the command line, then restart Emacs for the changes to take effect -- or -;; use 'M-x doom/reload'. - - -;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror: -;; (package! some-package) - -;; To install a package directly from a remote git repo, you must specify a -;; `:recipe'. You'll find documentation on what `:recipe' accepts here: -;; https://github.com/radian-software/straight.el#the-recipe-format -;; (package! another-package -;; :recipe (:host github :repo "username/repo")) - -;; If the package you are trying to install does not contain a PACKAGENAME.el -;; file, or is located in a subdirectory of the repo, you'll need to specify -;; `:files' in the `:recipe': -;; (package! this-package -;; :recipe (:host github :repo "username/repo" -;; :files ("some-file.el" "src/lisp/*.el"))) - -;; If you'd like to disable a package included with Doom, you can do so here -;; with the `:disable' property: -;; (package! builtin-package :disable t) - -;; You can override the recipe of a built in package without having to specify -;; all the properties for `:recipe'. These will inherit the rest of its recipe -;; from Doom or MELPA/ELPA/Emacsmirror: -;; (package! builtin-package :recipe (:nonrecursive t)) -;; (package! builtin-package-2 :recipe (:repo "myfork/package")) - -;; Specify a `:branch' to install a package from a particular branch or tag. -;; This is required for some packages whose default branch isn't 'master' (which -;; our package manager can't deal with; see radian-software/straight.el#279) -;; (package! builtin-package :recipe (:branch "develop")) - -;; Use `:pin' to specify a particular commit to install. -;; (package! builtin-package :pin "1a2b3c4d5e") - - -;; Doom's packages are pinned to a specific commit and updated from release to -;; release. The `unpin!' macro allows you to unpin single packages... -;; (unpin! pinned-package) -;; ...or multiple packages -;; (unpin! pinned-package another-pinned-package) -;; ...Or *all* packages (NOT RECOMMENDED; will likely break things) -;; (unpin! t) -(package! elfeed-summary) -(package! vlf) diff --git a/.scripts/add-project b/.scripts/add-project deleted file mode 100755 index 104d52e..0000000 --- a/.scripts/add-project +++ /dev/null @@ -1 +0,0 @@ -echo "$(pwd) $1" >> ~/.scripts/projects diff --git a/.scripts/bar.sh b/.scripts/bar.sh deleted file mode 100755 index 66bf829..0000000 --- a/.scripts/bar.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash -DATE=$(date +'%Y-%m-%d %I:%M:%S %p') -# BAT=$(cat /sys/class/power_supply/BAT1/capacity) -VOL=$(pactl get-sink-volume @DEFAULT_SINK@ | tr "," "\n" | grep \% | sed s/Volume\:// | sed 's/\%.*$//' | sed 's/^.*\///' | head -n1 | sed s/\ *//) -VOL="${VOL}%" -MUTED=$(pactl get-sink-mute @DEFAULT_SINK@ | cut -d\ -f2) -# BRIGHT=$(brightnessctl | tr "\n" " " | cut -d\ -f9 | tr -d "()%") -MEM=$(free -h | sed 's/[ ]\+/:/g' | cut -d\: -f4 | tr "\n" ":" | cut -d\: -f2) -USER=$(id -u -n) -HOST=$(cat /proc/sys/kernel/hostname) -# LAYOUT=$(swaymsg -t get_inputs | jq -r '.[] | select( .type == "keyboard") .xkb_active_layout_name' | tr "\n" ":" | cut -d\: -f1 | cut -d\ -f2| tr -d "()") -LAYOUT=$(setxkbmap -print -verbose 10 | grep layout | cut -d ":" -f 2 | tr -d " ") -# NETWORK_NAME=$(iwctl station wlan0 show | grep network | sed s/"Connected network"// | tr -d " ") -# IP=$(iwctl station wlan0 show | grep IPv4 | sed s/"IPv4 address"// | tr -d " ") - -if [ $MUTED == 'yes' ] -then - VOL='muted' -fi - -echo ${MEM} \| ${USER}\@${HOST} \| KB\: ${LAYOUT} \| ${NETWORK_NAME}\@${IP} \| V: ${VOL} \| ${BRIGHT}% Bl \| ${BAT}\% B \| ${DATE} diff --git a/.scripts/build.sh b/.scripts/build.sh deleted file mode 100755 index 8b602ed..0000000 --- a/.scripts/build.sh +++ /dev/null @@ -1 +0,0 @@ -/usr/lib/jvm/java-11-openjdk/bin/javac -cp ./ $* diff --git a/.scripts/buildtest.sh b/.scripts/buildtest.sh deleted file mode 100755 index 2b6feda..0000000 --- a/.scripts/buildtest.sh +++ /dev/null @@ -1 +0,0 @@ -/usr/lib/jvm/java-11-openjdk/bin/javac -cp .:/usr/share/java/junit.jar:/usr/share/java/hamcrest/core.jar $* diff --git a/.scripts/cloc b/.scripts/cloc deleted file mode 100755 index 619a59d..0000000 --- a/.scripts/cloc +++ /dev/null @@ -1,18206 +0,0 @@ -#!/usr/bin/env perl -# cloc -- Count Lines of Code {{{1 -# Copyright (C) 2006-2024 Al Danial -# First release August 2006 -# -# Includes code from: -# - SLOCCount v2.26 -# http://www.dwheeler.com/sloccount/ -# by David Wheeler. -# - Regexp::Common v2017060201 -# https://metacpan.org/pod/Regexp::Common -# by Damian Conway and Abigail. -# - Win32::Autoglob 1.01 -# https://metacpan.org/pod/Win32::Autoglob -# by Sean M. Burke. -# - Algorithm::Diff 1.1902 -# https://metacpan.org/pod/Algorithm::Diff -# by Tye McQueen. -# -# 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: -# . -# -# 1}}} -my $VERSION = "2.01"; # odd number == beta; even number == stable -my $URL = "github.com/AlDanial/cloc"; # 'https://' pushes header too wide -require 5.10.0; -# use modules {{{1 -use warnings; -use strict; - -use Getopt::Long; -use File::Basename; -use File::Temp qw { tempfile tempdir }; -use File::Find; -use File::Path; -use File::Spec; -use IO::File; -use List::Util qw( min max ); -use Cwd; -use POSIX qw { strftime ceil}; -# Parallel::ForkManager isn't in the standard distribution. -# Use it only if installed, and only if --processes=N is given. -# The module load happens in get_max_processes(). -my $HAVE_Parallel_ForkManager = 0; - -# Digest::MD5 isn't in the standard distribution. Use it only if installed. -my $HAVE_Digest_MD5 = 0; -eval "use Digest::MD5;"; -if (defined $Digest::MD5::VERSION) { - $HAVE_Digest_MD5 = 1; -} else { - warn "Digest::MD5 not installed; will skip file uniqueness checks.\n"; -} - -# Time::HiRes became standard with Perl 5.8 -my $HAVE_Time_HiRes = 0; -eval "use Time::HiRes;"; -$HAVE_Time_HiRes = 1 if defined $Time::HiRes::VERSION; - -my $HAVE_Rexexp_Common; -# Regexp::Common isn't in the standard distribution. It will -# be installed in a temp directory if necessary. -eval "use Regexp::Common qw ( comment ) "; -if (defined $Regexp::Common::VERSION) { - $HAVE_Rexexp_Common = 1; -} else { - $HAVE_Rexexp_Common = 0; -} - -my $HAVE_Algorithm_Diff = 0; -# Algorithm::Diff isn't in the standard distribution. It will -# be installed in a temp directory if necessary. -eval "use Algorithm::Diff qw ( sdiff ) "; -if (defined $Algorithm::Diff::VERSION) { - $HAVE_Algorithm_Diff = 1; -} else { - Install_Algorithm_Diff(); -} - -# print "2 HAVE_Algorithm_Diff = $HAVE_Algorithm_Diff\n"; -# test_alg_diff($ARGV[$#ARGV - 1], $ARGV[$#ARGV]); die; -# die "Hre=$HAVE_Rexexp_Common Had=$HAVE_Algorithm_Diff"; - -# Uncomment next two lines when building Windows executable with perl2exe -# or if running on a system that already has Regexp::Common. -#use Regexp::Common; -#$HAVE_Rexexp_Common = 1; - -#perl2exe_include "Regexp/Common/whitespace.pm" -#perl2exe_include "Regexp/Common/URI.pm" -#perl2exe_include "Regexp/Common/URI/fax.pm" -#perl2exe_include "Regexp/Common/URI/file.pm" -#perl2exe_include "Regexp/Common/URI/ftp.pm" -#perl2exe_include "Regexp/Common/URI/gopher.pm" -#perl2exe_include "Regexp/Common/URI/http.pm" -#perl2exe_include "Regexp/Common/URI/pop.pm" -#perl2exe_include "Regexp/Common/URI/prospero.pm" -#perl2exe_include "Regexp/Common/URI/news.pm" -#perl2exe_include "Regexp/Common/URI/tel.pm" -#perl2exe_include "Regexp/Common/URI/telnet.pm" -#perl2exe_include "Regexp/Common/URI/tv.pm" -#perl2exe_include "Regexp/Common/URI/wais.pm" -#perl2exe_include "Regexp/Common/CC.pm" -#perl2exe_include "Regexp/Common/SEN.pm" -#perl2exe_include "Regexp/Common/number.pm" -#perl2exe_include "Regexp/Common/delimited.pm" -#perl2exe_include "Regexp/Common/profanity.pm" -#perl2exe_include "Regexp/Common/net.pm" -#perl2exe_include "Regexp/Common/zip.pm" -#perl2exe_include "Regexp/Common/comment.pm" -#perl2exe_include "Regexp/Common/balanced.pm" -#perl2exe_include "Regexp/Common/lingua.pm" -#perl2exe_include "Regexp/Common/list.pm" -#perl2exe_include "File/Glob.pm" - -use Text::Tabs qw { expand }; -use Cwd qw { cwd }; -use File::Glob; -# 1}}} -# Usage information, options processing. {{{1 -my $ON_WINDOWS = 0; - $ON_WINDOWS = 1 if ($^O =~ /^MSWin/) or ($^O eq "Windows_NT"); -if ($ON_WINDOWS and $ENV{'SHELL'}) { - if ($ENV{'SHELL'} =~ m{^/}) { - $ON_WINDOWS = 0; # make Cygwin look like Unix - } else { - $ON_WINDOWS = 1; # MKS defines $SHELL but still acts like Windows - } -} - -my $HAVE_Win32_Long_Path = 0; -# Win32::LongPath is an optional dependency that when available on -# Windows will be used to support reading files past the 255 char -# path length limit. -if ($ON_WINDOWS) { - eval "use Win32::LongPath;"; - if (defined $Win32::LongPath::VERSION) { - $HAVE_Win32_Long_Path = 1; - } -} -my $config_file = ''; -if ( $ENV{'HOME'} ) { - $config_file = File::Spec->catfile( $ENV{'HOME'}, '.config', 'cloc', 'options.txt'); -} elsif ( $ENV{'APPDATA'} and $ON_WINDOWS ) { - $config_file = File::Spec->catfile( $ENV{'APPDATA'}, 'cloc'); -} -# $config_file may be updated by check_alternate_config_files() - -my $NN = chr(27) . "[0m"; # normal - $NN = "" if $ON_WINDOWS or !(-t STDOUT); # -t STDOUT: is it a terminal? -my $BB = chr(27) . "[1m"; # bold - $BB = "" if $ON_WINDOWS or !(-t STDOUT); -my $script = basename $0; - -# Intended for v1.88: -# --git-diff-simindex Git diff strategy #3: use git's similarity index -# (git diff -M --name-status) to identify file pairs -# to compare. This is especially useful to compare -# files that were renamed between the commits. - -my $brief_usage = " - cloc -- Count Lines of Code - -Usage: - $script [options] - Count physical lines of source code and comments in the given files - (may be archives such as compressed tarballs or zip files) and/or - recursively below the given directories or git commit hashes. - Example: cloc src/ include/ main.c - - $script [options] --diff - Compute differences of physical lines of source code and comments - between any pairwise combination of directory names, archive - files or git commit hashes. - Example: cloc --diff Python-3.5.tar.xz python-3.6/ - -$script --help shows full documentation on the options. -https://$URL has numerous examples and more information. -"; -my $usage = " -Usage: $script [options] | | - - Count, or compute differences of, physical lines of source code in the - given files (may be archives such as compressed tarballs or zip files, - or git commit hashes or branch names) and/or recursively below the - given directories. - - ${BB}Input Options${NN} - --extract-with= This option is only needed if cloc is unable - to figure out how to extract the contents of - the input file(s) by itself. - Use to extract binary archive files (e.g.: - .tar.gz, .zip, .Z). Use the literal '>FILE<' as - a stand-in for the actual file(s) to be - extracted. For example, to count lines of code - in the input files - gcc-4.2.tar.gz perl-5.8.8.tar.gz - on Unix use - --extract-with='gzip -dc >FILE< | tar xf -' - or, if you have GNU tar, - --extract-with='tar zxf >FILE<' - and on Windows use, for example: - --extract-with=\"\\\"c:\\Program Files\\WinZip\\WinZip32.exe\\\" -e -o >FILE< .\" - (if WinZip is installed there). - --list-file= Take the list of file and/or directory names to - process from , which has one file/directory - name per line. Only exact matches are counted; - relative path names will be resolved starting from - the directory where cloc is invoked. Set - to - to read file names from a STDIN pipe. - See also --exclude-list-file, --config. - --diff-list-file= Take the pairs of file names to be diff'ed from - , whose format matches the output of - --diff-alignment. (Run with that option to - see a sample.) The language identifier at the - end of each line is ignored. This enables --diff - mode and bypasses file pair alignment logic. - Use --diff-list-files to define the file name - pairs in separate files. See also --config. - --diff-list-files - Compute differences in code and comments between - the files and directories listed in and - . Each input file should use the same - format as --list-file, where there is one file or - directory name per line. Only exact matches are - counted; relative path names will be resolved - starting from the directory where cloc is invoked. - This enables --diff mode. See also --list-file, - --diff-list-file, --diff. - --vcs= Invoke a system call to to obtain a list of - files to work on. If is 'git', then will - invoke 'git ls-files' to get a file list and - 'git submodule status' to get a list of submodules - whose contents will be ignored. See also --git - which accepts git commit hashes and branch names. - If is 'svn' then will invoke 'svn list -R'. - The primary benefit is that cloc will then skip - files explicitly excluded by the versioning tool - in question, ie, those in .gitignore or have the - svn:ignore property. - Alternatively may be any system command - that generates a list of files. - Note: cloc must be in a directory which can read - the files as they are returned by . cloc will - not download files from remote repositories. - 'svn list -R' may refer to a remote repository - to obtain file names (and therefore may require - authentication to the remote repository), but - the files themselves must be local. - Setting to 'auto' selects between 'git' - and 'svn' (or neither) depending on the presence - of a .git or .svn subdirectory below the directory - where cloc is invoked. - --unicode Check binary files to see if they contain Unicode - expanded ASCII text. This causes performance to - drop noticeably. - - ${BB}Processing Options${NN} - --autoconf Count .in files (as processed by GNU autoconf) of - recognized languages. See also --no-autogen. - --by-file Report results for every source file encountered. - See also --fmt under 'Output Options'. - --by-file-by-lang Report results for every source file encountered - in addition to reporting by language. - --config Read command line switches from instead of - the default location of $config_file. - The file should contain one switch, along with - arguments (if any), per line. Blank lines and lines - beginning with '#' are skipped. Options given on - the command line take priority over entries read from - the file. - If a directory is also given with any of these - switches: --list-file, --exclude-list-file, - --read-lang-def, --force-lang-def, --diff-list-file - and a config file exists in that directory, it will - take priority over $config_file. - --count-and-diff - First perform direct code counts of source file(s) - of and separately, then perform a diff - of these. Inputs may be pairs of files, directories, - or archives. If --out or --report-file is given, - three output files will be created, one for each - of the two counts and one for the diff. See also - --diff, --diff-alignment, --diff-timeout, - --ignore-case, --ignore-whitespace. - --diff Compute differences in code and comments between - source file(s) of and . The inputs - may be any mix of files, directories, archives, - or git commit hashes. Use --diff-alignment to - generate a list showing which file pairs where - compared. When comparing git branches, only files - which have changed in either commit are compared. - See also --git, --count-and-diff, --diff-alignment, - --diff-list-file, --diff-timeout, --ignore-case, - --ignore-whitespace. - --diff-timeout Ignore files which take more than seconds - to process. Default is 10 seconds. Setting - to 0 allows unlimited time. (Large files with many - repeated lines can cause Algorithm::Diff::sdiff() - to take hours.) See also --timeout. - --docstring-as-code cloc considers docstrings to be comments, but this is - not always correct as docstrings represent regular - strings when they appear on the right hand side of an - assignment or as function arguments. This switch - forces docstrings to be counted as code. - --follow-links [Unix only] Follow symbolic links to directories - (sym links to files are always followed). - See also --stat. - --force-lang=[,] - Process all files that have a extension - with the counter for language . For - example, to count all .f files with the - Fortran 90 counter (which expects files to - end with .f90) instead of the default Fortran 77 - counter, use - --force-lang=\"Fortran 90,f\" - If is omitted, every file will be counted - with the counter. This option can be - specified multiple times (but that is only - useful when is given each time). - See also --script-lang, --lang-no-ext. - --force-lang-def= Load language processing filters from , - then use these filters instead of the built-in - filters. Note: languages which map to the same - file extension (for example: - MATLAB/Mathematica/Objective-C/MUMPS/Mercury; - Pascal/PHP; Lisp/OpenCL; Lisp/Julia; Perl/Prolog) - will be ignored as these require additional - processing that is not expressed in language - definition files. Use --read-lang-def to define - new language filters without replacing built-in - filters (see also --write-lang-def, - --write-lang-def-incl-dup, --config). - --git Forces the inputs to be interpreted as git targets - (commit hashes, branch names, et cetera) if these - are not first identified as file or directory - names. This option overrides the --vcs=git logic - if this is given; in other words, --git gets its - list of files to work on directly from git using - the hash or branch name rather than from - 'git ls-files'. This option can be used with - --diff to perform line count diffs between git - commits, or between a git commit and a file, - directory, or archive. Use -v/--verbose to see - the git system commands cloc issues. - --git-diff-rel Same as --git --diff, or just --diff if the inputs - are recognized as git targets. Only files which - have changed in either commit are compared. - --git-diff-all Git diff strategy #2: compare all files in the - repository between the two commits. - --ignore-whitespace Ignore horizontal white space when comparing files - with --diff. See also --ignore-case. - --ignore-case Ignore changes in case within file contents; - consider upper- and lowercase letters equivalent - when comparing files with --diff. See also - --ignore-whitespace. - --ignore-case-ext Ignore case of file name extensions. This will - cause problems counting some languages - (specifically, .c and .C are associated with C and - C++; this switch would count .C files as C rather - than C++ on *nix operating systems). File name - case insensitivity is always true on Windows. - --lang-no-ext= Count files without extensions using the - counter. This option overrides internal logic - for files without extensions (where such files - are checked against known scripting languages - by examining the first line for #!). See also - --force-lang, --script-lang. - --max-file-size= Skip files larger than megabytes when - traversing directories. By default, =100. - cloc's memory requirement is roughly twenty times - larger than the largest file so running with - files larger than 100 MB on a computer with less - than 2 GB of memory will cause problems. - Note: this check does not apply to files - explicitly passed as command line arguments. - --no-autogen[=list] Ignore files generated by code-production systems - such as GNU autoconf. To see a list of these files - (then exit), run with --no-autogen list - See also --autoconf. - --no-recurse Count files in the given directories without - recursively descending below them. - --original-dir [Only effective in combination with - --strip-comments or --strip-code] Write the stripped - files to the same directory as the original files. - --only-count-files Only count files by language. Blank, comment, and - code counts will be zero. - --read-binary-files Process binary files in addition to text files. - This is usually a bad idea and should only be - attempted with text files that have embedded - binary data. - --read-lang-def= Load new language processing filters from - and merge them with those already known to cloc. - If defines a language cloc already knows - about, cloc's definition will take precedence. - Use --force-lang-def to over-ride cloc's - definitions (see also --write-lang-def, - --write-lang-def-incl-dup, --config). - --script-lang=, Process all files that invoke as a #! - scripting language with the counter for language - . For example, files that begin with - #!/usr/local/bin/perl5.8.8 - will be counted with the Perl counter by using - --script-lang=Perl,perl5.8.8 - The language name is case insensitive but the - name of the script language executable, , - must have the right case. This option can be - specified multiple times. See also --force-lang, - --lang-no-ext. - --sdir= Use as the scratch directory instead of - letting File::Temp chose the location. Files - written to this location are not removed at - the end of the run (as they are with File::Temp). - --skip-leading= Skip the first lines of each file. If a - comma separated list of extensions is also given, - only skip lines from those file types. Example: - --skip-leading=10,cpp,h - will skip the first ten lines of *.cpp and *.h - files. This is useful for ignoring boilerplate - text. - --skip-uniqueness Skip the file uniqueness check. This will give - a performance boost at the expense of counting - files with identical contents multiple times - (if such duplicates exist). - --stat Some file systems (AFS, CD-ROM, FAT, HPFS, SMB) - do not have directory 'nlink' counts that match - the number of its subdirectories. Consequently - cloc may undercount or completely skip the - contents of such file systems. This switch forces - File::Find to stat directories to obtain the - correct count. File search speed will decrease. - See also --follow-links. - --stdin-name= Give a file name to use to determine the language - for standard input. (Use - as the input name to - receive source code via STDIN.) - --strip-code= For each file processed, write to the current - directory a version of the file which has blank - and code lines, including code with (in-line - comments) removed. The name of each stripped file - is the original file name with . appended to - it. It is written to the current directory unless - --original-dir is on. - --strip-comments= For each file processed, write to the current - directory a version of the file which has blank - and commented lines removed (in-line comments - persist). The name of each stripped file is the - original file name with . appended to it. - It is written to the current directory unless - --original-dir is on. - --strip-str-comments Replace comment markers embedded in strings with - 'xx'. This attempts to work around a limitation - in Regexp::Common::Comment where comment markers - embedded in strings are seen as actual comment - markers and not strings, often resulting in a - 'Complex regular subexpression recursion limit' - warning and incorrect counts. There are two - disadvantages to using this switch: 1/code count - performance drops, and 2/code generated with - --strip-comments will contain different strings - where ever embedded comments are found. - --sum-reports Input arguments are report files previously - created with the --report-file option in plain - format (eg. not JSON, YAML, XML, or SQL). - Makes a cumulative set of results containing the - sum of data from the individual report files. - --timeout Ignore files which take more than seconds - to process at any of the language's filter stages. - The default maximum number of seconds spent on a - filter stage is the number of lines in the file - divided by one thousand. Setting to 0 allows - unlimited time. See also --diff-timeout. - --processes=NUM [Available only on systems with a recent version - of the Parallel::ForkManager module. Not - available on Windows.] Sets the maximum number of - cores that cloc uses. The default value of 0 - disables multiprocessing. - --unix Override the operating system autodetection - logic and run in UNIX mode. See also - --windows, --show-os. - --use-sloccount If SLOCCount is installed, use its compiled - executables c_count, java_count, pascal_count, - php_count, and xml_count instead of cloc's - counters. SLOCCount's compiled counters are - substantially faster than cloc's and may give - a performance improvement when counting projects - with large files. However, these cloc-specific - features will not be available: --diff, - --count-and-diff, --strip-code, --strip-comments, - --unicode. - --windows Override the operating system autodetection - logic and run in Microsoft Windows mode. - See also --unix, --show-os. - - ${BB}Filter Options${NN} - --include-content= Only count files containing text that matches the - given regular expression. - --exclude-content= Exclude files containing text that matches the given - regular expression. - --exclude-dir=[,D2,] Exclude the given comma separated directories - D1, D2, D3, et cetera, from being scanned. For - example --exclude-dir=.cache,test will skip - all files and subdirectories that have /.cache/ - or /test/ as their parent directory. - Directories named .bzr, .cvs, .hg, .git, .svn, - and .snapshot are always excluded. - This option only works with individual directory - names so including file path separators is not - allowed. Use --fullpath and --not-match-d= - to supply a regex matching multiple subdirectories. - --exclude-ext=[,[...]] - Do not count files having the given file name - extensions. - --exclude-lang=[,L2[...]] - Exclude the given comma separated languages - L1, L2, L3, et cetera, from being counted. - --exclude-list-file= Ignore files and/or directories whose names - appear in . should have one file - name per line. Only exact matches are ignored; - relative path names will be resolved starting from - the directory where cloc is invoked. - See also --list-file, --config. - --fullpath Modifies the behavior of --match-f, --not-match-f, - and --not-match-d to include the file's path-- - relative to the directory from which cloc is - invoked--in the regex, not just the file's basename. - (This does not expand each filename to include its - fully qualified absolute path; instead, it uses as - much of the path as is passed in to cloc.) - --include-ext=[,ext2[...]] - Count only languages having the given comma - separated file extensions. Use --show-ext to - see the recognized extensions. - --include-lang=[,L2[...]] - Count only the given comma separated, case- - insensitive languages L1, L2, L3, et cetera. Use - --show-lang to see the list of recognized languages. - --match-d= Only count files in directories matching the Perl - regex. For example - --match-d='/(src|include)/' - only counts files in directories containing - /src/ or /include/. Unlike --not-match-d, - --match-f, and --not-match-f, --match-d always - anchors the regex to the directory from which - cloc is invoked. - --not-match-d= Count all files except those in directories - matching the Perl regex. Only the trailing - directory name is compared, for example, when - counting in /usr/local/lib, only 'lib' is - compared to the regex. - Add --fullpath to compare parent directories, beginning - from the directory where cloc is invoked, to the regex. - Do not include file path separators at the beginning - or end of the regex. This option may be repeated. - --match-f= Only count files whose basenames match the Perl - regex. For example - --match-f='^[Ww]idget' - only counts files that start with Widget or widget. - Add --fullpath to include parent directories - in the regex instead of just the basename. - --not-match-f= Count all files except those whose basenames - match the Perl regex. Add --fullpath to include - parent directories in the regex instead of just - the basename. This option may be repeated. - --skip-archive= Ignore files that end with the given Perl regular - expression. For example, if given - --skip-archive='(zip|tar(\.(gz|Z|bz2|xz|7z))?)' - the code will skip files that end with .zip, - .tar, .tar.gz, .tar.Z, .tar.bz2, .tar.xz, and - .tar.7z. - --skip-win-hidden On Windows, ignore hidden files. - - ${BB}Debug Options${NN} - --categorized= Save file sizes in bytes, identified languages - and names of categorized files to . - --counted= Save names of processed source files to . - --diff-alignment= Write to a list of files and file pairs - showing which files were added, removed, and/or - compared during a run with --diff. This switch - forces the --diff mode on. - --explain= Print the filters used to remove comments for - language and exit. In some cases the - filters refer to Perl subroutines rather than - regular expressions. An examination of the - source code may be needed for further explanation. - --help Print this usage information and exit. - --found= Save names of every file found to . - --ignored= Save names of ignored files and the reason they - were ignored to . - --print-filter-stages Print processed source code before and after - each filter is applied. - --show-ext[=] Print information about all known (or just the - given) file extensions and exit. - --show-lang[=] Print information about all known (or just the - given) languages and exit. - --show-os Print the value of the operating system mode - and exit. See also --unix, --windows. - -v[=] Verbose switch (optional numeric value). - -verbose[=] Long form of -v. - --version Print the version of this program and exit. - --write-lang-def= Writes to the language processing filters - then exits. Useful as a first step to creating - custom language definitions. Note: languages which - map to the same file extension will be excluded. - (See also --force-lang-def, --read-lang-def). - --write-lang-def-incl-dup= - Same as --write-lang-def, but includes duplicated - extensions. This generates a problematic language - definition file because cloc will refuse to use - it until duplicates are removed. - - ${BB}Output Options${NN} - --3 Print third-generation language output. - (This option can cause report summation to fail - if some reports were produced with this option - while others were produced without it.) - --by-percent X Instead of comment and blank line counts, show - these values as percentages based on the value - of X in the denominator, where X is - c meaning lines of code - cm meaning lines of code + comments - cb meaning lines of code + blanks - cmb meaning lines of code + comments + blanks - For example, if using method 'c' and your code - has twice as many lines of comments as lines - of code, the value in the comment column will - be 200%. The code column remains a line count. - --csv Write the results as comma separated values. - --csv-delimiter= Use the character as the delimiter for comma - separated files instead of ,. This switch forces - --file-encoding= Write output files using the encoding instead of - the default ASCII ( = 'UTF-7'). Examples: 'UTF-16', - 'euc-kr', 'iso-8859-16'. Known encodings can be - printed with - perl -MEncode -e 'print join(\"\\n\", Encode->encodings(\":all\")), \"\\n\"' - --fmt= Alternate text output format where is a number - from 1 to 5, or -1 to -5. 'total lines' means the - sum of code, comment, and blank lines. Negative - values are the same as the positive values but retain, - instead of deleting, the intermediate JSON file that - is written. The JSON file name is randomly generated - unless --out/--report-file is given. The formats are: - 1: by language (same as cloc default output) - 2: by language with an extra column for total lines - 3: by file with language - 4: by file with a total lines column - 5: by file with language and a total lines column - --hide-rate Do not show elapsed time, line processing rate, or - file processing rates in the output header. This - makes output deterministic. - --json Write the results as JavaScript Object Notation - (JSON) formatted output. - --md Write the results as Markdown-formatted text. - --out= Synonym for --report-file=. - --progress-rate= Show progress update after every files are - processed (default =100). Set to 0 to - suppress progress output (useful when redirecting - output to STDOUT). - --quiet Suppress all information messages except for - the final report. - --report-file= Write the results to instead of STDOUT. - --summary-cutoff=X:N Aggregate to 'Other' results having X lines - below N where X is one of - c meaning lines of code - f meaning files - m meaning lines of comments - cm meaning lines of code + comments - Appending a percent sign to N changes - the calculation from straight count to - percentage. - Ignored with --diff or --by-file. - --sql= Write results as SQL create and insert statements - which can be read by a database program such as - SQLite. If is -, output is sent to STDOUT. - --sql-append Append SQL insert statements to the file specified - by --sql and do not generate table creation - statements. Only valid with the --sql option. - --sql-project= Use as the project identifier for the - current run. Only valid with the --sql option. - --sql-style= - - -

-';
-    print "<- html_header\n" if $opt_v > 2;
-} # 1}}}
-sub html_end {                               # {{{1
-return
-'
- - -'; -} # 1}}} -sub die_unknown_lang { # {{{1 - my ($lang, $option_name) = @_; - die "Unknown language '$lang' used with $option_name option. " . - "The command\n $script --show-lang\n" . - "will print all recognized languages. Language names are " . - "case sensitive.\n" ; -} # 1}}} -sub unicode_file { # {{{1 - my $file = shift @_; - - print "-> unicode_file($file)\n" if $opt_v > 2; - return 0 if (get_size($file) > 2_000_000); - # don't bother trying to test binary files bigger than 2 MB - - my $IN = open_file('<', $file, 1); - if (!defined $IN) { - warn "Unable to read $file; ignoring.\n"; - return 0; - } - my @lines = <$IN>; - $IN->close; - - if (unicode_to_ascii( join('', @lines) )) { - print "<- unicode_file()\n" if $opt_v > 2; - return 1; - } else { - print "<- unicode_file()\n" if $opt_v > 2; - return 0; - } - -} # 1}}} -sub unicode_to_ascii { # {{{1 - my $string = shift @_; - - # A trivial attempt to convert UTF-16 little or big endian - # files into ASCII. These files exhibit the following byte - # sequence: - # byte 1: 255 - # byte 2: 254 - # byte 3: ord of ASCII character - # byte 4: 0 - # byte 3+i: ord of ASCII character - # byte 4+i: 0 - # or - # byte 1: 255 - # byte 2: 254 - # byte 3: 0 - # byte 4: ord of ASCII character - # byte 3+i: 0 - # byte 4+i: ord of ASCII character - # - print "-> unicode_to_ascii()\n" if $opt_v > 2; - - my $length = length $string; -#print "length=$length\n"; - return '' if $length <= 3; - my @unicode = split(//, $string); - - # check the first 100 characters (= 200 bytes) for big or - # little endian UTF-16 encoding - my $max_peek = $length < 200 ? $length : 200; - my $max_for_pass = $length < 200 ? 0.9*$max_peek/2 : 90; - my @view_1 = (); - for (my $i = 2; $i < $max_peek; $i += 2) { push @view_1, $unicode[$i] } - my @view_2 = (); - for (my $i = 3; $i < $max_peek; $i += 2) { push @view_2, $unicode[$i] } - - my $points_1 = 0; - foreach my $C (@view_1) { - ++$points_1 if (32 <= ord($C) and ord($C) <= 127) or ord($C) == 13 - or ord($C) == 10 - or ord($C) == 9; - } - - my $points_2 = 0; - foreach my $C (@view_2) { - ++$points_2 if (32 <= ord($C) and ord($C) <= 127) or ord($C) == 13 - or ord($C) == 10 - or ord($C) == 9; - } -#print "points 1: $points_1\n"; -#print "points 2: $points_2\n"; -#print "max_peek : $max_peek\n"; -#print "max_for_pass: $max_for_pass\n"; - - my $offset = undef; - if ($points_1 > $max_for_pass) { $offset = 2; } - elsif ($points_2 > $max_for_pass) { $offset = 3; } - else { - print "<- unicode_to_ascii() a p1=$points_1 p2=$points_2\n" if $opt_v > 2; - return ''; - } # neither big or little endian UTF-16 - - my @ascii = (); - for (my $i = $offset; $i < $length; $i += 2) { - # some compound characters are made of HT (9), LF (10), or CR (13) - # True HT, LF, CR are followed by 00; only add those. - my $L = $unicode[$i]; - if (ord($L) == 9 or ord($L) == 10 or ord($L) == 13) { - my $companion; - if ($points_1) { - last if $i+1 >= $length; - $companion = $unicode[$i+1]; - } else { - $companion = $unicode[$i-1]; - } - if (ord($companion) == 0) { - push @ascii, $L; - } else { - push @ascii, " "; # no clue what this letter is - } - } else { - push @ascii, $L; - } - } - print "<- unicode_to_ascii() b p1=$points_1 p2=$points_2\n" if $opt_v > 2; - return join("", @ascii); -} # 1}}} -sub uncompress_archive_cmd { # {{{1 - my ($archive_file, ) = @_; - - # Wrap $archive_file in single or double quotes in the system - # commands below to avoid filename chicanery (including - # spaces in the names). - - print "-> uncompress_archive_cmd($archive_file)\n" if $opt_v > 2; - my $extract_cmd = ""; - my $missing = ""; - if ($opt_extract_with) { - ( $extract_cmd = $opt_extract_with ) =~ s/>FILE -"; - } elsif ($archive_file =~ /\.tar$/ and $ON_WINDOWS) { - $extract_cmd = "tar -xf \"$archive_file\""; - } elsif (($archive_file =~ /\.tar\.(gz|Z)$/ or - $archive_file =~ /\.tgz$/ ) and !$ON_WINDOWS) { - if (external_utility_exists("gzip --version")) { - if (external_utility_exists("tar --version")) { - $extract_cmd = "gzip -dc '$archive_file' | tar xf -"; - } else { - $missing = "tar"; - } - } else { - $missing = "gzip"; - } - } elsif ($archive_file =~ /\.tar\.bz2$/ and !$ON_WINDOWS) { - if (external_utility_exists("bzip2 --help")) { - if (external_utility_exists("tar --version")) { - $extract_cmd = "bzip2 -dc '$archive_file' | tar xf -"; - } else { - $missing = "tar"; - } - } else { - $missing = "bzip2"; - } - } elsif ($archive_file =~ /\.tar\.xz$/ and !$ON_WINDOWS) { - if (external_utility_exists("unxz --version")) { - if (external_utility_exists("tar --version")) { - $extract_cmd = "unxz -dc '$archive_file' | tar xf -"; - } else { - $missing = "tar"; - } - } else { - $missing = "bzip2"; - } - } elsif ($archive_file =~ /\.tar$/ and !$ON_WINDOWS) { - $extract_cmd = "tar xf '$archive_file'"; - } elsif ($archive_file =~ /\.src\.rpm$/i and !$ON_WINDOWS) { - if (external_utility_exists("cpio --version")) { - if (external_utility_exists("rpm2cpio")) { - $extract_cmd = "rpm2cpio '$archive_file' | cpio -i"; - } else { - $missing = "rpm2cpio"; - } - } else { - $missing = "bzip2"; - } - } elsif ($archive_file =~ /\.(whl|zip)$/i and !$ON_WINDOWS) { - if (external_utility_exists("unzip")) { - $extract_cmd = "unzip -qq -d . '$archive_file'"; - } else { - $missing = "unzip"; - } - } elsif ($archive_file =~ /\.deb$/i and !$ON_WINDOWS) { - # only useful if the .deb contains source code--most - # .deb files just have compiled executables - if (external_utility_exists("dpkg-deb")) { - $extract_cmd = "dpkg-deb -x '$archive_file' ."; - } else { - $missing = "dpkg-deb"; - } - } elsif ($ON_WINDOWS and $archive_file =~ /\.(whl|zip)$/i) { - # use unzip on Windows (comes with git-for-Windows) - if (external_utility_exists("unzip")) { - $extract_cmd = "unzip -qq -d . \"$archive_file\" "; - } else { - $missing = "unzip"; - } - } - print "<- uncompress_archive_cmd\n" if $opt_v > 2; - if ($missing) { - die "Unable to expand $archive_file because external\n", - "utility '$missing' is not available.\n", - "Another possibility is to use the --extract-with option.\n"; - } else { - return $extract_cmd; - } -} -# 1}}} -sub read_list_file { # {{{1 - my ($file, ) = @_; - # reads filenames from a STDIN pipe if $file == "-" - - print "-> read_list_file($file)\n" if $opt_v > 2; - my @entry = (); - - if ($file eq "-") { - # read from a STDIN pipe - my $IN; - open($IN, $file); - if (!defined $IN) { - warn "Unable to read $file; ignoring.\n"; - return (); - } - while (<$IN>) { - next if /^\s*$/ or /^\s*#/; # skip empty or commented lines - s/\cM$//; # DOS to Unix - chomp; - push @entry, $_; - } - $IN->close; - } else { - # read from an actual file - foreach my $line (read_file($file)) { - next if $line =~ /^\s*$/ or $line =~ /^\s*#/; - $line =~ s/\cM$//; # DOS to Unix - chomp $line; - push @entry, $line; - } - } - - print "<- read_list_file\n" if $opt_v > 2; - return @entry; -} -# 1}}} -sub external_utility_exists { # {{{1 - my $exe = shift @_; - - my $success = 0; - if ($ON_WINDOWS) { - $success = 1 unless system $exe . ' > nul'; - } else { - $success = 1 unless system $exe . ' >/dev/null 2>&1'; - if (!$success) { - $success = 1 unless system "which" . " $exe" . ' >/dev/null 2>&1'; - } - } - - return $success; -} # 1}}} -sub write_xsl_file { # {{{1 - print "-> write_xsl_file\n" if $opt_v > 2; - my $XSL = # {{{2 -' - - - - - - - CLOC Results - - - -

-'; -# 2}}} - - if ($opt_by_file) { - $XSL .= #
{{{2 -' - - - - - - - -'; - $XSL .= -' - -' if $opt_3; - $XSL .= -' - - - - - - - - - -'; - $XSL .= -' - -' if $opt_3; - $XSL .= -' - - - - - - - -'; - $XSL .= -' - -' if $opt_3; - $XSL .= -' - -
FileBlankCommentCodeLanguage3rd Generation EquivalentScale
Total
-
-'; -# 2}}} - } - - if (!$opt_by_file or $opt_by_file_by_lang) { - $XSL .= #
{{{2 -' - - - - - - - -'; - $XSL .= -' - -' if $opt_3; - $XSL .= -' - - - - - - - - - -'; - $XSL .= -' - -' if $opt_3; - $XSL .= -' - - - - - - - -'; - $XSL .= -' - -' if $opt_3; - $XSL .= -' - -
LanguageFilesBlankCommentCodeScale3rd Generation Equivalent
Total
-'; -# 2}}} - } - - $XSL.= <<'EO_XSL'; # {{{2 - - -
-
- -EO_XSL -# 2}}} - - my $XSL_DIFF = <<'EO_DIFF_XSL'; # {{{2 - - - - - - - - CLOC Results - - - -

-EO_DIFF_XSL -# 2}}} - - if ($opt_by_file) { - $XSL_DIFF.= <<'EO_DIFF_XSL'; # {{{2 - - - - - - - - - - - - - - - - - - - - - -
Same
FileBlankCommentCode
- - - - - - - - - - - - - - - - - - - - - - -
Modified
FileBlankCommentCode
- - - - - - - - - - - - - - - - - - - - - - -
Added
FileBlankCommentCode
- - - - - - - - - - - - - - - - - - - - - - -
Removed
FileBlankCommentCode
-EO_DIFF_XSL -# 2}}} - } - - if (!$opt_by_file or $opt_by_file_by_lang) { - $XSL_DIFF.= <<'EO_DIFF_XSL'; # {{{2 - - - - - - - - - - - - - - - - - - - - - - - -
Same
LanguageFilesBlankCommentCode
- - - - - - - - - - - - - - - - - - - - - - - - -
Modified
LanguageFilesBlankCommentCode
- - - - - - - - - - - - - - - - - - - - - - - - -
Added
LanguageFilesBlankCommentCode
- - - - - - - - - - - - - - - - - - - - - - - - -
Removed
LanguageFilesBlankCommentCode
-EO_DIFF_XSL -# 2}}} - - } - - $XSL_DIFF.= <<'EO_DIFF_XSL'; # {{{2 - - -
-
-EO_DIFF_XSL -# 2}}} - if ($opt_diff) { - write_file($CLOC_XSL, {}, ( $XSL_DIFF ) ); - } else { - write_file($CLOC_XSL, {}, ( $XSL ) ); - } - print "<- write_xsl_file\n" if $opt_v > 2; -} # 1}}} -sub normalize_file_names { # {{{1 - print "-> normalize_file_names\n" if $opt_v > 2; - my (@files, ) = @_; - - # Returns a hash of file names reduced to a canonical form - # (fully qualified file names, all path separators changed to /, - # Windows file names lowercased). Hash values are the original - # file name. - - my %normalized = (); - foreach my $F (@files) { - my $F_norm = $F; - if ($ON_WINDOWS) { - $F_norm = lc $F_norm; # for case insensitive file name comparisons - $F_norm =~ s{\\}{/}g; # Windows directory separators to Unix - $F_norm =~ s{^\./}{}g; # remove leading ./ - if (($F_norm !~ m{^/}) and ($F_norm !~ m{^\w:/})) { - # looks like a relative path; prefix with cwd - $F_norm = lc "$cwd/$F_norm"; - } - } else { - $F_norm =~ s{^\./}{}g; # remove leading ./ - if ($F_norm !~ m{^/}) { - # looks like a relative path; prefix with cwd - $F_norm = "$cwd/$F_norm"; - } - } - # Remove trailing / so it does not interfere with further regex code - # that does not expect it - $F_norm =~ s{/+$}{}; - $normalized{ $F_norm } = $F; - } - print "<- normalize_file_names\n" if $opt_v > 2; - return %normalized; -} # 1}}} -sub combine_diffs { # {{{1 - # subroutine by Andy (awalshe@sf.net) - # https://sourceforge.net/tracker/?func=detail&aid=3261017&group_id=174787&atid=870625 - my ($ra_files) = @_; - print "-> combine_diffs\n" if $opt_v > 2; - - my $res = "$URL v $VERSION\n"; - my $dl = '-'; - my $width = 79; - # columns are in this order - my @cols = ('files', 'blank', 'comment', 'code'); - my %HoH = (); - - foreach my $file (@{$ra_files}) { - my $IN = open_file('<', $file, 1); - if (!defined $IN) { - warn "Unable to read $file; ignoring.\n"; - next; - } - - my $sec; - while (<$IN>) { - chomp; - s/\cM$//; - next if /^(http|Language|-----)/; - if (/^[A-Za-z0-9]+/) { # section title - $sec = $_; - chomp($sec); - $HoH{$sec} = () if ! exists $HoH{$sec}; - next; - } - - if (/^\s(same|modified|added|removed)/) { # calculated totals row - my @ar = grep { $_ ne '' } split(/ /, $_); - chomp(@ar); - my $ttl = shift @ar; - my $i = 0; - foreach(@ar) { - my $t = "${ttl}${dl}${cols[$i]}"; - $HoH{$sec}{$t} = 0 if ! exists $HoH{$sec}{$t}; - $HoH{$sec}{$t} += $_; - $i++; - } - } - } - $IN->close; - } - - # rows are in this order - my @rows = ('same', 'modified', 'added', 'removed'); - - $res .= sprintf("%s\n", "-" x $width); - $res .= sprintf("%-19s %14s %14s %14s %14s\n", 'Language', - $cols[0], $cols[1], $cols[2], $cols[3]); - $res .= sprintf("%s\n", "-" x $width); - - # no inputs? %HoH will be empty - return $res unless %HoH; - - for my $sec ( keys %HoH ) { - next if $sec =~ /SUM:/; - next unless defined $HoH{$sec}; # eg, the header line - $res .= "$sec\n"; - foreach (@rows) { - $res .= sprintf(" %-18s %14s %14s %14s %14s\n", - $_, $HoH{$sec}{"${_}${dl}${cols[0]}"}, - $HoH{$sec}{"${_}${dl}${cols[1]}"}, - $HoH{$sec}{"${_}${dl}${cols[2]}"}, - $HoH{$sec}{"${_}${dl}${cols[3]}"}); - } - } - $res .= sprintf("%s\n", "-" x $width); - my $sec = 'SUM:'; - $res .= "$sec\n"; - foreach (@rows) { - $res .= sprintf(" %-18s %14s %14s %14s %14s\n", - $_, $HoH{$sec}{"${_}${dl}${cols[0]}"}, - $HoH{$sec}{"${_}${dl}${cols[1]}"}, - $HoH{$sec}{"${_}${dl}${cols[2]}"}, - $HoH{$sec}{"${_}${dl}${cols[3]}"}); - } - $res .= sprintf("%s\n", "-" x $width); - - print "<- combine_diffs\n" if $opt_v > 2; - return $res; -} # 1}}} -sub combine_csv_diffs { # {{{1 - my ($delimiter, $ra_files) = @_; - print "-> combine_csv_diffs\n" if $opt_v > 2; - - my %sum = (); # sum{ language } = array of 17 values - foreach my $file (@{$ra_files}) { - my $IN = open_file('<', $file, 1); - if (!defined $IN) { - warn "Unable to read $file; ignoring.\n"; - next; - } - - my $sec; - while (<$IN>) { - next if /^Language${delimiter}\s==\sfiles${delimiter}/; - chomp; - my @words = split(/$delimiter/); - my $n_col = scalar(@words); - if ($n_col != 18) { - warn "combine_csv_diffs(): Parse failure line $. of $file\n"; - warn "Expected 18 columns, got $n_col\n"; - die; - } - my $Lang = $words[0]; - my @count = map { int($_) } @words[1..16]; - if (defined $sum{$Lang}) { - for (my $i = 0; $i < 16; $i++) { - $sum{$Lang}[$i] += $count[$i]; - } - } else { - @{$sum{$Lang}} = @count; - } - } - $IN->close; - } - - my @header = ("Language", "== files", "!= files", "+ files", "- files", - "== blank", "!= blank", "+ blank", "- blank", "== comment", - "!= comment", "+ comment", "- comment", "== code", - "!= code", "+ code", "- code", "$URL v $VERSION" ); - - my $res = join("$delimiter ", @header) . "$delimiter\n"; - foreach my $Lang (sort keys %sum) { - $res .= $Lang . "$delimiter "; - for (my $i = 0; $i < 16; $i++) { - $res .= $sum{$Lang}[$i] . "$delimiter "; - } - $res .= "\n"; - } - - print "<- combine_csv_diffs\n" if $opt_v > 2; - return $res; -} # 1}}} -sub get_time { # {{{1 - if ($HAVE_Time_HiRes) { - return Time::HiRes::time(); - } else { - return time(); - } -} # 1}}} -sub really_is_D { # {{{1 - # Ref bug 131, files ending with .d could be init.d scripts - # instead of D language source files. - my ($file , # in - $rh_Err , # in hash of error codes - $raa_errors , # out - ) = @_; - print "-> really_is_D($file)\n" if $opt_v > 2; - my ($possible_script, $L) = peek_at_first_line($file, $rh_Err, $raa_errors); - - print "<- really_is_D($file)\n" if $opt_v > 2; - return $possible_script; # null string if D, otherwise a language -} # 1}}} -sub no_autogen_files { # {{{1 - # ref https://github.com/AlDanial/cloc/issues/151 - my ($print,) = @_; - print "-> no_autogen($print)\n" if $opt_v > 2; - - # These sometimes created manually? - # acinclude.m4 - # configure.ac - # Makefile.am - - my @files = qw ( - aclocal.m4 - announce-gen - autogen.sh - bootstrap - compile - config.guess - config.h.in - config.rpath - config.status - config.sub - configure - configure.in - depcomp - gendocs.sh - gitlog-to-changelog - git-version-gen - gnupload - gnu-web-doc-update - install-sh - libtool - libtool.m4 - link-warning.h - ltmain.sh - lt~obsolete.m4 - ltoptions.m4 - ltsugar.m4 - ltversion.in - ltversion.m4 - Makefile.in - mdate-sh - missing - mkinstalldirs - test-driver - texinfo.tex - update-copyright - useless-if-before-free - vc-list-files - ylwrap - ); - - if ($print) { - printf "cloc will ignore these %d files with --no-autogen:\n", scalar @files; - foreach my $F (@files) { - print " $F\n"; - } - print "Additionally, Go files with '// Code generated by .* DO NOT EDIT.'\n"; - print "on the first line are ignored.\n"; - } - print "<- no_autogen()\n" if $opt_v > 2; - return @files; -} # 1}}} -sub load_from_config_file { # {{{1 - # Supports all options except --config itself which would - # be pointless. - my ($config_file, - $rs_by_file , - $rs_by_file_by_lang , - $rs_categorized , - $rs_counted , - $rs_include_ext , - $rs_include_lang , - $rs_include_content , - $rs_exclude_content , - $rs_exclude_lang , - $rs_exclude_dir , - $rs_exclude_list_file , - $rs_explain , - $rs_extract_with , - $rs_found , - $rs_count_diff , - $rs_diff_list_files , - $rs_diff , - $rs_diff_alignment , - $rs_diff_timeout , - $rs_timeout , - $rs_html , - $rs_ignored , - $rs_quiet , - $rs_force_lang_def , - $rs_read_lang_def , - $rs_show_ext , - $rs_show_lang , - $rs_progress_rate , - $rs_print_filter_stages , - $rs_report_file , - $ra_script_lang , - $rs_sdir , - $rs_skip_uniqueness , - $rs_strip_code , - $rs_strip_comments , - $rs_original_dir , - $rs_sum_reports , - $rs_hide_rate , - $rs_processes , - $rs_unicode , - $rs_3 , - $rs_v , - $rs_vcs , - $rs_version , - $rs_write_lang_def , - $rs_write_lang_def_incl_dup, - $rs_xml , - $rs_xsl , - $ra_force_lang , - $rs_lang_no_ext , - $rs_yaml , - $rs_csv , - $rs_csv_delimiter , - $rs_json , - $rs_md , - $rs_fullpath , - $rs_match_f , - $ra_not_match_f , - $rs_match_d , - $ra_not_match_d , - $rs_list_file , - $rs_help , - $rs_skip_win_hidden , - $rs_read_binary_files , - $rs_sql , - $rs_sql_project , - $rs_sql_append , - $rs_sql_style , - $rs_inline , - $rs_exclude_ext , - $rs_ignore_whitespace , - $rs_ignore_case , - $rs_ignore_case_ext , - $rs_follow_links , - $rs_autoconf , - $rs_sum_one , - $rs_by_percent , - $rs_stdin_name , - $rs_force_on_windows , - $rs_force_on_unix , - $rs_show_os , - $rs_skip_archive , - $rs_max_file_size , - $rs_use_sloccount , - $rs_no_autogen , - $rs_force_git , - $rs_strip_str_comments , - $rs_file_encoding , - $rs_docstring_as_code , - $rs_stat , - ) = @_; - # look for runtime configuration file in - # $ENV{'HOME'}/.config/cloc/options.txt -> POSIX - # $ENV{'APPDATA'} . 'cloc' - - print "-> load_from_config_file($config_file)\n" if $opt_v and $opt_v > 2; - if (!is_file($config_file)) { - print "<- load_from_config_file() (no such file: $config_file)\n" if $opt_v and $opt_v > 2; - return; - } elsif (!can_read($config_file)) { - print "<- load_from_config_file() (unable to read $config_file)\n" if $opt_v and $opt_v > 2; - return; - } - print "Reading options from $config_file.\n" if defined $opt_v; - - my $has_force_lang = @{$ra_force_lang}; - my $has_script_lang = @{$ra_script_lang}; - my @lines = read_file($config_file); - foreach (@lines) { - next if /^\s*$/ or /^\s*#/; - s/\s*--//; - s/^\s+//; - if (!defined ${$rs_by_file} and /^(by_file|by-file)/) { ${$rs_by_file} = 1; - } elsif (!defined ${$rs_by_file_by_lang} and /^(by_file_by_lang|by-file-by-lang)/) { ${$rs_by_file_by_lang} = 1; - } elsif (!defined ${$rs_categorized} and /^categorized(=|\s+)(.*?)$/) { ${$rs_categorized} = $2; - } elsif (!defined ${$rs_counted} and /^counted(=|\s+)(.*?)$/) { ${$rs_counted} = $2; - } elsif (!defined ${$rs_include_ext} and /^(?:include_ext|include-ext)(=|\s+)(.*?)$/) { ${$rs_include_ext} = $2; - } elsif (!defined ${$rs_include_lang} and /^(?:include_lang|include-lang)(=|\s+)(.*?)$/) { ${$rs_include_lang} = $2; - } elsif (!defined ${$rs_include_content} and /^(?:include_content|include-content)(=|\s+)(.*?)$/) { ${$rs_include_content} = $2; - } elsif (!defined ${$rs_exclude_content} and /^(?:exclude_content|exclude-content)(=|\s+)(.*?)$/) { ${$rs_exclude_content} = $2; - } elsif (!defined ${$rs_exclude_lang} and /^(?:exclude_lang|exclude-lang)(=|\s+)(.*?)$/) { ${$rs_exclude_lang} = $2; - } elsif (!defined ${$rs_exclude_dir} and /^(?:exclude_dir|exclude-dir)(=|\s+)(.*?)$/) { ${$rs_exclude_dir} = $2; - } elsif (!defined ${$rs_explain} and /^explain(=|\s+)(.*?)$/) { ${$rs_explain} = $2; - } elsif (!defined ${$rs_extract_with} and /^(?:extract_with|extract-with)(=|\s+)(.*?)$/) { ${$rs_extract_with} = $2; - } elsif (!defined ${$rs_found} and /^found(=|\s+)(.*?)$/) { ${$rs_found} = $2; - } elsif (!defined ${$rs_count_diff} and /^(count_and_diff|count-and-diff)/) { ${$rs_count_diff} = 1; - } elsif (!defined ${$rs_diff_list_files} and /^(diff_list_files|diff-list-files)/) { ${$rs_diff_list_files} = 1; - } elsif (!defined ${$rs_diff} and /^diff/) { ${$rs_diff} = 1; - } elsif (!defined ${$rs_diff_alignment} and /^(?:diff-alignment|diff_alignment)(=|\s+)(.*?)$/) { ${$rs_diff_alignment} = $2; - } elsif (!defined ${$rs_diff_timeout} and /^(?:diff-timeout|diff_timeout)(=|\s+)i/) { ${$rs_diff_timeout} = $1; - } elsif (!defined ${$rs_timeout} and /^timeout(=|\s+)i/) { ${$rs_timeout} = $1; - } elsif (!defined ${$rs_html} and /^html/) { ${$rs_html} = 1; - } elsif (!defined ${$rs_ignored} and /^ignored(=|\s+)(.*?)$/) { ${$rs_ignored} = $2; - } elsif (!defined ${$rs_quiet} and /^quiet/) { ${$rs_quiet} = 1; - } elsif (!defined ${$rs_force_lang_def} and /^(?:force_lang_def|force-lang-def)(=|\s+)(.*?)$/) { ${$rs_force_lang_def} = $2; - } elsif (!defined ${$rs_read_lang_def} and /^(?:read_lang_def|read-lang-def)(=|\s+)(.*?)$/) { ${$rs_read_lang_def} = $2; - } elsif (!defined ${$rs_progress_rate} and /^(?:progress_rate|progress-rate)(=|\s+)(\d+)/) { ${$rs_progress_rate} = $2; - } elsif (!defined ${$rs_print_filter_stages} and /^(print_filter_stages|print-filter-stages)/) { ${$rs_print_filter_stages}= 1; - } elsif (!defined ${$rs_report_file} and /^(?:report_file|report-file)(=|\s+)(.*?)$/) { ${$rs_report_file} = $2; - } elsif (!defined ${$rs_report_file} and /^out(=|\s+)(.*?)$/) { ${$rs_report_file} = $2; - } elsif (!defined ${$rs_sdir} and /^sdir(=|\s+)(.*?)$/) { ${$rs_sdir} = $2; - } elsif (!defined ${$rs_skip_uniqueness} and /^(skip_uniqueness|skip-uniqueness)/) { ${$rs_skip_uniqueness} = 1; - } elsif (!defined ${$rs_strip_code} and /^(?:strip_code|strip-code)(=|\s+)(.*?)$/) { ${$rs_strip_code} = $2; - } elsif (!defined ${$rs_strip_comments} and /^(?:strip_comments|strip-comments)(=|\s+)(.*?)$/) { ${$rs_strip_comments} = $2; - } elsif (!defined ${$rs_original_dir} and /^(original_dir|original-dir)/) { ${$rs_original_dir} = 1; - } elsif (!defined ${$rs_sum_reports} and /^(sum_reports|sum-reports)/) { ${$rs_sum_reports} = 1; - } elsif (!defined ${$rs_hide_rate} and /^(hid_rate|hide-rate)/) { ${$rs_hide_rate} = 1; - } elsif (!defined ${$rs_processes} and /^processes(=|\s+)(\d+)/) { ${$rs_processes} = $2; - } elsif (!defined ${$rs_unicode} and /^unicode/) { ${$rs_unicode} = 1; - } elsif (!defined ${$rs_3} and /^3/) { ${$rs_3} = 1; - } elsif (!defined ${$rs_vcs} and /^vcs(=|\s+)(\S+)/) { ${$rs_vcs} = $2; - } elsif (!defined ${$rs_version} and /^version/) { ${$rs_version} = 1; - } elsif (!defined ${$rs_write_lang_def} and /^(?:write_lang_def|write-lang-def)(=|\s+)(.*?)$/) { ${$rs_write_lang_def} = $2; - } elsif (!defined ${$rs_write_lang_def_incl_dup} and /^(?:write_lang_def_incl_dup|write-lang-def-incl-dup)(=|\s+)(.*?)$/) { ${$rs_write_lang_def_incl_dup} = $2; - } elsif (!defined ${$rs_xml} and /^xml/) { ${$rs_xml} = 1; - } elsif (!defined ${$rs_xsl} and /^xsl(=|\s+)(.*?)$/) { ${$rs_xsl} = $2; - } elsif (!defined ${$rs_lang_no_ext} and /^(?:lang_no_ext|lang-no-ext)(=|\s+)(.*?)$/) { ${$rs_lang_no_ext} = $2; - } elsif (!defined ${$rs_yaml} and /^yaml/) { ${$rs_yaml} = 1; - } elsif (!defined ${$rs_csv} and /^csv/) { ${$rs_csv} = 1; - } elsif (!defined ${$rs_csv_delimiter} and /^(?:csv_delimiter|csv-delimiter)(=|\s+)(.*?)$/) { ${$rs_csv_delimiter} = $2; - } elsif (!defined ${$rs_json} and /^json/) { ${$rs_json} = 1; - } elsif (!defined ${$rs_md} and /^md/) { ${$rs_md} = 1; - } elsif (!defined ${$rs_fullpath} and /^fullpath/) { ${$rs_fullpath} = 1; - } elsif (!defined ${$rs_match_f} and /^(?:match_f|match-f)(=|\s+)(.*?)$/) { ${$rs_match_f} = $2; - } elsif (! @{$ra_not_match_f} and /^(?:not_match_f|not-match-f)(=|\s+)(.*?)$/) { push @{$ra_not_match_f} , $2; - } elsif (!defined ${$rs_match_d} and /^(?:match_d|match-d)(=|\s+)(.*?)$/) { ${$rs_match_d} = $2; - } elsif (! @{$ra_not_match_d} and /^(?:not_match_d|not-match-d)(=|\s+)(.*?)$/) { push @{$ra_not_match_d} , $2; - } elsif (!defined ${$rs_list_file} and /^(?:list_file|list-file)(=|\s+)(.*?)$/) { ${$rs_list_file} = $2; - } elsif (!defined ${$rs_help} and /^help/) { ${$rs_help} = 1; - } elsif (!defined ${$rs_skip_win_hidden} and /^(skip_win_hidden|skip-win-hidden)/) { ${$rs_skip_win_hidden} = 1; - } elsif (!defined ${$rs_read_binary_files} and /^(read_binary_files|read-binary-files)/) { ${$rs_read_binary_files} = 1; - } elsif (!defined ${$rs_sql} and /^sql(=|\s+)(.*?)$/) { ${$rs_sql} = $2; - } elsif (!defined ${$rs_sql_project} and /^(?:sql_project|sql-project)(=|\s+)(.*?)$/) { ${$rs_sql_project} = $2; - } elsif (!defined ${$rs_sql_append} and /^(sql_append|sql-append)/) { ${$rs_sql_append} = 1; - } elsif (!defined ${$rs_sql_style} and /^(?:sql_style|sql-style)(=|\s+)(.*?)$/) { ${$rs_sql_style} = $2; - } elsif (!defined ${$rs_inline} and /^inline/) { ${$rs_inline} = 1; - } elsif (!defined ${$rs_exclude_ext} and /^(?:exclude_ext|exclude-ext)(=|\s+)(.*?)$/) { ${$rs_exclude_ext} = $2; - } elsif (!defined ${$rs_ignore_whitespace} and /^(ignore_whitespace|ignore-whitespace)/) { ${$rs_ignore_whitespace} = 1; - } elsif (!defined ${$rs_ignore_case_ext} and /^(ignore_case_ext|ignore-case-ext)/) { ${$rs_ignore_case_ext} = 1; - } elsif (!defined ${$rs_ignore_case} and /^(ignore_case|ignore-case)/) { ${$rs_ignore_case} = 1; - } elsif (!defined ${$rs_follow_links} and /^(follow_links|follow-links)/) { ${$rs_follow_links} = 1; - } elsif (!defined ${$rs_autoconf} and /^autoconf/) { ${$rs_autoconf} = 1; - } elsif (!defined ${$rs_sum_one} and /^(sum_one|sum-one)/) { ${$rs_sum_one} = 1; - } elsif (!defined ${$rs_by_percent} and /^(?:by_percent|by-percent)(=|\s+)(.*?)$/) { ${$rs_by_percent} = $2; - } elsif (!defined ${$rs_stdin_name} and /^(?:stdin_name|stdin-name)(=|\s+)(.*?)$/) { ${$rs_stdin_name} = $2; - } elsif (!defined ${$rs_force_on_windows} and /^windows/) { ${$rs_force_on_windows} = 1; - } elsif (!defined ${$rs_force_on_unix} and /^unix/) { ${$rs_force_on_unix} = 1; - } elsif (!defined ${$rs_show_os} and /^(show_os|show-os)/) { ${$rs_show_os} = 1; - } elsif (!defined ${$rs_skip_archive} and /^(?:skip_archive|skip-archive)(=|\s+)(.*?)$/) { ${$rs_skip_archive} = $2; - } elsif (!defined ${$rs_max_file_size} and /^(?:max_file_size|max-file-size)(=|\s+)(\d+)/) { ${$rs_max_file_size} = $2; - } elsif (!defined ${$rs_use_sloccount} and /^(use_sloccount|use-sloccount)/) { ${$rs_use_sloccount} = 1; - } elsif (!defined ${$rs_no_autogen} and /^(no_autogen|no-autogen)/) { ${$rs_no_autogen} = 1; - } elsif (!defined ${$rs_force_git} and /^git/) { ${$rs_force_git} = 1; - } elsif (!defined ${$rs_exclude_list_file} and /^(?:exclude_list_file|exclude-list-file)(=|\s+)(.*?)$/) - { ${$rs_exclude_list_file} = $2; - } elsif (!defined ${$rs_v} and /^(verbose|v)((=|\s+)(\d+))?/) { - if (!defined $4) { ${$rs_v} = 0; } - else { ${$rs_v} = $4; } - } elsif (!$has_script_lang and /^(?:script_lang|script-lang)(=|\s+)(.*?)$/) { - push @{$ra_script_lang} , $2; - } elsif (!$has_force_lang and /^(?:force_lang|force-lang)(=|\s+)(.*?)$/) { - push @{$ra_force_lang} , $2; - } elsif (!defined ${$rs_show_ext} and /^(show_ext|show-ext)((=|\s+)(.*))?$/) { - if (!defined $4) { ${$rs_show_ext} = 0; } - else { ${$rs_show_ext} = $4; } - } elsif (!defined ${$rs_show_lang} and /^(show_lang|show-lang)((=|\s+)(.*))?s/){ - if (!defined $4) { ${$rs_show_lang} = 0; } - else { ${$rs_show_lang} = $4; } - } elsif (!defined ${$rs_strip_str_comments} and /^(strip_str_comments|strip-str-comments)/) { ${$rs_strip_str_comments} = 1; - } elsif (!defined ${$rs_file_encoding} and /^(?:file_encoding|file-encoding)(=|\s+)(\S+)/) { ${$rs_file_encoding} = $2; - } elsif (!defined ${$rs_docstring_as_code} and /^(docstring_as_code|docstring-as-code)/) { ${$rs_docstring_as_code} = 1; - } elsif (!defined ${$rs_stat} and /stat/) { ${$rs_stat} = 1; - } - - } -} # 1}}} -sub trick_pp_packer_encode { # {{{1 - use Encode; - # PAR::Packer gives 'Unknown PerlIO layer "encoding"' unless it is - # forced into using this module. - my ($OUT, $JunkFile) = tempfile(UNLINK => 1); # delete on exit - open($OUT, "> :encoding(utf8)", $JunkFile); - close($OUT); -} -# 1}}} -sub really_is_smarty { # {{{1 - # Given filename, returns TRUE if its contents look like Smarty template - my ($filename, ) = @_; - - print "-> really_is_smarty($filename)\n" if $opt_v > 2; - - my @lines = read_file($filename); - - my $points = 0; - foreach my $L (@lines) { - if (($L =~ /\{(if|include)\s/) or - ($L =~ /\{\/if\}/) or - ($L =~ /(\{\*|\*\})/) or - ($L =~ /\{\$\w/)) { - ++$points; - } - last if $points >= 2; - } - print "<- really_is_smarty(points=$points)\n" if $opt_v > 2; - return $points >= 2; -} # 1}}} -sub check_alternate_config_files { # {{{1 - my ($list_file, $exclude_list_file, $read_lang_def, - $force_lang_def, $diff_list_file, ) = @_; - my $found_it = ""; - foreach my $file ($list_file, - $exclude_list_file, - $read_lang_def, - $force_lang_def, - $diff_list_file ) { - next unless defined $file; - my $dir = dirname $file; - next unless can_read($dir) and is_dir($dir); - my $bn = basename $config_file; - if (can_read("$dir/$bn")) { - $found_it = "$dir/$bn"; - print "Using configuration file $found_it\n" if $opt_v; - last; - } - } - return $found_it; -} -# 1}}} -sub write_null_results { # {{{ - my ($json, $xml, $report_file,) = @_; - print "-> write_null_results\n" if $opt_v > 2; - if ((defined $json) or (defined $xml)) { - my $line = ""; - if (defined $json) { - $line = "{}"; - } else { - $line = ''; - } - if (defined $report_file) { - open OUT, ">$report_file" or die "Cannot write to $report_file $!\n"; - print OUT "$line\n"; - close OUT; - } else { - print "$line\n"; - } - } - print "<- write_null_results\n" if $opt_v > 2; -} # }}} -sub glob2regex { # {{{ - # convert simple xpath-style glob pattern to a regex - my $globstr = shift; - my $re = $globstr; - $re =~ s{^["']}{}; - $re =~ s{^\.\/}{}; - $re =~ s{["']$}{}; - $re =~ s{\.}{\\.}g; - $re =~ s{\*\*}{\cx}g; # ctrl x = .*? - $re =~ s{\*}{\cy}g; # ctrl y = [^/]* - $re =~ s{\cx}{.*?}g; - $re =~ s{\cy}{[^/]*}g; - return '^' . $re . '$'; -} # }}} -sub load_json { # {{{1 - # - # Load a cloc-generated JSON string into %contents - # $contents{filename}{blank|comment|code|language} = value - # then print in a variety of formats. - # - my ($json_string, ) = @_; - print "-> load_json()\n" if $opt_v > 2; - - my %contents = (); - my $heading = undef; - foreach (split /\n/, $json_string) { - if (/^{?"(.*?)"/) { - $heading = $1; - } else { - if (/^\s+"(.*?)"\s*:\s+(\d+(\.\d+)?)\b/) { - # numeric value - $contents{$heading}{$1} = $2; - } elsif (/^\s+"(.*?)"\s*:\s+"(.*?)"/) { - $contents{$heading}{$1} = $2; - } - } - } - my $url = $contents{'header'}{'cloc_url'}; - my $ver = $contents{'header'}{'cloc_version'}; - my $sec = $contents{'header'}{'elapsed_seconds'}; - my $n_file = $contents{'header'}{'n_files'}; - my $n_line = $contents{'header'}{'n_lines'}; - $sec = $sec == 0 ? 1.0e-3 : $sec; - my $header = sprintf "%s v %s T=%.2f s (%.1f files/s, %.1f lines/s)", - $url, $ver, $sec, $n_file/$sec, $n_line/$sec; - delete $contents{'header'}; - delete $contents{'SUM'}; - - my @file_list = (sort { $contents{$b}{'code'} <=> - $contents{$a}{'code'} } keys %contents ); -#die Dumper(\%contents); - # Determine column widths for output - my $file_len = 0; - my $lang_len = 0; - foreach my $file (keys %contents) { - my $flen = length $file; - my $llen = length $contents{$file}{'language'}; - $file_len = $file_len > $flen ? $file_len : $flen; - $lang_len = $lang_len > $llen ? $lang_len : $llen; - } - print "<- load_json()\n" if $opt_v > 2; - return $file_len, $lang_len, $header, %contents; -} -# 1}}} -sub print_format_n { # {{{1 - # by file with - # format 1 : Language | files | blank | comment | code - # format 2 : Language | files | blank | comment | code | total - # format 3 : File | Language | blank | comment | code - # format 4 : File | blank | comment | code | total - # format 5 : File | Language | blank | comment | code | total - my ($format, $file_len, $lang_len, $header, %contents) = @_; - print "-> print_format_n($format)\n" if $opt_v > 2; - my @prt_lines = (); - - # 8 = characters in "Language" - $lang_len = max(8, $lang_len); - my %str_fmt = ( - 1 => sprintf("%%-%ds %%7s %%7s %%7s %%7s\n", $lang_len), - 2 => sprintf("%%-%ds %%7s %%7s %%7s %%7s %%7s\n", $lang_len), - 3 => sprintf("%%-%ds %%-%ds %%7s %%7s %%7s\n", $file_len, $lang_len), - 4 => sprintf("%%-%ds %%7s %%7s %%7s %%7s\n", $file_len), - 5 => sprintf("%%-%ds %%-%ds %%7s %%7s %%7s %%7s\n", $file_len, $lang_len), - ); - my %val_fmt = ( - 1 => sprintf("%%-%ds %%7d %%7d %%7d %%7d\n", $lang_len), - 2 => sprintf("%%-%ds %%7d %%7d %%7d %%7d %%7d\n", $lang_len), - 3 => sprintf("%%-%ds %%-%ds %%7d %%7d %%7d\n", $file_len, $lang_len), - 4 => sprintf("%%-%ds %%7d %%7d %%7d %%7d\n", $file_len), - 5 => sprintf("%%-%ds %%-%ds %%7d %%7d %%7d %%7d\n", $file_len, $lang_len), - ); - my %language = (); - foreach my $file (keys %contents) { - my $lang = $contents{$file}{'language'}; - $language{$lang}{'files'} += 1; - foreach my $category ('blank', 'comment', 'code',) { - $language{$lang}{$category} += $contents{$file}{$category}; - $language{$lang}{'total'} += $contents{$file}{$category}; - } - } - my @file_list = (sort { $contents{$b}{'code'} <=> - $contents{$a}{'code'} } keys %contents ); - my @lang_list = (sort { $language{$b}{'code'} <=> - $language{$a}{'code'} } keys %language ); - - my %hyphens = ( - 1 => "-" x ($lang_len + 4*9), - 2 => "-" x ($lang_len + 5*9), - 3 => "-" x ($lang_len + $file_len + 2 + 3*9), - 4 => "-" x ($file_len + 4*9), - 5 => "-" x ($lang_len + $file_len + 2 + 4*9), - ); - my %col_headings = ( - 1 => ["Language", "files", "blank", "comment", "code"], - 2 => ["Language", "files", "blank", "comment", "code", "Total"], - 3 => ["File", "Language", "blank", "comment", "code"], - 4 => ["File", "blank", "comment", "code", "Total"], - 5 => ["File", "Language", "blank", "comment", "code", "Total"], - ); - - push @prt_lines, "$header\n"; - push @prt_lines, "$hyphens{$format}\n"; - push @prt_lines, sprintf $str_fmt{$format}, @{$col_headings{$format}}; - push @prt_lines, "$hyphens{$format}\n"; - my ($n_files, $n_blank, $n_comment, $n_code, $n_total) = (0, 0, 0, 0, 0); - my @out; - if ($format < 3) { - # by language - foreach my $lang (@lang_list) { - my ($nF, $nB, $nCm, $nCo) = ($language{$lang}{'files'}, - $language{$lang}{'blank'}, - $language{$lang}{'comment'}, - $language{$lang}{'code'}); - if ($format == 1) { - @out = ($lang, $nF, $nB, $nCm, $nCo); - } else { - @out = ($lang, $nF, $nB, $nCm, $nCo, $nB + $nCm + $nCo); - } - push @prt_lines, sprintf $val_fmt{$format}, @out; - $n_files += $nF; - $n_blank += $nB; - $n_comment += $nCm; - $n_code += $nCo; - $n_total += $nB + $nCm + $nCo; - } - } else { - # by file - foreach my $file (@file_list) { - my ($nB, $nCm, $nCo) = ($contents{$file}{'blank'}, - $contents{$file}{'comment'}, - $contents{$file}{'code'}); - my $lang = $contents{$file}{'language'}; - if ($format == 1) { - } elsif ($format == 3) { - @out = ($file, $lang, $nB, $nCm, $nCo); - } elsif ($format == 4) { - @out = ($file, $nB, $nCm, $nCo, $nB + $nCm + $nCo); - } else { - @out = ($file, $lang, $nB, $nCm, $nCo, $nB + $nCm + $nCo); - } - push @prt_lines, sprintf $val_fmt{$format}, @out; - $n_blank += $nB; - $n_comment += $nCm; - $n_code += $nCo; - $n_total += $nB + $nCm + $nCo; - } - } - push @prt_lines, "$hyphens{$format}\n"; - if (scalar @file_list > 1) { - if ($format == 1) { - @out = ( "SUM", $n_files, $n_blank, $n_comment, $n_code ); - } elsif ($format == 2) { - @out = ( "SUM", $n_files, $n_blank, $n_comment, $n_code, $n_total ); - } elsif ($format == 3) { - @out = ( "SUM", " ", $n_blank, $n_comment, $n_code ); - } elsif ($format == 4) { - @out = ( "SUM", $n_blank, $n_comment, $n_code, $n_total ); - } else { - @out = ( "SUM", " ", $n_blank, $n_comment, $n_code, $n_total ); - } - push @prt_lines, sprintf $val_fmt{$format}, @out; - push @prt_lines, "$hyphens{$format}\n"; - } - return @prt_lines; - print "<- print_format_n()\n" if $opt_v > 2; -} # 1}}} -# really_is_pascal, really_is_incpascal, really_is_php from SLOCCount -my %php_files = (); # really_is_php() -sub really_is_pascal { # {{{1 -# Given filename, returns TRUE if its contents really are Pascal. - -# This isn't as obvious as it seems. -# Many ".p" files are Perl files -# (such as /usr/src/redhat/BUILD/ispell-3.1/dicts/czech/glob.p), -# others are C extractions -# (such as /usr/src/redhat/BUILD/linux/include/linux/umsdos_fs.p -# and some files in linuxconf). -# However, test files in "p2c" really are Pascal, for example. - -# Note that /usr/src/redhat/BUILD/ucd-snmp-4.1.1/ov/bitmaps/UCD.20.p -# is actually C code. The heuristics determine that they're not Pascal, -# but because it ends in ".p" it's not counted as C code either. -# I believe this is actually correct behavior, because frankly it -# looks like it's automatically generated (it's a bitmap expressed as code). -# Rather than guess otherwise, we don't include it in a list of -# source files. Let's face it, someone who creates C files ending in ".p" -# and expects them to be counted by default as C files in SLOCCount needs -# their head examined. I suggest examining their head -# with a sucker rod (see syslogd(8) for more on sucker rods). - -# This heuristic counts as Pascal such files such as: -# /usr/src/redhat/BUILD/teTeX-1.0/texk/web2c/tangleboot.p -# Which is hand-generated. We don't count woven documents now anyway, -# so this is justifiable. - - my $filename = shift; - chomp($filename); - -# The heuristic is as follows: it's Pascal _IF_ it has all of the following -# (ignoring {...} and (*...*) comments): -# 1. "^..program NAME" or "^..unit NAME", -# 2. "procedure", "function", "^..interface", or "^..implementation", -# 3. a "begin", and -# 4. it ends with "end.", -# -# Or it has all of the following: -# 1. "^..module NAME" and -# 2. it ends with "end.". -# -# Or it has all of the following: -# 1. "^..program NAME", -# 2. a "begin", and -# 3. it ends with "end.". -# -# The "end." requirements in particular filter out non-Pascal. -# -# Note (jgb): this does not detect Pascal main files in fpc, like -# fpc-1.0.4/api/test/testterminfo.pas, which does not have "program" in -# it - - my $is_pascal = 0; # Value to determine. - - my $has_program = 0; - my $has_unit = 0; - my $has_module = 0; - my $has_procedure_or_function = 0; - my $found_begin = 0; - my $found_terminating_end = 0; - my $has_begin = 0; - - my $PASCAL_FILE = open_file('<', $filename, 0); - die "Can't open $filename to determine if it's pascal.\n" if !defined $PASCAL_FILE; - while(<$PASCAL_FILE>) { - s/\{.*?\}//g; # Ignore {...} comments on this line; imperfect, but effective. - s/\(\*.*?\*\)//g; # Ignore (*...*) comments on this line; imperfect, but effective. - if (m/\bprogram\s+[A-Za-z]/i) {$has_program=1;} - if (m/\bunit\s+[A-Za-z]/i) {$has_unit=1;} - if (m/\bmodule\s+[A-Za-z]/i) {$has_module=1;} - if (m/\bprocedure\b/i) { $has_procedure_or_function = 1; } - if (m/\bfunction\b/i) { $has_procedure_or_function = 1; } - if (m/^\s*interface\s+/i) { $has_procedure_or_function = 1; } - if (m/^\s*implementation\s+/i) { $has_procedure_or_function = 1; } - if (m/\bbegin\b/i) { $has_begin = 1; } - # Originally I said: - # "This heuristic fails if there are multi-line comments after - # "end."; I haven't seen that in real Pascal programs:" - # But jgb found there are a good quantity of them in Debian, specially in - # fpc (at the end of a lot of files there is a multiline comment - # with the changelog for the file). - # Therefore, assume Pascal if "end." appears anywhere in the file. - if (m/end\.\s*$/i) {$found_terminating_end = 1;} -# elsif (m/\S/) {$found_terminating_end = 0;} - } - close($PASCAL_FILE); - - # Okay, we've examined the entire file looking for clues; - # let's use those clues to determine if it's really Pascal: - - if ( ( ($has_unit || $has_program) && $has_procedure_or_function && - $has_begin && $found_terminating_end ) || - ( $has_module && $found_terminating_end ) || - ( $has_program && $has_begin && $found_terminating_end ) ) - {$is_pascal = 1;} - - return $is_pascal; -} # 1}}} -sub really_is_incpascal { # {{{1 -# Given filename, returns TRUE if its contents really are Pascal. -# For .inc files (mainly seen in fpc) - - my $filename = shift; - chomp($filename); - -# The heuristic is as follows: it is Pascal if any of the following: -# 1. really_is_pascal returns true -# 2. Any usual reserved word is found (program, unit, const, begin...) - - # If the general routine for Pascal files works, we have it - if (really_is_pascal($filename)) { - return 1; - } - - my $is_pascal = 0; # Value to determine. - my $found_begin = 0; - - my $PASCAL_FILE = open_file('<', $filename, 0); - die "Can't open $filename to determine if it's pascal.\n" if !defined $PASCAL_FILE; - while(<$PASCAL_FILE>) { - s/\{.*?\}//g; # Ignore {...} comments on this line; imperfect, but effective. - s/\(\*.*?\*\)//g; # Ignore (*...*) comments on this line; imperfect, but effective. - if (m/\bprogram\s+[A-Za-z]/i) {$is_pascal=1;} - if (m/\bunit\s+[A-Za-z]/i) {$is_pascal=1;} - if (m/\bmodule\s+[A-Za-z]/i) {$is_pascal=1;} - if (m/\bprocedure\b/i) {$is_pascal = 1; } - if (m/\bfunction\b/i) {$is_pascal = 1; } - if (m/^\s*interface\s+/i) {$is_pascal = 1; } - if (m/^\s*implementation\s+/i) {$is_pascal = 1; } - if (m/\bconstant\s+/i) {$is_pascal=1;} - if (m/\bbegin\b/i) { $found_begin = 1; } - if ((m/end\.\s*$/i) && ($found_begin = 1)) {$is_pascal = 1;} - if ($is_pascal) { - last; - } - } - - close($PASCAL_FILE); - return $is_pascal; -} # 1}}} -sub really_is_php { # {{{1 -# Given filename, returns TRUE if its contents really is php. - - my $filename = shift; - chomp($filename); - - my $is_php = 0; # Value to determine. - # Need to find a matching pair of surrounds, with ending after beginning: - my $normal_surround = 0; # - my $script_surround = 0; # ; bit 0 =