From d8a20d620acb7d13fe363987f2a1cf0e2c7b613d Mon Sep 17 00:00:00 2001 From: Thomas Naderer Date: Wed, 11 Mar 2026 12:57:14 +0100 Subject: [PATCH] chore: clean up dotfiles and add gitignore whitelist Switch to whitelist-based .gitignore to only track essential configs: nvim, yazi, kitty, zsh, ideavim, karabiner, tmux, scripts, starship. Remove history, compiled files, and plugin dirs from tracking. Co-Authored-By: Claude Opus 4.6 --- .gitignore | 58 + karabiner/karabiner.json | 60 +- kitty/current-theme.conf | 112 +- kitty/kitty.conf | 25 +- kitty/theme.conf | 56 + kitty/toggle_blur.sh | 19 + nvim/lua/completions.lua | 41 - nvim/lua/plugins.lua | 182 -- nvim/lua/plugins/init.lua | 60 +- nvim/lua/plugins/lsp.lua | 4 +- nvim/lua/plugins/nvim-tree.lua | 9 +- nvim/lua/plugins/prettier.lua | 2 +- nvim/lua/snippets/markdown.lua | 44 +- nvim/plugin/packer_compiled.lua | 257 --- scripts/start-kanata.sh | 36 + scripts/stop-kanata.sh | 32 + scripts/tnmount.sh | 51 +- starship.toml | 32 + tmux/themes/tmuxline-tokyonight.tmux | 22 + tmux/themes/tmuxline.tmux | 21 +- tmux/tmux.conf | 12 +- yazi/keymap.toml | 112 +- yazi/package.toml | 20 + yazi/plugins/full-border.yazi/LICENSE | 21 - yazi/plugins/full-border.yazi/README.md | 32 - yazi/plugins/full-border.yazi/main.lua | 43 - yazi/theme.toml | 771 +++++++++ yazi/yazi.toml | 16 +- zsh/.zcompdump | 2043 ----------------------- zsh/.zcompdump.zwc | Bin 117528 -> 0 bytes zsh/.zsh_history | 92 - zsh/.zshrc | 54 +- 32 files changed, 1471 insertions(+), 2868 deletions(-) create mode 100644 .gitignore create mode 100644 kitty/theme.conf create mode 100755 kitty/toggle_blur.sh delete mode 100644 nvim/lua/completions.lua delete mode 100644 nvim/lua/plugins.lua delete mode 100644 nvim/plugin/packer_compiled.lua create mode 100755 scripts/start-kanata.sh create mode 100755 scripts/stop-kanata.sh create mode 100644 starship.toml create mode 100644 tmux/themes/tmuxline-tokyonight.tmux delete mode 100644 yazi/plugins/full-border.yazi/LICENSE delete mode 100644 yazi/plugins/full-border.yazi/README.md delete mode 100644 yazi/plugins/full-border.yazi/main.lua delete mode 100644 zsh/.zcompdump delete mode 100644 zsh/.zcompdump.zwc delete mode 100644 zsh/.zsh_history diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fe2a8e8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,58 @@ +# Ignore everything by default +* +!.gitignore + +# === Core dotfiles === + +# Neovim +!nvim/ +!nvim/** +nvim/plugin/ +nvim/.nvimlog +nvim/lazy-lock.json + +# Yazi +!yazi/ +!yazi/** +yazi/plugins/ + +# Kitty +!kitty/ +!kitty/** + +# Zsh (only .zshrc) +!zsh/ +!zsh/.zshrc + +# IdeaVim +!ideavim/ +!ideavim/** + +# === Definitely persist === + +# Karabiner (not automatic_backups) +!karabiner/ +!karabiner/** +karabiner/automatic_backups/ + +# Tmux (not plugins) +!tmux/ +!tmux/** +tmux/plugins/ + +# Scripts +!scripts/ +!scripts/** + +# Starship prompt +!starship.toml + +# === Always ignore === +.DS_Store +**/.DS_Store +**/.claude/ +*.nvimlog +*.log +*.bak +kitty/kitty-themes/ +kitty/kitty-dark.png diff --git a/karabiner/karabiner.json b/karabiner/karabiner.json index 17cf33c..d2fa307 100644 --- a/karabiner/karabiner.json +++ b/karabiner/karabiner.json @@ -476,15 +476,7 @@ "key_code": "e", "modifiers": { "mandatory": ["left_command", "right_command", "right_control", "right_shift", "right_option"] } }, - "to": [{ "shell_command": "open -a 'Microsoft Excel'" }], - "type": "basic" - }, - { - "from": { - "key_code": "e", - "modifiers": { "mandatory": ["left_command", "right_command", "right_control", "right_shift", "right_option"] } - }, - "to": [{ "shell_command": "open -a 'Safari'" }], + "to": [{ "key_code": "f16" }], "type": "basic" }, { @@ -503,6 +495,19 @@ "to": [{ "shell_command": "open -a 'BusyCal'" }], "type": "basic" }, + { + "from": { + "key_code": "p", + "modifiers": { "mandatory": ["right_command", "right_control", "right_shift", "right_option"] } + }, + "to": [ + { + "key_code": "spacebar", + "modifiers": ["left_command", "left_shift"] + } + ], + "type": "basic" + }, { "from": { "key_code": "p", @@ -630,7 +635,7 @@ "to": [ { "key_code": "tab", - "modifiers": ["left_command"] + "modifiers": ["left_option"] } ], "type": "basic" @@ -643,7 +648,7 @@ "to": [ { "key_code": "tab", - "modifiers": ["left_command", "left_shift"] + "modifiers": ["left_option", "left_shift"] } ], "type": "basic" @@ -828,6 +833,18 @@ ], "type": "basic" }, + { + "from": { + "key_code": "n", + "modifiers": { "mandatory": ["right_command", "right_control", "right_shift", "right_option"] } + }, + "to": [ + { + "shell_command": "osascript -e 'tell application \"System Events\" to keystroke (do shell script \"date +%F\")'" + } + ], + "type": "basic" + }, { "from": { "key_code": "spacebar", @@ -1073,6 +1090,27 @@ } ] }, + { + "description": "Hyper WM Mode Trigger", + "manipulators": [ + { + "from": { + "key_code": "semicolon", + "modifiers": { "mandatory": ["right_command", "right_control", "right_shift", "right_option"] } + }, + "to": [{ "key_code": "f18" }], + "type": "basic" + }, + { + "from": { + "key_code": "comma", + "modifiers": { "mandatory": ["left_shift", "right_command", "right_control", "right_shift", "right_option"] } + }, + "to": [{ "key_code": "f18" }], + "type": "basic" + } + ] + }, { "description": "CapsLock to Hyper/Escape", "manipulators": [ diff --git a/kitty/current-theme.conf b/kitty/current-theme.conf index 595cec9..2533db7 100644 --- a/kitty/current-theme.conf +++ b/kitty/current-theme.conf @@ -1,50 +1,80 @@ # vim:ft=kitty -## name: Tokyo Night Moon -## license: MIT -## author: Folke Lemaitre -## upstream: https://github.com/folke/tokyonight.nvim/raw/main/extras/kitty/tokyonight_moon.conf +## name: Catppuccin-Mocha +## author: Pocco81 (https://github.com/Pocco81) +## license: MIT +## upstream: https://github.com/catppuccin/kitty/blob/main/mocha.conf +## blurb: Soothing pastel theme for the high-spirited! -background #222436 -foreground #c8d3f5 -selection_background #2d3f76 -selection_foreground #c8d3f5 -url_color #4fd6be -cursor #c8d3f5 -cursor_text_color #222436 -# Tabs -active_tab_background #82aaff -active_tab_foreground #1e2030 -inactive_tab_background #2f334d -inactive_tab_foreground #545c7e -#tab_bar_background #1b1d2b +# The basic colors +foreground #CDD6F4 +background #1E1E2E +selection_foreground #1E1E2E +selection_background #F5E0DC -# Windows -active_border_color #82aaff -inactive_border_color #2f334d +# Cursor colors +cursor #F5E0DC +cursor_text_color #1E1E2E -# normal -color0 #1b1d2b -color1 #ff757f -color2 #c3e88d -color3 #ffc777 -color4 #82aaff -color5 #c099ff -color6 #86e1fc -color7 #828bb8 +# URL underline color when hovering with mouse +url_color #F5E0DC -# bright -color8 #444a73 -color9 #ff8d94 -color10 #c7fb6d -color11 #ffd8ab -color12 #9ab8ff -color13 #caabff -color14 #b2ebff -color15 #c8d3f5 +# Kitty window border colors +active_border_color #B4BEFE +inactive_border_color #6C7086 +bell_border_color #F9E2AF -# extended colors -color16 #ff966c -color17 #c53b53 +# OS Window titlebar colors +wayland_titlebar_color system +macos_titlebar_color system + +# Tab bar colors +active_tab_foreground #11111B +active_tab_background #CBA6F7 +inactive_tab_foreground #CDD6F4 +inactive_tab_background #181825 +tab_bar_background #11111B + +# Colors for marks (marked text in the terminal) +mark1_foreground #1E1E2E +mark1_background #B4BEFE +mark2_foreground #1E1E2E +mark2_background #CBA6F7 +mark3_foreground #1E1E2E +mark3_background #74C7EC + +# The 16 terminal colors + +# black +color0 #45475A +color8 #585B70 + +# red +color1 #F38BA8 +color9 #F38BA8 + +# green +color2 #A6E3A1 +color10 #A6E3A1 + +# yellow +color3 #F9E2AF +color11 #F9E2AF + +# blue +color4 #89B4FA +color12 #89B4FA + +# magenta +color5 #F5C2E7 +color13 #F5C2E7 + +# cyan +color6 #94E2D5 +color14 #94E2D5 + +# white +color7 #BAC2DE +color15 #A6ADC8 diff --git a/kitty/kitty.conf b/kitty/kitty.conf index 3daf2c3..1c2ac4a 100644 --- a/kitty/kitty.conf +++ b/kitty/kitty.conf @@ -1,5 +1,14 @@ # Font Configuration -font_family MesloLGS NF +# -- Uncomment one font_family line to switch fonts (reload with ctrl+shift+F5) -- +# font_family MesloLGS NF +# font_family JetBrainsMono Nerd Font +# font_family MonaspaceNeon Nerd Font +# font_family MonaspaceArgon Nerd Font +# font_family MonaspaceXenon Nerd Font +# font_family MonaspaceRadon Nerd Font +# font_family MonaspaceKrypton Nerd Font +font_family Maple Mono NF +# font_family VulfMono Demo Regular bold_font auto italic_font auto bold_italic_font auto @@ -8,15 +17,25 @@ font_size 15 # Font rendering improvements disable_ligatures never font_features MesloLGSNF +calt +liga +# Nerd Font symbol fallback for fonts without glyphs (e.g. Vulf Mono) +# symbol_map U+E000-U+F8FF,U+23FB-U+23FE,U+2665,U+26A1,U+F000-U+FFFD MesloLGS NF text_composition_strategy platform undercurl_style thin-sparse # Cursor Configuration -cursor_shape beam +cursor_shape block cursor_beam_thickness 1.5 cursor_underline_thickness 2.0 cursor_blink_interval 0.5 cursor_stop_blinking_after 15.0 +cursor_text_color background + +# Cursor trail (animated cursor movement) +cursor_trail 1 +cursor_trail_decay 0.20 0.30 +# optional tweaks +cursor_trail_start_threshold 20 +# cursor_trail_color red # Window Configuration window_padding_width 0 @@ -58,7 +77,7 @@ include ./keymap.conf macos_show_window_title_in none # BEGIN_KITTY_THEME -# Catppuccin-Macchiato +# Catppuccin-Mocha include current-theme.conf # END_KITTY_THEME diff --git a/kitty/theme.conf b/kitty/theme.conf new file mode 100644 index 0000000..3a2a801 --- /dev/null +++ b/kitty/theme.conf @@ -0,0 +1,56 @@ +# Based on https://github.com/morhetz/gruvbox by morhetz +# Adapted to kitty by wdomitrz + +cursor #928374 +cursor_text_color background + +url_color #83a598 + +visual_bell_color #8ec07c +bell_border_color #8ec07c + +active_border_color #d3869b +inactive_border_color #665c54 + +foreground #ebdbb2 +background #282828 +selection_foreground #928374 +selection_background #ebdbb2 + +active_tab_foreground #fbf1c7 +active_tab_background #665c54 +inactive_tab_foreground #a89984 +inactive_tab_background #3c3836 + +# black (bg3/bg4) +color0 #665c54 +color8 #7c6f64 + +# red +color1 #cc241d +color9 #fb4934 + +#: green +color2 #98971a +color10 #b8bb26 + +# yellow +color3 #d79921 +color11 #fabd2f + +# blue +color4 #458588 +color12 #83a598 + +# purple +color5 #b16286 +color13 #d3869b + +# aqua +color6 #689d6a +color14 #8ec07c + +# white (fg4/fg3) +color7 #a89984 +color15 #bdae93 + diff --git a/kitty/toggle_blur.sh b/kitty/toggle_blur.sh new file mode 100755 index 0000000..e47744f --- /dev/null +++ b/kitty/toggle_blur.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +CONFIG_FILE="/Users/thomasnaderer/.config/kitty/kitty.conf" + +# Check current blur setting +current_blur=$(grep "^background_blur" "$CONFIG_FILE" | awk '{print $2}') + +if [ "$current_blur" = "0" ] || [ -z "$current_blur" ]; then + # Currently no blur, enable it + sed -i '' 's/^background_blur.*/background_blur 20/' "$CONFIG_FILE" + echo "Background blur enabled" +else + # Currently blurred, disable it + sed -i '' 's/^background_blur.*/background_blur 0/' "$CONFIG_FILE" + echo "Background blur disabled" +fi + +# Reload kitty configuration +/opt/homebrew/bin/kitty @ load-config \ No newline at end of file diff --git a/nvim/lua/completions.lua b/nvim/lua/completions.lua deleted file mode 100644 index e540319..0000000 --- a/nvim/lua/completions.lua +++ /dev/null @@ -1,41 +0,0 @@ -local cmp = require('cmp') -local luasnip = require('luasnip') - -require("luasnip.loaders.from_vscode").lazy_load() -- Load friendly-snippets -require("luasnip.loaders.from_lua").load({ paths = "~/.config/nvim/lua/snippets" }) -- Load custom Lua snippets - -cmp.setup({ - snippet = { - expand = function(args) - luasnip.lsp_expand(args.body) -- Use LuaSnip for expanding snippets - end, - }, - mapping = { - [''] = cmp.mapping.complete(), -- Trigger completion manually - [''] = cmp.mapping.confirm({ select = true }), -- Confirm completion - [''] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_next_item() - elseif luasnip.expand_or_jumpable() then - luasnip.expand_or_jump() - else - fallback() - end - end, { 'i', 's' }), - [''] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_prev_item() - elseif luasnip.jumpable(-1) then - luasnip.jump(-1) - else - fallback() - end - end, { 'i', 's' }), - }, - sources = cmp.config.sources({ - { name = 'nvim_lsp' }, -- LSP suggestions - { name = 'luasnip' }, -- Snippets - { name = 'buffer' }, -- Buffer words - { name = 'path' }, -- File paths - }) -}) diff --git a/nvim/lua/plugins.lua b/nvim/lua/plugins.lua deleted file mode 100644 index 2156172..0000000 --- a/nvim/lua/plugins.lua +++ /dev/null @@ -1,182 +0,0 @@ -# vim:fileencoding=utf-8:foldmethod=marker -vim.cmd [[packadd packer.nvim]] -require('packer').startup(function(use) - - -- {{{ Packer manages itself - use 'wbthomason/packer.nvim' -- Packer manages itself - -- }}} - -- {{{ VIM AutoSave - use({ - 'okuuva/auto-save.nvim', - tag = 'v1*', - config = function() - require('auto-save').setup({ - -- your config goes here - -- or just leave it empty :) - }) - end, - }) - -- }}} - -- {{{ Nvim-Tree - use { - 'nvim-tree/nvim-tree.lua', - config = function() - require('plugins.nvim-tree').setup() - end, - } - -- }}} - -- {{{ Themes - use 'gruvbox-community/gruvbox' -- Gruvbox theme - use 'folke/tokyonight.nvim' -- Tokyo Night theme - -- }}} - -- {{{ Treesitter - use { - 'nvim-treesitter/nvim-treesitter', - run = ':TSUpdate' -- Keep parsers up to date - } - require('plugins.treesitter') - -- }}} - -- {{{ Rainbow Delimiters - use 'HiPhish/rainbow-delimiters.nvim' - require('plugins.rainbow_delimiters') - -- }}} - -- {{{ Git Integration - use 'lewis6991/gitsigns.nvim' -- Git decorations in the gutter - use 'tpope/vim-fugitive' -- Git commands in Neovim - -- }}} - -- {{{ Status Line - use { - 'nvim-lualine/lualine.nvim', - requires = { 'kyazdani42/nvim-web-devicons', opt = true } -- Optional icons - } - require('plugins.lualine') - -- Override background transparency with custom highlights - vim.cmd [[ - highlight lualine_a_normal guibg=NONE - highlight lualine_b_normal guibg=NONE - highlight lualine_c_normal guibg=NONE - ]] - -- }}} - -- {{{ HardTime - use { - 'm4xshen/hardtime.nvim', - requires = { 'MunifTanjim/nui.nvim' } - } - -- }}} - -- {{{ FZF - use { - 'junegunn/fzf', - run = function() vim.fn['fzf#install']() end - } - use 'junegunn/fzf.vim' - -- }}} - -- {{{ Productivity - use 'numToStr/Comment.nvim' - use 'windwp/nvim-autopairs' - use 'tpope/vim-surround' - -- }}} - -- {{{ LaTeX - use 'lervag/vimtex' - require('plugins.vimtex') - -- }}} - -- -- {{{ Outline - -- use { - -- 'hedyhli/outline.nvim', - -- config = function() - -- require('plugins.outline').setup() - -- end - -- } - -- }}} - -- {{{ Org-Mode - use {'nvim-orgmode/orgmode', config = function() - require('orgmode').setup{} - end - } - --}}} - -- {{{ Telescope - use { - 'nvim-telescope/telescope.nvim', - requires = { {'nvim-lua/plenary.nvim'} }, - config = function() - -- Leader key mappings for Telescope - vim.api.nvim_set_keymap('n', 'ff', ':Telescope find_files' - , { noremap = true, silent = true }) - vim.api.nvim_set_keymap('n', 'fg', ':Telescope live_grep', - { noremap = true, silent = true }) - vim.api.nvim_set_keymap('n', 'fb', ':Telescope buffers', { - noremap = true, silent = true }) - vim.api.nvim_set_keymap('n', 'fh', ':Telescope help_tags', - { noremap = true, silent = true }) - end - } --- }}} --- Yazi.nvim {{{ - use({ - "mikavilpas/yazi.nvim", - config = function() - - require("yazi").setup({ - open_for_directories = false, - keymaps = { - show_help = "", - }, - }) - end, - }) ---- }}} --- Hop.nvim {{{ - use { - 'phaazon/hop.nvim', - branch = 'v2', -- optional but strongly recommended - config = function() - -- you can configure Hop the way you like here; see :h hop-config - require'hop'.setup { keys = 'etovxqpdygfblzhckisuran' } - end - } --- }}} --- nvim.cmp {{{ - use { - 'hrsh7th/nvim-cmp', - requires = { - 'hrsh7th/cmp-buffer', -- Buffer completions - 'hrsh7th/cmp-path', -- Path completions - 'hrsh7th/cmp-nvim-lsp', -- LSP completions - 'hrsh7th/cmp-nvim-lua', -- Neovim API completions - 'saadparwaiz1/cmp_luasnip', -- Snippet completions - 'L3MON4D3/LuaSnip', -- Snippet engine - 'rafamadriz/friendly-snippets', -- Predefined snippets - 'evesdropper/luasnip-latex-snippets.nvim' - } - } --- }}} --- Markdown {{{ - use 'SidOfc/mkdx' - use({ - 'MeanderingProgrammer/render-markdown.nvim', - after = { 'nvim-treesitter' }, - -- requires = { 'echasnovski/mini.nvim', opt = true }, -- if you use the mini.nvim suite - requires = { 'echasnovski/mini.icons', opt = true }, -- if you use standalone mini plugins - -- requires = { 'nvim-tree/nvim-web-devicons', opt = true }, -- if you prefer nvim-web-devicons - config = function() - require('render-markdown').setup({}) - end, - }) --- }}} --- Code Formatting {{{ -use({ - "nvimtools/none-ls.nvim", - config = function() - requires = { "nvim-lua/plenary.nvim" }, - require("plugins.prettier") - end, -}) --- }}} --- Zotero Integration (deactivated){{{ - -- use { - -- 'jalvesaq/zotcite', - -- requires = { - -- 'vim-pandoc/vim-pandoc', - -- 'vim-pandoc/vim-pandoc-syntax' - -- } --- }}} -end) diff --git a/nvim/lua/plugins/init.lua b/nvim/lua/plugins/init.lua index e4ec058..1783f90 100644 --- a/nvim/lua/plugins/init.lua +++ b/nvim/lua/plugins/init.lua @@ -11,25 +11,6 @@ return { "okuuva/auto-save.nvim", version = "v1.*", event = { "InsertLeave", "TextChanged" }, - init = function() - local group = vim.api.nvim_create_augroup("autosave_message", { clear = true }) - vim.api.nvim_create_autocmd("User", { - pattern = "AutoSaveWritePost", - group = group, - callback = function(opts) - local saved_buffer = opts.data and opts.data.saved_buffer - if not saved_buffer then - return - end - - local filename = vim.fn.fnamemodify(vim.api.nvim_buf_get_name(saved_buffer), ":t") - if filename == "" then - filename = "[No Name]" - end - vim.notify("AutoSave: " .. filename, vim.log.levels.INFO, { title = "auto-save.nvim" }) - end, - }) - end, opts = { enabled = true, trigger_events = { @@ -129,7 +110,13 @@ return { { "folke/flash.nvim", event = "VeryLazy", - opts = {}, + opts = { + modes = { + char = { + enabled = false, + }, + }, + }, keys = { { "s", mode = { "n", "x", "o" }, function() require("flash").jump() end, desc = "Flash jump" }, { "S", mode = { "n", "x", "o" }, function() require("flash").treesitter() end, desc = "Flash treesitter" }, @@ -204,6 +191,39 @@ return { -- Markdown { "SidOfc/mkdx", ft = "markdown" }, + { + "epwalsh/obsidian.nvim", + version = "*", + lazy = true, + ft = "markdown", + dependencies = { "nvim-lua/plenary.nvim" }, + keys = { + { "on", "ObsidianNew", desc = "New note" }, + { "oo", "ObsidianQuickSwitch", desc = "Quick switch" }, + { "os", "ObsidianSearch", desc = "Search notes" }, + { "ob", "ObsidianBacklinks", desc = "Backlinks" }, + { "ot", "ObsidianTags", desc = "Tags" }, + { "od", "ObsidianToday", desc = "Today's note" }, + }, + opts = { + workspaces = { + { name = "private", path = "~/Library/Mobile Documents/iCloud~md~obsidian/Documents/Private" }, + { name = "work", path = "~/Library/Mobile Documents/iCloud~md~obsidian/Documents/Work" }, + }, + completion = { nvim_cmp = false, min_chars = 2 }, + ui = { enable = false }, -- render-markdown.nvim übernimmt das + disable_frontmatter = true, + }, + }, + { + "iamcco/markdown-preview.nvim", + cmd = { "MarkdownPreview", "MarkdownPreviewStop", "MarkdownPreviewToggle" }, + ft = { "markdown" }, + build = function() vim.fn["mkdp#util#install"]() end, + keys = { + { "mp", "MarkdownPreviewToggle", desc = "Markdown Preview" }, + }, + }, { "MeanderingProgrammer/render-markdown.nvim", dependencies = { "nvim-treesitter/nvim-treesitter", "echasnovski/mini.icons" }, diff --git a/nvim/lua/plugins/lsp.lua b/nvim/lua/plugins/lsp.lua index 915c483..8fadd4c 100644 --- a/nvim/lua/plugins/lsp.lua +++ b/nvim/lua/plugins/lsp.lua @@ -104,7 +104,7 @@ return { end, }, { - "fmuaddel/blink-copilot", + "giuxtaposition/blink-cmp-copilot", dependencies = { "zbirenbaum/copilot.lua" }, }, }, @@ -126,7 +126,7 @@ return { }, copilot = { name = "copilot", - module = "blink-copilot", + module = "blink-cmp-copilot", score_offset = 50, async = true, }, diff --git a/nvim/lua/plugins/nvim-tree.lua b/nvim/lua/plugins/nvim-tree.lua index 7701441..3b0ad77 100644 --- a/nvim/lua/plugins/nvim-tree.lua +++ b/nvim/lua/plugins/nvim-tree.lua @@ -34,6 +34,9 @@ return { highlight_git = true, highlight_opened_files = "all", icons = { + show = { + diagnostics = false, + }, glyphs = { default = "", symlink = "", @@ -61,12 +64,6 @@ return { diagnostics = { enable = true, show_on_dirs = true, - icons = { - hint = "", - info = "", - warning = "", - error = "", - }, }, filters = { dotfiles = false, diff --git a/nvim/lua/plugins/prettier.lua b/nvim/lua/plugins/prettier.lua index a121158..e4e43a1 100644 --- a/nvim/lua/plugins/prettier.lua +++ b/nvim/lua/plugins/prettier.lua @@ -18,7 +18,7 @@ return { json = { "prettier" }, html = { "prettier" }, css = { "prettier" }, - markdown = { "prettier" }, + markdown = { "mdformat" }, yaml = { "prettier" }, }, format_on_save = { diff --git a/nvim/lua/snippets/markdown.lua b/nvim/lua/snippets/markdown.lua index 94d2861..3ceb461 100644 --- a/nvim/lua/snippets/markdown.lua +++ b/nvim/lua/snippets/markdown.lua @@ -6,18 +6,42 @@ local f = ls.function_node -- Get current date in YYYY-MM-DD format local function date() - return os.date("%Y-%m-%d") + return os.date("%Y-%m-%d") end return { - s("env", { - t({"---", - "title: "}), i(1, "Title"), t({"", - "tags: ["}), i(2, "tag1, tag2"), t({"]", - "date: "}), f(date, {}), t({"", - "---", ""}), - i(0), - }), -} + s("env", { + t({ + "---", + "title: ", + }), + i(1, "Title"), + t({ "", "tags: [" }), + i(2, "tag1, tag2"), + t({ "]", "date: " }), + f(date, {}), + t({ "", "---", "" }), + i(0), + }), + s( + "ippd", + t({ + "Institute of Polymer Processing and Digital Transformation", + }) + ), + s( + "TN", + t({ + "Thomas Naderer", + }) + ), + + s( + "GBW", + t({ + "Gerald Berger-Weber", + }) + ), +} diff --git a/nvim/plugin/packer_compiled.lua b/nvim/plugin/packer_compiled.lua deleted file mode 100644 index 4d6adef..0000000 --- a/nvim/plugin/packer_compiled.lua +++ /dev/null @@ -1,257 +0,0 @@ --- Automatically generated packer.nvim plugin loader code - -if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then - vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"') - return -end - -vim.api.nvim_command('packadd packer.nvim') - -local no_errors, error_msg = pcall(function() - -_G._packer = _G._packer or {} -_G._packer.inside_compile = true - -local time -local profile_info -local should_profile = false -if should_profile then - local hrtime = vim.loop.hrtime - profile_info = {} - time = function(chunk, start) - if start then - profile_info[chunk] = hrtime() - else - profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6 - end - end -else - time = function(chunk, start) end -end - -local function save_profiles(threshold) - local sorted_times = {} - for chunk_name, time_taken in pairs(profile_info) do - sorted_times[#sorted_times + 1] = {chunk_name, time_taken} - end - table.sort(sorted_times, function(a, b) return a[2] > b[2] end) - local results = {} - for i, elem in ipairs(sorted_times) do - if not threshold or threshold and elem[2] > threshold then - results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms' - end - end - if threshold then - table.insert(results, '(Only showing plugins that took longer than ' .. threshold .. ' ms ' .. 'to load)') - end - - _G._packer.profile_output = results -end - -time([[Luarocks path setup]], true) -local package_path_str = "/Users/thomasnaderer/.cache/nvim/packer_hererocks/2.1.1734355927/share/lua/5.1/?.lua;/Users/thomasnaderer/.cache/nvim/packer_hererocks/2.1.1734355927/share/lua/5.1/?/init.lua;/Users/thomasnaderer/.cache/nvim/packer_hererocks/2.1.1734355927/lib/luarocks/rocks-5.1/?.lua;/Users/thomasnaderer/.cache/nvim/packer_hererocks/2.1.1734355927/lib/luarocks/rocks-5.1/?/init.lua" -local install_cpath_pattern = "/Users/thomasnaderer/.cache/nvim/packer_hererocks/2.1.1734355927/lib/lua/5.1/?.so" -if not string.find(package.path, package_path_str, 1, true) then - package.path = package.path .. ';' .. package_path_str -end - -if not string.find(package.cpath, install_cpath_pattern, 1, true) then - package.cpath = package.cpath .. ';' .. install_cpath_pattern -end - -time([[Luarocks path setup]], false) -time([[try_loadstring definition]], true) -local function try_loadstring(s, component, name) - local success, result = pcall(loadstring(s), name, _G.packer_plugins[name]) - if not success then - vim.schedule(function() - vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {}) - end) - end - return result -end - -time([[try_loadstring definition]], false) -time([[Defining packer_plugins]], true) -_G.packer_plugins = { - ["Comment.nvim"] = { - loaded = true, - path = "/Users/thomasnaderer/.local/share/nvim/site/pack/packer/start/Comment.nvim", - url = "https://github.com/numToStr/Comment.nvim" - }, - ["auto-save.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\14auto-save\frequire\0" }, - loaded = true, - path = "/Users/thomasnaderer/.local/share/nvim/site/pack/packer/start/auto-save.nvim", - url = "https://github.com/okuuva/auto-save.nvim" - }, - ["dashboard-nvim"] = { - loaded = true, - path = "/Users/thomasnaderer/.local/share/nvim/site/pack/packer/start/dashboard-nvim", - url = "https://github.com/glepnir/dashboard-nvim" - }, - fzf = { - loaded = true, - path = "/Users/thomasnaderer/.local/share/nvim/site/pack/packer/start/fzf", - url = "https://github.com/junegunn/fzf" - }, - ["fzf.vim"] = { - loaded = true, - path = "/Users/thomasnaderer/.local/share/nvim/site/pack/packer/start/fzf.vim", - url = "https://github.com/junegunn/fzf.vim" - }, - ["gitsigns.nvim"] = { - loaded = true, - path = "/Users/thomasnaderer/.local/share/nvim/site/pack/packer/start/gitsigns.nvim", - url = "https://github.com/lewis6991/gitsigns.nvim" - }, - gruvbox = { - loaded = true, - path = "/Users/thomasnaderer/.local/share/nvim/site/pack/packer/start/gruvbox", - url = "https://github.com/gruvbox-community/gruvbox" - }, - ["hardtime.nvim"] = { - loaded = true, - path = "/Users/thomasnaderer/.local/share/nvim/site/pack/packer/start/hardtime.nvim", - url = "https://github.com/m4xshen/hardtime.nvim" - }, - ["headlines.nvim"] = { - config = { "\27LJ\2\n7\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\14headlines\frequire\0" }, - load_after = {}, - loaded = true, - needs_bufread = false, - path = "/Users/thomasnaderer/.local/share/nvim/site/pack/packer/opt/headlines.nvim", - url = "https://github.com/lukas-reineke/headlines.nvim" - }, - ["lualine.nvim"] = { - loaded = true, - path = "/Users/thomasnaderer/.local/share/nvim/site/pack/packer/start/lualine.nvim", - url = "https://github.com/nvim-lualine/lualine.nvim" - }, - ["nui.nvim"] = { - loaded = true, - path = "/Users/thomasnaderer/.local/share/nvim/site/pack/packer/start/nui.nvim", - url = "https://github.com/MunifTanjim/nui.nvim" - }, - ["nvim-autopairs"] = { - loaded = true, - path = "/Users/thomasnaderer/.local/share/nvim/site/pack/packer/start/nvim-autopairs", - url = "https://github.com/windwp/nvim-autopairs" - }, - ["nvim-tree.lua"] = { - config = { "\27LJ\2\n?\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\22plugins.nvim-tree\frequire\0" }, - loaded = true, - path = "/Users/thomasnaderer/.local/share/nvim/site/pack/packer/start/nvim-tree.lua", - url = "https://github.com/nvim-tree/nvim-tree.lua" - }, - ["nvim-treesitter"] = { - loaded = true, - path = "/Users/thomasnaderer/.local/share/nvim/site/pack/packer/start/nvim-treesitter", - url = "https://github.com/nvim-treesitter/nvim-treesitter" - }, - ["nvim-web-devicons"] = { - loaded = false, - needs_bufread = false, - path = "/Users/thomasnaderer/.local/share/nvim/site/pack/packer/opt/nvim-web-devicons", - url = "https://github.com/kyazdani42/nvim-web-devicons" - }, - orgmode = { - config = { "\27LJ\2\n9\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\forgmode\frequire\0" }, - loaded = true, - path = "/Users/thomasnaderer/.local/share/nvim/site/pack/packer/start/orgmode", - url = "https://github.com/nvim-orgmode/orgmode" - }, - ["outline.nvim"] = { - config = { "\27LJ\2\n=\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\20plugins.outline\frequire\0" }, - loaded = true, - path = "/Users/thomasnaderer/.local/share/nvim/site/pack/packer/start/outline.nvim", - url = "https://github.com/hedyhli/outline.nvim" - }, - ["packer.nvim"] = { - loaded = true, - path = "/Users/thomasnaderer/.local/share/nvim/site/pack/packer/start/packer.nvim", - url = "https://github.com/wbthomason/packer.nvim" - }, - ["plenary.nvim"] = { - loaded = true, - path = "/Users/thomasnaderer/.local/share/nvim/site/pack/packer/start/plenary.nvim", - url = "https://github.com/nvim-lua/plenary.nvim" - }, - ["rainbow-delimiters.nvim"] = { - loaded = true, - path = "/Users/thomasnaderer/.local/share/nvim/site/pack/packer/start/rainbow-delimiters.nvim", - url = "https://github.com/HiPhish/rainbow-delimiters.nvim" - }, - ["telescope.nvim"] = { - config = { "\27LJ\2\n\3\0\0\6\0\16\0!6\0\0\0009\0\1\0009\0\2\0'\2\3\0'\3\4\0'\4\5\0005\5\6\0B\0\5\0016\0\0\0009\0\1\0009\0\2\0'\2\3\0'\3\a\0'\4\b\0005\5\t\0B\0\5\0016\0\0\0009\0\1\0009\0\2\0'\2\3\0'\3\n\0'\4\v\0005\5\f\0B\0\5\0016\0\0\0009\0\1\0009\0\2\0'\2\3\0'\3\r\0'\4\14\0005\5\15\0B\0\5\1K\0\1\0\1\0\2\fnoremap\2\vsilent\2\29:Telescope help_tags\15fh\1\0\2\fnoremap\2\vsilent\2\27:Telescope buffers\15fb\1\0\2\fnoremap\2\vsilent\2\29:Telescope live_grep\15fg\1\0\2\fnoremap\2\vsilent\2\30:Telescope find_files\15ff\6n\20nvim_set_keymap\bapi\bvim\0" }, - loaded = true, - path = "/Users/thomasnaderer/.local/share/nvim/site/pack/packer/start/telescope.nvim", - url = "https://github.com/nvim-telescope/telescope.nvim" - }, - ["tokyonight.nvim"] = { - loaded = true, - path = "/Users/thomasnaderer/.local/share/nvim/site/pack/packer/start/tokyonight.nvim", - url = "https://github.com/folke/tokyonight.nvim" - }, - ["vim-fugitive"] = { - loaded = true, - path = "/Users/thomasnaderer/.local/share/nvim/site/pack/packer/start/vim-fugitive", - url = "https://github.com/tpope/vim-fugitive" - }, - ["vim-surround"] = { - loaded = true, - path = "/Users/thomasnaderer/.local/share/nvim/site/pack/packer/start/vim-surround", - url = "https://github.com/tpope/vim-surround" - }, - vimtex = { - loaded = true, - path = "/Users/thomasnaderer/.local/share/nvim/site/pack/packer/start/vimtex", - url = "https://github.com/lervag/vimtex" - } -} - -time([[Defining packer_plugins]], false) --- Config for: orgmode -time([[Config for orgmode]], true) -try_loadstring("\27LJ\2\n9\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\forgmode\frequire\0", "config", "orgmode") -time([[Config for orgmode]], false) --- Config for: outline.nvim -time([[Config for outline.nvim]], true) -try_loadstring("\27LJ\2\n=\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\20plugins.outline\frequire\0", "config", "outline.nvim") -time([[Config for outline.nvim]], false) --- Config for: auto-save.nvim -time([[Config for auto-save.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\14auto-save\frequire\0", "config", "auto-save.nvim") -time([[Config for auto-save.nvim]], false) --- Config for: telescope.nvim -time([[Config for telescope.nvim]], true) -try_loadstring("\27LJ\2\n\3\0\0\6\0\16\0!6\0\0\0009\0\1\0009\0\2\0'\2\3\0'\3\4\0'\4\5\0005\5\6\0B\0\5\0016\0\0\0009\0\1\0009\0\2\0'\2\3\0'\3\a\0'\4\b\0005\5\t\0B\0\5\0016\0\0\0009\0\1\0009\0\2\0'\2\3\0'\3\n\0'\4\v\0005\5\f\0B\0\5\0016\0\0\0009\0\1\0009\0\2\0'\2\3\0'\3\r\0'\4\14\0005\5\15\0B\0\5\1K\0\1\0\1\0\2\fnoremap\2\vsilent\2\29:Telescope help_tags\15fh\1\0\2\fnoremap\2\vsilent\2\27:Telescope buffers\15fb\1\0\2\fnoremap\2\vsilent\2\29:Telescope live_grep\15fg\1\0\2\fnoremap\2\vsilent\2\30:Telescope find_files\15ff\6n\20nvim_set_keymap\bapi\bvim\0", "config", "telescope.nvim") -time([[Config for telescope.nvim]], false) --- Config for: nvim-tree.lua -time([[Config for nvim-tree.lua]], true) -try_loadstring("\27LJ\2\n?\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\22plugins.nvim-tree\frequire\0", "config", "nvim-tree.lua") -time([[Config for nvim-tree.lua]], false) --- Load plugins in order defined by `after` -time([[Sequenced loading]], true) -vim.cmd [[ packadd nvim-treesitter ]] -vim.cmd [[ packadd headlines.nvim ]] - --- Config for: headlines.nvim -try_loadstring("\27LJ\2\n7\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\14headlines\frequire\0", "config", "headlines.nvim") - -time([[Sequenced loading]], 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/scripts/start-kanata.sh b/scripts/start-kanata.sh new file mode 100755 index 0000000..e427ff0 --- /dev/null +++ b/scripts/start-kanata.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +# Kanata Startup Script +# Starts Kanata with proper configuration and logging + +KANATA_CONFIG="$HOME/Library/Application Support/kanata/kanata.kbd" +LOG_FILE="$HOME/Library/Logs/kanata.log" + +# Create log directory if it doesn't exist +mkdir -p "$(dirname "$LOG_FILE")" + +# Check if kanata is already running +if pgrep -x "kanata" > /dev/null; then + echo "$(date): Kanata is already running" >> "$LOG_FILE" + exit 0 +fi + +# Check if config file exists +if [ ! -f "$KANATA_CONFIG" ]; then + echo "$(date): ERROR - Kanata config file not found: $KANATA_CONFIG" >> "$LOG_FILE" + exit 1 +fi + +# Start Kanata +echo "$(date): Starting Kanata with config: $KANATA_CONFIG" >> "$LOG_FILE" + +# Run kanata in the background with logging +/opt/homebrew/bin/kanata -c "$KANATA_CONFIG" >> "$LOG_FILE" 2>&1 & + +# Get the PID +KANATA_PID=$! + +# Save PID for easier management +echo "$KANATA_PID" > "$HOME/.kanata.pid" + +echo "$(date): Kanata started with PID: $KANATA_PID" >> "$LOG_FILE" \ No newline at end of file diff --git a/scripts/stop-kanata.sh b/scripts/stop-kanata.sh new file mode 100755 index 0000000..0cd1911 --- /dev/null +++ b/scripts/stop-kanata.sh @@ -0,0 +1,32 @@ +#!/bin/bash + +# Kanata Stop Script +# Stops Kanata process gracefully + +LOG_FILE="$HOME/Library/Logs/kanata.log" +PID_FILE="$HOME/.kanata.pid" + +# Check if PID file exists +if [ -f "$PID_FILE" ]; then + KANATA_PID=$(cat "$PID_FILE") + + # Check if process is running + if ps -p "$KANATA_PID" > /dev/null 2>&1; then + echo "$(date): Stopping Kanata (PID: $KANATA_PID)" >> "$LOG_FILE" + sudo kill "$KANATA_PID" + rm -f "$PID_FILE" + echo "$(date): Kanata stopped" >> "$LOG_FILE" + else + echo "$(date): Kanata process not found (PID: $KANATA_PID)" >> "$LOG_FILE" + rm -f "$PID_FILE" + fi +else + # Try to kill any running kanata process + if pgrep -x "kanata" > /dev/null; then + echo "$(date): Killing all Kanata processes" >> "$LOG_FILE" + sudo pkill kanata + echo "$(date): Kanata processes killed" >> "$LOG_FILE" + else + echo "$(date): No Kanata processes found" >> "$LOG_FILE" + fi +fi \ No newline at end of file diff --git a/scripts/tnmount.sh b/scripts/tnmount.sh index ad2e5a4..5bff43b 100755 --- a/scripts/tnmount.sh +++ b/scripts/tnmount.sh @@ -1,20 +1,47 @@ #!/bin/zsh +set -euo pipefail + +# Auto-remount TN shares when network changes. +# Credentials should be stored in macOS Keychain (connect once via Finder, remember password). -# User Configuration -USER="AK127132" # Insert Your AK Number -PASSWORD="enzfcj4bhg!mwr8BUH" # Insert your password SERVER="140.78.8.107" -SHARE1="TNGROUP/tn-group/ipec" -SHARE2="TNHOME/home/AK127132" -# Mount TNGROUP -echo "Mounting TNGROUP..." -osascript -e "try" -e "mount volume \"smb://$USER:$PASSWORD@$SERVER/$SHARE1\"" -e "end try" +# Use URL-encoded path segments for spaces if needed. +SHARE1_URL="smb://$SERVER/TNGROUP/tn-group/ipec" +SHARE2_URL="smb://$SERVER/TNHOME/home/AK127132" -# Mount TNHOME -echo "Mounting TNHOME..." -osascript -e "try" -e "mount volume \"smb://$USER:$PASSWORD@$SERVER/$SHARE2\"" -e "end try" +# Expected mount points under /Volumes (adjust if your Finder mount names differ) +MOUNT1="/Volumes/ipec" +MOUNT2="/Volumes/AK127132" -echo "Mounting complete." +log() { + echo "[tnmount] $*" +} +is_mounted() { + local mountpoint="$1" + mount | grep -q " on ${mountpoint} " +} +mount_if_missing() { + local mountpoint="$1" + local url="$2" + + if is_mounted "$mountpoint"; then + log "Already mounted: $mountpoint" + else + log "Mounting: $url" + open "$url" + fi +} + +# Skip when server is unreachable (offsite/no VPN), try again on next interval. +if ! nc -zw2 "$SERVER" 445 >/dev/null 2>&1; then + log "Server $SERVER:445 not reachable; skipping" + exit 0 +fi + +mount_if_missing "$MOUNT1" "$SHARE1_URL" +mount_if_missing "$MOUNT2" "$SHARE2_URL" + +log "Done" diff --git a/starship.toml b/starship.toml new file mode 100644 index 0000000..82ee93d --- /dev/null +++ b/starship.toml @@ -0,0 +1,32 @@ +# Starship - Standard sane config +# Path: ~/.config/starship.toml + +format = "$directory$git_branch$git_status$line_break$character" +add_newline = true + +[character] +success_symbol = "[❯](bold green)" +error_symbol = "[❯](bold red)" + +[directory] +truncation_length = 3 +truncation_symbol = "…/" +style = "bold blue" + +[git_branch] +symbol = " " +style = "bold purple" + +[git_status] +style = "red" +format = '([$all_status$ahead_behind]($style) )' +conflicted = "=${count}" +ahead = "⇡${count}" +behind = "⇣${count}" +diverged = "⇕⇡${ahead_count}⇣${behind_count}" +untracked = "?${count}" +stashed = "*${count}" +modified = "!${count}" +staged = "+${count}" +renamed = ">${count}" +deleted = "x${count}" diff --git a/tmux/themes/tmuxline-tokyonight.tmux b/tmux/themes/tmuxline-tokyonight.tmux new file mode 100644 index 0000000..a08e405 --- /dev/null +++ b/tmux/themes/tmuxline-tokyonight.tmux @@ -0,0 +1,22 @@ +# This tmux statusbar config was created by tmuxline.vim +# on Sun, 01 Mar 2026 +# Reworked: Tokyo Night Moon — readable, transparent, not loud + +set -g status-justify "centre" +set -g status "on" +set -g status-left-style "none" +set -g message-command-style "fg=#c8d3f5,bg=default" +set -g status-right-style "none" +set -g pane-active-border-style "fg=#82aaff" +set -g status-style "none,bg=default" +set -g message-style "fg=#c8d3f5,bg=default" +set -g pane-border-style "fg=#3b4261" +set -g status-right-length "100" +set -g status-left-length "100" +setw -g window-status-activity-style "underscore,fg=#444a73,bg=default" +setw -g window-status-separator "" +setw -g window-status-style "none,fg=#636da6,bg=default" +set -g status-left "#[fg=#636da6,bg=default] #S #[fg=default,bg=default,nobold,nounderscore,noitalics]" +set -g status-right "#[fg=default,bg=default,nobold,nounderscore,noitalics]#[fg=#636da6,bg=default] %H:%M #[fg=default,bg=default,nobold,nounderscore,noitalics]#[fg=#636da6,bg=default] %d %b " +setw -g window-status-format "#[fg=default,bg=default,nobold,nounderscore,noitalics]#[fg=#636da6,bg=default] #I #W#{?window_zoomed_flag, [Z],} #[fg=default,bg=default,nobold,nounderscore,noitalics]" +setw -g window-status-current-format "#[fg=#2d3f76,bg=default,nobold,nounderscore,noitalics]#[fg=#c8d3f5,bg=#2d3f76] #I #W#{?window_zoomed_flag, [Z],} #[fg=#2d3f76,bg=default,nobold,nounderscore,noitalics]" diff --git a/tmux/themes/tmuxline.tmux b/tmux/themes/tmuxline.tmux index 41e7059..d598acb 100644 --- a/tmux/themes/tmuxline.tmux +++ b/tmux/themes/tmuxline.tmux @@ -1,5 +1,22 @@ # This tmux statusbar config was created by tmuxline.vim # on Sun, 01 Mar 2026 +# Reworked: Catppuccin Mocha — readable, transparent, not loud -set -g status-style fg=colour#3b4261,bg=colour#1e2030 -set -g window-status-current-style fg=colour#828bb8,bg=colour#1e2030 +set -g status-justify "centre" +set -g status "on" +set -g status-left-style "none" +set -g message-command-style "fg=#cdd6f4,bg=default" +set -g status-right-style "none" +set -g pane-active-border-style "fg=#cba6f7" +set -g status-style "none,bg=default" +set -g message-style "fg=#cdd6f4,bg=default" +set -g pane-border-style "fg=#313244" +set -g status-right-length "100" +set -g status-left-length "100" +setw -g window-status-activity-style "none,fg=#45475a,bg=default" +setw -g window-status-separator "" +setw -g window-status-style "none,fg=#6c7086,bg=default" +set -g status-left "#[fg=#6c7086,bg=default] #S #[fg=default,bg=default,nobold,nounderscore,noitalics]" +set -g status-right "#[fg=default,bg=default,nobold,nounderscore,noitalics]#[fg=#6c7086,bg=default] %H:%M #[fg=default,bg=default,nobold,nounderscore,noitalics]#[fg=#6c7086,bg=default] %d %b " +setw -g window-status-format "#[fg=default,bg=default,nobold,nounderscore,noitalics]#[fg=#6c7086,bg=default] #I #W#{?window_zoomed_flag, 󰁌,} #[fg=default,bg=default,nobold,nounderscore,noitalics]" +setw -g window-status-current-format "#[fg=#313244,bg=default,nobold,nounderscore,noitalics]#[fg=#b4befe,bg=#313244] #I #W#{?window_zoomed_flag, 󰁌,} #[fg=#313244,bg=default,nobold,nounderscore,noitalics]" diff --git a/tmux/tmux.conf b/tmux/tmux.conf index 74df5b7..b4b6a06 100644 --- a/tmux/tmux.conf +++ b/tmux/tmux.conf @@ -37,8 +37,9 @@ set -g renumber-windows on # Increase scrollback buffer size set -g history-limit 10000 -# Enable automatic renaming for nerd font icons -set-option -g allow-rename on +# Let tmux auto-name unnamed windows, but keep manual names sticky. +# `allow-rename` lets shells/apps overwrite names via terminal title escapes. +set-option -g allow-rename off set-option -g automatic-rename on # Reduce escape time for neovim @@ -134,6 +135,7 @@ set -g @plugin 'tmux-plugins/tmux-sensible' set -g @plugin 'tmux-plugins/tmux-resurrect' set -g @plugin 'tmux-plugins/tmux-continuum' set -g @plugin 'tmux-plugins/tmux-yank' +set -g @plugin 'tmux-plugins/tmux-copycat' set -g @plugin 'sainnhe/tmux-fzf' set -g @plugin 'laktak/extrakto' set -g @plugin 'wfxr/tmux-fzf-url' @@ -190,6 +192,9 @@ source-file ~/.config/tmux/themes/tmuxline.tmux # KEYBINDINGS # ============================================ +# Clear stale bindings removed from older config revisions +unbind / + # Three-way toggle: top → bottom → hidden → top bind b if -F "#{==:#{status},off}" \ "set -g status on ; set -g status-position top ; set -g pane-border-status top" \ @@ -200,5 +205,8 @@ bind b if -F "#{==:#{status},off}" \ # Reload config bind r source-file ~/.config/tmux/tmux.conf \; display-message "󰑓 Config reloaded!" +# SessionX in window mode on demand +bind O run-shell 'old_mode="$(tmux show-option -gqv @sessionx-window-mode)"; tmux set-option -g @sessionx-window-mode on; ~/.config/tmux/plugins/tmux-sessionx/sessionx.tmux >/dev/null 2>&1; ~/.config/tmux/plugins/tmux-sessionx/scripts/sessionx.sh; if [ -n "$old_mode" ]; then tmux set-option -g @sessionx-window-mode "$old_mode"; else tmux set-option -gu @sessionx-window-mode; fi; ~/.config/tmux/plugins/tmux-sessionx/sessionx.tmux >/dev/null 2>&1' + # Initialize TMUX plugin manager (keep this line at the very bottom) run '~/.config/tmux/plugins/tpm/tpm' diff --git a/yazi/keymap.toml b/yazi/keymap.toml index 0f3d4d1..488079e 100644 --- a/yazi/keymap.toml +++ b/yazi/keymap.toml @@ -100,6 +100,7 @@ keymap = [ { on = [ "c", "d" ], run = "copy dirname", desc = "Copy the directory path" }, { on = [ "c", "f" ], run = "copy filename", desc = "Copy the filename" }, { on = [ "c", "n" ], run = "copy name_without_ext", desc = "Copy the filename without extension" }, + { on = [ "c", "y" ], run = "shell --block 'osascript -e \"on run argv\" -e \"set fList to {}\" -e \"repeat with p in argv\" -e \"set end of fList to (POSIX file p as alias)\" -e \"end repeat\" -e \"tell application \\\"Finder\\\" to set the clipboard to fList\" -e \"end run\" \"$@\" || printf \"%s\\n\" \"$@\" | pbcopy' --confirm", desc = "Copy selected files to Finder clipboard (fallback: copy paths as text)" }, # Filter { on = "f", run = "filter --smart", desc = "Filter files" }, @@ -122,8 +123,18 @@ keymap = [ { on = [ "", "o", "w" ], run = "shell 'cp -r \"$@\" ~/Library/Mobile\\ Documents/iCloud~md~obsidian/Documents/Work/' --confirm", desc = "Copy to Obsidian/Work" }, # Copy to JKU dirs - { on = [ "", "j", "b" ], run = "shell 'cp -r \"$@\" ~/Documents/JKU/Studium/BWL/' --confirm", desc = "Copy to JKU/BWL" }, - { on = [ "", "j", "w" ], run = "shell 'cp -r \"$@\" ~/Documents/JKU/Work/' --confirm", desc = "Copy to JKU/Work" }, + { on = [ "", "j", "b" ], run = "shell 'cp -r \"$@\" ~/Documents/JKU/Studies/BWL/' --confirm", desc = "Copy to JKU/Studies/BWL" }, + { on = [ "", "j", "r" ], run = "shell 'cp -r \"$@\" ~/Documents/JKU/Research/' --confirm", desc = "Copy to JKU/Research" }, + { on = [ "", "j", "s" ], run = "shell 'cp -r \"$@\" ~/Documents/JKU/Studies/' --confirm", desc = "Copy to JKU/Studies" }, + { on = [ "", "j", "a" ], run = "shell 'cp -r \"$@\" ~/Documents/JKU/Admin/' --confirm", desc = "Copy to JKU/Admin" }, + + # Copy to Projects + { on = [ "", "p", "" ], run = "shell 'cp -r \"$@\" ~/Projects/' --confirm", desc = "Copy to Projects" }, + { on = [ "", "p", "a" ], run = "shell 'cp -r \"$@\" ~/Projects/adonis-ag/' --confirm", desc = "Copy to Projects/adonis-ag" }, + { on = [ "", "p", "c" ], run = "shell 'cp -r \"$@\" ~/Projects/crypto/' --confirm", desc = "Copy to Projects/crypto" }, + { on = [ "", "p", "j" ], run = "shell 'cp -r \"$@\" ~/Projects/jku/' --confirm", desc = "Copy to Projects/jku" }, + { on = [ "", "p", "n" ], run = "shell 'cp -r \"$@\" ~/Projects/naderer.digital/' --confirm", desc = "Copy to Projects/naderer.digital" }, + { on = [ "", "p", "p" ], run = "shell 'cp -r \"$@\" ~/Projects/personal/' --confirm", desc = "Copy to Projects/personal" }, # Move to destination (Ctrl+X) { on = [ "", "h" ], run = "shell 'mv \"$@\" ~/' --confirm", desc = "Move to home" }, @@ -143,8 +154,18 @@ keymap = [ { on = [ "", "o", "w" ], run = "shell 'mv \"$@\" ~/Library/Mobile\\ Documents/iCloud~md~obsidian/Documents/Work/' --confirm", desc = "Move to Obsidian/Work" }, # Move to JKU dirs - { on = [ "", "j", "b" ], run = "shell 'mv \"$@\" ~/Documents/JKU/Studium/BWL/' --confirm", desc = "Move to JKU/BWL" }, - { on = [ "", "j", "w" ], run = "shell 'mv \"$@\" ~/Documents/JKU/Work/' --confirm", desc = "Move to JKU/Work" }, + { on = [ "", "j", "b" ], run = "shell 'mv \"$@\" ~/Documents/JKU/Studies/BWL/' --confirm", desc = "Move to JKU/Studies/BWL" }, + { on = [ "", "j", "r" ], run = "shell 'mv \"$@\" ~/Documents/JKU/Research/' --confirm", desc = "Move to JKU/Research" }, + { on = [ "", "j", "s" ], run = "shell 'mv \"$@\" ~/Documents/JKU/Studies/' --confirm", desc = "Move to JKU/Studies" }, + { on = [ "", "j", "a" ], run = "shell 'mv \"$@\" ~/Documents/JKU/Admin/' --confirm", desc = "Move to JKU/Admin" }, + + # Move to Projects + { on = [ "", "p", "" ], run = "shell 'mv \"$@\" ~/Projects/' --confirm", desc = "Move to Projects" }, + { on = [ "", "p", "a" ], run = "shell 'mv \"$@\" ~/Projects/adonis-ag/' --confirm", desc = "Move to Projects/adonis-ag" }, + { on = [ "", "p", "c" ], run = "shell 'mv \"$@\" ~/Projects/crypto/' --confirm", desc = "Move to Projects/crypto" }, + { on = [ "", "p", "j" ], run = "shell 'mv \"$@\" ~/Projects/jku/' --confirm", desc = "Move to Projects/jku" }, + { on = [ "", "p", "n" ], run = "shell 'mv \"$@\" ~/Projects/naderer.digital/' --confirm", desc = "Move to Projects/naderer.digital" }, + { on = [ "", "p", "p" ], run = "shell 'mv \"$@\" ~/Projects/personal/' --confirm", desc = "Move to Projects/personal" }, # Find { on = "/", run = "find --smart", desc = "Find next file" }, @@ -176,39 +197,50 @@ keymap = [ { on = [ "g", "D" ], run = "cd ~/Documents", desc = "Goto ~/Documents" }, { on = [ "g", "t" , "" ], run = "cd ~/Torrents", desc = "Goto ~/Torrents" }, { on = [ "g", "t", "b"], run = "cd ~/Torrents/Books", desc = "Goto Books" }, - { on = [ "g", "t", "a"], run = "cd ~/Torrents/Audiobooks", desc = "Goto Books" }, - { on = [ "g", "t", "s"], run = "cd ~/Torrents/Shows", desc = "Goto Shows" }, - { on = [ "g", "t", "m"], run = "cd ~/Torrents/Movies", desc = "Goto Shows" }, + { on = [ "g", "t", "a"], run = "cd ~/Torrents/Audiobooks", desc = "Goto Audiobooks" }, + { on = [ "g", "t", "s"], run = "cd ~/Torrents/Shows", desc = "Goto Shows" }, + { on = [ "g", "t", "m"], run = "cd ~/Torrents/Movies", desc = "Goto Movies" }, { on = [ "g", "s" ], run = "cd \"~/Music/Sheet Music/Alto Saxophone\"", desc = "Goto Sax Sheets" }, - #Studies - { on = [ "g", "j", "b" ], run = "cd \"~/Documents/JKU/Studium/BWL\"", desc = "Goto BWL" }, - { on = [ "g", "j", "w" ], run = "cd \"~/Documents/JKU/Work\"", desc = "Goto Work(local)" }, - { on = [ "g", "w" ], run = "cd \"~/Pictures/Wallpapers\"", desc = "Goto Wallpapers)" }, - { on = [ "g", "o", "p" ], run = "cd ~/Library/Mobile\\ Documents/iCloud~md~obsidian/Documents/Private/", desc = "Goto Obsidian/Privat" }, + #JKU + { on = [ "g", "j", "" ], run = "cd ~/Documents/JKU", desc = "Goto JKU" }, + { on = [ "g", "j", "b" ], run = "cd \"~/Documents/JKU/Studies/BWL\"", desc = "Goto JKU/Studies/BWL" }, + { on = [ "g", "j", "r" ], run = "cd \"~/Documents/JKU/Research\"", desc = "Goto JKU/Research" }, + { on = [ "g", "j", "s" ], run = "cd \"~/Documents/JKU/Studies\"", desc = "Goto JKU/Studies" }, + { on = [ "g", "j", "a" ], run = "cd \"~/Documents/JKU/Admin\"", desc = "Goto JKU/Admin" }, + { on = [ "g", "w" ], run = "cd \"~/Pictures/Wallpapers\"", desc = "Goto Wallpapers" }, + { on = [ "g", "o", "p" ], run = "cd ~/Library/Mobile\\ Documents/iCloud~md~obsidian/Documents/Private/", desc = "Goto Obsidian/Private" }, { on = [ "g", "o", "d" ], run = "shell --confirm 'touch $(date +%F).md'", desc = "Create Daily Note in Obsidian" }, { on = [ "g", "o", "w" ], run = "cd ~/Library/Mobile\\ Documents/iCloud~md~obsidian/Documents/Work/", desc = "Goto Obsidian/Work" }, - #Work Related - Network drive + #Local Projects + { on = [ "g", "p", "" ], run = "cd ~/Projects", desc = "Goto Projects" }, + { on = [ "g", "p", "a" ], run = "cd ~/Projects/adonis-ag", desc = "Goto Projects/adonis-ag" }, + { on = [ "g", "p", "c" ], run = "cd ~/Projects/crypto", desc = "Goto Projects/crypto" }, + { on = [ "g", "p", "j" ], run = "cd ~/Projects/jku", desc = "Goto Projects/jku" }, + { on = [ "g", "p", "n" ], run = "cd ~/Projects/naderer.digital", desc = "Goto Projects/naderer.digital" }, + { on = [ "g", "p", "p" ], run = "cd ~/Projects/personal", desc = "Goto Projects/personal" }, + #Network drive - Personal (TNHOME) { on = [ "g", "a", "" ], run = "cd /Volumes/TNHOME/home/AK127132", desc = "Goto AK127132" }, { on = [ "g", "a", "z" ], run = "cd /Volumes/TNHOME/home/AK127132/Zeitaufzeichnung", desc = "Goto Zeitaufzeichnung" }, + #Network drive - IPPD/Internal { on = [ "g", "i", "" ], run = "cd /Volumes/ipec/intern", desc = "Goto Intern" }, - { on = [ "g", "p", "b" ], run = "cd \"/Volumes/ipec/intern/02_Projekte/P63_Berndorf Band\"", desc = "Goto Berndorf" }, - { on = [ "g", "p", "s" ], run = "cd \"/Volumes/ipec/intern/02_Projekte/P42b_Senoplast SenoSmartCoex\"", desc = "Goto SenoSmartCoex" }, - { on = [ "g", "p", "m" , "" ], run = "cd \"/Volumes/ipec/intern/02_Projekte/P62_MoNoQEL\"", desc = "Goto MoNoQEL" }, - { on = [ "g", "p", "m" , "p" ], run = "cd \"/Volumes/ipec/intern/02_Projekte/P62_MoNoQEL/02 Projektmanagemant/\"", desc = "Goto MoNoQEL/Projektmanagement" }, - { on = [ "g", "p", "m" , "1" ], run = "cd \"/Volumes/ipec/intern/02_Projekte/P62_MoNoQEL/03 Arbeitspakete/AP1 Projektmanagement und Dissemination/\"", desc = "Goto MoNoQEL/AP1 Projektmanagemant & Dissemination" }, - { on = [ "g", "p", "m" , "2" ], run = "cd \"/Volumes/ipec/intern/02_Projekte/P62_MoNoQEL/03 Arbeitspakete/AP2 Grundlagenforschung zu optischen Kontrastmechanismen/\"", desc = "Goto MoNoQEL/AP2 Grundlagenforschung" }, - { on = [ "g", "p", "m" , "3" ], run = "cd \"/Volumes/ipec/intern/02_Projekte/P62_MoNoQEL/03 Arbeitspakete/AP3 Optimierung hochauflösender OCT-Messtechnik/\"", desc = "Goto MoNoQEL/AP3 OCT-Optimierung" }, - { on = [ "g", "p", "m" , "4" ], run = "cd \"/Volumes/ipec/intern/02_Projekte/P62_MoNoQEL/03 Arbeitspakete/AP4 KI-gestützte Bildanalyse und Defektklassifizierung/\"", desc = "Goto MoNoQEL/AP4 Bildanalyse" }, - { on = [ "g", "p", "m" , "5" ], run = "cd \"/Volumes/ipec/intern/02_Projekte/P62_MoNoQEL/03 Arbeitspakete/AP5 Prozessintegration und Inline-Demonstration/\"", desc = "Goto MoNoQEL/AP5 Prozessintegration" }, - { on = [ "g", "p", "m" , "6" ], run = "cd \"/Volumes/ipec/intern/02_Projekte/P62_MoNoQEL/03 Arbeitspakete/AP6 Systemvalidierung und Technologietransfer/\"", desc = "Goto MoNoQEL/AP6 Systemvalidierung" }, - { on = [ "g", "i", "p" ], run = "cd \"/Volumes/ipec/intern/05_Institutsbesprechungen/Projektstatusberichte\"", desc = "Goto Projektstatusberichte" }, + { on = [ "g", "i", "p", "b" ], run = "cd \"/Volumes/ipec/intern/02_Projekte/P63_Berndorf Band\"", desc = "Goto Berndorf" }, + { on = [ "g", "i", "p", "s" ], run = "cd \"/Volumes/ipec/intern/02_Projekte/P42b_Senoplast SenoSmartCoex\"", desc = "Goto SenoSmartCoex" }, + { on = [ "g", "i", "p", "m", "" ], run = "cd \"/Volumes/ipec/intern/02_Projekte/P62_MoNoQEL\"", desc = "Goto MoNoQEL" }, + { on = [ "g", "i", "p", "m", "p" ], run = "cd \"/Volumes/ipec/intern/02_Projekte/P62_MoNoQEL/02 Projektmanagemant/\"", desc = "Goto MoNoQEL/Projektmanagement" }, + { on = [ "g", "i", "p", "m", "1" ], run = "cd \"/Volumes/ipec/intern/02_Projekte/P62_MoNoQEL/03 Arbeitspakete/AP1 Projektmanagement und Dissemination/\"", desc = "Goto MoNoQEL/AP1 Projektmanagemant & Dissemination" }, + { on = [ "g", "i", "p", "m", "2" ], run = "cd \"/Volumes/ipec/intern/02_Projekte/P62_MoNoQEL/03 Arbeitspakete/AP2 Grundlagenforschung zu optischen Kontrastmechanismen/\"", desc = "Goto MoNoQEL/AP2 Grundlagenforschung" }, + { on = [ "g", "i", "p", "m", "3" ], run = "cd \"/Volumes/ipec/intern/02_Projekte/P62_MoNoQEL/03 Arbeitspakete/AP3 Optimierung hochauflösender OCT-Messtechnik/\"", desc = "Goto MoNoQEL/AP3 OCT-Optimierung" }, + { on = [ "g", "i", "p", "m", "4" ], run = "cd \"/Volumes/ipec/intern/02_Projekte/P62_MoNoQEL/03 Arbeitspakete/AP4 KI-gestützte Bildanalyse und Defektklassifizierung/\"", desc = "Goto MoNoQEL/AP4 Bildanalyse" }, + { on = [ "g", "i", "p", "m", "5" ], run = "cd \"/Volumes/ipec/intern/02_Projekte/P62_MoNoQEL/03 Arbeitspakete/AP5 Prozessintegration und Inline-Demonstration/\"", desc = "Goto MoNoQEL/AP5 Prozessintegration" }, + { on = [ "g", "i", "p", "m", "6" ], run = "cd \"/Volumes/ipec/intern/02_Projekte/P62_MoNoQEL/03 Arbeitspakete/AP6 Systemvalidierung und Technologietransfer/\"", desc = "Goto MoNoQEL/AP6 Systemvalidierung" }, + { on = [ "g", "i", "b", "p" ], run = "cd \"/Volumes/ipec/intern/05_Institutsbesprechungen/Projektstatusberichte\"", desc = "Goto Projektstatusberichte" }, { on = [ "g", "i", "b" ], run = "cd \"/Volumes/ipec/intern/05_Institutsbesprechungen\"", desc = "Goto Institutsbesprechungen" }, { on = [ "g", "" ], run = "cd --interactive", desc = "Jump interactively" }, - { on = "R", run = "open -a Finder .", desc = "Open current folder in Finder" }, + { on = "E", run = "shell 'open -a Finder \"$(pwd)\"'", desc = "Open current folder in Finder" }, # Tabs { on = "t", run = "tab_create --current", desc = "Create a new tab with CWD" }, @@ -444,6 +476,36 @@ on = "l" run = "plugin smart-enter" desc = "Enter the child directory, or open the file" +[[mgr.prepend_keymap]] +on = "T" +run = "plugin toggle-pane --args max-preview" +desc = "Maximize preview pane" + +[[mgr.prepend_keymap]] +on = "I" +run = "plugin toggle-pane --args min-preview" +desc = "Hide/show preview pane" + +[[mgr.prepend_keymap]] +on = ["c", "m"] +run = "plugin chmod" +desc = "Chmod selected files" + +[[mgr.prepend_keymap]] +on = [",", "d"] +run = "plugin diff" +desc = "Diff selected files" + +[[mgr.prepend_keymap]] +on = "+" +run = "plugin zoom 1" +desc = "Zoom into image preview" + +[[mgr.prepend_keymap]] +on = "-" +run = "plugin zoom -1" +desc = "Zoom out of image preview" + [[plugin.prepend_fetchers]] id = "git" diff --git a/yazi/package.toml b/yazi/package.toml index f6d9f00..1b16e9f 100644 --- a/yazi/package.toml +++ b/yazi/package.toml @@ -13,5 +13,25 @@ use = "yazi-rs/plugins:smart-enter" rev = "b886025" hash = "56fdabc96fc1f4d53c96eb884b02a5be" +[[plugin.deps]] +use = "yazi-rs/plugins:zoom" +rev = "1962818" +hash = "" + +[[plugin.deps]] +use = "yazi-rs/plugins:toggle-pane" +rev = "1962818" +hash = "" + +[[plugin.deps]] +use = "yazi-rs/plugins:chmod" +rev = "1962818" +hash = "" + +[[plugin.deps]] +use = "yazi-rs/plugins:diff" +rev = "1962818" +hash = "" + [flavor] deps = [] diff --git a/yazi/plugins/full-border.yazi/LICENSE b/yazi/plugins/full-border.yazi/LICENSE deleted file mode 100644 index fb5b1d6..0000000 --- a/yazi/plugins/full-border.yazi/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2023 yazi-rs - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/yazi/plugins/full-border.yazi/README.md b/yazi/plugins/full-border.yazi/README.md deleted file mode 100644 index 269ca8e..0000000 --- a/yazi/plugins/full-border.yazi/README.md +++ /dev/null @@ -1,32 +0,0 @@ -# full-border.yazi - -Add a full border to Yazi to make it look fancier. - -![full-border](https://github.com/yazi-rs/plugins/assets/17523360/ef81b560-2465-4d36-abf2-5d21dcb7b987) - -## Installation - -```sh -ya pkg add yazi-rs/plugins:full-border -``` - -## Usage - -Add this to your `init.lua` to enable the plugin: - -```lua -require("full-border"):setup() -``` - -Or you can customize the border type: - -```lua -require("full-border"):setup { - -- Available values: ui.Border.PLAIN, ui.Border.ROUNDED - type = ui.Border.ROUNDED, -} -``` - -## License - -This plugin is MIT-licensed. For more information check the [LICENSE](LICENSE) file. diff --git a/yazi/plugins/full-border.yazi/main.lua b/yazi/plugins/full-border.yazi/main.lua deleted file mode 100644 index a917e1e..0000000 --- a/yazi/plugins/full-border.yazi/main.lua +++ /dev/null @@ -1,43 +0,0 @@ ---- @since 25.2.26 - -local function setup(_, opts) - local type = opts and opts.type or ui.Border.ROUNDED - local old_build = Tab.build - - Tab.build = function(self, ...) - local bar = function(c, x, y) - if x <= 0 or x == self._area.w - 1 or th.mgr.border_symbol ~= "│" then - return ui.Bar(ui.Edge.TOP) - end - - return ui.Bar(ui.Edge.TOP) - :area( - ui.Rect { x = x, y = math.max(0, y), w = ya.clamp(0, self._area.w - x, 1), h = math.min(1, self._area.h) } - ) - :symbol(c) - end - - local c = self._chunks - self._chunks = { - c[1]:pad(ui.Pad.y(1)), - c[2]:pad(ui.Pad(1, c[3].w > 0 and 0 or 1, 1, c[1].w > 0 and 0 or 1)), - c[3]:pad(ui.Pad.y(1)), - } - - local style = th.mgr.border_style - self._base = ya.list_merge(self._base or {}, { - ui.Border(ui.Edge.ALL):area(self._area):type(type):style(style), - ui.Bar(ui.Edge.RIGHT):area(self._chunks[1]):style(style), - ui.Bar(ui.Edge.LEFT):area(self._chunks[3]):style(style), - - bar("┬", c[1].right - 1, c[1].y), - bar("┴", c[1].right - 1, c[1].bottom - 1), - bar("┬", c[2].right, c[2].y), - bar("┴", c[2].right, c[2].bottom - 1), - }) - - old_build(self, ...) - end -end - -return { setup = setup } diff --git a/yazi/theme.toml b/yazi/theme.toml index e69de29..e119044 100644 --- a/yazi/theme.toml +++ b/yazi/theme.toml @@ -0,0 +1,771 @@ +[app] +overall = { bg = "#1e1e2e" } + +[mgr] +cwd = { fg = "#94e2d5" } + +find_keyword = { fg = "#f9e2af", italic = true } +find_position = { fg = "#f5c2e7", bg = "reset", italic = true } + +marker_copied = { fg = "#a6e3a1", bg = "#a6e3a1" } +marker_cut = { fg = "#f38ba8", bg = "#f38ba8" } +marker_marked = { fg = "#94e2d5", bg = "#94e2d5" } +marker_selected = { fg = "#b4befe", bg = "#b4befe" } + +count_copied = { fg = "#1e1e2e", bg = "#a6e3a1" } +count_cut = { fg = "#1e1e2e", bg = "#f38ba8" } +count_selected = { fg = "#1e1e2e", bg = "#b4befe" } + +border_symbol = "│" +border_style = { fg = "#7f849c" } + +syntect_theme = "~/.config/yazi/Catppuccin-mocha.tmTheme" + +[tabs] +active = { fg = "#1e1e2e", bg = "#cdd6f4", bold = true } +inactive = { fg = "#cdd6f4", bg = "#45475a" } + +[mode] +normal_main = { fg = "#1e1e2e", bg = "#b4befe", bold = true } +normal_alt = { fg = "#b4befe", bg = "#313244"} + +select_main = { fg = "#1e1e2e", bg = "#a6e3a1", bold = true } +select_alt = { fg = "#a6e3a1", bg = "#313244"} + +unset_main = { fg = "#1e1e2e", bg = "#f2cdcd", bold = true } +unset_alt = { fg = "#f2cdcd", bg = "#313244"} + +[indicator] +parent = { fg = "#1e1e2e", bg = "#cdd6f4" } +current = { fg = "#1e1e2e", bg = "#b4befe" } +preview = { fg = "#1e1e2e", bg = "#cdd6f4" } + +[status] +sep_left = { open = "", close = "" } +sep_right = { open = "", close = "" } + +progress_label = { fg = "#ffffff", bold = true } +progress_normal = { fg = "#a6e3a1", bg = "#45475a" } +progress_error = { fg = "#f9e2af", bg = "#f38ba8" } + +perm_type = { fg = "#89b4fa" } +perm_read = { fg = "#f9e2af" } +perm_write = { fg = "#f38ba8" } +perm_exec = { fg = "#a6e3a1" } +perm_sep = { fg = "#7f849c" } + +[input] +border = { fg = "#b4befe" } +title = {} +value = {} +selected = { reversed = true } + +[pick] +border = { fg = "#b4befe" } +active = { fg = "#f5c2e7" } +inactive = {} + +[confirm] +border = { fg = "#b4befe" } +title = { fg = "#b4befe" } +body = {} +list = {} +btn_yes = { reversed = true } +btn_no = {} + +[cmp] +border = { fg = "#b4befe" } + +[tasks] +border = { fg = "#b4befe" } +title = {} +hovered = { fg = "#f5c2e7", bold = true } + +[which] +mask = { bg = "#313244" } +cand = { fg = "#94e2d5" } +rest = { fg = "#9399b2" } +desc = { fg = "#f5c2e7" } +separator = "  " +separator_style = { fg = "#585b70" } + +[help] +on = { fg = "#94e2d5" } +run = { fg = "#f5c2e7" } +desc = { fg = "#9399b2" } +hovered = { bg = "#585b70", bold = true } +footer = { fg = "#cdd6f4", bg = "#45475a" } + +[notify] +title_info = { fg = "#94e2d5" } +title_warn = { fg = "#f9e2af" } +title_error = { fg = "#f38ba8" } + +[filetype] +rules = [ + # Media + { mime = "image/*", fg = "#94e2d5" }, + { mime = "{audio,video}/*", fg = "#f9e2af" }, + + # Archives + { mime = "application/*zip", fg = "#f5c2e7" }, + { mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", fg = "#f5c2e7" }, + + # Documents + { mime = "application/{pdf,doc,rtf}", fg = "#a6e3a1" }, + + # Virtual file system + { mime = "vfs/{absent,stale}", fg = "#45475a" }, + + # Special file + { url = "*", is = "orphan", bg = "#f38ba8" }, + { url = "*", is = "exec" , fg = "#a6e3a1" }, + + # Dummy file + { url = "*", is = "dummy", bg = "#f38ba8" }, + { url = "*/", is = "dummy", bg = "#f38ba8" }, + + # Fallback + { url = "*/", fg = "#b4befe" }, +] + +[spot] +border = { fg = "#b4befe" } +title = { fg = "#b4befe" } +tbl_cell = { fg = "#b4befe", reversed = true } +tbl_col = { bold = true } + +[icon] +files = [ + { name = "kritadisplayrc", text = "", fg = "#cba6f7" }, + { name = ".gtkrc-2.0", text = "", fg = "#f5e0dc" }, + { name = "bspwmrc", text = "", fg = "#313244" }, + { name = "webpack", text = "󰜫", fg = "#74c7ec" }, + { name = "tsconfig.json", text = "", fg = "#74c7ec" }, + { name = ".vimrc", text = "", fg = "#a6e3a1" }, + { name = "gemfile$", text = "", fg = "#313244" }, + { name = "xmobarrc", text = "", fg = "#f38ba8" }, + { name = "avif", text = "", fg = "#7f849c" }, + { name = "fp-info-cache", text = "", fg = "#f5e0dc" }, + { name = ".zshrc", text = "", fg = "#a6e3a1" }, + { name = "robots.txt", text = "󰚩", fg = "#6c7086" }, + { name = "dockerfile", text = "󰡨", fg = "#89b4fa" }, + { name = ".git-blame-ignore-revs", text = "", fg = "#fab387" }, + { name = ".nvmrc", text = "", fg = "#a6e3a1" }, + { name = "hyprpaper.conf", text = "", fg = "#74c7ec" }, + { name = ".prettierignore", text = "", fg = "#89b4fa" }, + { name = "rakefile", text = "", fg = "#313244" }, + { name = "code_of_conduct", text = "", fg = "#f38ba8" }, + { name = "cmakelists.txt", text = "", fg = "#cdd6f4" }, + { name = ".env", text = "", fg = "#f9e2af" }, + { name = "copying.lesser", text = "", fg = "#f9e2af" }, + { name = "readme", text = "󰂺", fg = "#f5e0dc" }, + { name = "settings.gradle", text = "", fg = "#585b70" }, + { name = "gruntfile.coffee", text = "", fg = "#fab387" }, + { name = ".eslintignore", text = "", fg = "#585b70" }, + { name = "kalgebrarc", text = "", fg = "#89b4fa" }, + { name = "kdenliverc", text = "", fg = "#89b4fa" }, + { name = ".prettierrc.cjs", text = "", fg = "#89b4fa" }, + { name = "cantorrc", text = "", fg = "#89b4fa" }, + { name = "rmd", text = "", fg = "#74c7ec" }, + { name = "vagrantfile$", text = "", fg = "#6c7086" }, + { name = ".Xauthority", text = "", fg = "#fab387" }, + { name = "prettier.config.ts", text = "", fg = "#89b4fa" }, + { name = "node_modules", text = "", fg = "#f38ba8" }, + { name = ".prettierrc.toml", text = "", fg = "#89b4fa" }, + { name = "build.zig.zon", text = "", fg = "#fab387" }, + { name = ".ds_store", text = "", fg = "#45475a" }, + { name = "PKGBUILD", text = "", fg = "#89b4fa" }, + { name = ".prettierrc", text = "", fg = "#89b4fa" }, + { name = ".bash_profile", text = "", fg = "#a6e3a1" }, + { name = ".npmignore", text = "", fg = "#f38ba8" }, + { name = ".mailmap", text = "󰊢", fg = "#fab387" }, + { name = ".codespellrc", text = "󰓆", fg = "#a6e3a1" }, + { name = "svelte.config.js", text = "", fg = "#fab387" }, + { name = "eslint.config.ts", text = "", fg = "#585b70" }, + { name = "config", text = "", fg = "#7f849c" }, + { name = ".gitlab-ci.yml", text = "", fg = "#fab387" }, + { name = ".gitconfig", text = "", fg = "#fab387" }, + { name = "_gvimrc", text = "", fg = "#a6e3a1" }, + { name = ".xinitrc", text = "", fg = "#fab387" }, + { name = "checkhealth", text = "󰓙", fg = "#89b4fa" }, + { name = "sxhkdrc", text = "", fg = "#313244" }, + { name = ".bashrc", text = "", fg = "#a6e3a1" }, + { name = "tailwind.config.mjs", text = "󱏿", fg = "#74c7ec" }, + { name = "ext_typoscript_setup.txt", text = "", fg = "#fab387" }, + { name = "commitlint.config.ts", text = "󰜘", fg = "#94e2d5" }, + { name = "py.typed", text = "", fg = "#f9e2af" }, + { name = ".nanorc", text = "", fg = "#313244" }, + { name = "commit_editmsg", text = "", fg = "#fab387" }, + { name = ".luaurc", text = "", fg = "#89b4fa" }, + { name = "fp-lib-table", text = "", fg = "#f5e0dc" }, + { name = ".editorconfig", text = "", fg = "#f5e0dc" }, + { name = "justfile", text = "", fg = "#7f849c" }, + { name = "kdeglobals", text = "", fg = "#89b4fa" }, + { name = "license.md", text = "", fg = "#f9e2af" }, + { name = ".clang-format", text = "", fg = "#7f849c" }, + { name = "docker-compose.yaml", text = "󰡨", fg = "#89b4fa" }, + { name = "copying", text = "", fg = "#f9e2af" }, + { name = "go.mod", text = "", fg = "#74c7ec" }, + { name = "lxqt.conf", text = "", fg = "#89b4fa" }, + { name = "brewfile", text = "", fg = "#313244" }, + { name = "gulpfile.coffee", text = "", fg = "#f38ba8" }, + { name = ".dockerignore", text = "󰡨", fg = "#89b4fa" }, + { name = ".settings.json", text = "", fg = "#6c7086" }, + { name = "tailwind.config.js", text = "󱏿", fg = "#74c7ec" }, + { name = ".clang-tidy", text = "", fg = "#7f849c" }, + { name = ".gvimrc", text = "", fg = "#a6e3a1" }, + { name = "nuxt.config.cjs", text = "󱄆", fg = "#a6e3a1" }, + { name = "xsettingsd.conf", text = "", fg = "#fab387" }, + { name = "nuxt.config.js", text = "󱄆", fg = "#a6e3a1" }, + { name = "eslint.config.cjs", text = "", fg = "#585b70" }, + { name = "sym-lib-table", text = "", fg = "#f5e0dc" }, + { name = ".condarc", text = "", fg = "#a6e3a1" }, + { name = "xmonad.hs", text = "", fg = "#f38ba8" }, + { name = "tmux.conf", text = "", fg = "#a6e3a1" }, + { name = "xmobarrc.hs", text = "", fg = "#f38ba8" }, + { name = ".prettierrc.yaml", text = "", fg = "#89b4fa" }, + { name = ".pre-commit-config.yaml", text = "󰛢", fg = "#fab387" }, + { name = "i3blocks.conf", text = "", fg = "#f5e0dc" }, + { name = "xorg.conf", text = "", fg = "#fab387" }, + { name = ".zshenv", text = "", fg = "#a6e3a1" }, + { name = "vlcrc", text = "󰕼", fg = "#fab387" }, + { name = "license", text = "", fg = "#f9e2af" }, + { name = "unlicense", text = "", fg = "#f9e2af" }, + { name = "tmux.conf.local", text = "", fg = "#a6e3a1" }, + { name = ".SRCINFO", text = "󰣇", fg = "#89b4fa" }, + { name = "tailwind.config.ts", text = "󱏿", fg = "#74c7ec" }, + { name = "security.md", text = "󰒃", fg = "#bac2de" }, + { name = "security", text = "󰒃", fg = "#bac2de" }, + { name = ".eslintrc", text = "", fg = "#585b70" }, + { name = "gradle.properties", text = "", fg = "#585b70" }, + { name = "code_of_conduct.md", text = "", fg = "#f38ba8" }, + { name = "PrusaSlicerGcodeViewer.ini", text = "", fg = "#fab387" }, + { name = "PrusaSlicer.ini", text = "", fg = "#fab387" }, + { name = "procfile", text = "", fg = "#7f849c" }, + { name = "mpv.conf", text = "", fg = "#1e1e2e" }, + { name = ".prettierrc.json5", text = "", fg = "#89b4fa" }, + { name = "i3status.conf", text = "", fg = "#f5e0dc" }, + { name = "prettier.config.mjs", text = "", fg = "#89b4fa" }, + { name = ".pylintrc", text = "", fg = "#7f849c" }, + { name = "prettier.config.cjs", text = "", fg = "#89b4fa" }, + { name = ".luacheckrc", text = "", fg = "#89b4fa" }, + { name = "containerfile", text = "󰡨", fg = "#89b4fa" }, + { name = "eslint.config.mjs", text = "", fg = "#585b70" }, + { name = "gruntfile.js", text = "", fg = "#fab387" }, + { name = "bun.lockb", text = "", fg = "#f5e0dc" }, + { name = ".gitattributes", text = "", fg = "#fab387" }, + { name = "gruntfile.ts", text = "", fg = "#fab387" }, + { name = "pom.xml", text = "", fg = "#313244" }, + { name = "favicon.ico", text = "", fg = "#f9e2af" }, + { name = "package-lock.json", text = "", fg = "#313244" }, + { name = "build", text = "", fg = "#a6e3a1" }, + { name = "package.json", text = "", fg = "#f38ba8" }, + { name = "nuxt.config.ts", text = "󱄆", fg = "#a6e3a1" }, + { name = "nuxt.config.mjs", text = "󱄆", fg = "#a6e3a1" }, + { name = "mix.lock", text = "", fg = "#7f849c" }, + { name = "makefile", text = "", fg = "#7f849c" }, + { name = "gulpfile.js", text = "", fg = "#f38ba8" }, + { name = "lxde-rc.xml", text = "", fg = "#9399b2" }, + { name = "kritarc", text = "", fg = "#cba6f7" }, + { name = "gtkrc", text = "", fg = "#f5e0dc" }, + { name = "ionic.config.json", text = "", fg = "#89b4fa" }, + { name = ".prettierrc.mjs", text = "", fg = "#89b4fa" }, + { name = ".prettierrc.yml", text = "", fg = "#89b4fa" }, + { name = ".npmrc", text = "", fg = "#f38ba8" }, + { name = "weston.ini", text = "", fg = "#f9e2af" }, + { name = "gulpfile.babel.js", text = "", fg = "#f38ba8" }, + { name = "i18n.config.ts", text = "󰗊", fg = "#7f849c" }, + { name = "commitlint.config.js", text = "󰜘", fg = "#94e2d5" }, + { name = ".gitmodules", text = "", fg = "#fab387" }, + { name = "gradle-wrapper.properties", text = "", fg = "#585b70" }, + { name = "hypridle.conf", text = "", fg = "#74c7ec" }, + { name = "vercel.json", text = "▲", fg = "#f5e0dc" }, + { name = "hyprlock.conf", text = "", fg = "#74c7ec" }, + { name = "go.sum", text = "", fg = "#74c7ec" }, + { name = "kdenlive-layoutsrc", text = "", fg = "#89b4fa" }, + { name = "gruntfile.babel.js", text = "", fg = "#fab387" }, + { name = "compose.yml", text = "󰡨", fg = "#89b4fa" }, + { name = "i18n.config.js", text = "󰗊", fg = "#7f849c" }, + { name = "readme.md", text = "󰂺", fg = "#f5e0dc" }, + { name = "gradlew", text = "", fg = "#585b70" }, + { name = "go.work", text = "", fg = "#74c7ec" }, + { name = "gulpfile.ts", text = "", fg = "#f38ba8" }, + { name = "gnumakefile", text = "", fg = "#7f849c" }, + { name = "FreeCAD.conf", text = "", fg = "#f38ba8" }, + { name = "compose.yaml", text = "󰡨", fg = "#89b4fa" }, + { name = "eslint.config.js", text = "", fg = "#585b70" }, + { name = "hyprland.conf", text = "", fg = "#74c7ec" }, + { name = "docker-compose.yml", text = "󰡨", fg = "#89b4fa" }, + { name = "groovy", text = "", fg = "#585b70" }, + { name = "QtProject.conf", text = "", fg = "#a6e3a1" }, + { name = "platformio.ini", text = "", fg = "#fab387" }, + { name = "build.gradle", text = "", fg = "#585b70" }, + { name = ".nuxtrc", text = "󱄆", fg = "#a6e3a1" }, + { name = "_vimrc", text = "", fg = "#a6e3a1" }, + { name = ".zprofile", text = "", fg = "#a6e3a1" }, + { name = ".xsession", text = "", fg = "#fab387" }, + { name = "prettier.config.js", text = "", fg = "#89b4fa" }, + { name = ".babelrc", text = "", fg = "#f9e2af" }, + { name = "workspace", text = "", fg = "#a6e3a1" }, + { name = ".prettierrc.json", text = "", fg = "#89b4fa" }, + { name = ".prettierrc.js", text = "", fg = "#89b4fa" }, + { name = ".Xresources", text = "", fg = "#fab387" }, + { name = ".gitignore", text = "", fg = "#fab387" }, + { name = ".justfile", text = "", fg = "#7f849c" }, +] +exts = [ + { name = "otf", text = "", fg = "#f5e0dc" }, + { name = "import", text = "", fg = "#f5e0dc" }, + { name = "krz", text = "", fg = "#cba6f7" }, + { name = "adb", text = "", fg = "#94e2d5" }, + { name = "ttf", text = "", fg = "#f5e0dc" }, + { name = "webpack", text = "󰜫", fg = "#74c7ec" }, + { name = "dart", text = "", fg = "#585b70" }, + { name = "vsh", text = "", fg = "#7f849c" }, + { name = "doc", text = "󰈬", fg = "#585b70" }, + { name = "zsh", text = "", fg = "#a6e3a1" }, + { name = "ex", text = "", fg = "#7f849c" }, + { name = "hx", text = "", fg = "#fab387" }, + { name = "fodt", text = "", fg = "#74c7ec" }, + { name = "mojo", text = "", fg = "#fab387" }, + { name = "templ", text = "", fg = "#f9e2af" }, + { name = "nix", text = "", fg = "#74c7ec" }, + { name = "cshtml", text = "󱦗", fg = "#585b70" }, + { name = "fish", text = "", fg = "#585b70" }, + { name = "ply", text = "󰆧", fg = "#7f849c" }, + { name = "sldprt", text = "󰻫", fg = "#a6e3a1" }, + { name = "gemspec", text = "", fg = "#313244" }, + { name = "mjs", text = "", fg = "#f9e2af" }, + { name = "csh", text = "", fg = "#585b70" }, + { name = "cmake", text = "", fg = "#cdd6f4" }, + { name = "fodp", text = "", fg = "#fab387" }, + { name = "vi", text = "", fg = "#f9e2af" }, + { name = "msf", text = "", fg = "#89b4fa" }, + { name = "blp", text = "󰺾", fg = "#89b4fa" }, + { name = "less", text = "", fg = "#45475a" }, + { name = "sh", text = "", fg = "#585b70" }, + { name = "odg", text = "", fg = "#f9e2af" }, + { name = "mint", text = "󰌪", fg = "#a6e3a1" }, + { name = "dll", text = "", fg = "#11111b" }, + { name = "odf", text = "", fg = "#f38ba8" }, + { name = "sqlite3", text = "", fg = "#f5e0dc" }, + { name = "Dockerfile", text = "󰡨", fg = "#89b4fa" }, + { name = "ksh", text = "", fg = "#585b70" }, + { name = "rmd", text = "", fg = "#74c7ec" }, + { name = "wv", text = "", fg = "#74c7ec" }, + { name = "xml", text = "󰗀", fg = "#fab387" }, + { name = "markdown", text = "", fg = "#cdd6f4" }, + { name = "qml", text = "", fg = "#a6e3a1" }, + { name = "3gp", text = "", fg = "#fab387" }, + { name = "pxi", text = "", fg = "#89b4fa" }, + { name = "flac", text = "", fg = "#6c7086" }, + { name = "gpr", text = "", fg = "#cba6f7" }, + { name = "huff", text = "󰡘", fg = "#585b70" }, + { name = "json", text = "", fg = "#f9e2af" }, + { name = "gv", text = "󱁉", fg = "#585b70" }, + { name = "bmp", text = "", fg = "#7f849c" }, + { name = "lock", text = "", fg = "#bac2de" }, + { name = "sha384", text = "󰕥", fg = "#7f849c" }, + { name = "cobol", text = "⚙", fg = "#585b70" }, + { name = "cob", text = "⚙", fg = "#585b70" }, + { name = "java", text = "", fg = "#f38ba8" }, + { name = "cjs", text = "", fg = "#f9e2af" }, + { name = "qm", text = "", fg = "#74c7ec" }, + { name = "ebuild", text = "", fg = "#45475a" }, + { name = "mustache", text = "", fg = "#fab387" }, + { name = "terminal", text = "", fg = "#a6e3a1" }, + { name = "ejs", text = "", fg = "#f9e2af" }, + { name = "brep", text = "󰻫", fg = "#a6e3a1" }, + { name = "rar", text = "", fg = "#fab387" }, + { name = "gradle", text = "", fg = "#585b70" }, + { name = "gnumakefile", text = "", fg = "#7f849c" }, + { name = "applescript", text = "", fg = "#7f849c" }, + { name = "elm", text = "", fg = "#74c7ec" }, + { name = "ebook", text = "", fg = "#fab387" }, + { name = "kra", text = "", fg = "#cba6f7" }, + { name = "tf", text = "", fg = "#585b70" }, + { name = "xls", text = "󰈛", fg = "#585b70" }, + { name = "fnl", text = "", fg = "#f9e2af" }, + { name = "kdbx", text = "", fg = "#a6e3a1" }, + { name = "kicad_pcb", text = "", fg = "#f5e0dc" }, + { name = "cfg", text = "", fg = "#7f849c" }, + { name = "ape", text = "", fg = "#74c7ec" }, + { name = "org", text = "", fg = "#94e2d5" }, + { name = "yml", text = "", fg = "#7f849c" }, + { name = "swift", text = "", fg = "#fab387" }, + { name = "eln", text = "", fg = "#7f849c" }, + { name = "sol", text = "", fg = "#74c7ec" }, + { name = "awk", text = "", fg = "#585b70" }, + { name = "7z", text = "", fg = "#fab387" }, + { name = "apl", text = "⍝", fg = "#fab387" }, + { name = "epp", text = "", fg = "#fab387" }, + { name = "app", text = "", fg = "#45475a" }, + { name = "dot", text = "󱁉", fg = "#585b70" }, + { name = "kpp", text = "", fg = "#cba6f7" }, + { name = "eot", text = "", fg = "#f5e0dc" }, + { name = "hpp", text = "", fg = "#7f849c" }, + { name = "spec.tsx", text = "", fg = "#585b70" }, + { name = "hurl", text = "", fg = "#f38ba8" }, + { name = "cxxm", text = "", fg = "#74c7ec" }, + { name = "c", text = "", fg = "#89b4fa" }, + { name = "fcmacro", text = "", fg = "#f38ba8" }, + { name = "sass", text = "", fg = "#f38ba8" }, + { name = "yaml", text = "", fg = "#7f849c" }, + { name = "xz", text = "", fg = "#fab387" }, + { name = "material", text = "󰔉", fg = "#f38ba8" }, + { name = "json5", text = "", fg = "#f9e2af" }, + { name = "signature", text = "λ", fg = "#fab387" }, + { name = "3mf", text = "󰆧", fg = "#7f849c" }, + { name = "jpg", text = "", fg = "#7f849c" }, + { name = "xpi", text = "", fg = "#fab387" }, + { name = "fcmat", text = "", fg = "#f38ba8" }, + { name = "pot", text = "", fg = "#74c7ec" }, + { name = "bin", text = "", fg = "#45475a" }, + { name = "xlsx", text = "󰈛", fg = "#585b70" }, + { name = "aac", text = "", fg = "#74c7ec" }, + { name = "kicad_sym", text = "", fg = "#f5e0dc" }, + { name = "xcstrings", text = "", fg = "#74c7ec" }, + { name = "lff", text = "", fg = "#f5e0dc" }, + { name = "xcf", text = "", fg = "#585b70" }, + { name = "azcli", text = "", fg = "#6c7086" }, + { name = "license", text = "", fg = "#f9e2af" }, + { name = "jsonc", text = "", fg = "#f9e2af" }, + { name = "xaml", text = "󰙳", fg = "#585b70" }, + { name = "md5", text = "󰕥", fg = "#7f849c" }, + { name = "xm", text = "", fg = "#74c7ec" }, + { name = "sln", text = "", fg = "#6c7086" }, + { name = "jl", text = "", fg = "#7f849c" }, + { name = "ml", text = "", fg = "#fab387" }, + { name = "http", text = "", fg = "#89b4fa" }, + { name = "x", text = "", fg = "#89b4fa" }, + { name = "wvc", text = "", fg = "#74c7ec" }, + { name = "wrz", text = "󰆧", fg = "#7f849c" }, + { name = "csproj", text = "󰪮", fg = "#585b70" }, + { name = "wrl", text = "󰆧", fg = "#7f849c" }, + { name = "wma", text = "", fg = "#74c7ec" }, + { name = "woff2", text = "", fg = "#f5e0dc" }, + { name = "woff", text = "", fg = "#f5e0dc" }, + { name = "tscn", text = "", fg = "#7f849c" }, + { name = "webmanifest", text = "", fg = "#f9e2af" }, + { name = "webm", text = "", fg = "#fab387" }, + { name = "fcbak", text = "", fg = "#f38ba8" }, + { name = "log", text = "󰌱", fg = "#cdd6f4" }, + { name = "wav", text = "", fg = "#74c7ec" }, + { name = "wasm", text = "", fg = "#585b70" }, + { name = "styl", text = "", fg = "#a6e3a1" }, + { name = "gif", text = "", fg = "#7f849c" }, + { name = "resi", text = "", fg = "#f38ba8" }, + { name = "aiff", text = "", fg = "#74c7ec" }, + { name = "sha256", text = "󰕥", fg = "#7f849c" }, + { name = "igs", text = "󰻫", fg = "#a6e3a1" }, + { name = "vsix", text = "", fg = "#6c7086" }, + { name = "vim", text = "", fg = "#a6e3a1" }, + { name = "diff", text = "", fg = "#45475a" }, + { name = "drl", text = "", fg = "#eba0ac" }, + { name = "erl", text = "", fg = "#f38ba8" }, + { name = "vhdl", text = "󰍛", fg = "#a6e3a1" }, + { name = "🔥", text = "", fg = "#fab387" }, + { name = "hrl", text = "", fg = "#f38ba8" }, + { name = "fsi", text = "", fg = "#74c7ec" }, + { name = "mm", text = "", fg = "#74c7ec" }, + { name = "bz", text = "", fg = "#fab387" }, + { name = "vh", text = "󰍛", fg = "#a6e3a1" }, + { name = "kdb", text = "", fg = "#a6e3a1" }, + { name = "gz", text = "", fg = "#fab387" }, + { name = "cpp", text = "", fg = "#74c7ec" }, + { name = "ui", text = "", fg = "#6c7086" }, + { name = "txt", text = "󰈙", fg = "#a6e3a1" }, + { name = "spec.ts", text = "", fg = "#74c7ec" }, + { name = "ccm", text = "", fg = "#f38ba8" }, + { name = "typoscript", text = "", fg = "#fab387" }, + { name = "typ", text = "", fg = "#89dceb" }, + { name = "txz", text = "", fg = "#fab387" }, + { name = "test.ts", text = "", fg = "#74c7ec" }, + { name = "tsx", text = "", fg = "#585b70" }, + { name = "mk", text = "", fg = "#7f849c" }, + { name = "webp", text = "", fg = "#7f849c" }, + { name = "opus", text = "", fg = "#6c7086" }, + { name = "bicep", text = "", fg = "#74c7ec" }, + { name = "ts", text = "", fg = "#74c7ec" }, + { name = "tres", text = "", fg = "#7f849c" }, + { name = "torrent", text = "", fg = "#94e2d5" }, + { name = "cxx", text = "", fg = "#74c7ec" }, + { name = "iso", text = "", fg = "#f2cdcd" }, + { name = "ixx", text = "", fg = "#74c7ec" }, + { name = "hxx", text = "", fg = "#7f849c" }, + { name = "gql", text = "", fg = "#f38ba8" }, + { name = "tmux", text = "", fg = "#a6e3a1" }, + { name = "ini", text = "", fg = "#7f849c" }, + { name = "m3u8", text = "󰲹", fg = "#f38ba8" }, + { name = "image", text = "", fg = "#f2cdcd" }, + { name = "tfvars", text = "", fg = "#585b70" }, + { name = "tex", text = "", fg = "#45475a" }, + { name = "cbl", text = "⚙", fg = "#585b70" }, + { name = "flc", text = "", fg = "#f5e0dc" }, + { name = "elc", text = "", fg = "#7f849c" }, + { name = "test.tsx", text = "", fg = "#585b70" }, + { name = "twig", text = "", fg = "#a6e3a1" }, + { name = "sql", text = "", fg = "#f5e0dc" }, + { name = "test.jsx", text = "", fg = "#74c7ec" }, + { name = "htm", text = "", fg = "#fab387" }, + { name = "gcode", text = "󰐫", fg = "#6c7086" }, + { name = "test.js", text = "", fg = "#f9e2af" }, + { name = "ino", text = "", fg = "#74c7ec" }, + { name = "tcl", text = "󰛓", fg = "#585b70" }, + { name = "cljs", text = "", fg = "#74c7ec" }, + { name = "tsconfig", text = "", fg = "#fab387" }, + { name = "img", text = "", fg = "#f2cdcd" }, + { name = "t", text = "", fg = "#74c7ec" }, + { name = "fcstd1", text = "", fg = "#f38ba8" }, + { name = "out", text = "", fg = "#45475a" }, + { name = "jsx", text = "", fg = "#74c7ec" }, + { name = "bash", text = "", fg = "#a6e3a1" }, + { name = "edn", text = "", fg = "#74c7ec" }, + { name = "rss", text = "", fg = "#fab387" }, + { name = "flf", text = "", fg = "#f5e0dc" }, + { name = "cache", text = "", fg = "#f5e0dc" }, + { name = "sbt", text = "", fg = "#f38ba8" }, + { name = "cppm", text = "", fg = "#74c7ec" }, + { name = "svelte", text = "", fg = "#fab387" }, + { name = "mo", text = "∞", fg = "#7f849c" }, + { name = "sv", text = "󰍛", fg = "#a6e3a1" }, + { name = "ko", text = "", fg = "#f5e0dc" }, + { name = "suo", text = "", fg = "#6c7086" }, + { name = "sldasm", text = "󰻫", fg = "#a6e3a1" }, + { name = "icalendar", text = "", fg = "#313244" }, + { name = "go", text = "", fg = "#74c7ec" }, + { name = "sublime", text = "", fg = "#fab387" }, + { name = "stl", text = "󰆧", fg = "#7f849c" }, + { name = "mobi", text = "", fg = "#fab387" }, + { name = "graphql", text = "", fg = "#f38ba8" }, + { name = "m3u", text = "󰲹", fg = "#f38ba8" }, + { name = "cpy", text = "⚙", fg = "#585b70" }, + { name = "kdenlive", text = "", fg = "#89b4fa" }, + { name = "pyo", text = "", fg = "#f9e2af" }, + { name = "po", text = "", fg = "#74c7ec" }, + { name = "scala", text = "", fg = "#f38ba8" }, + { name = "exs", text = "", fg = "#7f849c" }, + { name = "odp", text = "", fg = "#fab387" }, + { name = "dump", text = "", fg = "#f5e0dc" }, + { name = "stp", text = "󰻫", fg = "#a6e3a1" }, + { name = "step", text = "󰻫", fg = "#a6e3a1" }, + { name = "ste", text = "󰻫", fg = "#a6e3a1" }, + { name = "aif", text = "", fg = "#74c7ec" }, + { name = "strings", text = "", fg = "#74c7ec" }, + { name = "cp", text = "", fg = "#74c7ec" }, + { name = "fsscript", text = "", fg = "#74c7ec" }, + { name = "mli", text = "", fg = "#fab387" }, + { name = "bak", text = "󰁯", fg = "#7f849c" }, + { name = "ssa", text = "󰨖", fg = "#f9e2af" }, + { name = "toml", text = "", fg = "#585b70" }, + { name = "makefile", text = "", fg = "#7f849c" }, + { name = "php", text = "", fg = "#7f849c" }, + { name = "zst", text = "", fg = "#fab387" }, + { name = "spec.jsx", text = "", fg = "#74c7ec" }, + { name = "kbx", text = "󰯄", fg = "#6c7086" }, + { name = "fbx", text = "󰆧", fg = "#7f849c" }, + { name = "blend", text = "󰂫", fg = "#fab387" }, + { name = "ifc", text = "󰻫", fg = "#a6e3a1" }, + { name = "spec.js", text = "", fg = "#f9e2af" }, + { name = "so", text = "", fg = "#f5e0dc" }, + { name = "desktop", text = "", fg = "#45475a" }, + { name = "sml", text = "λ", fg = "#fab387" }, + { name = "slvs", text = "󰻫", fg = "#a6e3a1" }, + { name = "pp", text = "", fg = "#fab387" }, + { name = "ps1", text = "󰨊", fg = "#6c7086" }, + { name = "dropbox", text = "", fg = "#6c7086" }, + { name = "kicad_mod", text = "", fg = "#f5e0dc" }, + { name = "bat", text = "", fg = "#a6e3a1" }, + { name = "slim", text = "", fg = "#fab387" }, + { name = "skp", text = "󰻫", fg = "#a6e3a1" }, + { name = "css", text = "", fg = "#89b4fa" }, + { name = "xul", text = "", fg = "#fab387" }, + { name = "ige", text = "󰻫", fg = "#a6e3a1" }, + { name = "glb", text = "", fg = "#fab387" }, + { name = "ppt", text = "󰈧", fg = "#f38ba8" }, + { name = "sha512", text = "󰕥", fg = "#7f849c" }, + { name = "ics", text = "", fg = "#313244" }, + { name = "mdx", text = "", fg = "#74c7ec" }, + { name = "sha1", text = "󰕥", fg = "#7f849c" }, + { name = "f3d", text = "󰻫", fg = "#a6e3a1" }, + { name = "ass", text = "󰨖", fg = "#f9e2af" }, + { name = "godot", text = "", fg = "#7f849c" }, + { name = "ifb", text = "", fg = "#313244" }, + { name = "cson", text = "", fg = "#f9e2af" }, + { name = "lib", text = "", fg = "#11111b" }, + { name = "luac", text = "", fg = "#74c7ec" }, + { name = "heex", text = "", fg = "#7f849c" }, + { name = "scm", text = "󰘧", fg = "#f5e0dc" }, + { name = "psd1", text = "󰨊", fg = "#7f849c" }, + { name = "sc", text = "", fg = "#f38ba8" }, + { name = "scad", text = "", fg = "#f9e2af" }, + { name = "kts", text = "", fg = "#6c7086" }, + { name = "svh", text = "󰍛", fg = "#a6e3a1" }, + { name = "mts", text = "", fg = "#74c7ec" }, + { name = "nfo", text = "", fg = "#f9e2af" }, + { name = "pck", text = "", fg = "#7f849c" }, + { name = "rproj", text = "󰗆", fg = "#a6e3a1" }, + { name = "rlib", text = "", fg = "#fab387" }, + { name = "cljd", text = "", fg = "#74c7ec" }, + { name = "ods", text = "", fg = "#a6e3a1" }, + { name = "res", text = "", fg = "#f38ba8" }, + { name = "apk", text = "", fg = "#a6e3a1" }, + { name = "haml", text = "", fg = "#f5e0dc" }, + { name = "d.ts", text = "", fg = "#fab387" }, + { name = "razor", text = "󱦘", fg = "#585b70" }, + { name = "rake", text = "", fg = "#313244" }, + { name = "patch", text = "", fg = "#45475a" }, + { name = "cuh", text = "", fg = "#7f849c" }, + { name = "d", text = "", fg = "#f38ba8" }, + { name = "query", text = "", fg = "#a6e3a1" }, + { name = "psb", text = "", fg = "#74c7ec" }, + { name = "nu", text = ">", fg = "#a6e3a1" }, + { name = "mov", text = "", fg = "#fab387" }, + { name = "lrc", text = "󰨖", fg = "#f9e2af" }, + { name = "pyx", text = "", fg = "#89b4fa" }, + { name = "pyw", text = "", fg = "#89b4fa" }, + { name = "cu", text = "", fg = "#a6e3a1" }, + { name = "bazel", text = "", fg = "#a6e3a1" }, + { name = "obj", text = "󰆧", fg = "#7f849c" }, + { name = "pyi", text = "", fg = "#f9e2af" }, + { name = "pyd", text = "", fg = "#f9e2af" }, + { name = "exe", text = "", fg = "#45475a" }, + { name = "pyc", text = "", fg = "#f9e2af" }, + { name = "fctb", text = "", fg = "#f38ba8" }, + { name = "part", text = "", fg = "#94e2d5" }, + { name = "blade.php", text = "", fg = "#f38ba8" }, + { name = "git", text = "", fg = "#fab387" }, + { name = "psd", text = "", fg = "#74c7ec" }, + { name = "qss", text = "", fg = "#a6e3a1" }, + { name = "csv", text = "", fg = "#a6e3a1" }, + { name = "psm1", text = "󰨊", fg = "#7f849c" }, + { name = "dconf", text = "", fg = "#f5e0dc" }, + { name = "config.ru", text = "", fg = "#313244" }, + { name = "prisma", text = "", fg = "#6c7086" }, + { name = "conf", text = "", fg = "#7f849c" }, + { name = "clj", text = "", fg = "#a6e3a1" }, + { name = "o", text = "", fg = "#45475a" }, + { name = "mp4", text = "", fg = "#fab387" }, + { name = "cc", text = "", fg = "#f38ba8" }, + { name = "kicad_prl", text = "", fg = "#f5e0dc" }, + { name = "bz3", text = "", fg = "#fab387" }, + { name = "asc", text = "󰦝", fg = "#6c7086" }, + { name = "png", text = "", fg = "#7f849c" }, + { name = "android", text = "", fg = "#a6e3a1" }, + { name = "pm", text = "", fg = "#74c7ec" }, + { name = "h", text = "", fg = "#7f849c" }, + { name = "pls", text = "󰲹", fg = "#f38ba8" }, + { name = "ipynb", text = "", fg = "#fab387" }, + { name = "pl", text = "", fg = "#74c7ec" }, + { name = "ads", text = "", fg = "#f5e0dc" }, + { name = "sqlite", text = "", fg = "#f5e0dc" }, + { name = "pdf", text = "", fg = "#585b70" }, + { name = "pcm", text = "", fg = "#6c7086" }, + { name = "ico", text = "", fg = "#f9e2af" }, + { name = "a", text = "", fg = "#f5e0dc" }, + { name = "R", text = "󰟔", fg = "#6c7086" }, + { name = "ogg", text = "", fg = "#6c7086" }, + { name = "pxd", text = "", fg = "#89b4fa" }, + { name = "kdenlivetitle", text = "", fg = "#89b4fa" }, + { name = "jxl", text = "", fg = "#7f849c" }, + { name = "nswag", text = "", fg = "#a6e3a1" }, + { name = "nim", text = "", fg = "#f9e2af" }, + { name = "bqn", text = "⎉", fg = "#6c7086" }, + { name = "cts", text = "", fg = "#74c7ec" }, + { name = "fcparam", text = "", fg = "#f38ba8" }, + { name = "rs", text = "", fg = "#fab387" }, + { name = "mpp", text = "", fg = "#74c7ec" }, + { name = "fdmdownload", text = "", fg = "#94e2d5" }, + { name = "pptx", text = "󰈧", fg = "#f38ba8" }, + { name = "jpeg", text = "", fg = "#7f849c" }, + { name = "bib", text = "󱉟", fg = "#f9e2af" }, + { name = "vhd", text = "󰍛", fg = "#a6e3a1" }, + { name = "m", text = "", fg = "#89b4fa" }, + { name = "js", text = "", fg = "#f9e2af" }, + { name = "eex", text = "", fg = "#7f849c" }, + { name = "tbc", text = "󰛓", fg = "#585b70" }, + { name = "astro", text = "", fg = "#f38ba8" }, + { name = "sha224", text = "󰕥", fg = "#7f849c" }, + { name = "xcplayground", text = "", fg = "#fab387" }, + { name = "el", text = "", fg = "#7f849c" }, + { name = "m4v", text = "", fg = "#fab387" }, + { name = "m4a", text = "", fg = "#74c7ec" }, + { name = "cs", text = "󰌛", fg = "#585b70" }, + { name = "hs", text = "", fg = "#7f849c" }, + { name = "tgz", text = "", fg = "#fab387" }, + { name = "fs", text = "", fg = "#74c7ec" }, + { name = "luau", text = "", fg = "#89b4fa" }, + { name = "dxf", text = "󰻫", fg = "#a6e3a1" }, + { name = "download", text = "", fg = "#94e2d5" }, + { name = "cast", text = "", fg = "#fab387" }, + { name = "qrc", text = "", fg = "#a6e3a1" }, + { name = "lua", text = "", fg = "#74c7ec" }, + { name = "lhs", text = "", fg = "#7f849c" }, + { name = "md", text = "", fg = "#cdd6f4" }, + { name = "leex", text = "", fg = "#7f849c" }, + { name = "ai", text = "", fg = "#f9e2af" }, + { name = "lck", text = "", fg = "#bac2de" }, + { name = "kt", text = "", fg = "#6c7086" }, + { name = "bicepparam", text = "", fg = "#7f849c" }, + { name = "hex", text = "", fg = "#6c7086" }, + { name = "zig", text = "", fg = "#fab387" }, + { name = "bzl", text = "", fg = "#a6e3a1" }, + { name = "cljc", text = "", fg = "#a6e3a1" }, + { name = "kicad_dru", text = "", fg = "#f5e0dc" }, + { name = "fctl", text = "", fg = "#f38ba8" }, + { name = "f#", text = "", fg = "#74c7ec" }, + { name = "odt", text = "", fg = "#74c7ec" }, + { name = "conda", text = "", fg = "#a6e3a1" }, + { name = "vala", text = "", fg = "#585b70" }, + { name = "erb", text = "", fg = "#313244" }, + { name = "mp3", text = "", fg = "#74c7ec" }, + { name = "bz2", text = "", fg = "#fab387" }, + { name = "coffee", text = "", fg = "#f9e2af" }, + { name = "cr", text = "", fg = "#f5e0dc" }, + { name = "f90", text = "󱈚", fg = "#585b70" }, + { name = "jwmrc", text = "", fg = "#6c7086" }, + { name = "c++", text = "", fg = "#f38ba8" }, + { name = "fcscript", text = "", fg = "#f38ba8" }, + { name = "fods", text = "", fg = "#a6e3a1" }, + { name = "cue", text = "󰲹", fg = "#f38ba8" }, + { name = "srt", text = "󰨖", fg = "#f9e2af" }, + { name = "info", text = "", fg = "#f9e2af" }, + { name = "hh", text = "", fg = "#7f849c" }, + { name = "sig", text = "λ", fg = "#fab387" }, + { name = "html", text = "", fg = "#fab387" }, + { name = "iges", text = "󰻫", fg = "#a6e3a1" }, + { name = "kicad_wks", text = "", fg = "#f5e0dc" }, + { name = "hbs", text = "", fg = "#fab387" }, + { name = "fcstd", text = "", fg = "#f38ba8" }, + { name = "gresource", text = "", fg = "#f5e0dc" }, + { name = "sub", text = "󰨖", fg = "#f9e2af" }, + { name = "ical", text = "", fg = "#313244" }, + { name = "crdownload", text = "", fg = "#94e2d5" }, + { name = "pub", text = "󰷖", fg = "#f9e2af" }, + { name = "vue", text = "", fg = "#a6e3a1" }, + { name = "gd", text = "", fg = "#7f849c" }, + { name = "fsx", text = "", fg = "#74c7ec" }, + { name = "mkv", text = "", fg = "#fab387" }, + { name = "py", text = "", fg = "#f9e2af" }, + { name = "kicad_sch", text = "", fg = "#f5e0dc" }, + { name = "epub", text = "", fg = "#fab387" }, + { name = "env", text = "", fg = "#f9e2af" }, + { name = "magnet", text = "", fg = "#45475a" }, + { name = "elf", text = "", fg = "#45475a" }, + { name = "fodg", text = "", fg = "#f9e2af" }, + { name = "svg", text = "󰜡", fg = "#fab387" }, + { name = "dwg", text = "󰻫", fg = "#a6e3a1" }, + { name = "docx", text = "󰈬", fg = "#585b70" }, + { name = "pro", text = "", fg = "#f9e2af" }, + { name = "db", text = "", fg = "#f5e0dc" }, + { name = "rb", text = "", fg = "#313244" }, + { name = "r", text = "󰟔", fg = "#6c7086" }, + { name = "scss", text = "", fg = "#f38ba8" }, + { name = "cow", text = "󰆚", fg = "#fab387" }, + { name = "gleam", text = "", fg = "#f5c2e7" }, + { name = "v", text = "󰍛", fg = "#a6e3a1" }, + { name = "kicad_pro", text = "", fg = "#f5e0dc" }, + { name = "liquid", text = "", fg = "#a6e3a1" }, + { name = "zip", text = "", fg = "#fab387" }, +] diff --git a/yazi/yazi.toml b/yazi/yazi.toml index f2b3150..767f046 100644 --- a/yazi/yazi.toml +++ b/yazi/yazi.toml @@ -1,23 +1,17 @@ -# Temporarily disable all config for testing -max_width=3000 -max_height=3000 - [opener] play = [ { run = 'open -a IINA "$@"', orphan = true, for = "unix", desc='IINA'} ] [image] -renderer = "kitty" +renderer = "auto" [preview] -max_width = 1000 -max_height = 1000 -# [mgr] -# ratio = [2, 6, 5] # left, center, right pane width ratios +max_width = 2000 +max_height = 2000 [plugin] prepend_previewers = [ - { name = "*.md", run = "glow" }, + { name = "*.md", run = "glow" }, + { mime = "image/*", run = "zoom" }, ] - diff --git a/zsh/.zcompdump b/zsh/.zcompdump deleted file mode 100644 index 4bf0149..0000000 --- a/zsh/.zcompdump +++ /dev/null @@ -1,2043 +0,0 @@ -#files: 966 version: 5.9 - -_comps=( -'-' '_precommand' -'-array-value-' '_value' -'-assign-parameter-' '_assign' -'-brace-parameter-' '_brace_parameter' -'-command-' '_autocd' -'-command-line-' '_normal' -'-condition-' '_condition' -'-default-' '_default' -'-equal-' '_equal' -'-first-' '_first' -'-math-' '_math' -'-parameter-' '_parameter' -'-redirect-' '_redirect' -'-redirect-,-default-,-default-' '_files' -'-redirect-,<,bunzip2' '_bzip2' -'-redirect-,<,bzip2' '_bzip2' -'-redirect-,<,compress' '_compress' -'-redirect-,<,gunzip' '_gzip' -'-redirect-,<,gzip' '_gzip' -'-redirect-,<,uncompress' '_compress' -'-redirect-,<,unxz' '_xz' -'-redirect-,<,xz' '_xz' -'-redirect-,>,bzip2' '_bzip2' -'-redirect-,>,compress' '_compress' -'-redirect-,>,gzip' '_gzip' -'-redirect-,>,xz' '_xz' -'-subscript-' '_subscript' -'-tilde-' '_tilde' -'-value-' '_value' -'-value-,-default-,-command-' '_zargs' -'-value-,-default-,-default-' '_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-,DISPLAY,-default-' '_x_display' -'-value-,GREP_OPTIONS,-default-' '_grep' -'-value-,GZIP,-default-' '_gzip' -'-value-,LANG,-default-' '_locales' -'-value-,LANGUAGE,-default-' '_locales' -'-value-,LDFLAGS,-default-' '_gcc' -'-value-,LD_DEBUG,-default-' '_ld_debug' -'-value-,LESS,-default-' '_less' -'-value-,LESSCHARSET,-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-,PROMPT,-default-' '_ps1234' -'-value-,PROMPT2,-default-' '_ps1234' -'-value-,PROMPT3,-default-' '_ps1234' -'-value-,PROMPT4,-default-' '_ps1234' -'-value-,PS1,-default-' '_ps1234' -'-value-,PS2,-default-' '_ps1234' -'-value-,PS3,-default-' '_ps1234' -'-value-,PS4,-default-' '_ps1234' -'-value-,RPROMPT,-default-' '_ps1234' -'-value-,RPROMPT2,-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' -'-zcalc-line-' '_zcalc_line' -'.' '_source' -'5g' '_go' -'5l' '_go' -'6g' '_go' -'6l' '_go' -'8g' '_go' -'8l' '_go' -'Mail' '_mail' -'Mosaic' '_webbrowser' -'SuSEconfig' '_SUSEconfig' -'_arguments' '__arguments' -'a2dismod' '_a2utils' -'a2dissite' '_a2utils' -'a2enmod' '_a2utils' -'a2ensite' '_a2utils' -'a2ps' '_a2ps' -'aaaa' '_hosts' -'aap' '_aap' -'abcde' '_abcde' -'ack' '_ack' -'ack-grep' '_ack' -'ack-standalone' '_ack' -'ack2' '_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' -'apt-mark' '_apt' -'apt-move' '_apt-move' -'apt-show-versions' '_apt-show-versions' -'aptitude' '_aptitude' -'apvlv' '_pdf' -'arduino-ctags' '_ctags' -'arecord' '_alsa-utils' -'arena' '_webbrowser' -'arp' '_arp' -'arping' '_arping' -'asciidoctor' '_asciidoctor' -'asciinema' '_asciinema' -'ash' '_sh' -'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' -'bpython-gtk' '_bpython' -'bpython-urwid' '_bpython' -'bpython2' '_bpython' -'bpython2-gtk' '_bpython' -'bpython2-urwid' '_bpython' -'bpython3' '_bpython' -'bpython3-gtk' '_bpython' -'bpython3-urwid' '_bpython' -'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' -'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' '_command' -'comp' '_mh' -'compadd' '_compadd' -'compdef' '_compdef' -'composer' '_composer' -'composer.phar' '_composer' -'composite' '_imagemagick' -'compress' '_compress' -'conch' '_twisted' -'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' -'d' '_dirs' -'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' -'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' -'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' -'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' -'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' -'fs_usage' '_fs_usage' -'fsh' '_fsh' -'fstat' '_fstat' -'ftp' '_hosts' -'functions' '_typeset' -'fuser' '_fuser' -'fusermount' '_fusermount' -'fw_update' '_fw_update' -'fwhois' '_whois' -'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' -'git-receive-pack' '_git' -'git-shell' '_git' -'git-upload-archive' '_git' -'git-upload-pack' '_git' -'gitk' '_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_INIT' '_gnupod' -'gnupod_INIT.pl' '_gnupod' -'gnupod_addsong' '_gnupod' -'gnupod_addsong.pl' '_gnupod' -'gnupod_check' '_gnupod' -'gnupod_check.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' -'gpg-zip' '_gpg' -'gpg2' '_gpg' -'gpgv' '_gpg' -'gphoto2' '_gphoto2' -'gprintenv' '_printenv' -'gprof' '_gprof' -'gqview' '_gqview' -'gradle' '_gradle' -'gradlew' '_gradle' -'grail' '_webbrowser' -'greadlink' '_readlink' -'grep' '_grep' -'grep-excuses' '_grep-excuses' -'grepdiff' '_patchutils' -'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' -'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' -'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' -'mailx' '_mail' -'make' '_make' -'make-kpkg' '_make-kpkg' -'makeinfo' '_texinfo' -'makepkg' '_pkgtool' -'man' '_man' -'manage.py' '_django' -'manila' '_openstack' -'mark' '_mh' -'mat' '_mat' -'mat2' '_mat2' -'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' -'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' -'mosh' '_mosh' -'mount' '_mount' -'mozilla' '_mozilla' -'mozilla-firefox' '_mozilla' -'mozilla-xremote-client' '_mozilla' -'mpc' '_mpc' -'mplayer' '_mplayer' -'mpstat' '_sysstat' -'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' -'nkf' '_nkf' -'nl' '_nl' -'nm' '_nm' -'nmap' '_nmap' -'nmblookup' '_samba' -'nmcli' '_networkmanager' -'nocorrect' '_precommand' -'noglob' '_precommand' -'nohup' '_precommand' -'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' -'omz' '_omz' -'open' '_open' -'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' -'pack' '_pack' -'packf' '_mh' -'pandoc' '_pandoc' -'parsehdlist' '_urpmi' -'passwd' '_users' -'paste' '_paste' -'patch' '_patch' -'pax' '_pax' -'pbcopy' '_pbcopy' -'pbpaste' '_pbcopy' -'pbuilder' '_pbuilder' -'pcat' '_pack' -'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' -'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' -'pg_restore' '_postgresql' -'pg_upgrade' '_postgresql' -'pgrep' '_pgrep' -'php' '_php' -'pick' '_mh' -'picocom' '_picocom' -'pidof' '_pidof' -'pidstat' '_sysstat' -'pigz' '_gzip' -'pine' '_pine' -'pinef' '_pine' -'pinfo' '_texinfo' -'ping' '_ping' -'ping6' '_ping' -'piuparts' '_piuparts' -'pkg' '_pkg5' -'pkg-config' '_pkg-config' -'pkg_add' '_bsd_pkg' -'pkg_create' '_bsd_pkg' -'pkg_delete' '_bsd_pkg' -'pkg_info' '_bsd_pkg' -'pkgadd' '_pkgadd' -'pkgin' '_pkgin' -'pkginfo' '_pkginfo' -'pkgrm' '_pkgrm' -'pkgtool' '_pkgtool' -'pkill' '_pgrep' -'pldd' '_pids' -'plutil' '_plutil' -'pmake' '_make' -'pman' '_perl_modules' -'pmap' '_pmap' -'pmcat' '_perl_modules' -'pmdesc' '_perl_modules' -'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' -'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' -'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' -'pump' '_pump' -'pushd' '_cd' -'putclip' '_putclip' -'putclip.exe' '_putclip' -'pv' '_pv' -'pwait' '_pids' -'pwdx' '_pids' -'pwgen' '_pwgen' -'pyhtmlizer' '_twisted' -'qdbus' '_qdbus' -'qiv' '_qiv' -'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' -'rdesktop' '_rdesktop' -'read' '_read' -'readelf' '_readelf' -'readlink' '_readlink' -'readonly' '_typeset' -'readshortcut' '_readshortcut' -'readshortcut.exe' '_readshortcut' -'rebootin' '_rebootin' -'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' -'sc_usage' '_sc_usage' -'scan' '_mh' -'sccs' '_sccs' -'sccsdiff' '_sccs' -'sched' '_sched' -'schedtool' '_schedtool' -'schroot' '_schroot' -'scl' '_scl' -'scons' '_scons' -'scp' '_ssh' -'screen' '_screen' -'script' '_script' -'scriptreplay' '_script' -'scselect' '_scselect' -'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' -'ssh-keygen' '_ssh' -'ssh-keyscan' '_ssh' -'sshfs' '_sshfs' -'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' -'sudo' '_sudo' -'sudoedit' '_sudo' -'sum' '_cksum' -'surfraw' '_surfraw' -'sv' '_runit' -'svcadm' '_svcadm' -'svccfg' '_svccfg' -'svcprop' '_svcprop' -'svcs' '_svcs' -'svn' '_subversion' -'svn-buildpackage' '_svn-buildpackage' -'svnadmin' '_subversion' -'svnadmin-static' '_subversion' -'svnlite' '_subversion' -'svnliteadmin' '_subversion' -'sw_vers' '_sw_vers' -'swaks' '_swaks' -'swanctl' '_swanctl' -'swift' '_swift' -'swiftc' '_swift' -'sync' '_nothing' -'sysclean' '_sysclean' -'sysctl' '_sysctl' -'sysmerge' '_sysmerge' -'syspatch' '_syspatch' -'sysrc' '_sysrc' -'systat' '_systat' -'system_profiler' '_system_profiler' -'sysupgrade' '_sysupgrade' -'tac' '_tac' -'tacker' '_openstack' -'tail' '_tail' -'talk' '_other_accounts' -'tar' '_tar' -'tardy' '_tardy' -'tcp_open' '_tcpsys' -'tcpdump' '_tcpdump' -'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' -'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' -'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' -'urxvt256c-ml' '_urxvt' -'urxvt256c-mlc' '_urxvt' -'urxvt256cc' '_urxvt' -'urxvtc' '_urxvt' -'usbconfig' '_usbconfig' -'uscan' '_uscan' -'useradd' '_user_admin' -'userdel' '_users' -'usermod' '_user_admin' -'vacuumdb' '_postgresql' -'val' '_sccs' -'valgrind' '_valgrind' -'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' -'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' -'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' -'yum' '_yum' -'yumdb' '_yum' -'z' '__zoxide_z_complete' -'zargs' '_zargs' -'zcalc' '_zcalc' -'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' -'zf_ln' '_ln' -'zf_mkdir' '_mkdir' -'zf_mv' '_mv' -'zf_rm' '_rm' -'zf_rmdir' '_rmdir' -'zfgrep' '_grep' -'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=( -'-redirect-,<,bunzip2' 'bunzip2' -'-redirect-,<,bzip2' 'bzip2' -'-redirect-,<,compress' 'compress' -'-redirect-,<,gunzip' 'gunzip' -'-redirect-,<,gzip' 'gzip' -'-redirect-,<,uncompress' 'uncompress' -'-redirect-,<,unxz' 'unxz' -'-redirect-,<,xz' 'xz' -'-redirect-,>,bzip2' 'bunzip2' -'-redirect-,>,compress' 'uncompress' -'-redirect-,>,gzip' 'gunzip' -'-redirect-,>,xz' 'unxz' -'Mail' 'mail' -'bzcat' 'bunzip2' -'dch' 'debchange' -'gchgrp' 'chgrp' -'gchown' 'chown' -'gnupod_INIT.pl' 'gnupod_INIT' -'gnupod_addsong.pl' 'gnupod_addsong' -'gnupod_check.pl' 'gnupod_check' -'gnupod_search.pl' 'gnupod_search' -'gpg2' 'gpg' -'gzcat' 'gunzip' -'iceweasel' 'firefox' -'lzcat' 'unxz' -'lzma' 'xz' -'mailx' 'mail' -'mktunes.pl' 'mktunes' -'nail' 'mail' -'ncl' 'nc' -'nedit-nc' 'nc' -'pcat' 'unpack' -'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' -) - -_postpatcomps=( -'(p[bgpn]m*|*top[bgpn]m)' '_pbm' -'(ruby|[ei]rb)[0-9.]#' '_ruby' -'(texi(2*|ndex))' '_texi' -'(tiff*|*2tiff|pal2rgb)' '_tiff' -'*/X11(|R<4->)/*' '_x_arguments' -'-value-,(ftp|http(|s))_proxy,-default-' '_urls' -'-value-,*PATH,-default-' '_dir_list' -'-value-,*path,-default-' '_directories' -'-value-,LC_*,-default-' '_locales' -'-value-,RUBY(LIB|OPT|PATH),-default-' '_ruby' -'_*' '_compadd' -'c++-*' '_gcc' -'g++-*' '_gcc' -'gcc-*' '_gcc' -'gem[0-9.]#' '_gem' -'lua[0-9.-]##' '_lua' -'php[0-9.-]' '_php' -'pip[0-9.]#' '_pip' -'pydoc[0-9.]#' '_pydoc' -'python[0-9.]#' '_python' -'qemu(|-system-*)' '_qemu' -'shasum(|5).*' '_shasum' -'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 _SUSEconfig __arguments _a2ps _a2utils _aap \ - _abcde _absolute_command_paths _ack _acpi _acpitool \ - _acroread _adb _add-zle-hook-widget _add-zsh-hook _alias \ - _aliases _all_labels _all_matches _alsa-utils _alternative \ - _analyseplugin _ansible _ant _antiword _apachectl \ - _apm _approximate _apt _apt-file _apt-move \ - _apt-show-versions _aptitude _arch_archives _arch_namespace _arg_compile \ - _arguments _arp _arping _arrays _asciidoctor \ - _asciinema _assign _at _attr _augeas \ - _auto-apt _autocd _avahi _awk _axi-cache \ - _base64 _basename _basenc _bash _bash_completions \ - _baudrates _baz _be_name _beadm _beep \ - _bibtex _bind_addresses _bindkey _bison _bittorrent \ - _bogofilter _bpf_filters _bpython _brace_parameter _brctl \ - _bsd_disks _bsd_pkg _bsdconfig _bsdinstall _btrfs \ - _bts _bug _builtin _bzip2 _bzr \ - _cabal _cache_invalid _caffeinate _cal _calendar \ - _call_function _canonical_paths _capabilities _cat _ccal \ - _cd _cdbs-edit-patch _cdcd _cdr _cdrdao \ - _cdrecord _chattr _chcon _chflags _chkconfig \ - _chmod _choom _chown _chroot _chrt \ - _chsh _cksum _clay _cmdambivalent _cmdstring \ - _cmp _code _column _combination _comm \ - _command _command_names _comp_locale _compadd _compdef \ - _complete _complete_debug _complete_help _complete_help_generic _complete_tag \ - _completers _composer _compress _condition _configure \ - _coreadm _correct _correct_filename _correct_word _cowsay \ - _cp _cpio _cplay _cpupower _crontab \ - _cryptsetup _cscope _csplit _cssh _csup \ - _ctags _ctags_tags _cu _curl _cut \ - _cvs _cvsup _cygcheck _cygpath _cygrunsrv \ - _cygserver _cygstart _dak _darcs _date \ - _date_formats _dates _dbus _dchroot _dchroot-dsa \ - _dconf _dcop _dcut _dd _deb_architectures \ - _deb_codenames _deb_files _deb_packages _debbugs_bugnumber _debchange \ - _debcheckout _debdiff _debfoster _deborphan _debsign \ - _debsnap _debuild _default _defaults _delimiters \ - _describe _description _devtodo _df _dhclient \ - _dhcpinfo _dict _dict_words _diff _diff3 \ - _diff_options _diffstat _dig _dir_list _directories \ - _directory_stack _dirs _disable _dispatch _django \ - _dkms _dladm _dlocate _dmesg _dmidecode \ - _dnf _dns_types _doas _domains _dos2unix \ - _dpatch-edit-patch _dpkg _dpkg-buildpackage _dpkg-cross _dpkg-repack \ - _dpkg_source _dput _drill _dropbox _dscverify \ - _dsh _dtrace _dtruss _du _dumpadm \ - _dumper _dupload _dvi _dynamic_directory_name _e2label \ - _ecasound _echotc _echoti _ed _elfdump \ - _elinks _email_addresses _emulate _enable _enscript \ - _entr _env _eog _equal _espeak \ - _etags _ethtool _evince _exec _expand \ - _expand_alias _expand_word _extensions _external_pwds _fakeroot \ - _fbsd_architectures _fbsd_device_types _fc _feh _fetch \ - _fetchmail _ffmpeg _figlet _file_descriptors _file_flags \ - _file_modes _file_systems _files _find _find_net_interfaces \ - _findmnt _finger _fink _first _flac \ - _flex _floppy _flowadm _fmadm _fmt \ - _fold _fortune _free _freebsd-update _fs_usage \ - _fsh _fstat _functions _fuse_arguments _fuse_values \ - _fuser _fusermount _fw_update _gcc _gcore \ - _gdb _geany _gem _generic _genisoimage \ - _getclip _getconf _getent _getfacl _getmail \ - _getopt _ghostscript _git _git-buildpackage _global \ - _global_tags _globflags _globqual_delims _globquals _gnome-gv \ - _gnu_generic _gnupod _gnutls _go _gpasswd \ - _gpg _gphoto2 _gprof _gqview _gradle \ - _graphicsmagick _grep _grep-excuses _groff _groups \ - _growisofs _gsettings _gstat _guard _guilt \ - _gv _gzip _hash _have_glob_qual _hdiutil \ - _head _hexdump _history _history_complete_word _history_modifiers \ - _host _hostname _hosts _htop _hwinfo \ - _iconv _iconvconfig _id _ifconfig _iftop \ - _ignored _imagemagick _in_vared _inetadm _init_d \ - _initctl _install _invoke-rc.d _ionice _iostat \ - _ip _ipadm _ipfw _ipsec _ipset \ - _iptables _irssi _ispell _iwconfig _jail \ - _jails _java _java_class _jexec _jls \ - _jobs _jobs_bg _jobs_builtin _jobs_fg _joe \ - _join _jot _jq _kdeconnect _kdump \ - _kfmclient _kill _killall _kld _knock \ - _kpartx _ktrace _ktrace_points _kvno _last \ - _ld_debug _ldap _ldconfig _ldd _less \ - _lha _libvirt _lighttpd _limit _limits \ - _links _lintian _list _list_files _lldb \ - _ln _loadkeys _locale _localedef _locales \ - _locate _logger _logical_volumes _login_classes _look \ - _losetup _lp _ls _lsattr _lsblk \ - _lscfg _lsdev _lslv _lsns _lsof \ - _lspv _lsusb _lsvg _ltrace _lua \ - _luarocks _lynx _lz4 _lzop _mac_applications \ - _mac_files_for_application _madison _mail _mailboxes _main_complete \ - _make _make-kpkg _man _mat _mat2 \ - _match _math _math_params _matlab _md5sum \ - _mdadm _mdfind _mdls _mdutil _members \ - _mencal _menu _mere _mergechanges _message \ - _mh _mii-tool _mime_types _mixerctl _mkdir \ - _mkfifo _mknod _mkshortcut _mktemp _mkzsh \ - _module _module-assistant _module_math_func _modutils _mondo \ - _monotone _moosic _mosh _most_recent_file _mount \ - _mozilla _mpc _mplayer _mt _mtools \ - _mtr _multi_parts _mupdf _mutt _mv \ - _my_accounts _myrepos _mysql_utils _mysqldiff _nautilus \ - _nbsd_architectures _ncftp _nedit _net_interfaces _netcat \ - _netscape _netstat _networkmanager _networksetup _newsgroups \ - _next_label _next_tags _nginx _ngrep _nice \ - _nkf _nl _nm _nmap _normal \ - _nothing _npm _nsenter _nslookup _numbers \ - _numfmt _nvram _objdump _object_classes _object_files \ - _obsd_architectures _od _okular _oldlist _open \ - _openstack _opkg _options _options_set _options_unset \ - _opustools _osascript _osc _other_accounts _otool \ - _pack _pandoc _parameter _parameters _paste \ - _patch _patchutils _path_commands _path_files _pax \ - _pbcopy _pbm _pbuilder _pdf _pdftk \ - _perf _perforce _perl _perl_basepods _perl_modules \ - _perldoc _pfctl _pfexec _pgids _pgrep \ - _php _physical_volumes _pick_variant _picocom _pidof \ - _pids _pine _ping _pip _piuparts \ - _pkg-config _pkg5 _pkg_instance _pkgadd _pkgin \ - _pkginfo _pkgrm _pkgtool _plutil _pmap \ - _pon _portaudit _portlint _portmaster _ports \ - _portsnap _postfix _postgresql _postscript _powerd \ - _pr _precommand _prefix _print _printenv \ - _printers _process_names _procstat _prompt _prove \ - _prstat _ps _ps1234 _pscp _pspdf \ - _psutils _ptree _ptx _pump _putclip \ - _pv _pwgen _pydoc _python _python_modules \ - _qdbus _qemu _qiv _qtplay _quilt \ - _rake _ranlib _rar _rcctl _rclone \ - _rcs _rdesktop _read _read_comp _readelf \ - _readlink _readshortcut _rebootin _redirect _regex_arguments \ - _regex_words _remote_files _renice _reprepro _requested \ - _retrieve_cache _retrieve_mac_apps _ri _rlogin _rm \ - _rmdir _route _routing_domains _routing_tables _rpm \ - _rrdtool _rsync _rubber _ruby _run-help \ - _runit _samba _savecore _say _sbuild \ - _sc_usage _sccs _sched _schedtool _schroot \ - _scl _scons _screen _script _scselect \ - _scutil _seafile _sed _selinux_contexts _selinux_roles \ - _selinux_types _selinux_users _sep_parts _seq _sequence \ - _service _services _set _set_command _setfacl \ - _setopt _setpriv _setsid _setup _setxkbmap \ - _sh _shasum _showmount _shred _shuf \ - _shutdown _signals _signify _sisu _slabtop \ - _slrn _smartmontools _smit _snoop _socket \ - _sockstat _softwareupdate _sort _source _spamassassin \ - _split _sqlite _sqsh _ss _ssh \ - _ssh_hosts _sshfs _stat _stdbuf _stgit \ - _store_cache _stow _strace _strftime _strings \ - _strip _stty _su _sub_commands _sublimetext \ - _subscript _subversion _sudo _suffix_alias_files _surfraw \ - _svcadm _svccfg _svcprop _svcs _svcs_fmri \ - _svn-buildpackage _sw_vers _swaks _swanctl _swift \ - _sys_calls _sysclean _sysctl _sysmerge _syspatch \ - _sysrc _sysstat _systat _system_profiler _sysupgrade \ - _tac _tags _tail _tar _tar_archive \ - _tardy _tcpdump _tcpsys _tcptraceroute _tee \ - _telnet _terminals _tex _texi _texinfo \ - _tidy _tiff _tilde _tilde_files _time_zone \ - _timeout _tin _tla _tload _tmux \ - _todo.sh _toilet _toolchain-source _top _topgit \ - _totd _touch _tpb _tput _tr \ - _tracepath _transmission _trap _trash _tree \ - _truncate _truss _tty _ttyctl _ttys \ - _tune2fs _twidge _twisted _typeset _ulimit \ - _uml _umountable _unace _uname _unexpand \ - _unhash _uniq _unison _units _unshare \ - _update-alternatives _update-rc.d _uptime _urls _urpmi \ - _urxvt _usbconfig _uscan _user_admin _user_at_host \ - _user_expand _user_math_func _users _users_on _valgrind \ - _value _values _vared _vars _vcs_info \ - _vcs_info_hooks _vi _vim _vim-addons _visudo \ - _vmctl _vmstat _vnc _volume_groups _vorbis \ - _vpnc _vserver _w _w3m _wait \ - _wajig _wakeup_capable_devices _wanna-build _wanted _watch \ - _watch-snoop _wc _webbrowser _wget _whereis \ - _which _who _whois _widgets _wiggle \ - _wipefs _wpa_cli _x_arguments _x_borderwidth _x_color \ - _x_colormapid _x_cursor _x_display _x_extension _x_font \ - _x_geometry _x_keysym _x_locale _x_modifier _x_name \ - _x_resource _x_selection_timeout _x_title _x_utils _x_visual \ - _x_window _xargs _xauth _xautolock _xclip \ - _xcode-select _xdvi _xfig _xft_fonts _xinput \ - _xloadimage _xmlsoft _xmlstarlet _xmms2 _xmodmap \ - _xournal _xpdf _xrandr _xscreensaver _xset \ - _xt_arguments _xt_session_id _xterm _xv _xwit \ - _xxd _xz _yafc _yast _yodl \ - _yp _yum _zargs _zattr _zcalc \ - _zcalc_line _zcat _zcompile _zdump _zeal \ - _zed _zfs _zfs_dataset _zfs_pool _zftp \ - _zip _zle _zlogin _zmodload _zmv \ - _zoneadm _zones _zparseopts _zpty _zsh \ - _zsh-mime-handler _zsocket _zstyle _ztodo _zypper -autoload -Uz +X _call_program - -typeset -gUa _comp_assocs -_comp_assocs=( '' ) - -#omz revision: 69a6359f7cf8978d464573fb7b023ee3cd00181a -#omz fpath: /Users/thomasnaderer/.config/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting /Users/thomasnaderer/.config/.oh-my-zsh/custom/plugins/zsh-autosuggestions /Users/thomasnaderer/.config/.oh-my-zsh/plugins/git /Users/thomasnaderer/.config/.oh-my-zsh/functions /Users/thomasnaderer/.config/.oh-my-zsh/completions /Users/thomasnaderer/.config/.oh-my-zsh/custom/functions /Users/thomasnaderer/.config/.oh-my-zsh/custom/completions /Users/thomasnaderer/.config/.oh-my-zsh/functions /Users/thomasnaderer/.config/.oh-my-zsh/completions /Users/thomasnaderer/.config/.oh-my-zsh/custom/functions /Users/thomasnaderer/.config/.oh-my-zsh/custom/completions /Users/thomasnaderer/.config/.oh-my-zsh/cache/completions /usr/local/share/zsh/site-functions /usr/share/zsh/site-functions /usr/share/zsh/5.9/functions diff --git a/zsh/.zcompdump.zwc b/zsh/.zcompdump.zwc deleted file mode 100644 index efe27afd3298a2873715f15cc5c261824fda3602..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 117528 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 JrGB4T{6E#n={5iW diff --git a/zsh/.zsh_history b/zsh/.zsh_history deleted file mode 100644 index dfb7c7e..0000000 --- a/zsh/.zsh_history +++ /dev/null @@ -1,92 +0,0 @@ -: 1735721099:0;l -: 1735721105:0;h -: 1735721106:0;l -: 1735721117:0;y -: 1735721152:0;exec zsh -: 1735721153:0;l -: 1735721165:0;p10k configure -: 1735721180:0;.zshrc -: 1735721185:0;n .zshrc -: 1735721196:0;n .zshenv -: 1735721237:0;mv .zshrc .zshrc_backup -: 1735721238:0;l -: 1735721246:0;rm .zsh_history -: 1735721247:0;l -: 1735721248:0;ksadlfjk -: 1735721249:0;klsdfjkl -: 1735721250:0;l -: 1735721257:0;exec zsh -: 1735721258:0;l -: 1735721265:0;rm .zshrc_backup -: 1735721266:0;l -: 1735721271:0;nz -: 1735721275:0;y -: 1735721438:0;source .zshrc -: 1735721443:0;l -: 1735721451:0;exec zsh -: 1735721459:0;ne -: 1735721469:0;n .zshenv -: 1735721472:0;.. -: 1735721473:0;h -: 1735721474:0;l -: 1735721479:0;n .zshenv -: 1735721569:0;source .zshenv -: 1735721573:0;exec zsh -: 1735721574:0;l -: 1735721589:0;nz -: 1735721623:0;exec zsh -: 1735721624:0;l -: 1735721635:0;nvim .zshenv -: 1735721645:0;ll -: 1735721651:0;y -: 1735721657:0;nz -: 1735721661:0;l -: 1735721680:0;source .config/zsh/.zshrc -: 1735721735:0;nz -: 1735721753:0;l -: 1735721772:0;n .zshenv -: 1735721793:0;zoxide -: 1735721797:0;nz -: 1735721896:0;n .zshenv -: 1735721941:0;l -: 1735722093:0;y -: 1735722123:0;pwd Dhamma\ Wheel.jpg -: 1735722132:0;pwd Dhamma Wheel.jpg -: 1735722134:0;l -: 1735722144:0;pwd 'Dhamma Wheel.jpg'| xclip -: 1735722150:0;pwd 'Dhamma Wheel.jpg' -: 1735722157:0;pwd -: 1735722281:0;l -: 1735722353:0;y -: 1735722410:0;l -: 1735722411:0;y -: 1735722433:0;l -: 1735722453:0;y -: 1735722572:0;l -: 1735722579:0;y -: 1735722622:0;l -: 1735722645:0;y -: 1735722671:0;l -: 1735722673:0;y -: 1735723245:0;l -: 1735723250:0;y -: 1735723410:0;l -: 1735723414:0;y -: 1735723448:0;exit -: 1735723509:0;l -: 1735723514:0;y -: 1735723558:0;l -: 1735724181:0;y -: 1735724209:0;brew list -: 1735727868:0;y -: 1735729702:0;telnet towel.blinkenlights.nl -: 1735729774:0;y -: 1735761687:0;git diff plugins.lua -: 1735761723:0;n plugins.lua -: 1735761758:0;n -: 1735761765:0;l -: 1735761774:0;n keymaps.lua -: 1735761786:0;n -: 1735761793:0;n keymaps.lua -: 1735761812:0;git commit -: 1735761828:0;git add ../../zsh/ diff --git a/zsh/.zshrc b/zsh/.zshrc index f328de0..61b6680 100644 --- a/zsh/.zshrc +++ b/zsh/.zshrc @@ -16,6 +16,9 @@ export MANPAGER="nvim +Man!" ## Use IINA CLI export YTFZF_PLAYER="iina" + +# Doom Emacs +export PATH="$HOME/.emacs.d/bin:$PATH" # }}} # # ~/.config/secrets/.env @@ -23,14 +26,27 @@ for f in ~/.config/secrets/.env; do export $(grep -v '^#' "$f" | xargs) done +# Prompt engine toggle {{{ +# 1 = Starship, 0 = Powerlevel10k +export USE_STARSHIP=1 +# }}} + # Load Oh My Zsh {{{ export ZSH="$XDG_CONFIG_HOME/.oh-my-zsh" # set path to Oh My Zsh -ZSH_THEME="powerlevel10k/powerlevel10k" # set theme to Powerlevel10k BEFORE loading Oh My Zsh +if [[ "$USE_STARSHIP" == "1" ]]; then + ZSH_THEME="" # disable OMZ theme when using starship +else + ZSH_THEME="powerlevel10k/powerlevel10k" +fi source $ZSH/oh-my-zsh.sh # load Oh My Zsh framework (plugins, completions, themes) # }}} # Theme and prompt {{{ -source $XDG_CONFIG_HOME/p10k/.p10k.zsh # load Powerlevel10k configuration +if [[ "$USE_STARSHIP" == "1" ]]; then + eval "$(starship init zsh)" +else + source $XDG_CONFIG_HOME/p10k/.p10k.zsh # load Powerlevel10k configuration +fi # }}} # ZSH Plugins {{{ @@ -47,6 +63,17 @@ export KEYTIMEOUT=1 # make ESC faster when using vi keybindings # }}} # Aliases and Functions {{{ +alias openclaw='/Users/thomasnaderer/.nvm/versions/node/v22.22.0/bin/node /Users/thomasnaderer/.nvm/versions/node/v22.22.0/bin/openclaw' +openclaw_tui() { + local token + token="$(jq -r '.gateway.auth.token // empty' "$HOME/.openclaw/openclaw.json" 2>/dev/null)" + if [ -z "$token" ]; then + echo "openclaw_tui: missing gateway token in ~/.openclaw/openclaw.json" + return 1 + fi + OPENCLAW_GATEWAY_TOKEN="$token" openclaw tui --token "$token" "$@" +} +alias octui='openclaw_tui' alias wfy="ssh ftp5794822\@www76.world4you.com" alias h="cd ~" # go to home folder alias f="open ." # open current folder in Finder @@ -56,6 +83,7 @@ alias tni="cd /Volumes/ipec/intern" # quick cd to mounted volume intern alias l='eza --color=always --icons -la --group-directories-first' # fancy ls with icons and sorting alias n='nvim' # shortcut for Neovim alias m='neomutt' # open Neomutt mail client +alias tm='tmux' # open Tmux Terminal Multiplexer # Quick Access to Config Files alias ne='nvim ~/.zshenv' # edit global zshenv @@ -79,15 +107,14 @@ alias g='git' # shorthand for git alias gs='git status' # git status alias gc='git commit' # git commit alias gt='git log --oneline --graph --decorate --all' # git log in graph(tree) format +alias lg='lazygit' # open Lazygit + +# Docker +alias ld='lazydocker' # open Lazydocker # Scripts alias mnt='sh $HOME/.config/scripts/tnmount.sh' # run tnmount.sh script -# Quick access to notes -alias nt='nvim ~/Library/Mobile\ Documents/iCloud~md~obsidian/Documents/Privat/TODO.md' # open TODO list -alias ne='nvim ~/Library/Mobile\ Documents/iCloud~md~obsidian/Documents/Privat/Einkaufsliste.md' # open shopping list -alias nb='nvim ~/Library/Mobile\ Documents/iCloud~md~obsidian/Documents/Privat/Persönliches/Bucketlists/2025.md' # open 2025 bucket list - # Custom Functions # Start yazi with "y", and when you quit yazi, your shell will "cd" to the folder you navigated to in yazi function y() { @@ -103,10 +130,6 @@ function y() { } # }}} -# iTerm2 shell integration {{{ -source $XDG_CONFIG_HOME/iterm2/.iterm2_shell_integration.zsh # load iTerm2 shell integration (enables iTerm2 features) -# }}} - # Conda initialize {{{ # export PATH="/opt/homebrew/anaconda3/bin:$PATH" # commented out by conda initialize # >>> conda initialize >>> @@ -129,3 +152,12 @@ export NVM_DIR="$HOME/.nvm" [ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh" # This loads nvm [ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion +export PATH="$HOME/.local/bin:$PATH" +export PATH="$HOME/.local/bin:$PATH" + +# fzf + fd integration +export FZF_DEFAULT_COMMAND='fd --type f --hidden --follow --exclude .git' +export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND" + +# fzf shell integration (keybindings + completion) +eval "$(fzf --zsh)"