From b876e4afcab3d01f9207f9f4794828fd8b091d9d Mon Sep 17 00:00:00 2001 From: "Anna (navi) Figueiredo Gomes" Date: Sun, 19 Mar 2023 17:00:55 -0300 Subject: nvim,zzszh,gpg,i3 --- .config/i3/config | 250 ++++ .config/i3status/config | 63 + .config/neomutt/options | 5 + .config/nvim/.luarc.json | 4 + .config/nvim/colors/test.lua | 1 + .config/nvim/init.lua | 5 + .config/nvim/lua/autocmds.lua | 29 + .config/nvim/lua/keymaps.lua | 68 + .config/nvim/lua/lilies.lua | 34 + .config/nvim/lua/options.lua | 28 + .config/nvim/lua/plugins.lua | 198 +++ .config/nvim/lua/statusline.lua | 202 +++ .config/nvim/lua/ui.lua | 0 .config/nvim/lua/util.lua | 34 + .config/nvim/plugin/packer_compiled.lua | 189 +++ .config/picom/picom.conf | 453 +++++++ .config/zsh/.zcompdump | 2088 +++++++++++++++++++++++++++++++ .config/zsh/.zprofile | 18 + .config/zsh/.zshenv | 66 + .config/zsh/.zshrc | 269 ++++ 20 files changed, 4004 insertions(+) create mode 100755 .config/i3/config create mode 100755 .config/i3status/config create mode 100644 .config/nvim/.luarc.json create mode 100755 .config/nvim/colors/test.lua create mode 100755 .config/nvim/init.lua create mode 100755 .config/nvim/lua/autocmds.lua create mode 100755 .config/nvim/lua/keymaps.lua create mode 100755 .config/nvim/lua/lilies.lua create mode 100755 .config/nvim/lua/options.lua create mode 100755 .config/nvim/lua/plugins.lua create mode 100644 .config/nvim/lua/statusline.lua create mode 100755 .config/nvim/lua/ui.lua create mode 100755 .config/nvim/lua/util.lua create mode 100644 .config/nvim/plugin/packer_compiled.lua create mode 100755 .config/picom/picom.conf create mode 100644 .config/zsh/.zcompdump create mode 100755 .config/zsh/.zprofile create mode 100755 .config/zsh/.zshenv create mode 100755 .config/zsh/.zshrc (limited to '.config') diff --git a/.config/i3/config b/.config/i3/config new file mode 100755 index 0000000..5708248 --- /dev/null +++ b/.config/i3/config @@ -0,0 +1,250 @@ +#========================================================== +# +# ██╗██████╗ ██████╗ █████╗ ██████╗ ███████╗ +# ██║╚════██╗ ██╔════╝ ██╔══██╗██╔══██╗██╔════╝ +# ██║ █████╔╝█████╗██║ ███╗███████║██████╔╝███████╗ +# ██║ ╚═══██╗╚════╝██║ ██║██╔══██║██╔═══╝ ╚════██║ +# ██║██████╔╝ ╚██████╔╝██║ ██║██║ ███████║ +# ╚═╝╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚══════╝ +# +# Please see https://i3wm.org/docs/userguide.html for a complete reference! +#========================================================== + + +# ======================== Startup ======================== + +# ============ Modkey ============ +set $mod Mod4 +set $term sakura +set $monlf eDP1 +set $monrt HDMI-1-0 +set $menu rofi -show drun -show-icons + +# ============ Workspaces Setup ============ +set $ws1 "1:一" +set $ws2 "2:二" +set $ws3 "3:三" +set $ws4 "4:四" +set $ws5 "5:五" +set $ws6 "6:六" +set $ws7 "7:七" +set $ws8 "8:八" +set $ws9 "9:九" +set $ws10 "10:十" + +workspace $ws1 output $monlf +workspace $ws2 output $monlf +workspace $ws3 output $monlf +workspace $ws4 output $monlf +workspace $ws5 output $monlf +workspace $ws6 output $monrt +workspace $ws7 output $monrt +workspace $ws8 output $monrt +workspace $ws9 output $monrt +workspace $ws10 output $monrt + +bindsym $mod+1 workspace number $ws1 +bindsym $mod+2 workspace number $ws2 +bindsym $mod+3 workspace number $ws3 +bindsym $mod+4 workspace number $ws4 +bindsym $mod+5 workspace number $ws5 +bindsym $mod+6 workspace number $ws6 +bindsym $mod+7 workspace number $ws7 +bindsym $mod+8 workspace number $ws8 +bindsym $mod+9 workspace number $ws9 +bindsym $mod+0 workspace number $ws10 + +bindsym $mod+Shift+1 move container to workspace number $ws1 +bindsym $mod+Shift+2 move container to workspace number $ws2 +bindsym $mod+Shift+3 move container to workspace number $ws3 +bindsym $mod+Shift+4 move container to workspace number $ws4 +bindsym $mod+Shift+5 move container to workspace number $ws5 +bindsym $mod+Shift+6 move container to workspace number $ws6 +bindsym $mod+Shift+7 move container to workspace number $ws7 +bindsym $mod+Shift+8 move container to workspace number $ws8 +bindsym $mod+Shift+9 move container to workspace number $ws9 +bindsym $mod+Shift+0 move container to workspace number $ws10 + +# ============ Colors ============ +set_from_resource $accent accent #285577 +set_from_resource $border border #285577 +set_from_resource $inactive_border inactive_border #5f676a +set_from_resource $unfocused_border color0 #222222 +set_from_resource $background background #285577 +set_from_resource $text foreground #ffffff +set_from_resource $indicator indicator #2e9ef4 +set_from_resource $sec_indicator sec_indicator +set_from_resource $urgent alert #900000 + +client.focused $border $background $text $indicator $border +client.focused_inactive $inactive_border $background $text $sec_indicator $inactive_border +client.unfocused $unfocused_border $background $text $sec_indicator $unfocused_border +client.urgent $urgent $background $text $indicator $urgent + +font pango:JetBrains Mono 9 +#for_window [class=".*"] border pixel 2 +#gaps inner 5 + +# ============ Modes ============ +bindsym $mod+r mode "resize" +#mode "resize" { + #bindsym Left resize shrink width 5 px or 5 ppt + #bindsym Down resize shrink height 5 px or 5 ppt + #bindsym Up resize grow height 5 px or 5 ppt + #bindsym Right resize grow width 5 px or 5 ppt +# + #bindsym h resize shrink width 5 px or 5 ppt + #bindsym j resize shrink height 5 px or 5 ppt + #bindsym k resize grow height 5 px or 5 ppt + #bindsym l resize grow width 5 px or 5 ppt +# + #bindsym Return mode "default" + #bindsym Escape mode "default" + #bindsym $mod+r mode "default" +#} + +bindsym $mod+s exec --no-startup-id "i3-big-swap.py" +# mode "settings" +#mode "settings" { + #bindsym d exec dunstctl set-paused toggle + #bindsym b exec bluetooth-notif --toggle + #bindsym n exec networkmanager_dmenu, mode "default" + #bindsym m exec pamixer -t + #bindsym v exec pavucontrol + #bindsym a exec --no-startup-id "audio-output.sh", mode "default" + #bindsym o exec --no-startup-id "hdmi-xrandr", mode "default" + #bindsym r exec --no-startup-id "record-screen.sh", mode "default" + #bindsym S exec --no-startup-id "i3-big-swap.py", mode "default" +# + #bindsym Escape mode "default" +#} + +# ======================== Keybinds ======================== +# ============ System Keybinds ============ +bindsym $mod+Ctrl+c reload +bindsym $mod+Ctrl+r restart +bindsym $mod+q kill +bindsym $mod+Ctrl+Shift+q exec poweroff +bindsym $mod+Ctrl+Shift+e exit +bindsym $mod+Ctrl+Shift+r exec restart + +bindsym $mod+u [urgent=latest] focus + +#bindsym $mod+g gaps inner all toggle 5 + +bindsym $mod+Return exec $term +bindsym $mod+p exec $menu +#bindsym $mod+Shift+x exec dm-tool lock + +floating_modifier $mod + +#bindsym $mod+Escape exec "main-menu" + +bindsym $mod+b split h +bindsym $mod+v split v +bindsym $mod+Tab split toggle +bindsym $mod+Escape workspace back_and_forth + +bindsym $mod+t layout tabbed +bindsym $mod+w layout default +bindsym $mod+Shift+Tab layout toggle split + +bindsym $mod+BackSpace focus mode_toggle +bindsym $mod+Shift+BackSpace floating toggle +bindsym $mod+Ctrl+BackSpace sticky toggle + +bindsym $mod+f fullscreen toggle +bindsym $mod+a focus parent +bindsym $mod+d focus child + +# ============ Navegation & Focus Keybinds ============ +bindsym $mod+h focus left +bindsym $mod+j focus down +bindsym $mod+k focus up +bindsym $mod+l focus right + +bindsym $mod+Shift+h move left +bindsym $mod+Shift+j move down +bindsym $mod+Shift+k move up +bindsym $mod+Shift+l move right + +bindsym $mod+Ctrl+h resize shrink width 5 px or 5 ppt +bindsym $mod+Ctrl+j resize shrink height 5 px or 5 ppt +bindsym $mod+Ctrl+k resize grow height 5 px or 5 ppt +bindsym $mod+Ctrl+l resize grow width 5 px or 5 ppt + +bindsym $mod+Shift+minus move scratchpad +bindsym $mod+minus scratchpad show +bindsym $mod+tilda for_window [instace="dropdown_*"] scratchpad show +bindsym $mod+g [class="scrcpy"] scratchpad show + +# ============ Funcion Keys ============ +bindsym XF86AudioRaiseVolume exec --no-startup-id pamixer -i 5 +bindsym XF86AudioLowerVolume exec --no-startup-id pamixer -d 5 +bindsym XF86AudioMute exec --no-startup-id pamixer -t + +bindsym XF86AudioPlay exec --no-startup-id "mpc toggle" +bindsym XF86AudioNext exec --no-startup-id "mpc next" +bindsym XF86AudioPrev exec --no-startup-id "mpc prev" + +bindsym $mod+m mode "music" + +mode "music" { + bindsym a exec --no-startup-id "music album", mode "default" + bindsym m exec --no-startup-id "music title", mode "default" + bindsym s exec --no-startup-id "music artist", mode "default" + + bindsym Escape mode "default" +} + +bindsym XF86MonBrightnessUp exec --no-startup-id brightnessctl s +5% +bindsym XF86MonBrightnessDown exec --no-startup-id brightnessctl s 5%- + +# ============ User Keybinds ============ +bindsym $mod+Shift+S exec --no-startup-id "pastedit -s" +bindsym $mod+Control+S exec --no-startup-id "pastedit" + +# ============ System Application Startup ============ +exec_always --no-startup-id "~/.local/bin/hdmi-xrandr --extend" +exec_always --no-startup-id "xwallpaper --zoom \"${HOME}/.config/wallpaper\"" + +exec --no-startup-id picom --experimental-backend & +#exec --no-startup-id sakura --class=weechat -x weechat +#exec --no-startup-id sakura --class=neomutt -x neomutt +#exec --no-startup-id discord & +#exec --no-startup-id steam & + +# ============ User Application Startup ============ +# ============ Window Rules ============ +for_window [all] title_window_icon yes, title_window_icon padding 3px +for_window [class="Pavucontrol"] floating enable +for_window [title="Picture-in-Picture"] sticky enable +for_window [class="Dragon-drag-and-drop"] sticky enable +for_window [class=".*.exe"] floating enable +for_window [class="scrcpy"] floating enable, sticky enable, move scratchpad, scratchpad show + +assign [class="leagueclient.exe"] $ws5 +assign [class="leagueclientux.exe"] $ws5 +assign [class="riotclientservices.exe"] $ws5 +assign [class="neomutt"] $ws7 +assign [class="weechat"] $ws8 +assign [class="Steam"] $ws9 +assign [class="discord"] $ws10 + +bar { + status_command i3status + strip_workspace_numbers yes + position bottom + colors { + background $background + statusline $text + separator #ff0000 + # Category Border Background Text + focused_workspace $accent $accent #000000 + active_workspace $unfocused_border $unfocused_border $text + inactive_workspace $background $background $text + urgent_workspace $urgent $urgent $text + binding_mode $background $background $text + + } +} diff --git a/.config/i3status/config b/.config/i3status/config new file mode 100755 index 0000000..f0d8ce2 --- /dev/null +++ b/.config/i3status/config @@ -0,0 +1,63 @@ +# i3status configuration file. +# see "man i3status" for documentation. + +# It is important that this file is edited as UTF-8. +# The following line should contain a sharp s: +# ß +# If the above line is not correctly displayed, fix your editor first! + +general { + colors = false + color_separator = "#CDD6F4" + interval = 5 + output_format = "none" +} + +#order += "ipv6" +#order += "wireless _first_" +order += "ethernet _first_" +#order += "battery all" +order += "disk /" +#order += "disk /mnt/hdd" +order += "load" +order += "memory" +order += "time" + +wireless _first_ { + format_up = " %ip (%quality at %essid)" + format_down = "睊" + format_quality = "%d%s" +} + +ethernet _first_ { + format_up = " %ip (%speed)" + format_down = "" +} + +battery all { + format = " %percentage" +} + +disk "/" { + format = " %used" +} + +load { + format = "L: %1min" +} + +volume master { + device = "default" + format = " %volume" + format_muted = " muted" +} + +memory { + format = "﬙ %used" + threshold_degraded = "1G" + format_degraded = "MEMORY < %available" +} + +time { + format = " %b %d (%a) %I:%M%p" +} diff --git a/.config/neomutt/options b/.config/neomutt/options index b94706b..a8cf7d2 100644 --- a/.config/neomutt/options +++ b/.config/neomutt/options @@ -18,6 +18,8 @@ set smtp_pass = `pass navi@vlhl.dev` set imap_check_subscribed set imap_pass = `pass navi@vlhl.dev` +set auto_subscribe = yes + set pgp_default_key = "navi@vlhl.dev" set crypt_auto_sign = yes set crypt_verify_sig = yes @@ -29,6 +31,9 @@ set pager_context = 3 set pager_stop = yes set menu_scroll = yes +set use_threads = yes +set hide_thread_subject = no + set status_format = "[ %f ]%>─[%r%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)?%?p? (%p postponed)? ]" set status_chars = " *%A" diff --git a/.config/nvim/.luarc.json b/.config/nvim/.luarc.json new file mode 100644 index 0000000..e1b9d70 --- /dev/null +++ b/.config/nvim/.luarc.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://raw.githubusercontent.com/sumneko/vscode-lua/master/setting/schema.json", + "Lua.workspace.checkThirdParty": false +} \ No newline at end of file diff --git a/.config/nvim/colors/test.lua b/.config/nvim/colors/test.lua new file mode 100755 index 0000000..c46a1b7 --- /dev/null +++ b/.config/nvim/colors/test.lua @@ -0,0 +1 @@ +print('test dot lua') diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua new file mode 100755 index 0000000..e8e750e --- /dev/null +++ b/.config/nvim/init.lua @@ -0,0 +1,5 @@ +require('options') +require('keymaps') +require('autocmds') +require('plugins') +require('statusline') diff --git a/.config/nvim/lua/autocmds.lua b/.config/nvim/lua/autocmds.lua new file mode 100755 index 0000000..5fcb496 --- /dev/null +++ b/.config/nvim/lua/autocmds.lua @@ -0,0 +1,29 @@ +vim.api.nvim_create_autocmd('BufWritePost', { + pattern = "config", + command = '!i3-msg -q reload', +}) + +vim.api.nvim_create_autocmd('BufWritePost', { + pattern = "*.tex", + command = 'silent !pdflatex %', +}) + +vim.api.nvim_create_autocmd('BufWritePre', { + pattern = 'todo.txt', + command = 'sort', +}) + +--vim.api.nvim_create_autocmd('VimEnter', { + --once = true, + --callback = function() + --if vim.fn.filereadable('Session.vim') then + --vim.cmd('source Session.vim') + --end + --end +--}) + +vim.api.nvim_create_autocmd('TextYankPost', { + callback = function () + vim.highlight.on_yank({ higroup = 'IncSearch', timeout = 200}) + end, +}) diff --git a/.config/nvim/lua/keymaps.lua b/.config/nvim/lua/keymaps.lua new file mode 100755 index 0000000..16de10f --- /dev/null +++ b/.config/nvim/lua/keymaps.lua @@ -0,0 +1,68 @@ +vim.g.mapleader = " " +local function keymap(mode, lhs, rhs, opts) + opts = opts or { noremap = true, silent = true } + vim.keymap.set(mode, lhs, rhs, opts) +end + +keymap('n', '', + function() require('luasnip').jump(1) end, + {noremap = true, silent = true}) + +-- Map leader + s and v/h to open split +keymap('n', 'sp', ':sp') +keymap('n', 'sv', ':vsp') + +keymap('n', 'q', ':q') + +keymap('n', '', ':mksession!nvim-session:wqa') +keymap('n', '', ':wa:mksession!nvim-session') +keymap('n', '', ':sourcenvim-session') + +keymap('n', 'y', '"+y') +keymap('n', 'd', '"+d') +keymap('n', 'p', '"+p') +keymap('n', 'Y', '"+Y') +keymap('n', 'D', '"+D') +keymap('n', 'P', '"+P') + +keymap('v', 'y', '"+y') +keymap('v', 'd', '"+d') +keymap('v', 'p', '"+p') +keymap('v', 'Y', '"+Y') +keymap('v', 'D', '"+D') +keymap('v', 'P', '"+P') + +keymap('n', '', 'h') +keymap('n', '', 'k') +keymap('n', '', 'j') +keymap('n', '', 'l') + +keymap('v', '<', '', '>gv') + +keymap('i', '', '') + +vim.api.nvim_create_autocmd('User', { + pattern = 'LspAttached', + desc = 'LSP Keymaps', + callback = function() + local function bufmap(mode, lhs, rhs) + keymap(mode, lhs, rhs, { silent = true, noremap = true, buffer = true }) + end + + bufmap('n', 'gD', vim.lsp.buf.declaration) + bufmap('n', 'gd', vim.lsp.buf.definition) + bufmap('n', 'K', vim.lsp.buf.hover) + bufmap('n', 'gi', vim.lsp.buf.implementation) + bufmap('n', '', vim.lsp.buf.signature_help) + bufmap('n', 'wa', vim.lsp.buf.add_workspace_folder) + bufmap('n', 'wr', vim.lsp.buf.remove_workspace_folder) + bufmap('n', 'wl', function() print(vim.inspect(vim.lsp.buf.list_workspace_folders())) end) + bufmap('n', 'D', vim.lsp.buf.type_definition) + bufmap('n', 'rn', vim.lsp.buf.rename) + bufmap('n', 'ca', vim.lsp.buf.code_action) + bufmap('n', 'gr', vim.lsp.buf.references) + bufmap('n', 'f', vim.lsp.buf.formatting) + bufmap('n', 'e', vim.diagnostic.open_float) + end +}) diff --git a/.config/nvim/lua/lilies.lua b/.config/nvim/lua/lilies.lua new file mode 100755 index 0000000..d492426 --- /dev/null +++ b/.config/nvim/lua/lilies.lua @@ -0,0 +1,34 @@ +local M = {} + +local function highlight(group, style) + local effect = style.effect and 'gui=' .. style.effect or 'gui=NONE' + local fg = style.fg and 'gui=' .. style.fg or 'gui=NONE' + local bg = style.bg and 'gui=' .. style.bg or 'gui=NONE' + local sp = style.sp and 'gui=' .. style.sp or 'gui=NONE' +end + +local colors = { + color0 = "#20201d" + color1 = "#d73737" + color2 = "#60ac39" + color3 = "#cfb017" + color4 = "#6684e1" + color5 = "#b854d4" + color6 = "#1fad83" + color7 = "#a6a28c" + color8 = "#7d7a68" + color9 = "#d73737" + color10 = "#60ac39" + color11 = "#cfb017" + color12 = "#6684e1" + color13 = "#b854d4" + color14 = "#1fad83" + color15 = "#fefbec" + cursorColor = "#a6a28c" + background = "#20201d" + foreground = "#a6a28c" +} + +function M.colorscheme() + +end diff --git a/.config/nvim/lua/options.lua b/.config/nvim/lua/options.lua new file mode 100755 index 0000000..a32fe58 --- /dev/null +++ b/.config/nvim/lua/options.lua @@ -0,0 +1,28 @@ +--vim.opt.termguicolors = true +vim.opt.showmode = false +vim.opt.path = '.,,**' + +-- Fix split spaw location +vim.opt.splitbelow = true +vim.opt.splitright = true +vim.opt.number = true +vim.opt.relativenumber = false +vim.opt.cursorline = true + +vim.opt.autoindent = true +vim.opt.expandtab = false +vim.opt.tabstop = 4 +vim.opt.shiftwidth = 0 +vim.opt.list = true + +vim.opt.laststatus = 2 +vim.opt.foldmethod = 'marker' + +vim.opt.mouse = 'a' +vim.opt.scrolloff = 15 + +vim.opt.synmaxcol = 300 + +vim.opt.cmdheight = 0 + +--vim.g.editorconfig = true diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua new file mode 100755 index 0000000..9655992 --- /dev/null +++ b/.config/nvim/lua/plugins.lua @@ -0,0 +1,198 @@ +local ensure_packer = function() + local fn = vim.fn + local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim' + if fn.empty(fn.glob(install_path)) > 0 then + fn.system({'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path}) + vim.cmd [[packadd packer.nvim]] + return true + end + return false +end + +local packer_bootstrap = ensure_packer() + +return require('packer').startup(function(use) + use 'wbthomason/packer.nvim' + + use { + 'rose-pine/neovim', + as = 'rose-pine', + config = function() + vim.cmd('colorscheme rose-pine') + end + } + + use { + "SmiteshP/nvim-navic", + requires = "neovim/nvim-lspconfig" + } + + use { + "folke/which-key.nvim", + config = function() + require("which-key").setup { + -- your configuration comes here + -- or leave it empty to use the default settings + -- refer to the configuration section below + } + end + } + + use { + 'neovim/nvim-lspconfig', + config = function() + local lspconfig = require('lspconfig') + local capabilities = require('cmp_nvim_lsp').default_capabilities(vim.lsp.protocol.make_client_capabilities()) + local cache = os.getenv("XDG_RUNTIME_DIR") or "/tmp/" + + local on_attach = function(client, bufnr) + vim.api.nvim_exec_autocmds('User', {pattern = 'LspAttached'}) + require('nvim-navic').attach(client, bufnr) + end + + lspconfig.ccls.setup { + on_attach = on_attach, + capabilities = capabilities, + single_file_support = true, + init_options = { + cache = { + directory = cache .. "/ccls" + } + } + } + + lspconfig.phpactor.setup { + on_attach = on_attach, + capabilities = capabilities + } + + lspconfig.bashls.setup { + on_attach = on_attach, + capabilities = capabilities + } + + lspconfig.rust_analyzer.setup { + on_attach = on_attach, + capabilities = capabilities + } + + lspconfig.lua_ls.setup { + on_attach = on_attach, + capabilities = capabilities, + settings = { + Lua = { + runtime = { + version = 'LuaJIT', + }, + + diagnostics = { + globals = {'vim'}, + }, + + workspace = { + library = vim.api.nvim_get_runtime_file("", true), + }, + + telemetry = { + enable = false, + } + } + } + } + end + } + + use { + 'nvim-treesitter/nvim-treesitter', + run = ':TSUpdate', + config = function() + require'nvim-treesitter.configs'.setup { + ensure_installed = { "c", "cpp", "php", "lua" }, + sync_install = false, + auto_install = true, + highlight = { + enable = true, + additional_vim_regex_highlighting = false, + } + } + end + } + + use { + 'hrsh7th/nvim-cmp', + requires = { + 'hrsh7th/cmp-nvim-lsp', + 'hrsh7th/cmp-vsnip', + 'hrsh7th/vim-vsnip', + 'hrsh7th/cmp-nvim-lsp-signature-help', + 'hrsh7th/cmp-nvim-lsp-document-symbol', + }, + config = function() + -- Setup nvim-cmp. + local cmp = require'cmp' + local has_words_before = function() + local line, col = unpack(vim.api.nvim_win_get_cursor(0)) + return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil + end + + local feedkey = function(key, mode) + vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes(key, true, true, true), mode, true) + end + + cmp.setup({ + snippet = { + -- REQUIRED - you must specify a snippet engine + expand = function(args) + vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` users. + -- require('luasnip').lsp_expand(args.body) -- For `luasnip` users. + -- require('snippy').expand_snippet(args.body) -- For `snippy` users. + -- vim.fn["UltiSnips#Anon"](args.body) -- For `ultisnips` users. + end, + }, + window = { + completion = cmp.config.window.bordered(), + documentation = cmp.config.window.bordered(), + }, + mapping = cmp.mapping.preset.insert({ + [''] = cmp.mapping.scroll_docs(-4), + [''] = cmp.mapping.scroll_docs(4), + [''] = cmp.mapping.complete(), + [''] = cmp.mapping.abort(), + [''] = cmp.mapping.confirm({ select = false }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. + [''] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_next_item() + elseif vim.fn["vsnip#available"](1) == 1 then + feedkey("(vsnip-expand-or-jump)", "") + elseif has_words_before() then + cmp.complete() + else + fallback() -- The fallback function sends a already mapped key. In this case, it's probably ``. + end + end, { "i", "s" }), + [''] = cmp.mapping(function() + if cmp.visible() then + cmp.select_prev_item() + elseif vim.fn["vsnip#jumpable"](-1) == 1 then + feedkey("(vsnip-jump-prev)", "") + end + end, { "i", "s" }), + }), + sources = cmp.config.sources({ + { name = 'nvim_lsp' }, + { name = 'vsnip' }, -- For vsnip users. + -- { name = 'luasnip' }, -- For luasnip users. + -- { name = 'ultisnips' }, -- For ultisnips users. + -- { name = 'snippy' }, -- For snippy users. + { name = 'nvim_lsp_signature_help' } + }, { + { name = 'buffer' }, + }) + }) + end + } + + if packer_bootstrap then + require('packer').sync() + end +end) diff --git a/.config/nvim/lua/statusline.lua b/.config/nvim/lua/statusline.lua new file mode 100644 index 0000000..b7b6ed9 --- /dev/null +++ b/.config/nvim/lua/statusline.lua @@ -0,0 +1,202 @@ +local fn = vim.fn +local api = vim.api + +-- possible values are 'arrow' | 'rounded' | 'blank' +local active_sep = 'blank' + +-- change them if you want to different separator +local separators = { + arrow = { '', '' }, + rounded = { '', '' }, + blank = { '', '' }, +} + +-- highlight groups +local colors = { + active = '%#StatusLine#', + inactive = '%#StatuslineNC#', + mode = '%#Mode#', + mode_alt = '%#ModeAlt#', + git = '%#Git#', + git_alt = '%#GitAlt#', + filetype = '%#Filetype#', + filetype_alt = '%#FiletypeAlt#', + line_col = '%#LineCol#', + line_col_alt = '%#LineColAlt#', +} + +local trunc_width = setmetatable({ + mode = 80, + git_status = 90, + filename = 140, + line_col = 60, +}, { + __index = function() + return 80 + end +}) + +local is_truncated = function(_, width) + local current_width = api.nvim_win_get_width(0) + return current_width < width +end + +--local modes = setmetatable({ + --['n'] = {'Normal', 'N'}; + --['no'] = {'N·Pending', 'N·P'} ; + --['v'] = {'Visual', 'V' }; + --['V'] = {'V·Line', 'V·L' }; + --[''] = {'V·Block', 'V·B'}; -- this is not ^V, but it's , they're different + --['s'] = {'Select', 'S'}; + --['S'] = {'S·Line', 'S·L'}; + --[''] = {'S·Block', 'S·B'}; -- same with this one, it's not ^S but it's  + --['i'] = {'Insert', 'I'}; + --['ic'] = {'Insert', 'I'}; + --['R'] = {'Replace', 'R'}; + --['Rv'] = {'V·Replace', 'V·R'}; + --['c'] = {'Command', 'C'}; + --['cv'] = {'Vim·Ex ', 'V·E'}; + --['ce'] = {'Ex ', 'E'}; + --['r'] = {'Prompt ', 'P'}; + --['rm'] = {'More ', 'M'}; + --['r?'] = {'Confirm ', 'C'}; + --['!'] = {'Shell ', 'S'}; + --['t'] = {'Terminal ', 'T'}; +--}, { + --__index = function() + --return {'Unknown', 'U'} -- handle edge cases + --end +--}) + +local get_current_mode = function() + return string.format('[%s]', api.nvim_get_mode().mode ) +end + +local get_git_status = function() + -- use fallback because it doesn't set this variable on the initial `BufEnter` + local signs = vim.b.gitsigns_status_dict or {head = '', added = 0, changed = 0, removed = 0} + local is_head_empty = signs.head ~= '' + + if is_truncated(trunc_width.git_status) then + return is_head_empty and string.format('  %s ', signs.head or '') or '' + end + + return is_head_empty and string.format( + ' +%s ~%s -%s |  %s ', + signs.added, signs.changed, signs.removed, signs.head + ) or '' +end + +local get_filename = function() + --if is_truncated(trunc_width.filename) then return "%<%f" end + return "%<%F" +end + +local get_filetype = function() + local filetype = vim.bo.filetype + if filetype == '' then + return '' + end + return string.format('%s', filetype):lower() +end + +local get_line_col = function() + return '%l:%c' +end + +Statusline = {} + +Statusline.active = function() + local navic = require('nvim-navic') + + --local mode = colors.mode .. self:get_current_mode() + --local mode_alt = colors.mode_alt .. self.separators[active_sep][1] + --local git = colors.git .. self:get_git_status() + --local git_alt = colors.git_alt .. self.separators[active_sep][1] + --local filename = colors.inactive .. self:get_filename() .. colors.git_alt + --local location = "" + --if navic.is_available() then + --location = navic.get_location() + --end + --local filetype_alt = colors.filetype_alt .. self.separators[active_sep][2] + --local filetype = colors.filetype .. self:get_filetype() + --local line_col = colors.line_col .. self:get_line_col() + --local line_col_alt = colors.line_col_alt .. self.separators[active_sep][2] + + local mode = get_current_mode() + --local git = get_git_status() + local filename = get_filename() .. colors.git_alt + local location = "" + if navic.is_available() then + location = navic.get_location() + end + local filetype = get_filetype() + local line_col = get_line_col() + + return table.concat({ + mode, " ", filename, " ", "%m%r%q", " ", filetype, + "%=", + location, " ", line_col, " " + }) +end + +Statusline.inactive = function() + return colors.inactive .. '%F' +end + +Statusline.set_explorer = function() + local title = colors.mode .. '  ' + local title_alt = colors.mode_alt .. Statusline.separators[active_sep][2] + + return table.concat({ colors.active, title, title_alt }) +end + +--Statusline = setmetatable(M, { + --__call = function(statusline, mode) + --if mode == "active" then return statusline:set_active() end + --if mode == "inactive" then return statusline:set_inactive() end + --if mode == "explorer" then return statusline:set_explorer() end + --end +--}) + +local augroup = api.nvim_create_augroup('Statusline', { clear = true}) +api.nvim_create_autocmd({"WinEnter", "BufEnter"}, { + command = "setlocal statusline=%!v:lua.Statusline.active()", + group = augroup +}) +api.nvim_create_autocmd({"WinLeave", "BufLeave"}, { + command = "setlocal statusline=%!v:lua.Statusline.inactive()", + group = augroup +}) + +----[[ +-- NOTE: I don't use this since the statusline already has +-- so much stuff going on. Feel free to use it! +-- credit: https://github.com/nvim-lua/lsp-status.nvim +-- +-- I now use `tabline` to display these errors, go to `_bufferline.lua` if you +-- want to check that out +----]] +-- Statusline.get_lsp_diagnostic = function(self) +-- local result = {} +-- local levels = { +-- errors = 'Error', +-- warnings = 'Warning', +-- info = 'Information', +-- hints = 'Hint' +-- } + +-- for k, level in pairs(levels) do +-- result[k] = vim.lsp.diagnostic.get_count(0, level) +-- end + +-- if self:is_truncated(120) then +-- return '' +-- else +-- return string.format( +-- "| :%s :%s :%s :%s ", +-- result['errors'] or 0, result['warnings'] or 0, +-- result['info'] or 0, result['hints'] or 0 +-- ) +-- end +-- end diff --git a/.config/nvim/lua/ui.lua b/.config/nvim/lua/ui.lua new file mode 100755 index 0000000..e69de29 diff --git a/.config/nvim/lua/util.lua b/.config/nvim/lua/util.lua new file mode 100755 index 0000000..8b57d32 --- /dev/null +++ b/.config/nvim/lua/util.lua @@ -0,0 +1,34 @@ +return { + { + 'windwp/nvim-autopairs', + after = 'nvim-lspconfig', + config = function() + require('nvim-autopairs').setup{} + end + }, + { + 'nvim-lua/plenary.nvim' + }, + { + 'tversteeg/registers.nvim' + }, + { + 'nvim-telescope/telescope.nvim', + -- requires = { 'nvim-lua/plenary.nvim' }, + config = function() + local keymap = vim.api.nvim_set_keymap + local opts = { noremap = true, silent = true } + + keymap('n', 'ff', 'Telescope find_files', opts) + keymap('n', 'fb', 'Telescope buffers', opts) + keymap('n', 'fh', 'Telescope help_tags', opts) + keymap('n', 'fg', 'Telescope live_grep', opts) + end + }, + { + 'xiyaowong/which-key.nvim', + config = function() + require("which-key").setup() + end + } +} diff --git a/.config/nvim/plugin/packer_compiled.lua b/.config/nvim/plugin/packer_compiled.lua new file mode 100644 index 0000000..41ea80b --- /dev/null +++ b/.config/nvim/plugin/packer_compiled.lua @@ -0,0 +1,189 @@ +-- 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/anna/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/anna/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/anna/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/anna/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua" +local install_cpath_pattern = "/home/anna/.cache/nvim/packer_hererocks/2.1.0-beta3/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 = { + ["cmp-nvim-lsp"] = { + loaded = true, + path = "/home/anna/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp", + url = "https://github.com/hrsh7th/cmp-nvim-lsp" + }, + ["cmp-nvim-lsp-document-symbol"] = { + loaded = true, + path = "/home/anna/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp-document-symbol", + url = "https://github.com/hrsh7th/cmp-nvim-lsp-document-symbol" + }, + ["cmp-nvim-lsp-signature-help"] = { + loaded = true, + path = "/home/anna/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp-signature-help", + url = "https://github.com/hrsh7th/cmp-nvim-lsp-signature-help" + }, + ["cmp-vsnip"] = { + loaded = true, + path = "/home/anna/.local/share/nvim/site/pack/packer/start/cmp-vsnip", + url = "https://github.com/hrsh7th/cmp-vsnip" + }, + ["nvim-cmp"] = { + config = { "\27LJ\2\n\1\0\0\b\0\b\2!6\0\0\0006\2\1\0009\2\2\0029\2\3\2)\4\0\0B\2\2\0A\0\0\3\b\1\0\0X\2\206\2\1\0009\2\2\0029\2\4\2)\4\0\0\23\5\1\0\18\6\0\0+\a\2\0B\2\5\2:\2\1\2\18\4\2\0009\2\5\2\18\5\1\0\18\6\1\0B\2\4\2\18\4\2\0009\2\6\2'\5\a\0B\2\3\2\n\2\0\0X\2\2+\2\1\0X\3\1+\2\2\0L\2\2\0\a%s\nmatch\bsub\23nvim_buf_get_lines\24nvim_win_get_cursor\bapi\bvim\vunpack\0\2p\0\2\n\0\4\0\0156\2\0\0009\2\1\0029\2\2\0026\4\0\0009\4\1\0049\4\3\4\18\6\0\0+\a\2\0+\b\2\0+\t\2\0B\4\5\2\18\5\1\0+\6\2\0B\2\4\1K\0\1\0\27nvim_replace_termcodes\18nvim_feedkeys\bapi\bvim;\0\1\4\0\4\0\0066\1\0\0009\1\1\0019\1\2\0019\3\3\0B\1\2\1K\0\1\0\tbody\20vsnip#anonymous\afn\bvim\1\0\1\5\3\b\1 -\1\0\0009\1\0\1B\1\1\2\15\0\1\0X\2\4-\1\0\0009\1\1\1B\1\1\1X\1\226\1\2\0009\1\3\0019\1\4\1)\3\1\0B\1\2\2\t\1\0\0X\1\5-\1\1\0'\3\5\0'\4\6\0B\1\3\1X\1\n-\1\2\0B\1\1\2\15\0\1\0X\2\4-\1\0\0009\1\a\1B\1\1\1X\1\2\18\1\0\0B\1\1\1K\0\1\0\0\2\1\rcomplete\5!(vsnip-expand-or-jump)\20vsnip#available\afn\bvim\21select_next_item\fvisible\2\1\0\0\4\2\a\1\21-\0\0\0009\0\0\0B\0\1\2\15\0\0\0X\1\4-\0\0\0009\0\1\0B\0\1\1X\0\v6\0\2\0009\0\3\0009\0\4\0)\2B\0\2\2\t\0\0\0X\0\4-\0\1\0'\2\5\0'\3\6\0B\0\3\1K\0\1\0\0\2\5\28(vsnip-jump-prev)\19vsnip#jumpable\afn\bvim\21select_prev_item\fvisible\2\4\1\0\r\0)\0O6\0\0\0'\2\1\0B\0\2\0023\1\2\0003\2\3\0009\3\4\0005\5\b\0005\6\6\0003\a\5\0=\a\a\6=\6\t\0055\6\r\0009\a\n\0009\a\v\a9\a\f\aB\a\1\2=\a\14\0069\a\n\0009\a\v\a9\a\f\aB\a\1\2=\a\15\6=\6\v\0059\6\16\0009\6\17\0069\6\18\0065\b\20\0009\t\16\0009\t\19\t)\vB\t\2\2=\t\21\b9\t\16\0009\t\19\t)\v\4\0B\t\2\2=\t\22\b9\t\16\0009\t\23\tB\t\1\2=\t\24\b9\t\16\0009\t\25\tB\t\1\2=\t\26\b9\t\16\0009\t\27\t5\v\28\0B\t\2\2=\t\29\b9\t\16\0003\v\30\0005\f\31\0B\t\3\2=\t \b9\t\16\0003\v!\0005\f\"\0B\t\3\2=\t#\bB\6\2\2=\6\16\0059\6\n\0009\6$\0064\b\4\0005\t%\0>\t\1\b5\t&\0>\t\2\b5\t'\0>\t\3\b4\t\3\0005\n(\0>\n\1\tB\6\3\2=\6$\5B\3\2\0012\0\0K\0\1\0\1\0\1\tname\vbuffer\1\0\1\tname\28nvim_lsp_signature_help\1\0\1\tname\nvsnip\1\0\1\tname\rnvim_lsp\fsources\f\1\3\0\0\6i\6s\0\n\1\3\0\0\6i\6s\0\t\1\0\1\vselect\1\fconfirm\n\nabort\14\rcomplete\n\n\1\0\0\16scroll_docs\vinsert\vpreset\fmapping\18documentation\15completion\1\0\0\rbordered\vwindow\vconfig\fsnippet\1\0\0\vexpand\1\0\0\0\nsetup\0\0\bcmp\frequire\0" }, + loaded = true, + path = "/home/anna/.local/share/nvim/site/pack/packer/start/nvim-cmp", + url = "https://github.com/hrsh7th/nvim-cmp" + }, + ["nvim-lspconfig"] = { + config = { "\27LJ\2\nw\0\2\6\1\6\0\f6\2\0\0009\2\1\0029\2\2\2'\4\3\0005\5\4\0B\2\3\1-\2\0\0009\2\5\2\18\4\0\0\18\5\1\0B\2\3\1K\0\1\0\3\vattach\1\0\1\fpattern\16LspAttached\tUser\23nvim_exec_autocmds\bapi\bvim\6\1\0\15\0003\0U6\0\0\0'\2\1\0B\0\2\0026\1\0\0'\3\2\0B\1\2\0029\1\3\0016\3\4\0009\3\5\0039\3\6\0039\3\a\3B\3\1\0A\1\0\0026\2\b\0009\2\t\2'\4\n\0B\2\2\2\14\0\2\0X\3\1'\2\v\0006\3\0\0'\5\f\0B\3\2\0023\4\r\0009\5\14\0009\5\15\0055\a\16\0=\4\17\a=\1\18\a5\b\22\0005\t\20\0\18\n\2\0'\v\19\0&\n\v\n=\n\21\t=\t\23\b=\b\24\aB\5\2\0019\5\25\0009\5\15\0055\a\26\0=\4\17\a=\1\18\aB\5\2\0019\5\27\0009\5\15\0055\a\28\0=\4\17\a=\1\18\aB\5\2\0019\5\29\0009\5\15\0055\a\30\0=\4\17\a=\1\18\aB\5\2\0019\5\31\0009\5\15\0055\a \0=\4\17\a=\1\18\a5\b0\0005\t\"\0005\n!\0=\n#\t5\n%\0005\v$\0=\v&\n=\n'\t5\n+\0006\v\4\0009\v(\v9\v)\v'\r*\0+\14\2\0B\v\3\2=\v,\n=\n-\t5\n.\0=\n/\t=\t1\b=\b2\aB\5\2\0012\0\0K\0\1\0\rsettings\bLua\1\0\0\14telemetry\1\0\1\venable\1\14workspace\flibrary\1\0\0\5\26nvim_get_runtime_file\bapi\16diagnostics\fglobals\1\0\0\1\2\0\0\bvim\fruntime\1\0\0\1\0\1\fversion\vLuaJIT\1\0\0\vlua_ls\1\0\0\18rust_analyzer\1\0\0\vbashls\1\0\0\rphpactor\17init_options\ncache\1\0\0\14directory\1\0\0\n/ccls\17capabilities\14on_attach\1\0\1\24single_file_support\2\nsetup\tccls\0\15nvim-navic\n/tmp/\20XDG_RUNTIME_DIR\vgetenv\aos\29make_client_capabilities\rprotocol\blsp\bvim\25default_capabilities\17cmp_nvim_lsp\14lspconfig\frequire\0" }, + loaded = true, + path = "/home/anna/.local/share/nvim/site/pack/packer/start/nvim-lspconfig", + url = "https://github.com/neovim/nvim-lspconfig" + }, + ["nvim-navic"] = { + loaded = true, + path = "/home/anna/.local/share/nvim/site/pack/packer/start/nvim-navic", + url = "https://github.com/SmiteshP/nvim-navic" + }, + ["nvim-treesitter"] = { + config = { "\27LJ\2\n\1\0\0\4\0\b\0\v6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\4\0005\3\3\0=\3\5\0025\3\6\0=\3\a\2B\0\2\1K\0\1\0\14highlight\1\0\2\venable\2&additional_vim_regex_highlighting\1\21ensure_installed\1\0\2\17auto_install\2\17sync_install\1\1\5\0\0\6c\bcpp\bphp\blua\nsetup\28nvim-treesitter.configs\frequire\0" }, + loaded = true, + path = "/home/anna/.local/share/nvim/site/pack/packer/start/nvim-treesitter", + url = "https://github.com/nvim-treesitter/nvim-treesitter" + }, + ["packer.nvim"] = { + loaded = true, + path = "/home/anna/.local/share/nvim/site/pack/packer/start/packer.nvim", + url = "https://github.com/wbthomason/packer.nvim" + }, + ["rose-pine"] = { + config = { "\27LJ\2\n9\0\0\3\0\3\0\0056\0\0\0009\0\1\0'\2\2\0B\0\2\1K\0\1\0\26colorscheme rose-pine\bcmd\bvim\0" }, + loaded = true, + path = "/home/anna/.local/share/nvim/site/pack/packer/start/rose-pine", + url = "https://github.com/rose-pine/neovim" + }, + ["rust-tools.nvim"] = { + config = { "\27LJ\2\nZ\0\2\6\0\5\0\a6\2\0\0009\2\1\0029\2\2\2'\4\3\0005\5\4\0B\2\3\1K\0\1\0\1\0\1\fpattern\16LspAttached\tUser\23nvim_exec_autocmds\bapi\bvim\1\1\0\a\0\15\0\0226\0\0\0'\2\1\0B\0\2\0026\1\0\0'\3\2\0B\1\2\0029\1\3\0016\3\4\0009\3\5\0039\3\6\0039\3\a\3B\3\1\0A\1\0\0023\2\b\0009\3\t\0005\5\r\0005\6\n\0=\2\v\6=\1\f\6=\6\14\5B\3\2\1K\0\1\0\vserver\1\0\0\17capabilities\14on_attach\1\0\0\nsetup\0\29make_client_capabilities\rprotocol\blsp\bvim\25default_capabilities\17cmp_nvim_lsp\15rust-tools\frequire\0" }, + loaded = true, + path = "/home/anna/.local/share/nvim/site/pack/packer/start/rust-tools.nvim", + url = "https://github.com/simrat39/rust-tools.nvim" + }, + ["vim-vsnip"] = { + loaded = true, + path = "/home/anna/.local/share/nvim/site/pack/packer/start/vim-vsnip", + url = "https://github.com/hrsh7th/vim-vsnip" + }, + ["which-key.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\14which-key\frequire\0" }, + loaded = true, + path = "/home/anna/.local/share/nvim/site/pack/packer/start/which-key.nvim", + url = "https://github.com/folke/which-key.nvim" + } +} + +time([[Defining packer_plugins]], false) +-- Config for: nvim-cmp +time([[Config for nvim-cmp]], true) +try_loadstring("\27LJ\2\n\1\0\0\b\0\b\2!6\0\0\0006\2\1\0009\2\2\0029\2\3\2)\4\0\0B\2\2\0A\0\0\3\b\1\0\0X\2\206\2\1\0009\2\2\0029\2\4\2)\4\0\0\23\5\1\0\18\6\0\0+\a\2\0B\2\5\2:\2\1\2\18\4\2\0009\2\5\2\18\5\1\0\18\6\1\0B\2\4\2\18\4\2\0009\2\6\2'\5\a\0B\2\3\2\n\2\0\0X\2\2+\2\1\0X\3\1+\2\2\0L\2\2\0\a%s\nmatch\bsub\23nvim_buf_get_lines\24nvim_win_get_cursor\bapi\bvim\vunpack\0\2p\0\2\n\0\4\0\0156\2\0\0009\2\1\0029\2\2\0026\4\0\0009\4\1\0049\4\3\4\18\6\0\0+\a\2\0+\b\2\0+\t\2\0B\4\5\2\18\5\1\0+\6\2\0B\2\4\1K\0\1\0\27nvim_replace_termcodes\18nvim_feedkeys\bapi\bvim;\0\1\4\0\4\0\0066\1\0\0009\1\1\0019\1\2\0019\3\3\0B\1\2\1K\0\1\0\tbody\20vsnip#anonymous\afn\bvim\1\0\1\5\3\b\1 -\1\0\0009\1\0\1B\1\1\2\15\0\1\0X\2\4-\1\0\0009\1\1\1B\1\1\1X\1\226\1\2\0009\1\3\0019\1\4\1)\3\1\0B\1\2\2\t\1\0\0X\1\5-\1\1\0'\3\5\0'\4\6\0B\1\3\1X\1\n-\1\2\0B\1\1\2\15\0\1\0X\2\4-\1\0\0009\1\a\1B\1\1\1X\1\2\18\1\0\0B\1\1\1K\0\1\0\0\2\1\rcomplete\5!(vsnip-expand-or-jump)\20vsnip#available\afn\bvim\21select_next_item\fvisible\2\1\0\0\4\2\a\1\21-\0\0\0009\0\0\0B\0\1\2\15\0\0\0X\1\4-\0\0\0009\0\1\0B\0\1\1X\0\v6\0\2\0009\0\3\0009\0\4\0)\2B\0\2\2\t\0\0\0X\0\4-\0\1\0'\2\5\0'\3\6\0B\0\3\1K\0\1\0\0\2\5\28(vsnip-jump-prev)\19vsnip#jumpable\afn\bvim\21select_prev_item\fvisible\2\4\1\0\r\0)\0O6\0\0\0'\2\1\0B\0\2\0023\1\2\0003\2\3\0009\3\4\0005\5\b\0005\6\6\0003\a\5\0=\a\a\6=\6\t\0055\6\r\0009\a\n\0009\a\v\a9\a\f\aB\a\1\2=\a\14\0069\a\n\0009\a\v\a9\a\f\aB\a\1\2=\a\15\6=\6\v\0059\6\16\0009\6\17\0069\6\18\0065\b\20\0009\t\16\0009\t\19\t)\vB\t\2\2=\t\21\b9\t\16\0009\t\19\t)\v\4\0B\t\2\2=\t\22\b9\t\16\0009\t\23\tB\t\1\2=\t\24\b9\t\16\0009\t\25\tB\t\1\2=\t\26\b9\t\16\0009\t\27\t5\v\28\0B\t\2\2=\t\29\b9\t\16\0003\v\30\0005\f\31\0B\t\3\2=\t \b9\t\16\0003\v!\0005\f\"\0B\t\3\2=\t#\bB\6\2\2=\6\16\0059\6\n\0009\6$\0064\b\4\0005\t%\0>\t\1\b5\t&\0>\t\2\b5\t'\0>\t\3\b4\t\3\0005\n(\0>\n\1\tB\6\3\2=\6$\5B\3\2\0012\0\0K\0\1\0\1\0\1\tname\vbuffer\1\0\1\tname\28nvim_lsp_signature_help\1\0\1\tname\nvsnip\1\0\1\tname\rnvim_lsp\fsources\f\1\3\0\0\6i\6s\0\n\1\3\0\0\6i\6s\0\t\1\0\1\vselect\1\fconfirm\n\nabort\14\rcomplete\n\n\1\0\0\16scroll_docs\vinsert\vpreset\fmapping\18documentation\15completion\1\0\0\rbordered\vwindow\vconfig\fsnippet\1\0\0\vexpand\1\0\0\0\nsetup\0\0\bcmp\frequire\0", "config", "nvim-cmp") +time([[Config for nvim-cmp]], false) +-- Config for: which-key.nvim +time([[Config for which-key.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\14which-key\frequire\0", "config", "which-key.nvim") +time([[Config for which-key.nvim]], false) +-- Config for: rose-pine +time([[Config for rose-pine]], true) +try_loadstring("\27LJ\2\n9\0\0\3\0\3\0\0056\0\0\0009\0\1\0'\2\2\0B\0\2\1K\0\1\0\26colorscheme rose-pine\bcmd\bvim\0", "config", "rose-pine") +time([[Config for rose-pine]], false) +-- Config for: nvim-treesitter +time([[Config for nvim-treesitter]], true) +try_loadstring("\27LJ\2\n\1\0\0\4\0\b\0\v6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\4\0005\3\3\0=\3\5\0025\3\6\0=\3\a\2B\0\2\1K\0\1\0\14highlight\1\0\2\venable\2&additional_vim_regex_highlighting\1\21ensure_installed\1\0\2\17auto_install\2\17sync_install\1\1\5\0\0\6c\bcpp\bphp\blua\nsetup\28nvim-treesitter.configs\frequire\0", "config", "nvim-treesitter") +time([[Config for nvim-treesitter]], false) +-- Config for: nvim-lspconfig +time([[Config for nvim-lspconfig]], true) +try_loadstring("\27LJ\2\nw\0\2\6\1\6\0\f6\2\0\0009\2\1\0029\2\2\2'\4\3\0005\5\4\0B\2\3\1-\2\0\0009\2\5\2\18\4\0\0\18\5\1\0B\2\3\1K\0\1\0\3\vattach\1\0\1\fpattern\16LspAttached\tUser\23nvim_exec_autocmds\bapi\bvim\6\1\0\15\0003\0U6\0\0\0'\2\1\0B\0\2\0026\1\0\0'\3\2\0B\1\2\0029\1\3\0016\3\4\0009\3\5\0039\3\6\0039\3\a\3B\3\1\0A\1\0\0026\2\b\0009\2\t\2'\4\n\0B\2\2\2\14\0\2\0X\3\1'\2\v\0006\3\0\0'\5\f\0B\3\2\0023\4\r\0009\5\14\0009\5\15\0055\a\16\0=\4\17\a=\1\18\a5\b\22\0005\t\20\0\18\n\2\0'\v\19\0&\n\v\n=\n\21\t=\t\23\b=\b\24\aB\5\2\0019\5\25\0009\5\15\0055\a\26\0=\4\17\a=\1\18\aB\5\2\0019\5\27\0009\5\15\0055\a\28\0=\4\17\a=\1\18\aB\5\2\0019\5\29\0009\5\15\0055\a\30\0=\4\17\a=\1\18\aB\5\2\0019\5\31\0009\5\15\0055\a \0=\4\17\a=\1\18\a5\b0\0005\t\"\0005\n!\0=\n#\t5\n%\0005\v$\0=\v&\n=\n'\t5\n+\0006\v\4\0009\v(\v9\v)\v'\r*\0+\14\2\0B\v\3\2=\v,\n=\n-\t5\n.\0=\n/\t=\t1\b=\b2\aB\5\2\0012\0\0K\0\1\0\rsettings\bLua\1\0\0\14telemetry\1\0\1\venable\1\14workspace\flibrary\1\0\0\5\26nvim_get_runtime_file\bapi\16diagnostics\fglobals\1\0\0\1\2\0\0\bvim\fruntime\1\0\0\1\0\1\fversion\vLuaJIT\1\0\0\vlua_ls\1\0\0\18rust_analyzer\1\0\0\vbashls\1\0\0\rphpactor\17init_options\ncache\1\0\0\14directory\1\0\0\n/ccls\17capabilities\14on_attach\1\0\1\24single_file_support\2\nsetup\tccls\0\15nvim-navic\n/tmp/\20XDG_RUNTIME_DIR\vgetenv\aos\29make_client_capabilities\rprotocol\blsp\bvim\25default_capabilities\17cmp_nvim_lsp\14lspconfig\frequire\0", "config", "nvim-lspconfig") +time([[Config for nvim-lspconfig]], false) +-- Config for: rust-tools.nvim +time([[Config for rust-tools.nvim]], true) +try_loadstring("\27LJ\2\nZ\0\2\6\0\5\0\a6\2\0\0009\2\1\0029\2\2\2'\4\3\0005\5\4\0B\2\3\1K\0\1\0\1\0\1\fpattern\16LspAttached\tUser\23nvim_exec_autocmds\bapi\bvim\1\1\0\a\0\15\0\0226\0\0\0'\2\1\0B\0\2\0026\1\0\0'\3\2\0B\1\2\0029\1\3\0016\3\4\0009\3\5\0039\3\6\0039\3\a\3B\3\1\0A\1\0\0023\2\b\0009\3\t\0005\5\r\0005\6\n\0=\2\v\6=\1\f\6=\6\14\5B\3\2\1K\0\1\0\vserver\1\0\0\17capabilities\14on_attach\1\0\0\nsetup\0\29make_client_capabilities\rprotocol\blsp\bvim\25default_capabilities\17cmp_nvim_lsp\15rust-tools\frequire\0", "config", "rust-tools.nvim") +time([[Config for rust-tools.nvim]], 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/picom/picom.conf b/.config/picom/picom.conf new file mode 100755 index 0000000..96393b1 --- /dev/null +++ b/.config/picom/picom.conf @@ -0,0 +1,453 @@ +################################# +# Shadows # +################################# + + +# Enabled client-side shadows on windows. Note desktop windows +# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow, +# unless explicitly requested using the wintypes option. +# +# shadow = false +shadow = true; + +# The blur radius for shadows, in pixels. (defaults to 12) +# shadow-radius = 12 +shadow-radius = 7; + +# The opacity of shadows. (0.0 - 1.0, defaults to 0.75) +# shadow-opacity = .75 + +# The left offset for shadows, in pixels. (defaults to -15) +# shadow-offset-x = -15 +shadow-offset-x = -7; + +# The top offset for shadows, in pixels. (defaults to -15) +# shadow-offset-y = -15 +shadow-offset-y = -7; + +# Avoid drawing shadows on dock/panel windows. This option is deprecated, +# you should use the *wintypes* option in your config file instead. +# +# no-dock-shadow = false + +# Don't draw shadows on drag-and-drop windows. This option is deprecated, +# you should use the *wintypes* option in your config file instead. +# +# no-dnd-shadow = false + +# Red color value of shadow (0.0 - 1.0, defaults to 0). +# shadow-red = 0 + +# Green color value of shadow (0.0 - 1.0, defaults to 0). +# shadow-green = 0 + +# Blue color value of shadow (0.0 - 1.0, defaults to 0). +# shadow-blue = 0 + +# Do not paint shadows on shaped windows. Note shaped windows +# here means windows setting its shape through X Shape extension. +# Those using ARGB background is beyond our control. +# Deprecated, use +# shadow-exclude = 'bounding_shaped' +# or +# shadow-exclude = 'bounding_shaped && !rounded_corners' +# instead. +# +# shadow-ignore-shaped = '' + +# Specify a list of conditions of windows that should have no shadow. +# +# examples: +# shadow-exclude = "n:e:Notification"; +# +# shadow-exclude = [] +shadow-exclude = [ + "name = 'Notification'", + "class_g = 'Conky'", + "class_g ?= 'Notify-osd'", + "class_g = 'Cairo-clock'", + "_GTK_FRAME_EXTENTS@:c", + "class_g = 'firefox' && window_type = 'utility'", + "class_g = 'Rofi'" +]; + +# Specify a X geometry that describes the region in which shadow should not +# be painted in, such as a dock window region. Use +# shadow-exclude-reg = "x10+0+0" +# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on. +# +# shadow-exclude-reg = "" + +# Crop shadow of a window fully on a particular Xinerama screen to the screen. +# xinerama-shadow-crop = false + + +################################# +# Fading # +################################# + + +# Fade windows in/out when opening/closing and when opacity changes, +# unless no-fading-openclose is used. +# fading = false +fading = false; + +# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028) +# fade-in-step = 0.028 +fade-in-step = 0.03; + +# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03) +# fade-out-step = 0.03 +fade-out-step = 0.03; + +# The time between steps in fade step, in milliseconds. (> 0, defaults to 10) +# fade-delta = 10 + +# Specify a list of conditions of windows that should not be faded. +# fade-exclude = [] + +# Do not fade on window open/close. +# no-fading-openclose = false + +# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc. +# no-fading-destroyed-argb = false + + +################################# +# Transparency / Opacity # +################################# + + +# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0) +# inactive-opacity = 1 +inactive-opacity = 1.0; + +# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default) +frame-opacity = 1.0; + +# Default opacity for dropdown menus and popup menus. (0.0 - 1.0, defaults to 1.0) +# menu-opacity = 1.0 + +# Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows. +# inactive-opacity-override = true +inactive-opacity-override = false; + +# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0) +# active-opacity = 1.0 + +# Dim inactive windows. (0.0 - 1.0, defaults to 0.0) +inactive-dim = 0.0 + +# Specify a list of conditions of windows that should always be considered focused. +# focus-exclude = [] +focus-exclude = [ "class_g = 'Cairo-clock'" ]; + +# Use fixed inactive dim value, instead of adjusting according to window opacity. +# inactive-dim-fixed = 1.0 + +# Specify a list of opacity rules, in the format `PERCENT:PATTERN`, +# like `50:name *= "Firefox"`. picom-trans is recommended over this. +# Note we don't make any guarantee about possible conflicts with other +# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows. +# example: +# opacity-rule = [ "80:class_g = 'URxvt'" ]; +# +# opacity-rule = [] +opacity-rule = [ "100:class_g = 'net.battlescribe.desktop.rostereditor.RosterEditorApplication'" ]; + + +################################# +# Background-Blurring # +################################# + + +# Parameters for background blurring, see the *BLUR* section for more information. +# blur-method = +# blur-size = 12 +# +# blur-deviation = false + +# Blur background of semi-transparent / ARGB windows. +# Bad in performance, with driver-dependent behavior. +# The name of the switch may change without prior notifications. +# +blur-background = false + +# Blur background of windows when the window frame is not opaque. +# Implies: +# blur-background +# Bad in performance, with driver-dependent behavior. The name may change. +# +# blur-background-frame = false + + +# Use fixed blur strength rather than adjusting according to window opacity. +# blur-background-fixed = false + + +# Specify the blur convolution kernel, with the following format: +# example: +# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"; +# +# blur-kern = '' +blur-kern = "3x3box"; + + +# Exclude conditions for background blur. +# blur-background-exclude = [] +blur-background-exclude = [ + "window_type = 'dock'", + "window_type = 'desktop'", + "_GTK_FRAME_EXTENTS@:c", + "class_g = 'firefox' && window_type = 'utility'" +]; + +################################# +# Animation Settings # +################################# +#transition-length = 75; +#transition-pow-x = 0.1; +#transition-pow-y = 0.1; +#transition-pow-w = 0.1; +#transition-pow-h = 0.1; +#size-transition = true; + +animations = true; +animation-stiffness = 300.0; +animation-dampening = 22.0; +animation-clamping = true; +animation-mass = 1; +animation-for-open-window = "zoom"; +animation-for-menu-window = "slide-down"; +animation-for-transient-window = "slide-down"; + +# (requires pijulius) +animation-for-workspace-switch-in = "zoom"; +animation-for-workspace-switch-out = "zoom"; + + +################################# +# General Settings # +################################# + +# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers. +# daemon = false + +# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`. +# `xrender` is the default one. +# +backend = "glx"; +# backend = "xrender"; + +experimental-backends = true; +# Enable/disable VSync. +# vsync = false +vsync = true; + +# Enable remote control via D-Bus. See the *D-BUS API* section below for more details. +# dbus = false + +# Try to detect WM windows (a non-override-redirect window with no +# child that has 'WM_STATE') and mark them as active. +# +# mark-wmwin-focused = false +mark-wmwin-focused = true; + +# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused. +# mark-ovredir-focused = false +mark-ovredir-focused = true; + +# Try to detect windows with rounded corners and don't consider them +# shaped windows. The accuracy is not very high, unfortunately. +# +# detect-rounded-corners = false +detect-rounded-corners = true; + +# Detect '_NET_WM_OPACITY' on client windows, useful for window managers +# not passing '_NET_WM_OPACITY' of client windows to frame windows. +# +# detect-client-opacity = false +detect-client-opacity = true; + +# Specify refresh rate of the screen. If not specified or 0, picom will +# try detecting this with X RandR extension. +# +# refresh-rate = 60 +refresh-rate = 0 + +# Limit picom to repaint at most once every 1 / 'refresh_rate' second to +# boost performance. This should not be used with +# vsync drm/opengl/opengl-oml +# as they essentially does sw-opti's job already, +# unless you wish to specify a lower refresh rate than the actual value. +# +# sw-opti = + +# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window, +# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy, +# provided that the WM supports it. +# +# use-ewmh-active-win = false + +# Unredirect all windows if a full-screen opaque window is detected, +# to maximize performance for full-screen windows. Known to cause flickering +# when redirecting/unredirecting windows. +# +# unredir-if-possible = false + +# Delay before unredirecting the window, in milliseconds. Defaults to 0. +# unredir-if-possible-delay = 0 + +# Conditions of windows that shouldn't be considered full-screen for unredirecting screen. +# unredir-if-possible-exclude = [] + +# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows +# in the same group focused at the same time. +# +# detect-transient = false +detect-transient = true + +# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same +# group focused at the same time. 'WM_TRANSIENT_FOR' has higher priority if +# detect-transient is enabled, too. +# +# detect-client-leader = false +detect-client-leader = true + +# Resize damaged region by a specific number of pixels. +# A positive value enlarges it while a negative one shrinks it. +# If the value is positive, those additional pixels will not be actually painted +# to screen, only used in blur calculation, and such. (Due to technical limitations, +# with use-damage, those pixels will still be incorrectly painted to screen.) +# Primarily used to fix the line corruption issues of blur, +# in which case you should use the blur radius value here +# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`, +# with a 5x5 one you use `--resize-damage 2`, and so on). +# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly. +# +# resize-damage = 1 + +# Specify a list of conditions of windows that should be painted with inverted color. +# Resource-hogging, and is not well tested. +# +# invert-color-include = [] + +# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer. +# Might cause incorrect opacity when rendering transparent content (but never +# practically happened) and may not work with blur-background. +# My tests show a 15% performance boost. Recommended. +# +# glx-no-stencil = false + +# GLX backend: Avoid rebinding pixmap on window damage. +# Probably could improve performance on rapid window content changes, +# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.). +# Recommended if it works. +# +# glx-no-rebind-pixmap = false + +# Disable the use of damage information. +# This cause the whole screen to be redrawn everytime, instead of the part of the screen +# has actually changed. Potentially degrades the performance, but might fix some artifacts. +# The opposing option is use-damage +# +# no-use-damage = false +use-damage = true + +# Use X Sync fence to sync clients' draw calls, to make sure all draw +# calls are finished before picom starts drawing. Needed on nvidia-drivers +# with GLX backend for some users. +# +# xrender-sync-fence = false + +# GLX backend: Use specified GLSL fragment shader for rendering window contents. +# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl` +# in the source tree for examples. +# +# glx-fshader-win = '' + +# Force all windows to be painted with blending. Useful if you +# have a glx-fshader-win that could turn opaque pixels transparent. +# +# force-win-blend = false + +# Do not use EWMH to detect fullscreen windows. +# Reverts to checking if a window is fullscreen based only on its size and coordinates. +# +# no-ewmh-fullscreen = false + +# Dimming bright windows so their brightness doesn't exceed this set value. +# Brightness of a window is estimated by averaging all pixels in the window, +# so this could comes with a performance hit. +# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0) +# +# max-brightness = 1.0 + +# Make transparent windows clip other windows like non-transparent windows do, +# instead of blending on top of them. +# +# transparent-clipping = false + +# Set the log level. Possible values are: +# "trace", "debug", "info", "warn", "error" +# in increasing level of importance. Case doesn't matter. +# If using the "TRACE" log level, it's better to log into a file +# using *--log-file*, since it can generate a huge stream of logs. +# +# log-level = "debug" +log-level = "warn"; + +# Set the log file. +# If *--log-file* is never specified, logs will be written to stderr. +# Otherwise, logs will to written to the given file, though some of the early +# logs might still be written to the stderr. +# When setting this option from the config file, it is recommended to use an absolute path. +# +# log-file = '/path/to/your/log/file' + +# Show all X errors (for debugging) +# show-all-xerrors = false + +# Write process ID to a file. +# write-pid-path = '/path/to/your/log/file' + +# Window type settings +# +# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard: +# "unknown", "desktop", "dock", "toolbar", "menu", "utility", +# "splash", "dialog", "normal", "dropdown_menu", "popup_menu", +# "tooltip", "notification", "combo", and "dnd". +# +# Following per window-type options are available: :: +# +# fade, shadow::: +# Controls window-type-specific shadow and fade settings. +# +# opacity::: +# Controls default opacity of the window type. +# +# focus::: +# Controls whether the window of this type is to be always considered focused. +# (By default, all window types except "normal" and "dialog" has this on.) +# +# full-shadow::: +# Controls whether shadow is drawn under the parts of the window that you +# normally won't be able to see. Useful when the window has parts of it +# transparent, and you want shadows in those areas. +# +# redir-ignore::: +# Controls whether this type of windows should cause screen to become +# redirected again after been unredirected. If you have unredir-if-possible +# set, and doesn't want certain window to cause unnecessary screen redirection, +# you can set this to `true`. +# +wintypes: +{ + tooltip = { fade = true; shadow = true; opacity = 1.0; focus = true; full-shadow = false; }; + dock = { shadow = false; } + dnd = { shadow = false; } + popup_menu = { opacity = 1.0; shadow = false } + dropdown_menu = { opacity = 1.0; shadow = false } +}; + + diff --git a/.config/zsh/.zcompdump b/.config/zsh/.zcompdump new file mode 100644 index 0000000..c9bc85b --- /dev/null +++ b/.config/zsh/.zcompdump @@ -0,0 +1,2088 @@ +#files: 995 version: 5.9 + +_comps=( +'-' '_precommand' +'.' '_source' +'5g' '_go' +'5l' '_go' +'6g' '_go' +'6l' '_go' +'8g' '_go' +'8l' '_go' +'a2dismod' '_a2utils' +'a2dissite' '_a2utils' +'a2enmod' '_a2utils' +'a2ensite' '_a2utils' +'a2ps' '_a2ps' +'aaaa' '_hosts' +'aap' '_aap' +'abcde' '_abcde' +'ack' '_ack' +'ack2' '_ack' +'ack-grep' '_ack' +'ack-standalone' '_ack' +'acpi' '_acpi' +'acpitool' '_acpitool' +'acroread' '_acroread' +'adb' '_adb' +'add-zle-hook-widget' '_add-zle-hook-widget' +'add-zsh-hook' '_add-zsh-hook' +'admin' '_sccs' +'ali' '_mh' +'alias' '_alias' +'amaya' '_webbrowser' +'analyseplugin' '_analyseplugin' +'animate' '_imagemagick' +'anno' '_mh' +'ansible' '_ansible' +'ansible-config' '_ansible' +'ansible-console' '_ansible' +'ansible-doc' '_ansible' +'ansible-galaxy' '_ansible' +'ansible-inventory' '_ansible' +'ansible-playbook' '_ansible' +'ansible-pull' '_ansible' +'ansible-vault' '_ansible' +'ant' '_ant' +'antiword' '_antiword' +'aodh' '_openstack' +'aoss' '_precommand' +'apache2ctl' '_apachectl' +'apachectl' '_apachectl' +'aplay' '_alsa-utils' +'apm' '_apm' +'appletviewer' '_java' +'apropos' '_man' +'apt' '_apt' +'apt-cache' '_apt' +'apt-cdrom' '_apt' +'apt-config' '_apt' +'apt-file' '_apt-file' +'apt-get' '_apt' +'aptitude' '_aptitude' +'apt-mark' '_apt' +'apt-move' '_apt-move' +'apt-show-versions' '_apt-show-versions' +'apvlv' '_pdf' +'arduino-ctags' '_ctags' +'arecord' '_alsa-utils' +'arena' '_webbrowser' +'_arguments' '__arguments' +'arp' '_arp' +'arping' '_arping' +'-array-value-' '_value' +'asciidoctor' '_asciidoctor' +'asciinema' '_asciinema' +'ash' '_sh' +'-assign-parameter-' '_assign' +'at' '_at' +'atq' '_at' +'atrm' '_at' +'attr' '_attr' +'augtool' '_augeas' +'auto-apt' '_auto-apt' +'autoload' '_typeset' +'avahi-browse' '_avahi' +'avahi-browse-domains' '_avahi' +'avahi-resolve' '_avahi' +'avahi-resolve-address' '_avahi' +'avahi-resolve-host-name' '_avahi' +'awk' '_awk' +'axi-cache' '_axi-cache' +'b2sum' '_md5sum' +'barbican' '_openstack' +'base32' '_base64' +'base64' '_base64' +'basename' '_basename' +'basenc' '_basenc' +'bash' '_bash' +'batch' '_at' +'baz' '_baz' +'beadm' '_beadm' +'beep' '_beep' +'bg' '_jobs_bg' +'bibtex' '_bibtex' +'bindkey' '_bindkey' +'bison' '_bison' +'bmake' '_make' +'bogofilter' '_bogofilter' +'bogotune' '_bogofilter' +'bogoutil' '_bogofilter' +'bpython' '_bpython' +'bpython2' '_bpython' +'bpython2-gtk' '_bpython' +'bpython2-urwid' '_bpython' +'bpython3' '_bpython' +'bpython3-gtk' '_bpython' +'bpython3-urwid' '_bpython' +'bpython-gtk' '_bpython' +'bpython-urwid' '_bpython' +'-brace-parameter-' '_brace_parameter' +'brctl' '_brctl' +'bsdconfig' '_bsdconfig' +'bsdgrep' '_grep' +'bsdinstall' '_bsdinstall' +'bsdtar' '_tar' +'btdownloadcurses' '_bittorrent' +'btdownloadgui' '_bittorrent' +'btdownloadheadless' '_bittorrent' +'btlaunchmany' '_bittorrent' +'btlaunchmanycurses' '_bittorrent' +'btmakemetafile' '_bittorrent' +'btreannounce' '_bittorrent' +'btrename' '_bittorrent' +'btrfs' '_btrfs' +'bts' '_bts' +'btshowmetainfo' '_bittorrent' +'bttrack' '_bittorrent' +'bug' '_bug' +'buildhash' '_ispell' +'builtin' '_builtin' +'bunzip2' '_bzip2' +'burst' '_mh' +'bwrap' '_bwrap' +'bzcat' '_bzip2' +'bzegrep' '_grep' +'bzfgrep' '_grep' +'bzgrep' '_grep' +'bzip2' '_bzip2' +'bzip2recover' '_bzip2' +'bzr' '_bzr' +'c++' '_gcc' +'cabal' '_cabal' +'caffeinate' '_caffeinate' +'cal' '_cal' +'calendar' '_calendar' +'cat' '_cat' +'catchsegv' '_precommand' +'cc' '_gcc' +'ccal' '_ccal' +'cd' '_cd' +'cdbs-edit-patch' '_cdbs-edit-patch' +'cdc' '_sccs' +'cdcd' '_cdcd' +'cdr' '_cdr' +'cdrdao' '_cdrdao' +'cdrecord' '_cdrecord' +'ceilometer' '_openstack' +'certtool' '_gnutls' +'cftp' '_twisted' +'chage' '_users' +'chattr' '_chattr' +'chcon' '_chcon' +'chdir' '_cd' +'chflags' '_chflags' +'chfn' '_users' +'chgrp' '_chown' +'chimera' '_webbrowser' +'chkconfig' '_chkconfig' +'chkstow' '_stow' +'chmod' '_chmod' +'choom' '_choom' +'chown' '_chown' +'chpass' '_chsh' +'chroot' '_chroot' +'chrt' '_chrt' +'chsh' '_chsh' +'ci' '_rcs' +'cifsiostat' '_sysstat' +'cinder' '_openstack' +'ckeygen' '_twisted' +'cksum' '_cksum' +'clang' '_gcc' +'clang++' '_gcc' +'clay' '_clay' +'clear' '_nothing' +'cloudkitty' '_openstack' +'clusterdb' '_postgresql' +'cmp' '_cmp' +'co' '_rcs' +'code' '_code' +'column' '_column' +'comb' '_sccs' +'combine' '_imagemagick' +'combinediff' '_patchutils' +'comm' '_comm' +'-command-' '_autocd' +'command' '_command' +'-command-line-' '_normal' +'comp' '_mh' +'compadd' '_compadd' +'compdef' '_compdef' +'composer' '_composer' +'composer.phar' '_composer' +'composite' '_imagemagick' +'compress' '_compress' +'conch' '_twisted' +'-condition-' '_condition' +'config.status' '_configure' +'configure' '_configure' +'convert' '_imagemagick' +'coreadm' '_coreadm' +'cowsay' '_cowsay' +'cowthink' '_cowsay' +'cp' '_cp' +'cpio' '_cpio' +'cplay' '_cplay' +'cpupower' '_cpupower' +'createdb' '_postgresql' +'createuser' '_postgresql' +'crontab' '_crontab' +'crsh' '_cssh' +'cryptsetup' '_cryptsetup' +'cscope' '_cscope' +'csh' '_sh' +'csplit' '_csplit' +'cssh' '_cssh' +'csup' '_csup' +'ctags' '_ctags' +'ctags-exuberant' '_ctags' +'ctags-universal' '_ctags' +'cu' '_cu' +'curl' '_curl' +'cut' '_cut' +'cvs' '_cvs' +'cvsup' '_cvsup' +'cygcheck' '_cygcheck' +'cygcheck.exe' '_cygcheck' +'cygpath' '_cygpath' +'cygpath.exe' '_cygpath' +'cygrunsrv' '_cygrunsrv' +'cygrunsrv.exe' '_cygrunsrv' +'cygserver' '_cygserver' +'cygserver.exe' '_cygserver' +'cygstart' '_cygstart' +'cygstart.exe' '_cygstart' +'dak' '_dak' +'darcs' '_darcs' +'dash' '_sh' +'date' '_date' +'dbus-launch' '_dbus' +'dbus-monitor' '_dbus' +'dbus-send' '_dbus' +'dch' '_debchange' +'dchroot' '_dchroot' +'dchroot-dsa' '_dchroot-dsa' +'dconf' '_dconf' +'dcop' '_dcop' +'dcopclient' '_dcop' +'dcopfind' '_dcop' +'dcopobject' '_dcop' +'dcopref' '_dcop' +'dcopstart' '_dcop' +'dcut' '_dcut' +'dd' '_dd' +'debchange' '_debchange' +'debcheckout' '_debcheckout' +'debdiff' '_debdiff' +'debfoster' '_debfoster' +'deborphan' '_deborphan' +'debsign' '_debsign' +'debsnap' '_debsnap' +'debuild' '_debuild' +'declare' '_typeset' +'-default-' '_default' +'defaults' '_defaults' +'delta' '_sccs' +'designate' '_openstack' +'devtodo' '_devtodo' +'df' '_df' +'dhclient' '_dhclient' +'dhclient3' '_dhclient' +'dhcpinfo' '_dhcpinfo' +'dict' '_dict' +'diff' '_diff' +'diff3' '_diff3' +'diffstat' '_diffstat' +'dig' '_dig' +'dillo' '_webbrowser' +'dircmp' '_directories' +'dirs' '_dirs' +'disable' '_disable' +'disown' '_jobs_fg' +'display' '_imagemagick' +'dist' '_mh' +'django-admin' '_django' +'django-admin.py' '_django' +'dkms' '_dkms' +'dladm' '_dladm' +'dlocate' '_dlocate' +'dmake' '_make' +'dmesg' '_dmesg' +'dmidecode' '_dmidecode' +'dnf' '_dnf' +'dnf-2' '_dnf' +'dnf-3' '_dnf' +'doas' '_doas' +'docker' '_docker' +'docker-compose' '_docker-compose' +'dockerd' '_docker' +'domainname' '_yp' +'dos2unix' '_dos2unix' +'dosdel' '_floppy' +'dosread' '_floppy' +'dpatch-edit-patch' '_dpatch-edit-patch' +'dpkg' '_dpkg' +'dpkg-buildpackage' '_dpkg-buildpackage' +'dpkg-cross' '_dpkg-cross' +'dpkg-deb' '_dpkg' +'dpkg-query' '_dpkg' +'dpkg-reconfigure' '_dpkg' +'dpkg-repack' '_dpkg-repack' +'dpkg-source' '_dpkg_source' +'dput' '_dput' +'drill' '_drill' +'dropbox' '_dropbox' +'dropdb' '_postgresql' +'dropuser' '_postgresql' +'dscverify' '_dscverify' +'dsh' '_dsh' +'dtrace' '_dtrace' +'dtruss' '_dtruss' +'du' '_du' +'dumpadm' '_dumpadm' +'dumper' '_dumper' +'dumper.exe' '_dumper' +'dupload' '_dupload' +'dvibook' '_dvi' +'dviconcat' '_dvi' +'dvicopy' '_dvi' +'dvidvi' '_dvi' +'dvipdf' '_dvi' +'dvips' '_dvi' +'dviselect' '_dvi' +'dvitodvi' '_dvi' +'dvitype' '_dvi' +'dwb' '_webbrowser' +'e2label' '_e2label' +'eatmydata' '_precommand' +'ecasound' '_ecasound' +'echotc' '_echotc' +'echoti' '_echoti' +'ed' '_ed' +'egrep' '_grep' +'elfdump' '_elfdump' +'elinks' '_elinks' +'emulate' '_emulate' +'enable' '_enable' +'enscript' '_enscript' +'entr' '_entr' +'env' '_env' +'eog' '_eog' +'epdfview' '_pdf' +'epsffit' '_psutils' +'-equal-' '_equal' +'erb' '_ruby' +'espeak' '_espeak' +'etags' '_etags' +'ethtool' '_ethtool' +'eu-nm' '_nm' +'eu-objdump' '_objdump' +'eu-readelf' '_readelf' +'eu-strings' '_strings' +'eval' '_precommand' +'eview' '_vim' +'evim' '_vim' +'evince' '_evince' +'ex' '_vi' +'exec' '_exec' +'expand' '_unexpand' +'explodepkg' '_pkgtool' +'export' '_typeset' +'express' '_webbrowser' +'extcheck' '_java' +'extractres' '_psutils' +'fakeroot' '_fakeroot' +'false' '_nothing' +'fc' '_fc' +'fc-list' '_xft_fonts' +'fc-match' '_xft_fonts' +'feh' '_feh' +'fetch' '_fetch' +'fetchmail' '_fetchmail' +'ffmpeg' '_ffmpeg' +'fg' '_jobs_fg' +'fgrep' '_grep' +'figlet' '_figlet' +'filterdiff' '_patchutils' +'find' '_find' +'findaffix' '_ispell' +'findmnt' '_findmnt' +'finger' '_finger' +'fink' '_fink' +'firefox' '_mozilla' +'firejail' '_firejail' +'-first-' '_first' +'fixdlsrps' '_psutils' +'fixfmps' '_psutils' +'fixmacps' '_psutils' +'fixpsditps' '_psutils' +'fixpspps' '_psutils' +'fixscribeps' '_psutils' +'fixtpps' '_psutils' +'fixwfwps' '_psutils' +'fixwpps' '_psutils' +'fixwwps' '_psutils' +'flac' '_flac' +'flex' '_flex' +'flex++' '_flex' +'flipdiff' '_patchutils' +'flist' '_mh' +'flists' '_mh' +'float' '_typeset' +'flowadm' '_flowadm' +'fmadm' '_fmadm' +'fmt' '_fmt' +'fmttest' '_mh' +'fned' '_zed' +'fnext' '_mh' +'fold' '_fold' +'folder' '_mh' +'folders' '_mh' +'fortune' '_fortune' +'forw' '_mh' +'fprev' '_mh' +'free' '_free' +'freebsd-make' '_make' +'freebsd-update' '_freebsd-update' +'freezer' '_openstack' +'fsh' '_fsh' +'fstat' '_fstat' +'fs_usage' '_fs_usage' +'ftp' '_hosts' +'functions' '_typeset' +'fuser' '_fuser' +'fusermount' '_fusermount' +'fwhois' '_whois' +'fw_update' '_fw_update' +'g++' '_gcc' +'galeon' '_webbrowser' +'gawk' '_awk' +'gb2sum' '_md5sum' +'gbase32' '_base64' +'gbase64' '_base64' +'gbasename' '_basename' +'gcat' '_cat' +'gcc' '_gcc' +'gccgo' '_go' +'gchgrp' '_chown' +'gchmod' '_chmod' +'gchown' '_chown' +'gchroot' '_chroot' +'gcksum' '_cksum' +'gcmp' '_cmp' +'gcomm' '_comm' +'gcore' '_gcore' +'gcp' '_cp' +'gcut' '_cut' +'gdate' '_date' +'gdb' '_gdb' +'gdd' '_dd' +'gdf' '_df' +'gdiff' '_diff' +'gdu' '_du' +'geany' '_geany' +'gegrep' '_grep' +'gem' '_gem' +'genisoimage' '_genisoimage' +'genv' '_env' +'get' '_sccs' +'getafm' '_psutils' +'getclip' '_getclip' +'getclip.exe' '_getclip' +'getconf' '_getconf' +'getent' '_getent' +'getfacl' '_getfacl' +'getfacl.exe' '_getfacl' +'getfattr' '_attr' +'getmail' '_getmail' +'getopt' '_getopt' +'getopts' '_vars' +'gex' '_vim' +'gexpand' '_unexpand' +'gfgrep' '_grep' +'gfind' '_find' +'gfmt' '_fmt' +'gfold' '_fold' +'ggetopt' '_getopt' +'ggrep' '_grep' +'ggv' '_gnome-gv' +'ghead' '_head' +'ghostscript' '_ghostscript' +'ghostview' '_pspdf' +'gid' '_id' +'ginstall' '_install' +'git' '_git' +'git-buildpackage' '_git-buildpackage' +'git-cvsserver' '_git' +'gitk' '_git' +'git-receive-pack' '_git' +'git-shell' '_git' +'git-upload-archive' '_git' +'git-upload-pack' '_git' +'gjoin' '_join' +'glance' '_openstack' +'gln' '_ln' +'global' '_global' +'glocate' '_locate' +'gls' '_ls' +'gm' '_graphicsmagick' +'gmake' '_make' +'gmd5sum' '_md5sum' +'gmkdir' '_mkdir' +'gmkfifo' '_mkfifo' +'gmknod' '_mknod' +'gmktemp' '_mktemp' +'gmplayer' '_mplayer' +'gmv' '_mv' +'gnl' '_nl' +'gnocchi' '_openstack' +'gnome-gv' '_gnome-gv' +'gnumfmt' '_numfmt' +'gnupod_addsong' '_gnupod' +'gnupod_addsong.pl' '_gnupod' +'gnupod_check' '_gnupod' +'gnupod_check.pl' '_gnupod' +'gnupod_INIT' '_gnupod' +'gnupod_INIT.pl' '_gnupod' +'gnupod_search' '_gnupod' +'gnupod_search.pl' '_gnupod' +'gnutls-cli' '_gnutls' +'gnutls-cli-debug' '_gnutls' +'gnutls-serv' '_gnutls' +'god' '_od' +'gofmt' '_go' +'gpasswd' '_gpasswd' +'gpaste' '_paste' +'gpatch' '_patch' +'gpg' '_gpg' +'gpg2' '_gpg' +'gpgv' '_gpg' +'gpg-zip' '_gpg' +'gphoto2' '_gphoto2' +'gprintenv' '_printenv' +'gprof' '_gprof' +'gqview' '_gqview' +'gradle' '_gradle' +'gradlew' '_gradle' +'grail' '_webbrowser' +'greadlink' '_readlink' +'grep' '_grep' +'grepdiff' '_patchutils' +'grep-excuses' '_grep-excuses' +'grm' '_rm' +'grmdir' '_rmdir' +'groff' '_groff' +'groupadd' '_user_admin' +'groupdel' '_groups' +'groupmod' '_user_admin' +'groups' '_users' +'growisofs' '_growisofs' +'gs' '_ghostscript' +'gsbj' '_pspdf' +'gsdj' '_pspdf' +'gsdj500' '_pspdf' +'gsed' '_sed' +'gseq' '_seq' +'gsettings' '_gsettings' +'gsha1sum' '_md5sum' +'gsha224sum' '_md5sum' +'gsha256sum' '_md5sum' +'gsha384sum' '_md5sum' +'gsha512sum' '_md5sum' +'gshred' '_shred' +'gshuf' '_shuf' +'gslj' '_pspdf' +'gslp' '_pspdf' +'gsnd' '_pspdf' +'gsort' '_sort' +'gsplit' '_split' +'gstat' '_gstat' +'gstdbuf' '_stdbuf' +'gstrings' '_strings' +'gstty' '_stty' +'gsum' '_cksum' +'gtac' '_tac' +'gtail' '_tail' +'gtar' '_tar' +'gtee' '_tee' +'gtimeout' '_timeout' +'gtouch' '_touch' +'gtr' '_tr' +'gtty' '_tty' +'guilt' '_guilt' +'guilt-add' '_guilt' +'guilt-applied' '_guilt' +'guilt-delete' '_guilt' +'guilt-files' '_guilt' +'guilt-fold' '_guilt' +'guilt-fork' '_guilt' +'guilt-header' '_guilt' +'guilt-help' '_guilt' +'guilt-import' '_guilt' +'guilt-import-commit' '_guilt' +'guilt-init' '_guilt' +'guilt-new' '_guilt' +'guilt-next' '_guilt' +'guilt-patchbomb' '_guilt' +'guilt-pop' '_guilt' +'guilt-prev' '_guilt' +'guilt-push' '_guilt' +'guilt-rebase' '_guilt' +'guilt-refresh' '_guilt' +'guilt-rm' '_guilt' +'guilt-series' '_guilt' +'guilt-status' '_guilt' +'guilt-top' '_guilt' +'guilt-unapplied' '_guilt' +'guname' '_uname' +'gunexpand' '_unexpand' +'guniq' '_uniq' +'gunzip' '_gzip' +'guptime' '_uptime' +'gv' '_gv' +'gview' '_vim' +'gvim' '_vim' +'gvimdiff' '_vim' +'gwc' '_wc' +'gwho' '_who' +'gxargs' '_xargs' +'gzcat' '_gzip' +'gzegrep' '_grep' +'gzfgrep' '_grep' +'gzgrep' '_grep' +'gzilla' '_webbrowser' +'gzip' '_gzip' +'hash' '_hash' +'hd' '_hexdump' +'hdiutil' '_hdiutil' +'head' '_head' +'heat' '_openstack' +'help' '_sccs' +'hexdump' '_hexdump' +'hilite' '_precommand' +'histed' '_zed' +'history' '_fc' +'host' '_host' +'hostname' '_hostname' +'hotjava' '_webbrowser' +'htop' '_htop' +'hwinfo' '_hwinfo' +'iceweasel' '_mozilla' +'icombine' '_ispell' +'iconv' '_iconv' +'iconvconfig' '_iconvconfig' +'id' '_id' +'identify' '_imagemagick' +'ifconfig' '_ifconfig' +'ifdown' '_net_interfaces' +'iftop' '_iftop' +'ifup' '_net_interfaces' +'ijoin' '_ispell' +'import' '_imagemagick' +'inc' '_mh' +'includeres' '_psutils' +'inetadm' '_inetadm' +'info' '_texinfo' +'infocmp' '_terminals' +'initctl' '_initctl' +'initdb' '_postgresql' +'insmod' '_modutils' +'install' '_install' +'install-info' '_texinfo' +'installpkg' '_pkgtool' +'integer' '_typeset' +'interdiff' '_patchutils' +'invoke-rc.d' '_invoke-rc.d' +'ionice' '_ionice' +'iostat' '_iostat' +'ip' '_ip' +'ip6tables' '_iptables' +'ip6tables-restore' '_iptables' +'ip6tables-save' '_iptables' +'ipadm' '_ipadm' +'ipfw' '_ipfw' +'ipkg' '_opkg' +'ipsec' '_ipsec' +'ipset' '_ipset' +'iptables' '_iptables' +'iptables-restore' '_iptables' +'iptables-save' '_iptables' +'irb' '_ruby' +'ironic' '_openstack' +'irssi' '_irssi' +'isag' '_sysstat' +'ispell' '_ispell' +'iwconfig' '_iwconfig' +'jadetex' '_tex' +'jail' '_jail' +'jar' '_java' +'jarsigner' '_java' +'java' '_java' +'javac' '_java' +'javadoc' '_java' +'javah' '_java' +'javap' '_java' +'jdb' '_java' +'jexec' '_jexec' +'jls' '_jls' +'jobs' '_jobs_builtin' +'joe' '_joe' +'join' '_join' +'jot' '_jot' +'jq' '_jq' +'kdeconnect-cli' '_kdeconnect' +'kdump' '_kdump' +'keystone' '_openstack' +'keytool' '_java' +'kfmclient' '_kfmclient' +'kill' '_kill' +'killall' '_killall' +'killall5' '_killall' +'kioclient' '_kfmclient' +'kldload' '_kld' +'kldunload' '_kld' +'knock' '_knock' +'konqueror' '_webbrowser' +'kpartx' '_kpartx' +'kpdf' '_pdf' +'ksh' '_sh' +'ksh88' '_sh' +'ksh93' '_sh' +'ktrace' '_ktrace' +'kvno' '_kvno' +'last' '_last' +'lastb' '_last' +'latex' '_tex' +'latexmk' '_tex' +'ldap' '_ldap' +'ldconfig' '_ldconfig' +'ldconfig.real' '_ldconfig' +'ldd' '_ldd' +'less' '_less' +'let' '_math' +'lftp' '_ncftp' +'lha' '_lha' +'libinput' '_libinput' +'light' '_webbrowser' +'lighty-disable-mod' '_lighttpd' +'lighty-enable-mod' '_lighttpd' +'limit' '_limit' +'links' '_links' +'links2' '_links' +'lintian' '_lintian' +'lintian-info' '_lintian' +'linux' '_uml' +'lldb' '_lldb' +'llvm-g++' '_gcc' +'llvm-gcc' '_gcc' +'llvm-objdump' '_objdump' +'llvm-otool' '_otool' +'ln' '_ln' +'loadkeys' '_loadkeys' +'local' '_typeset' +'locale' '_locale' +'localedef' '_localedef' +'locate' '_locate' +'log' '_nothing' +'logger' '_logger' +'logname' '_nothing' +'look' '_look' +'losetup' '_losetup' +'lp' '_lp' +'lpadmin' '_lp' +'lpinfo' '_lp' +'lpoptions' '_lp' +'lpq' '_lp' +'lpr' '_lp' +'lprm' '_lp' +'lpstat' '_lp' +'ls' '_ls' +'lsattr' '_lsattr' +'lsblk' '_lsblk' +'lscfg' '_lscfg' +'lsdev' '_lsdev' +'lsdiff' '_patchutils' +'lslv' '_lslv' +'lsmod' '_modutils' +'lsns' '_lsns' +'lsof' '_lsof' +'lspv' '_lspv' +'lsusb' '_lsusb' +'lsvg' '_lsvg' +'ltrace' '_ltrace' +'lua' '_lua' +'luarocks' '_luarocks' +'lynx' '_lynx' +'lz4' '_lz4' +'lz4c' '_lz4' +'lz4c32' '_lz4' +'lz4cat' '_lz4' +'lzcat' '_xz' +'lzma' '_xz' +'lzop' '_lzop' +'m-a' '_module-assistant' +'mac2unix' '_dos2unix' +'madison' '_madison' +'magnum' '_openstack' +'mail' '_mail' +'Mail' '_mail' +'mailx' '_mail' +'make' '_make' +'makeinfo' '_texinfo' +'make-kpkg' '_make-kpkg' +'makepkg' '_pkgtool' +'man' '_man' +'manage.py' '_django' +'manila' '_openstack' +'mark' '_mh' +'mat' '_mat' +'mat2' '_mat2' +'-math-' '_math' +'matlab' '_matlab' +'mattrib' '_mtools' +'mcd' '_mtools' +'mcopy' '_mtools' +'md2' '_cksum' +'md4' '_cksum' +'md5' '_cksum' +'md5sum' '_md5sum' +'mdadm' '_mdadm' +'mdel' '_mtools' +'mdeltree' '_mtools' +'mdfind' '_mdfind' +'mdir' '_mtools' +'mdls' '_mdls' +'mdu' '_mtools' +'mdutil' '_mdutil' +'members' '_members' +'mencal' '_mencal' +'mere' '_mere' +'merge' '_rcs' +'mergechanges' '_mergechanges' +'meson' '_meson' +'metaflac' '_flac' +'mformat' '_mtools' +'mgv' '_pspdf' +'mhfixmsg' '_mh' +'mhlist' '_mh' +'mhmail' '_mh' +'mhn' '_mh' +'mhparam' '_mh' +'mhpath' '_mh' +'mhshow' '_mh' +'mhstore' '_mh' +'mii-tool' '_mii-tool' +'mistral' '_openstack' +'mixerctl' '_mixerctl' +'mkdir' '_mkdir' +'mkfifo' '_mkfifo' +'mkisofs' '_growisofs' +'mknod' '_mknod' +'mksh' '_sh' +'mkshortcut' '_mkshortcut' +'mkshortcut.exe' '_mkshortcut' +'mktemp' '_mktemp' +'mktunes' '_gnupod' +'mktunes.pl' '_gnupod' +'mkzsh' '_mkzsh' +'mkzsh.exe' '_mkzsh' +'mlabel' '_mtools' +'mlocate' '_locate' +'mmd' '_mtools' +'mmm' '_webbrowser' +'mmount' '_mtools' +'mmove' '_mtools' +'modinfo' '_modutils' +'modprobe' '_modutils' +'module' '_module' +'module-assistant' '_module-assistant' +'mogrify' '_imagemagick' +'monasca' '_openstack' +'mondoarchive' '_mondo' +'montage' '_imagemagick' +'moosic' '_moosic' +'Mosaic' '_webbrowser' +'mosh' '_mosh' +'mount' '_mount' +'mozilla' '_mozilla' +'mozilla-firefox' '_mozilla' +'mozilla-xremote-client' '_mozilla' +'mpc' '_mpc' +'mplayer' '_mplayer' +'mpstat' '_sysstat' +'mpv' '_mpv' +'mr' '_myrepos' +'mrd' '_mtools' +'mread' '_mtools' +'mren' '_mtools' +'msgchk' '_mh' +'mt' '_mt' +'mtn' '_monotone' +'mtoolstest' '_mtools' +'mtr' '_mtr' +'mtype' '_mtools' +'munchlist' '_ispell' +'mupdf' '_mupdf' +'murano' '_openstack' +'mush' '_mail' +'mutt' '_mutt' +'mv' '_mv' +'mvim' '_vim' +'mx' '_hosts' +'mysql' '_mysql_utils' +'mysqladmin' '_mysql_utils' +'mysqldiff' '_mysqldiff' +'mysqldump' '_mysql_utils' +'mysqlimport' '_mysql_utils' +'mysqlshow' '_mysql_utils' +'nail' '_mail' +'native2ascii' '_java' +'nautilus' '_nautilus' +'nawk' '_awk' +'nc' '_netcat' +'ncal' '_cal' +'ncftp' '_ncftp' +'ncl' '_nedit' +'nedit' '_nedit' +'nedit-nc' '_nedit' +'netcat' '_netcat' +'netrik' '_webbrowser' +'netscape' '_netscape' +'netstat' '_netstat' +'networksetup' '_networksetup' +'neutron' '_openstack' +'new' '_mh' +'newgrp' '_groups' +'next' '_mh' +'nginx' '_nginx' +'ngrep' '_ngrep' +'nice' '_nice' +'ninja' '_ninja' +'nkf' '_nkf' +'nl' '_nl' +'nm' '_nm' +'nmap' '_nmap' +'nmblookup' '_samba' +'nmcli' '_networkmanager' +'nocorrect' '_precommand' +'noglob' '_precommand' +'nohup' '_precommand' +'notmuch' '_notmuch' +'nova' '_openstack' +'npm' '_npm' +'ns' '_hosts' +'nsenter' '_nsenter' +'nslookup' '_nslookup' +'ntalk' '_other_accounts' +'numfmt' '_numfmt' +'nvim' '_vim' +'nvram' '_nvram' +'objdump' '_objdump' +'od' '_od' +'odme' '_object_classes' +'odmget' '_object_classes' +'odmshow' '_object_classes' +'ogg123' '_vorbis' +'oggdec' '_vorbis' +'oggenc' '_vorbis' +'ogginfo' '_vorbis' +'oksh' '_sh' +'okular' '_okular' +'open' '_open' +'openrc' '_openrc' +'openstack' '_openstack' +'opera' '_webbrowser' +'opera-next' '_webbrowser' +'opkg' '_opkg' +'opusdec' '_opustools' +'opusenc' '_opustools' +'opusinfo' '_opustools' +'osascript' '_osascript' +'osc' '_osc' +'otool' '_otool' +'p4' '_perforce' +'p4d' '_perforce' +'pacat' '_pulseaudio' +'pack' '_pack' +'packf' '_mh' +'pacmd' '_pulseaudio' +'pactl' '_pulseaudio' +'padsp' '_pulseaudio' +'pandoc' '_pandoc' +'paplay' '_pulseaudio' +'-parameter-' '_parameter' +'parec' '_pulseaudio' +'parecord' '_pulseaudio' +'parsehdlist' '_urpmi' +'pass' '_pass' +'passwd' '_users' +'paste' '_paste' +'pasuspender' '_pulseaudio' +'patch' '_patch' +'pax' '_pax' +'pbcopy' '_pbcopy' +'pbpaste' '_pbcopy' +'pbuilder' '_pbuilder' +'pcat' '_pack' +'pcd' '_pkgcore' +'pclean' '_pkgcore' +'pconfig' '_pkgcore' +'pcp-htop' '_htop' +'pcred' '_pids' +'pdf2dsc' '_pdf' +'pdf2ps' '_pdf' +'pdffonts' '_pdf' +'pdfimages' '_pdf' +'pdfinfo' '_pdf' +'pdfjadetex' '_tex' +'pdflatex' '_tex' +'pdfopt' '_pdf' +'pdftex' '_tex' +'pdftexi2dvi' '_texinfo' +'pdftk' '_pdftk' +'pdftopbm' '_pdf' +'pdftops' '_pdf' +'pdftotext' '_pdf' +'pdksh' '_sh' +'pebuild' '_pkgcore' +'perf' '_perf' +'perl' '_perl' +'perldoc' '_perldoc' +'pfctl' '_pfctl' +'pfexec' '_pfexec' +'pfiles' '_pids' +'pflags' '_pids' +'pg_config' '_postgresql' +'pg_ctl' '_postgresql' +'pg_dump' '_postgresql' +'pg_dumpall' '_postgresql' +'pg_isready' '_postgresql' +'pgrep' '_pgrep' +'pg_restore' '_postgresql' +'pg_upgrade' '_postgresql' +'php' '_php' +'pick' '_mh' +'picocom' '_picocom' +'pidof' '_pidof' +'pidstat' '_sysstat' +'pigz' '_gzip' +'pine' '_pine' +'pinef' '_pine' +'pinfo' '_texinfo' +'ping' '_ping' +'ping6' '_ping' +'pinspect' '_pkgcore' +'piuparts' '_piuparts' +'pkg' '_pkg5' +'pkg_add' '_bsd_pkg' +'pkgadd' '_pkgadd' +'pkgcheck' '_pkgcheck' +'pkg-config' '_pkg-config' +'pkg_create' '_bsd_pkg' +'pkg_delete' '_bsd_pkg' +'pkgdev' '_pkgdev' +'pkgin' '_pkgin' +'pkg_info' '_bsd_pkg' +'pkginfo' '_pkginfo' +'pkgrm' '_pkgrm' +'pkgtool' '_pkgtool' +'pkill' '_pgrep' +'pldd' '_pids' +'plutil' '_plutil' +'pmaint' '_pkgcore' +'pmake' '_make' +'pman' '_perl_modules' +'pmap' '_pmap' +'pmcat' '_perl_modules' +'pmdesc' '_perl_modules' +'pmerge' '_pkgcore' +'pmeth' '_perl_modules' +'pmexp' '_perl_modules' +'pmfunc' '_perl_modules' +'pmload' '_perl_modules' +'pmls' '_perl_modules' +'pmpath' '_perl_modules' +'pmvers' '_perl_modules' +'podgrep' '_perl_modules' +'podpath' '_perl_modules' +'podtoc' '_perl_modules' +'poff' '_pon' +'policytool' '_java' +'pon' '_pon' +'popd' '_directory_stack' +'portaudit' '_portaudit' +'portlint' '_portlint' +'portmaster' '_portmaster' +'portsnap' '_portsnap' +'postconf' '_postfix' +'postgres' '_postgresql' +'postmaster' '_postgresql' +'postqueue' '_postfix' +'postsuper' '_postfix' +'powerd' '_powerd' +'pquery' '_pkgcore' +'pr' '_pr' +'prev' '_mh' +'print' '_print' +'printenv' '_printenv' +'printf' '_print' +'procstat' '_procstat' +'prompt' '_prompt' +'prove' '_prove' +'prs' '_sccs' +'prstat' '_prstat' +'prt' '_sccs' +'prun' '_pids' +'ps' '_ps' +'ps2ascii' '_pspdf' +'ps2epsi' '_postscript' +'ps2pdf' '_postscript' +'ps2pdf12' '_postscript' +'ps2pdf13' '_postscript' +'ps2pdf14' '_postscript' +'ps2pdfwr' '_postscript' +'ps2ps' '_postscript' +'psbook' '_psutils' +'pscp' '_pscp' +'pscp.exe' '_pscp' +'psed' '_sed' +'psig' '_pids' +'psite' '_pkgcore' +'psmerge' '_psutils' +'psmulti' '_postscript' +'psnup' '_psutils' +'psql' '_postgresql' +'psresize' '_psutils' +'psselect' '_psutils' +'pstack' '_pids' +'pstoedit' '_pspdf' +'pstop' '_pids' +'pstops' '_psutils' +'pstotgif' '_pspdf' +'pswrap' '_postscript' +'ptree' '_ptree' +'ptx' '_ptx' +'pulseaudio' '_pulseaudio' +'pump' '_pump' +'pushd' '_cd' +'putclip' '_putclip' +'putclip.exe' '_putclip' +'pv' '_pv' +'pwait' '_pids' +'pwdx' '_pids' +'pwgen' '_pwgen' +'pyhtmlizer' '_twisted' +'qdbus' '_qdbus' +'qiv' '_qiv' +'qpdf' '_qpdf' +'qtplay' '_qtplay' +'querybts' '_bug' +'quilt' '_quilt' +'r' '_fc' +'rake' '_rake' +'ranlib' '_ranlib' +'rar' '_rar' +'rc' '_sh' +'rcctl' '_rcctl' +'rclone' '_rclone' +'rcp' '_rlogin' +'rcs' '_rcs' +'rcsdiff' '_rcs' +'rc-service' '_rc-service' +'rc-status' '_rc-status' +'rc-update' '_rc-update' +'rdesktop' '_rdesktop' +'read' '_read' +'readelf' '_readelf' +'readlink' '_readlink' +'readonly' '_typeset' +'readshortcut' '_readshortcut' +'readshortcut.exe' '_readshortcut' +'rebootin' '_rebootin' +'-redirect-' '_redirect' +'-redirect-,<,bunzip2' '_bzip2' +'-redirect-,<,bzip2' '_bzip2' +'-redirect-,>,bzip2' '_bzip2' +'-redirect-,<,compress' '_compress' +'-redirect-,>,compress' '_compress' +'-redirect-,-default-,-default-' '_files' +'-redirect-,<,gunzip' '_gzip' +'-redirect-,<,gzip' '_gzip' +'-redirect-,>,gzip' '_gzip' +'-redirect-,<,uncompress' '_compress' +'-redirect-,<,unxz' '_xz' +'-redirect-,<,xz' '_xz' +'-redirect-,>,xz' '_xz' +'refile' '_mh' +'rehash' '_hash' +'reindexdb' '_postgresql' +'reload' '_initctl' +'removepkg' '_pkgtool' +'remsh' '_rlogin' +'renice' '_renice' +'repl' '_mh' +'reportbug' '_bug' +'reprepro' '_reprepro' +'restart' '_initctl' +'retawq' '_webbrowser' +'rgrep' '_grep' +'rgview' '_vim' +'rgvim' '_vim' +'ri' '_ri' +'rlogin' '_rlogin' +'rm' '_rm' +'rmadison' '_madison' +'rmd160' '_cksum' +'rmdel' '_sccs' +'rmdir' '_rmdir' +'rmf' '_mh' +'rmic' '_java' +'rmid' '_java' +'rmiregistry' '_java' +'rmm' '_mh' +'rmmod' '_modutils' +'route' '_route' +'rpm' '_rpm' +'rpmbuild' '_rpm' +'rpmkeys' '_rpm' +'rpmquery' '_rpm' +'rpmsign' '_rpm' +'rpmspec' '_rpm' +'rpmverify' '_rpm' +'rrdtool' '_rrdtool' +'rsh' '_rlogin' +'rsync' '_rsync' +'rtin' '_tin' +'rubber' '_rubber' +'rubber-info' '_rubber' +'rubber-pipe' '_rubber' +'ruby' '_ruby' +'ruby-mri' '_ruby' +'run-help' '_run-help' +'rup' '_hosts' +'rusage' '_precommand' +'rview' '_vim' +'rvim' '_vim' +'rwho' '_hosts' +'rxvt' '_urxvt' +'s2p' '_sed' +'sact' '_sccs' +'sadf' '_sysstat' +'sahara' '_openstack' +'sar' '_sysstat' +'savecore' '_savecore' +'say' '_say' +'sbuild' '_sbuild' +'scan' '_mh' +'sccs' '_sccs' +'sccsdiff' '_sccs' +'sched' '_sched' +'schedtool' '_schedtool' +'schroot' '_schroot' +'scl' '_scl' +'scons' '_scons' +'scp' '_ssh' +'scrcpy' '_scrcpy' +'scrcpy.exe' '_scrcpy' +'screen' '_screen' +'script' '_script' +'scriptreplay' '_script' +'scselect' '_scselect' +'sc_usage' '_sc_usage' +'scutil' '_scutil' +'seaf-cli' '_seafile' +'sed' '_sed' +'senlin' '_openstack' +'seq' '_seq' +'serialver' '_java' +'service' '_service' +'set' '_set' +'setfacl' '_setfacl' +'setfacl.exe' '_setfacl' +'setfattr' '_attr' +'setopt' '_setopt' +'setpriv' '_setpriv' +'setsid' '_setsid' +'setxkbmap' '_setxkbmap' +'sftp' '_ssh' +'sh' '_sh' +'sha1' '_cksum' +'sha1sum' '_md5sum' +'sha224sum' '_md5sum' +'sha256' '_cksum' +'sha256sum' '_md5sum' +'sha384' '_cksum' +'sha384sum' '_md5sum' +'sha512' '_cksum' +'sha512sum' '_md5sum' +'sha512t256' '_cksum' +'shasum' '_shasum' +'shift' '_arrays' +'show' '_mh' +'showchar' '_psutils' +'showmount' '_showmount' +'shred' '_shred' +'shuf' '_shuf' +'shutdown' '_shutdown' +'signify' '_signify' +'sisu' '_sisu' +'skein1024' '_cksum' +'skein256' '_cksum' +'skein512' '_cksum' +'skipstone' '_webbrowser' +'slabtop' '_slabtop' +'slitex' '_tex' +'slocate' '_locate' +'slogin' '_ssh' +'slrn' '_slrn' +'smartctl' '_smartmontools' +'smbclient' '_samba' +'smbcontrol' '_samba' +'smbstatus' '_samba' +'smit' '_smit' +'smitty' '_smit' +'snoop' '_snoop' +'soa' '_hosts' +'socket' '_socket' +'sockstat' '_sockstat' +'softwareupdate' '_softwareupdate' +'sort' '_sort' +'sortm' '_mh' +'source' '_source' +'spamassassin' '_spamassassin' +'split' '_split' +'splitdiff' '_patchutils' +'sqlite' '_sqlite' +'sqlite3' '_sqlite' +'sqsh' '_sqsh' +'sr' '_surfraw' +'srptool' '_gnutls' +'ss' '_ss' +'ssh' '_ssh' +'ssh-add' '_ssh' +'ssh-agent' '_ssh' +'ssh-copy-id' '_ssh' +'sshfs' '_sshfs' +'ssh-keygen' '_ssh' +'ssh-keyscan' '_ssh' +'star' '_tar' +'start' '_initctl' +'stat' '_stat' +'status' '_initctl' +'stdbuf' '_stdbuf' +'stg' '_stgit' +'stop' '_initctl' +'stow' '_stow' +'strace' '_strace' +'strace64' '_strace' +'strftime' '_strftime' +'strings' '_strings' +'strip' '_strip' +'strongswan' '_ipsec' +'stty' '_stty' +'su' '_su' +'subl' '_sublimetext' +'-subscript-' '_subscript' +'sudo' '_sudo' +'sudoedit' '_sudo' +'sum' '_cksum' +'surfraw' '_surfraw' +'SuSEconfig' '_SUSEconfig' +'sv' '_runit' +'svcadm' '_svcadm' +'svccfg' '_svccfg' +'svcprop' '_svcprop' +'svcs' '_svcs' +'svn' '_subversion' +'svnadmin' '_subversion' +'svnadmin-static' '_subversion' +'svn-buildpackage' '_svn-buildpackage' +'svnlite' '_subversion' +'svnliteadmin' '_subversion' +'swaks' '_swaks' +'swanctl' '_swanctl' +'swift' '_swift' +'swiftc' '_swift' +'sw_vers' '_sw_vers' +'sync' '_nothing' +'sysclean' '_sysclean' +'sysctl' '_sysctl' +'sysmerge' '_sysmerge' +'syspatch' '_syspatch' +'sysrc' '_sysrc' +'systat' '_systat' +'systemd-tmpfiles' '_systemd-tmpfiles' +'system_profiler' '_system_profiler' +'sysupgrade' '_sysupgrade' +'tac' '_tac' +'tacker' '_openstack' +'tail' '_tail' +'talk' '_other_accounts' +'tar' '_tar' +'tardy' '_tardy' +'tcpdump' '_tcpdump' +'tcp_open' '_tcpsys' +'tcptraceroute' '_tcptraceroute' +'tcsh' '_sh' +'tda' '_devtodo' +'tdd' '_devtodo' +'tde' '_devtodo' +'tdr' '_devtodo' +'tee' '_tee' +'telnet' '_telnet' +'tex' '_tex' +'texi2any' '_texinfo' +'texi2dvi' '_texinfo' +'texi2pdf' '_texinfo' +'texindex' '_texinfo' +'tg' '_topgit' +'tidy' '_tidy' +'tig' '_git' +'-tilde-' '_tilde' +'time' '_precommand' +'timeout' '_timeout' +'times' '_nothing' +'tin' '_tin' +'tkconch' '_twisted' +'tkinfo' '_texinfo' +'tla' '_tla' +'tload' '_tload' +'tmux' '_tmux' +'todo' '_devtodo' +'todo.sh' '_todo.sh' +'toilet' '_toilet' +'top' '_top' +'totdconfig' '_totd' +'touch' '_touch' +'tpb' '_tpb' +'tpkg-debarch' '_toolchain-source' +'tpkg-install' '_toolchain-source' +'tpkg-install-libc' '_toolchain-source' +'tpkg-make' '_toolchain-source' +'tpkg-update' '_toolchain-source' +'tput' '_tput' +'tr' '_tr' +'tracepath' '_tracepath' +'tracepath6' '_tracepath' +'traceroute' '_hosts' +'transmission-remote' '_transmission' +'trap' '_trap' +'trash' '_trash' +'tree' '_tree' +'trial' '_twisted' +'trove' '_openstack' +'true' '_nothing' +'truncate' '_truncate' +'truss' '_truss' +'tryaffix' '_ispell' +'tty' '_tty' +'ttyctl' '_ttyctl' +'tunctl' '_uml' +'tune2fs' '_tune2fs' +'tunes2pod' '_gnupod' +'tunes2pod.pl' '_gnupod' +'twidge' '_twidge' +'twist' '_twisted' +'twistd' '_twisted' +'txt' '_hosts' +'type' '_which' +'typeset' '_typeset' +'udevadm' '_udevadm' +'ulimit' '_ulimit' +'uml_mconsole' '_uml' +'uml_moo' '_uml' +'uml_switch' '_uml' +'umount' '_mount' +'unace' '_unace' +'unalias' '_aliases' +'uname' '_uname' +'uncompress' '_compress' +'unexpand' '_unexpand' +'unfunction' '_functions' +'unget' '_sccs' +'unhash' '_unhash' +'uniq' '_uniq' +'unison' '_unison' +'units' '_units' +'unix2dos' '_dos2unix' +'unix2mac' '_dos2unix' +'unlimit' '_limits' +'unlz4' '_lz4' +'unlzma' '_xz' +'unpack' '_pack' +'unpigz' '_gzip' +'unrar' '_rar' +'unset' '_vars' +'unsetopt' '_setopt' +'unshare' '_unshare' +'unwrapdiff' '_patchutils' +'unxz' '_xz' +'unzip' '_zip' +'update-alternatives' '_update-alternatives' +'update-rc.d' '_update-rc.d' +'upgradepkg' '_pkgtool' +'uptime' '_uptime' +'urpme' '_urpmi' +'urpmf' '_urpmi' +'urpmi' '_urpmi' +'urpmi.addmedia' '_urpmi' +'urpmi.removemedia' '_urpmi' +'urpmi.update' '_urpmi' +'urpmq' '_urpmi' +'urxvt' '_urxvt' +'urxvt256c' '_urxvt' +'urxvt256cc' '_urxvt' +'urxvt256c-ml' '_urxvt' +'urxvt256c-mlc' '_urxvt' +'urxvtc' '_urxvt' +'usbconfig' '_usbconfig' +'uscan' '_uscan' +'useradd' '_user_admin' +'userdel' '_users' +'usermod' '_user_admin' +'vacuumdb' '_postgresql' +'val' '_sccs' +'valgrind' '_valgrind' +'-value-' '_value' +'-value-,ADB_TRACE,-default-' '_adb' +'-value-,ANDROID_LOG_TAGS,-default-' '_adb' +'-value-,ANDROID_SERIAL,-default-' '_adb' +'-value-,ANSIBLE_INVENTORY_ENABLED,-default-' '_ansible' +'-value-,ANSIBLE_STDOUT_CALLBACK,-default-' '_ansible' +'-value-,ANT_ARGS,-default-' '_ant' +'-value-,CFLAGS,-default-' '_gcc' +'-value-,CPPFLAGS,-default-' '_gcc' +'-value-,CXXFLAGS,-default-' '_gcc' +'-value-,-default-,-command-' '_zargs' +'-value-,-default-,-default-' '_value' +'-value-,DISPLAY,-default-' '_x_display' +'-value-,GREP_OPTIONS,-default-' '_grep' +'-value-,GZIP,-default-' '_gzip' +'-value-,LANG,-default-' '_locales' +'-value-,LANGUAGE,-default-' '_locales' +'-value-,LD_DEBUG,-default-' '_ld_debug' +'-value-,LDFLAGS,-default-' '_gcc' +'-value-,LESSCHARSET,-default-' '_less' +'-value-,LESS,-default-' '_less' +'-value-,LOOPDEV_DEBUG,-default-' '_losetup' +'-value-,LPDEST,-default-' '_printers' +'-value-,MPD_HOST,-default' '_mpc' +'-value-,P4CLIENT,-default-' '_perforce' +'-value-,P4MERGE,-default-' '_perforce' +'-value-,P4PORT,-default-' '_perforce' +'-value-,P4USER,-default-' '_perforce' +'-value-,PERLDOC,-default-' '_perldoc' +'-value-,PRINTER,-default-' '_printers' +'-value-,PROMPT2,-default-' '_ps1234' +'-value-,PROMPT3,-default-' '_ps1234' +'-value-,PROMPT4,-default-' '_ps1234' +'-value-,PROMPT,-default-' '_ps1234' +'-value-,PS1,-default-' '_ps1234' +'-value-,PS2,-default-' '_ps1234' +'-value-,PS3,-default-' '_ps1234' +'-value-,PS4,-default-' '_ps1234' +'-value-,RPROMPT2,-default-' '_ps1234' +'-value-,RPROMPT,-default-' '_ps1234' +'-value-,RPS1,-default-' '_ps1234' +'-value-,RPS2,-default-' '_ps1234' +'-value-,SPROMPT,-default-' '_ps1234' +'-value-,TERM,-default-' '_terminals' +'-value-,TERMINFO_DIRS,-default-' '_dir_list' +'-value-,TZ,-default-' '_time_zone' +'-value-,VALGRIND_OPTS,-default-' '_valgrind' +'-value-,WWW_HOME,-default-' '_urls' +'-value-,XML_CATALOG_FILES,-default-' '_xmlsoft' +'-value-,XZ_DEFAULTS,-default-' '_xz' +'-value-,XZ_OPT,-default-' '_xz' +'-vared-' '_in_vared' +'vared' '_vared' +'vcs_info_hookadd' '_vcs_info' +'vcs_info_hookdel' '_vcs_info' +'vi' '_vi' +'view' '_vi' +'vim' '_vim' +'vim-addons' '_vim-addons' +'vimdiff' '_vim' +'virsh' '_libvirt' +'virt-admin' '_libvirt' +'virt-host-validate' '_libvirt' +'virt-pki-validate' '_libvirt' +'virt-xml-validate' '_libvirt' +'visudo' '_visudo' +'vitrage' '_openstack' +'vmctl' '_vmctl' +'vmstat' '_vmstat' +'vncserver' '_vnc' +'vncviewer' '_vnc' +'vorbiscomment' '_vorbis' +'vpnc' '_vpnc' +'vpnc-connect' '_vpnc' +'vserver' '_vserver' +'w' '_w' +'w3m' '_w3m' +'wait' '_wait' +'wajig' '_wajig' +'wanna-build' '_wanna-build' +'watch' '_watch' +'watcher' '_openstack' +'wc' '_wc' +'wget' '_wget' +'wgetpaste' '_wgetpaste' +'what' '_sccs' +'whatis' '_man' +'whence' '_which' +'where' '_which' +'whereis' '_whereis' +'which' '_which' +'who' '_who' +'whoami' '_nothing' +'whois' '_whois' +'whom' '_mh' +'wiggle' '_wiggle' +'wipefs' '_wipefs' +'wodim' '_cdrecord' +'wpa_cli' '_wpa_cli' +'write' '_users_on' +'www' '_webbrowser' +'xargs' '_xargs' +'xattr' '_attr' +'xauth' '_xauth' +'xautolock' '_xautolock' +'xclip' '_xclip' +'xcode-select' '_xcode-select' +'xdpyinfo' '_x_utils' +'xdvi' '_xdvi' +'xelatex' '_tex' +'xetex' '_tex' +'xev' '_x_utils' +'xfd' '_x_utils' +'xfig' '_xfig' +'xfontsel' '_x_utils' +'xfreerdp' '_rdesktop' +'xhost' '_x_utils' +'xinput' '_xinput' +'xkill' '_x_utils' +'xli' '_xloadimage' +'xloadimage' '_xloadimage' +'xlsatoms' '_x_utils' +'xlsclients' '_x_utils' +'xml' '_xmlstarlet' +'xmllint' '_xmlsoft' +'xmlstarlet' '_xmlstarlet' +'xmms2' '_xmms2' +'xmodmap' '_xmodmap' +'xmosaic' '_webbrowser' +'xon' '_x_utils' +'xournal' '_xournal' +'xpdf' '_xpdf' +'xping' '_hosts' +'xprop' '_x_utils' +'xrandr' '_xrandr' +'xrdb' '_x_utils' +'xscreensaver-command' '_xscreensaver' +'xset' '_xset' +'xsetbg' '_xloadimage' +'xsetroot' '_x_utils' +'xsltproc' '_xmlsoft' +'xterm' '_xterm' +'xtightvncviewer' '_vnc' +'xtp' '_imagemagick' +'xv' '_xv' +'xview' '_xloadimage' +'xvnc4viewer' '_vnc' +'xvncviewer' '_vnc' +'xwallpaper' '_xwallpaper' +'xwd' '_x_utils' +'xwininfo' '_x_utils' +'xwit' '_xwit' +'xwud' '_x_utils' +'xxd' '_xxd' +'xz' '_xz' +'xzcat' '_xz' +'yafc' '_yafc' +'yash' '_sh' +'yast' '_yast' +'yast2' '_yast' +'ypbind' '_yp' +'ypcat' '_yp' +'ypmatch' '_yp' +'yppasswd' '_yp' +'yppoll' '_yp' +'yppush' '_yp' +'ypserv' '_yp' +'ypset' '_yp' +'ypwhich' '_yp' +'ypxfr' '_yp' +'ytalk' '_other_accounts' +'yt-dlp' '_yt-dlp' +'yum' '_yum' +'yumdb' '_yum' +'zargs' '_zargs' +'zathura' '_zathura' +'zcalc' '_zcalc' +'-zcalc-line-' '_zcalc_line' +'zcat' '_zcat' +'zcompile' '_zcompile' +'zcp' '_zmv' +'zdb' '_zfs' +'zdelattr' '_zattr' +'zdump' '_zdump' +'zeal' '_zeal' +'zed' '_zed' +'zegrep' '_grep' +'zen' '_webbrowser' +'zf_chgrp' '_chown' +'zf_chmod' '_chmod' +'zf_chown' '_chown' +'zfgrep' '_grep' +'zf_ln' '_ln' +'zf_mkdir' '_mkdir' +'zf_mv' '_mv' +'zf_rm' '_rm' +'zf_rmdir' '_rmdir' +'zfs' '_zfs' +'zgetattr' '_zattr' +'zgrep' '_grep' +'zip' '_zip' +'zipinfo' '_zip' +'zle' '_zle' +'zlistattr' '_zattr' +'zln' '_zmv' +'zlogin' '_zlogin' +'zmail' '_mail' +'zmodload' '_zmodload' +'zmv' '_zmv' +'zone' '_hosts' +'zoneadm' '_zoneadm' +'zparseopts' '_zparseopts' +'zpool' '_zfs' +'zpty' '_zpty' +'zsetattr' '_zattr' +'zsh' '_zsh' +'zsh-mime-handler' '_zsh-mime-handler' +'zsocket' '_zsocket' +'zstat' '_stat' +'zstyle' '_zstyle' +'ztodo' '_ztodo' +'zun' '_openstack' +'zxpdf' '_xpdf' +'zypper' '_zypper' +) + +_services=( +'bzcat' 'bunzip2' +'dch' 'debchange' +'gchgrp' 'chgrp' +'gchown' 'chown' +'gnupod_addsong.pl' 'gnupod_addsong' +'gnupod_check.pl' 'gnupod_check' +'gnupod_INIT.pl' 'gnupod_INIT' +'gnupod_search.pl' 'gnupod_search' +'gpg2' 'gpg' +'gzcat' 'gunzip' +'iceweasel' 'firefox' +'lzcat' 'unxz' +'lzma' 'xz' +'Mail' 'mail' +'mailx' 'mail' +'mktunes.pl' 'mktunes' +'nail' 'mail' +'ncl' 'nc' +'nedit-nc' 'nc' +'pcat' 'unpack' +'-redirect-,<,bunzip2' 'bunzip2' +'-redirect-,<,bzip2' 'bzip2' +'-redirect-,>,bzip2' 'bunzip2' +'-redirect-,<,compress' 'compress' +'-redirect-,>,compress' 'uncompress' +'-redirect-,<,gunzip' 'gunzip' +'-redirect-,<,gzip' 'gzip' +'-redirect-,>,gzip' 'gunzip' +'-redirect-,<,uncompress' 'uncompress' +'-redirect-,<,unxz' 'unxz' +'-redirect-,<,xz' 'xz' +'-redirect-,>,xz' 'unxz' +'remsh' 'rsh' +'slogin' 'ssh' +'svnadmin-static' 'svnadmin' +'svnlite' 'svn' +'svnliteadmin' 'svnadmin' +'tunes2pod.pl' 'tunes2pod' +'unlzma' 'unxz' +'xelatex' 'latex' +'xetex' 'tex' +'xzcat' 'unxz' +'zf_chgrp' 'chgrp' +'zf_chown' 'chown' +) + +_patcomps=( +'*/(init|rc[0-9S]#).d/*' '_init_d' +'notmuch-*' '_notmuch' +) + +_postpatcomps=( +'_*' '_compadd' +'c++-*' '_gcc' +'g++-*' '_gcc' +'gcc-*' '_gcc' +'gem[0-9.]#' '_gem' +'lua[0-9.-]##' '_lua' +'(p[bgpn]m*|*top[bgpn]m)' '_pbm' +'php[0-9.-]' '_php' +'pydoc[0-9.]#' '_pydoc' +'python[0-9.]#' '_python' +'qemu(|-system-*)' '_qemu' +'(ruby|[ei]rb)[0-9.]#' '_ruby' +'shasum(|5).*' '_shasum' +'(texi(2*|ndex))' '_texi' +'(tiff*|*2tiff|pal2rgb)' '_tiff' +'-value-,(ftp|http(|s))_proxy,-default-' '_urls' +'-value-,LC_*,-default-' '_locales' +'-value-,*path,-default-' '_directories' +'-value-,*PATH,-default-' '_dir_list' +'-value-,RUBY(LIB|OPT|PATH),-default-' '_ruby' +'*/X11(|R<4->)/*' '_x_arguments' +'yodl(|2*)' '_yodl' +'zf*' '_zftp' +) + +_compautos=( +'_call_program' '+X' +) + +zle -C _bash_complete-word .complete-word _bash_completions +zle -C _bash_list-choices .list-choices _bash_completions +zle -C _complete_debug .complete-word _complete_debug +zle -C _complete_help .complete-word _complete_help +zle -C _complete_tag .complete-word _complete_tag +zle -C _correct_filename .complete-word _correct_filename +zle -C _correct_word .complete-word _correct_word +zle -C _expand_alias .complete-word _expand_alias +zle -C _expand_word .complete-word _expand_word +zle -C _history-complete-newer .complete-word _history_complete_word +zle -C _history-complete-older .complete-word _history_complete_word +zle -C _list_expansions .list-choices _expand_word +zle -C _most_recent_file .complete-word _most_recent_file +zle -C _next_tags .list-choices _next_tags +zle -C _read_comp .complete-word _read_comp +bindkey '^X^R' _read_comp +bindkey '^X?' _complete_debug +bindkey '^XC' _correct_filename +bindkey '^Xa' _expand_alias +bindkey '^Xc' _correct_word +bindkey '^Xd' _list_expansions +bindkey '^Xe' _expand_word +bindkey '^Xh' _complete_help +bindkey '^Xm' _most_recent_file +bindkey '^Xn' _next_tags +bindkey '^Xt' _complete_tag +bindkey '^X~' _bash_list-choices +bindkey '^[,' _history-complete-newer +bindkey '^[/' _history-complete-older +bindkey '^[~' _bash_complete-word + +autoload -Uz _bwrap _docker _docker-compose _email-notmuch _firejail \ + _libinput _meson _mpv _ninja _notmuch \ + _openrc _pass _pkgcheck _pkgcore _pkgdev \ + _pulseaudio _qpdf _rc-service _rc-status _rc-update \ + _scrcpy _systemd-tmpfiles _udevadm _wgetpaste _xwallpaper \ + _yt-dlp _zathura _cdr _floppy _logical_volumes \ + _lscfg _lsdev _lslv _lspv _lsvg \ + _object_classes _physical_volumes _smit _volume_groups _bsdconfig \ + _bsd_disks _bsdinstall _bsd_pkg _chflags _csup \ + _cu _cvsup _fbsd_architectures _fbsd_device_types _fetch \ + _file_flags _freebsd-update _fstat _fw_update _gstat \ + _ipfw _jail _jails _jexec _jls \ + _jot _kdump _kld _ktrace _ktrace_points \ + _ldap _login_classes _mixerctl _nbsd_architectures _obsd_architectures \ + _pfctl _pkgin _portaudit _portlint _portmaster \ + _portsnap _powerd _procstat _rcctl _routing_domains \ + _routing_tables _signify _sockstat _sysclean _sysmerge \ + _syspatch _sysrc _systat _sysupgrade _usbconfig \ + _vmctl _watch-snoop _all_labels _all_matches _alternative \ + _approximate _arg_compile _arguments _bash_completions _cache_invalid \ + _call_function _combination _complete _complete_debug _complete_help \ + _complete_help_generic _complete_tag _comp_locale _correct _correct_filename \ + _correct_word _describe _description _dispatch _expand \ + _expand_alias _expand_word _extensions _external_pwds _generic \ + _guard _history _history_complete_word _ignored _list \ + _main_complete _match _menu _message _most_recent_file \ + _multi_parts _next_label _next_tags _normal _nothing \ + _numbers _oldlist _pick_variant _prefix _read_comp \ + _regex_arguments _regex_words _requested _retrieve_cache _sep_parts \ + _sequence _set_command _setup _store_cache _sub_commands \ + _tags _user_expand _values _wanted _cygcheck \ + _cygpath _cygrunsrv _cygserver _cygstart _dumper \ + _getclip _mkshortcut _mkzsh _pscp _putclip \ + _readshortcut _caffeinate _defaults _fink _fs_usage \ + _hdiutil _mac_applications _mac_files_for_application _mdfind _mdls \ + _mdutil _networksetup _nvram _open _osascript \ + _otool _pbcopy _plutil _qtplay _retrieve_mac_apps \ + _say _scselect _sc_usage _scutil _softwareupdate \ + _sw_vers _system_profiler _trash _xcode-select _a2utils \ + _apt _apt-file _aptitude _apt-move _apt-show-versions \ + _auto-apt _axi-cache _bts _bug _cdbs-edit-patch \ + _dak _dchroot _dchroot-dsa _dcut _deb_architectures \ + _debbugs_bugnumber _debchange _debcheckout _deb_codenames _debdiff \ + _deb_files _debfoster _deborphan _deb_packages _debsign \ + _debsnap _debuild _dlocate _dpatch-edit-patch _dpkg \ + _dpkg-buildpackage _dpkg-cross _dpkg-repack _dpkg_source _dput \ + _dscverify _dupload _git-buildpackage _grep-excuses _invoke-rc.d \ + _lighttpd _lintian _madison _make-kpkg _members \ + _mergechanges _module-assistant _pbuilder _piuparts _reprepro \ + _sbuild _schroot _svn-buildpackage _toolchain-source _update-alternatives \ + _update-rc.d _uscan _vim-addons _wajig _wanna-build \ + _acpi _acpitool _alsa-utils _analyseplugin _basenc \ + _brctl _btrfs _capabilities _chattr _chcon \ + _choom _chrt _cpupower _cryptsetup _dkms \ + _e2label _ethtool _findmnt _free _fuse_arguments \ + _fusermount _fuse_values _gpasswd _htop _iconvconfig \ + _ionice _ipset _iptables _iwconfig _kpartx \ + _losetup _lsattr _lsblk _lsns _lsusb \ + _ltrace _mat _mat2 _mdadm _mii-tool \ + _modutils _mondo _networkmanager _nsenter _opkg \ + _perf _pidof _pkgtool _pmap _qdbus \ + _schedtool _selinux_contexts _selinux_roles _selinux_types _selinux_users \ + _setpriv _setsid _slabtop _ss _sshfs \ + _strace _sysstat _tload _tpb _tracepath \ + _tune2fs _uml _unshare _valgrind _vserver \ + _wakeup_capable_devices _wipefs _wpa_cli _rebootin _urpmi \ + _dnf _rpm _scl _yum _beadm \ + _be_name _coreadm _dhcpinfo _dladm _dtrace \ + _dumpadm _flowadm _fmadm _inetadm _ipadm \ + _pfexec _pkg5 _prstat _ptree _savecore \ + _snoop _svcadm _svccfg _svcprop _svcs \ + _svcs_fmri _zlogin _zoneadm _zones _a2ps \ + _aap _abcde _absolute_command_paths _ack _adb \ + _ansible _ant _antiword _apachectl _apm \ + _arch_archives _arch_namespace _arp _arping _asciidoctor \ + _asciinema _at _attr _augeas _avahi \ + _awk _base64 _basename _bash _baudrates \ + _baz _beep _bibtex _bind_addresses _bison \ + _bittorrent _bogofilter _bpf_filters _bpython _bzip2 \ + _bzr _cabal _cal _calendar _canonical_paths \ + _cat _ccal _cdcd _cdrdao _cdrecord \ + _chkconfig _chmod _chown _chroot _chsh \ + _cksum _clay _cmdambivalent _cmdstring _cmp \ + _column _comm _composer _compress _configure \ + _cowsay _cp _cpio _cplay _crontab \ + _cscope _csplit _cssh _ctags _ctags_tags \ + _curl _cut _cvs _darcs _date \ + _date_formats _dates _dbus _dconf _dd \ + _devtodo _df _dhclient _dict _dict_words \ + _diff _diff3 _diff_options _diffstat _dig \ + _directories _dir_list _django _dmesg _dmidecode \ + _dns_types _doas _domains _dos2unix _drill \ + _dropbox _dsh _dtruss _du _dvi \ + _ecasound _ed _elfdump _elinks _email_addresses \ + _enscript _entr _env _espeak _etags \ + _fakeroot _feh _fetchmail _ffmpeg _figlet \ + _file_modes _files _file_systems _find _find_net_interfaces \ + _finger _flac _flex _fmt _fold \ + _fortune _fsh _fuser _gcc _gcore \ + _gdb _gem _genisoimage _getconf _getent \ + _getfacl _getmail _getopt _ghostscript _git \ + _global _global_tags _gnu_generic _gnupod _gnutls \ + _go _gpg _gphoto2 _gprof _gradle \ + _graphicsmagick _grep _groff _groups _growisofs \ + _gsettings _guilt _gzip _have_glob_qual _head \ + _hexdump _host _hostname _hosts _iconv \ + _id _ifconfig _iftop _imagemagick _initctl \ + _init_d _install _iostat _ip _ipsec \ + _irssi _ispell _java _java_class _joe \ + _join _jq _killall _knock _kvno \ + _last _ldconfig _ldd _ld_debug _less \ + _lha _libvirt _links _list_files _lldb \ + _ln _loadkeys _locale _localedef _locales \ + _locate _logger _look _lp _ls \ + _lsof _lua _luarocks _lynx _lz4 \ + _lzop _mail _mailboxes _make _man \ + _md5sum _mencal _mh _mime_types _mkdir \ + _mkfifo _mknod _mktemp _module _monotone \ + _moosic _mosh _mount _mpc _mt \ + _mtools _mtr _mutt _mv _my_accounts \ + _myrepos _mysqldiff _mysql_utils _ncftp _netcat \ + _net_interfaces _netstat _newsgroups _nginx _ngrep \ + _nice _nkf _nl _nm _nmap \ + _npm _nslookup _numfmt _objdump _object_files \ + _od _openstack _opustools _other_accounts _pack \ + _pandoc _paste _patch _patchutils _path_commands \ + _path_files _pax _pbm _pdf _perforce \ + _perl _perl_basepods _perldoc _perl_modules _pgids \ + _pgrep _php _picocom _pids _pine \ + _ping _pkgadd _pkg-config _pkginfo _pkg_instance \ + _pkgrm _pon _ports _postfix _postgresql \ + _postscript _pr _printenv _printers _process_names \ + _prove _ps _pspdf _psutils _ptx \ + _pump _pv _pwgen _pydoc _python \ + _python_modules _qemu _quilt _rake _ranlib \ + _rar _rclone _rcs _readelf _readlink \ + _remote_files _renice _ri _rlogin _rm \ + _rmdir _route _rrdtool _rsync _rubber \ + _ruby _runit _samba _sccs _scons \ + _screen _script _seafile _sed _seq \ + _service _services _setfacl _sh _shasum \ + _showmount _shred _shuf _shutdown _signals \ + _sisu _slrn _smartmontools _socket _sort \ + _spamassassin _split _sqlite _sqsh _ssh \ + _ssh_hosts _stat _stdbuf _stgit _stow \ + _strings _strip _stty _su _subversion \ + _sudo _surfraw _swaks _swanctl _swift \ + _sys_calls _sysctl _tac _tail _tar \ + _tar_archive _tardy _tcpdump _tcptraceroute _tee \ + _telnet _terminals _tex _texi _texinfo \ + _tidy _tiff _tilde_files _timeout _time_zone \ + _tin _tla _tmux _todo.sh _toilet \ + _top _topgit _totd _touch _tput \ + _tr _transmission _tree _truncate _truss \ + _tty _ttys _twidge _twisted _umountable \ + _unace _uname _unexpand _uniq _unison \ + _units _uptime _urls _user_admin _user_at_host \ + _users _users_on _vi _vim _visudo \ + _vmstat _vorbis _vpnc _w _w3m \ + _watch _wc _webbrowser _wget _whereis \ + _who _whois _wiggle _xargs _xmlsoft \ + _xmlstarlet _xmms2 _xxd _xz _yafc \ + _yodl _yp _zcat _zdump _zfs \ + _zfs_dataset _zfs_pool _zip _zsh _acroread \ + _code _dcop _eog _evince _geany \ + _gnome-gv _gqview _gv _kdeconnect _kfmclient \ + _matlab _mozilla _mplayer _mupdf _nautilus \ + _nedit _netscape _okular _pdftk _qiv \ + _rdesktop _setxkbmap _sublimetext _urxvt _vnc \ + _x_arguments _xauth _xautolock _x_borderwidth _xclip \ + _x_color _x_colormapid _x_cursor _x_display _xdvi \ + _x_extension _xfig _x_font _xft_fonts _x_geometry \ + _xinput _x_keysym _xloadimage _x_locale _x_modifier \ + _xmodmap _x_name _xournal _xpdf _xrandr \ + _x_resource _xscreensaver _x_selection_timeout _xset _xt_arguments \ + _xterm _x_title _xt_session_id _x_utils _xv \ + _x_visual _x_window _xwit _zeal _add-zle-hook-widget \ + _add-zsh-hook _alias _aliases __arguments _arrays \ + _assign _autocd _bindkey _brace_parameter _builtin \ + _cd _command _command_names _compadd _compdef \ + _completers _condition _default _delimiters _directory_stack \ + _dirs _disable _dynamic_directory_name _echotc _echoti \ + _emulate _enable _equal _exec _fc \ + _file_descriptors _first _functions _globflags _globqual_delims \ + _globquals _hash _history_modifiers _in_vared _jobs \ + _jobs_bg _jobs_builtin _jobs_fg _kill _limit \ + _limits _math _math_params _mere _module_math_func \ + _options _options_set _options_unset _parameter _parameters \ + _precommand _print _prompt _ps1234 _read \ + _redirect _run-help _sched _set _setopt \ + _source _strftime _subscript _suffix_alias_files _tcpsys \ + _tilde _trap _ttyctl _typeset _ulimit \ + _unhash _user_math_func _value _vared _vars \ + _vcs_info _vcs_info_hooks _wait _which _widgets \ + _zargs _zattr _zcalc _zcalc_line _zcompile \ + _zed _zftp _zle _zmodload _zmv \ + _zparseopts _zpty _zsh-mime-handler _zsocket _zstyle \ + _ztodo _hwinfo _osc _SUSEconfig _yast \ + _zypper +autoload -Uz +X _call_program + +typeset -gUa _comp_assocs +_comp_assocs=( '' ) diff --git a/.config/zsh/.zprofile b/.config/zsh/.zprofile new file mode 100755 index 0000000..dc89a2e --- /dev/null +++ b/.config/zsh/.zprofile @@ -0,0 +1,18 @@ +if [[ -z "${XDG_RUNTIME_DIR}" ]]; then + XDG_RUNTIME_DIR=/tmp/user/$(id -u) + if [[ ! -d ${XDG_RUNTIME_DIR} ]]; then + mkdir -p ${XDG_RUNTIME_DIR} + chmod 700 ${XDG_RUNTIME_DIR} + fi + export XDG_RUNTIME_DIR +fi + +source ~/.config/zsh/.zshenv +if [[ -z "${DISPLAY}" ]] && [[ "$(tty)" == "/dev/tty1" ]]; then + if [[ -z "${SSH_AGENT_PID}" ]]; then + eval $(ssh-agent) + fi + #exec startx "$XDG_CONFIG_HOME/X11/xinitrc" -- vt1 + #openrc -U default + exec xinit -- -nolisten tcp -keeptty vt1 +fi diff --git a/.config/zsh/.zshenv b/.config/zsh/.zshenv new file mode 100755 index 0000000..7bb0104 --- /dev/null +++ b/.config/zsh/.zshenv @@ -0,0 +1,66 @@ +#!/bin/zsh + +export XDG_DATA_HOME="$HOME"/.local/share +export XDG_CONFIG_HOME="$HOME"/.config +export XDG_CACHE_HOME="$HOME"/.cache +export XDG_STATE_HOME="$HOME"/.local/state + +export DXVK_CONFIG_FILE="$HOME"/.config/dxvk.conf + +export EDITOR="nvim" +export VISUAL="nvim" +export TERMINAL="sakura" +export BROWSER="firefox" + +export QT_QPA_PLATFORMTHEME="qt5ct" +export QT_AUTO_SCREEN_SCALE_FACTOR=1 + +export RANGER_DEVICONS_SEPARATOR=" " + +export GRADLE_USER_HOME="$XDG_DATA_HOME"/gradle +export WINEPREFIX="$XDG_DATA_HOME"/wineprefixes/default + +export NPM_CONFIG_USERCONFIG=$XDG_CONFIG_HOME/npm/npmrc +export CUDA_CACHE_PATH="$XDG_CACHE_HOME"/nv +export GTK_RC_FILES="$XDG_CONFIG_HOME"/gtk-1.0/gtkrc export GTK2_RC_FILES="$XDG_CONFIG_HOME"/gtk-2.0/gtkrc + +export _JAVA_OPTIONS=-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME"/java +export JDTLS_HOME="$HOME/.local/share/jdtls" +export WORKSPACE="$JDTLS_HOME/workspace" + +export CARGO_HOME="$XDG_DATA_HOME/cargo" +export RUSTUP_HOME="$XDG_DATA_HOME/rustup" + +export ANDROID_HOME="$XDG_DATA_HOME/android" +export ANDROID_SDK_ROOT="$XDG_DATA_HOME/android" +export ANDROID_NDK_ROOT="$ANDROID_SDK_ROOT/ndk" +export ANDROID_NDK_HOME="$ANDROID_SDK_ROOT/ndk" + +export ANSIBLE_HOME="$XDG_CONFIG_HOME/ansible" + +export GNUPGHOME="$XDG_DATA_HOME/gnupg" +export GPG_TTY="$(tty)" + +export XAUTHORITY="$XDG_RUNTIME_DIR/Xauthority" + +export USERXSESSION="$XDG_CACHE_HOME/X11/xsession" +export USERXSESSIONRC="$XDG_CACHE_HOME/X11/xsessionrc" +export ALTUSERXSESSION="$XDG_CACHE_HOME/X11/Xsession" +export ERRFILE="$XDG_CACHE_HOME/X11/xsession-errors" + +export WGETRC="$XDG_CONFIG_HOME/wgetrc" +export WLR_DRM_NO_MODIFIERS=1 +export LESSHISTFILE=- + +export GTK_IM_MODULE="xim" + +export FZF_DEFAULT_OPTS='--height 40% --reverse' + +export PASSWORD_STORE_DIR="${XDG_DATA_HOME}/pass" + +export XCURSOR_PATH=/usr/share/icons:${XDG_DATA_HOME}/icons +export PATH="$HOME/.local/bin:$CARGO_HOME/bin:$PATH" + +LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.swp=00;90:*.tmp=00;90:*.dpkg-dist=00;90:*.dpkg-old=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:'; +export LS_COLORS + diff --git a/.config/zsh/.zshrc b/.config/zsh/.zshrc new file mode 100755 index 0000000..8b2fd1a --- /dev/null +++ b/.config/zsh/.zshrc @@ -0,0 +1,269 @@ +# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.config/zsh/.zshrc. +# Initialization code that may require console input (password prompts, [y/n] +# confirmations, etc.) must go above this block; everything else may go below. +if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then + source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" +fi + +# Created by newuser for 5.8 + +# Enable colors: +autoload -U colors && colors + +# History in cache directory: +HISTSIZE=10000 +SAVEHIST=10000 +HISTFILE=~/.cache/zsh/history +HISTCONTROL=ereasedups + +# Basic auto/tab complete: +autoload -U compinit promptinit +zstyle ':completion:*' menu select +zmodload zsh/complist +compinit +_comp_options+=(globdots) # Include hidden files. +#promptinit; prompt gentoo + + +# vi mode +bindkey -v +export KEYTIMEOUT=1 + +# Use vim keys in tab complete menu: +bindkey -M menuselect 'h' vi-backward-char +bindkey -M menuselect 'k' vi-up-line-or-history +bindkey -M menuselect 'l' vi-forward-char +bindkey -M menuselect 'j' vi-down-line-or-history +bindkey -v '^?' backward-delete-char + +bindkey "^[[1;5C" forward-word +bindkey "^[[1;5D" backward-word +bindkey "^[[3~" delete-char +bindkey "^[3;5~" delete-char + + +# Change cursor shape for different vi modes. +function zle-keymap-select { + if [[ ${KEYMAP} == vicmd ]] || + [[ $1 = 'block' ]]; then + echo -ne '\e[1 q' + elif [[ ${KEYMAP} == main ]] || + [[ ${KEYMAP} == viins ]] || + [[ ${KEYMAP} = '' ]] || + [[ $1 = 'beam' ]]; then + echo -ne '\e[5 q' + fi +} +zle -N zle-keymap-select +zle-line-init() { + zle -K viins # initiate `vi insert` as keymap (can be removed if `bindkey -V` has been set elsewhere) + echo -ne "\e[5 q" +} +zle -N zle-line-init +echo -ne '\e[5 q' # Use beam shape cursor on startup. +preexec() { echo -ne '\e[5 q' ;} # Use beam shape cursor for each new prompt. + +# Use ranger to switch directories and bind it to ctrl-o +ranger_cd() { + temp_file="$(mktemp -t "ranger_cd.XXXXXXXXXX")" + ranger --choosedir="$temp_file" -- "${@:-$PWD}" + if chosen_dir="$(cat -- "$temp_file")" && [ -n "$chosen_dir" ] && [ "$chosen_dir" != "$PWD" ]; then + cd -- "$chosen_dir" + fi + rm -f -- "$temp_file" +} +bindkey -s '^o' 'ranger_cd\n' +ranger_pushd() { + temp_file="$(mktemp -t "ranger_cd.XXXXXXXXXX")" + ranger --choosedir="$temp_file" -- "${@:-$PWD}" + if chosen_dir="$(cat -- "$temp_file")" && [ -n "$chosen_dir" ] && [ "$chosen_dir" != "$PWD" ]; then + pushd -- "$chosen_dir" + fi + rm -f -- "$temp_file" +} +bindkey -s '^O' 'ranger_pushd\n' +bindkey -s '^r' 'ranger\n' +bindkey -s '^n' 'setsid kitty -d $(pwd)\n' + +bindkey -s '^z' 'bg && disown\n' + +mkcd() { + mkdir $1 + cd $1 +} + +retry() { + local SLPT=5 + [ "$1" = "-t" ] && SLPT="$2" && shift 2 + while true; do + $@ && break + sleep "$SLPT" + done +} + +alias test_internet='retry ping google.com -c 1' + +#alias ls='exa --group-directories-first -l' +#alias la='exa --group-directories-first -la' +alias ls='ls --group-directories-first --color=auto' +alias ll='ls -la --group-directories-first --color=auto' +alias la='ls -a --group-directories-first --color=auto' + +alias less='less -R' + +alias ci3='$EDITOR $HOME/.config/i3/config' +alias cpb='$EDITOR $HOME/.config/polybar/config.ini' +alias cpbm='$EDITOR $HOME/.config/polybar/modules.ini' +alias czsh='$EDITOR $HOME/.config/zsh/.zshrc' +alias cnv='$EDITOR $HOME/.config/nvim/init.vim' + +alias r='ranger' + +alias s='swallow' + +alias dotfiles='/usr/bin/git --git-dir=${XDG_DATA_HOME:-${HOME}/.local/share}/dotfiles --work-tree=$HOME' + +alias luamake=/home/nerdjp/dev/lua-language-server/3rd/luamake/luamake +alias clip='xclip -selection "clipboard"' + +alias e='edit.sh' +alias c='config.sh' + +pls() { + sudo !! +} + +# Edit line in vim with ctrl-e: +autoload edit-command-line; zle -N edit-command-line +bindkey '^e' edit-command-line + +setopt auto_cd + +alias cp='cp -i' +alias mv='mv -i' + +alias dcp='pwd | xclip -selection clipboard' + +alias ffmpeg='ffmpeg -hide_banner' +alias ffprobe='ffprobe -hide_banner' +alias iv='nsxiv' +alias mp='ncmpcpp' +alias vi='nvim' +alias grep='grep --color=auto' + +source /usr/share/fzf/key-bindings.zsh +#source /usr/share/fzf/completion.zsh + +alias gs='git status' +alias gb='git branch' +alias gc='git checkout' +alias gcb='git checkout -b' +alias gf='git pull' +alias gp='git pull' + +smv() { + [[ -n $1 ]] && mv $(\ls | fzf -m) $1 +} + +gbc() { + git branch $@ && git checkout $@ +} + +fzfg() { + JOB=$(jobs | fzf | cut -d ' ' -f 1 | sed -e 's/\[/%/' -e 's/\]//') + [ -n "$JOB" ] && fg "$JOB" +} + +evi() { + if [ -z "${1}" ]; then + EBUILD_PATH="/var/db/repos/" + else + EBUILD_PATH="$(equery w ${1})" + fi + [ -n "${EBUILD_PATH}" ] && vi ${EBUILD_PATH} +} + +detach() { + JOBS=$(jobs) + if [ -n "$JOBS" ]; then + [ "$(wc -l <<< ${JOBS})" -le 1 ] && { bg && sleep 0.1 && disown && return } + JOB=$(fzf <<< ${JOBS} | cut -d ' ' -f 1 | sed -e 's/\[/%/' -e 's/\]//') + echo $JOB + bg "$JOB" && disown "$JOB" + fi +} + +ZSH_AUTOSUGGEST_STRATEGY=(history completion) + +# make kernel +# sync +# update +# myip +# open ports + +#eval "$(starship init zsh)" +autoload -Uz vcs_info +zstyle ':vcs_info:*' formats ' %b' + +preexec_timer() { SECONDS=0 } +preexec_functions+=( preexec_timer ) + +precmd_jobs() { + local IFS=" + " + for job in $(jobs); do + if [[ "$job" =~ "running" ]]; then + printf "\033[38;5;2m %s" "${job##running}" + elif [[ "$job" =~ "suspended" ]]; then + printf "\033[38;5;3m %s" "${job##suspended}" + else + printf "%s" "${job}" + fi + done +} + +preexec_rename() { + printf '\033]2;%s@%s: %s\033\\' ${USER} ${HOST} ${1} +} + +precmd_vcs_info() { vcs_info } +precmd_functions+=( precmd_vcs_info precmd_jobs precmd_rename ) + +preexec_functions+=( preexec_rename ) + +setopt prompt_subst +PROMPT='%F{magenta}%n@%m%f %F{blue}%1~%f %(?,[,%F{red}[%f) ' + +#PROMPT='%F{magenta}%f %F{blue}%1~%f %(?,[,%F{red}[%f) ' +# +RPROMPT=' %(?,],%F{red}]%f)' + +#%F{cyan}${vcs_info_msg_0_}%f' +#%1(S,took $(format-time $SECONDS),)' +#%F{magenta}%D{%I:%m %p}%f' + +#paleofetch + +# Load zsh-syntax-highlighting; should be last. +source /usr/share/zsh/site-functions/zsh-syntax-highlighting.zsh +source /usr/share/zsh/site-functions/zsh-autosuggestions.zsh + +printf '\033]2;%s@%s\033\\' $USER $HOST +cat "${HOME}/doc/ascii-arts/woman.txt" + +attach_tmux_group() { + if [[ -z ${TMUX} ]]; then + local group="${1:-common}" + local session=$(tmux list-sessions -F "#S:#{session_group}:#{session_attached}" \ + | grep ":${group}:0" | cut -d ':' -f 1) + + if [[ -n ${session} ]]; then + exec tmux attach -t "${session}" + else + tmux new-window -at "${group}:" + tmux new -t "${group}" + fi + fi +} + +#attach_tmux_group -- cgit v1.2.3