From c422a1d05ba49a75f40617223e21b3393d5fca13 Mon Sep 17 00:00:00 2001 From: Ayush Dumasia Date: Mon, 9 Jun 2025 10:28:15 +0530 Subject: [PATCH] =?UTF-8?q?feat=20=E2=9C=A8:=20UI=20changes=20in=20yazi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hypr/hyprland.conf | 4 +- yazi/init.lua | 175 +++++++++++++++++++- yazi/keymap.toml | 2 +- yazi/package.toml | 15 ++ yazi/plugins/git.yazi/LICENSE | 21 --- yazi/plugins/git.yazi/README.md | 78 --------- yazi/plugins/git.yazi/main.lua | 228 -------------------------- yazi/plugins/vcs-files.yazi/LICENSE | 21 --- yazi/plugins/vcs-files.yazi/README.md | 29 ---- yazi/plugins/vcs-files.yazi/main.lua | 33 ---- yazi/theme.toml | 4 +- yazi/yazi.toml | 4 +- zsh/.zshrc | 6 +- 13 files changed, 197 insertions(+), 423 deletions(-) delete mode 100644 yazi/plugins/git.yazi/LICENSE delete mode 100644 yazi/plugins/git.yazi/README.md delete mode 100644 yazi/plugins/git.yazi/main.lua delete mode 100644 yazi/plugins/vcs-files.yazi/LICENSE delete mode 100644 yazi/plugins/vcs-files.yazi/README.md delete mode 100644 yazi/plugins/vcs-files.yazi/main.lua diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf index 0fe1f81..d1da083 100644 --- a/hypr/hyprland.conf +++ b/hypr/hyprland.conf @@ -78,8 +78,8 @@ decoration { dim_special = 0.2 rounding = 6 - active_opacity = 1 - inactive_opacity = 1 + active_opacity = 0.95 + inactive_opacity = 0.75 shadow { enabled = true range = 3 diff --git a/yazi/init.lua b/yazi/init.lua index e1d5262..42dfc4a 100644 --- a/yazi/init.lua +++ b/yazi/init.lua @@ -1,5 +1,34 @@ require("git"):setup() +local mocha_palette = { + rosewater = "#f5e0dc", + flamingo = "#f2cdcd", + pink = "#f5c2e7", + mauve = "#cba6f7", + red = "#f38ba8", + maroon = "#eba0ac", + peach = "#fab387", + yellow = "#f9e2af", + green = "#a6e3a1", + teal = "#94e2d5", + sky = "#89dceb", + sapphire = "#74c7ec", + blue = "#89b4fa", + lavender = "#b4befe", + text = "#cdd6f4", + subtext1 = "#bac2de", + subtext0 = "#a6adc8", + overlay2 = "#9399b2", + overlay1 = "#7f849c", + overlay0 = "#6c7086", + surface2 = "#585b70", + surface1 = "#45475a", + surface0 = "#313244", + base = "#1e1e2e", + mantle = "#181825", + crust = "#11111b", +} + th.git = th.git or { -- File status styles modified = ui.Style():fg("#569CD6"):bold(), -- soft blue @@ -8,25 +37,163 @@ th.git = th.git or { renamed = ui.Style():fg("#DCDCAA"), -- light yellow untracked = ui.Style():fg("#C586C0"), -- lavender ignored = ui.Style():fg("#858585"), -- gray - + -- Status signs (can use icons if your font supports them) modified_sign = "", -- or "M" added_sign = "", -- or "A" deleted_sign = "", -- or "D" renamed_sign = "➜", -- or "R" - untracked_sign = "?", + untracked_sign = "?", ignored_sign = "!", - + -- Optional: line change indicators changes = { add = ui.Style():fg("#4EC9B0"), -- teal delete = ui.Style():fg("#F48771"), -- soft red change = ui.Style():fg("#569CD6"), -- soft blue }, - + -- Optional: blame styling blame = { style = ui.Style():fg("#858585"):italic(), format = "  %author%, %age%", } } +require("yatline"):setup({ + -- section_separator = { open = "", close = "" }, + -- inverse_separator = { open = "", close = "" }, + -- part_separator = { open = "|", close = "|" }, + + style_a = { + fg = mocha_palette.mantle, + bg_mode = { + normal = mocha_palette.blue, + select = mocha_palette.mauve, + un_set = mocha_palette.red, + }, + }, + style_b = { bg = mocha_palette.surface0, fg = mocha_palette.text }, + style_c = { bg = mocha_palette.base, fg = mocha_palette.text }, + + permissions_t_fg = mocha_palette.green, + permissions_r_fg = mocha_palette.yellow, + permissions_w_fg = mocha_palette.red, + permissions_x_fg = mocha_palette.sky, + permissions_s_fg = mocha_palette.lavender, + + selected = { icon = "󰻭", fg = mocha_palette.yellow }, + copied = { icon = "", fg = mocha_palette.green }, + cut = { icon = "", fg = mocha_palette.red }, + + total = { icon = "", fg = mocha_palette.yellow }, + succ = { icon = "", fg = mocha_palette.green }, + fail = { icon = "", fg = mocha_palette.red }, + found = { icon = "", fg = mocha_palette.blue }, + processed = { icon = "", fg = mocha_palette.green }, + + tab_width = 20, + tab_use_inverse = true, + + show_background = false, + + display_header_line = true, + display_status_line = true, + + header_line = { + left = { + section_a = { + { type = "line", custom = false, name = "tabs", params = { "left" } }, + }, + section_b = { + { type = "coloreds", custom = false, name = "githead" }, + }, + section_c = {}, + }, + right = { + section_a = { + { type = "string", custom = false, name = "tab_path" }, + }, + section_b = { + { type = "coloreds", custom = false, name = "task_workload" }, + }, + section_c = { + { type = "coloreds", custom = false, name = "task_states" }, + }, + }, + }, + + status_line = { + left = { + section_a = { + { type = "string", custom = false, name = "tab_mode" }, + }, + section_b = { + { type = "string", custom = false, name = "hovered_size" }, + }, + section_c = { + { type = "string", custom = false, name = "hovered_name" }, + { type = "coloreds", custom = false, name = "count" }, + }, + }, + right = { + section_a = { + { type = "string", custom = false, name = "cursor_position" }, + }, + section_b = { + { type = "string", custom = false, name = "cursor_percentage" }, + }, + section_c = { + { type = "string", custom = false, name = "hovered_file_extension", params = { true } }, + { type = "coloreds", custom = false, name = "permissions" }, + }, + }, + }, +}) + +-- require("yatline-githead"):setup() + +require("yatline-githead"):setup({ + show_branch = true, + branch_prefix = "", + branch_symbol = "", + branch_borders = "", + + commit_symbol = " ", + + show_behind_ahead = true, + behind_symbol = " ", + ahead_symbol = " ", + + show_stashes = true, + stashes_symbol = " ", + + show_state = true, + show_state_prefix = true, + state_symbol = "󱅉", + + show_staged = true, + staged_symbol = " ", + + show_unstaged = true, + unstaged_symbol = " ", + + show_untracked = true, + untracked_symbol = " ", + + prefix_color = mocha_palette.pink, + branch_color = mocha_palette.pink, + commit_color = mocha_palette.mauve, + stashes_color = mocha_palette.teal, + state_color = mocha_palette.lavender, + staged_color = mocha_palette.green, + unstaged_color = mocha_palette.yellow, + untracked_color = mocha_palette.pink, + ahead_color = mocha_palette.green, + behind_color = mocha_palette.yellow, +}) + +--- @since 25.2.26 + +require("full-border"):setup({ + type = ui.Border.ROUNDED, +}) diff --git a/yazi/keymap.toml b/yazi/keymap.toml index 083880f..c3f304a 100644 --- a/yazi/keymap.toml +++ b/yazi/keymap.toml @@ -1,4 +1,4 @@ -[[manager.prepend_keymap]] +[[mgr.prepend_keymap]] on = [ "g", "c" ] run = "plugin vcs-files" desc = "Show Git file changes" diff --git a/yazi/package.toml b/yazi/package.toml index 2b4a6f3..80d913a 100644 --- a/yazi/package.toml +++ b/yazi/package.toml @@ -8,5 +8,20 @@ use = "yazi-rs/plugins:git" rev = "864a021" hash = "e0ada736ea676c2bbb3ec705a49526ef" +[[plugin.deps]] +use = "imsi32/yatline" +rev = "4872af0" +hash = "d32742ded0e73146a8ca590fdc4fb404" + +[[plugin.deps]] +use = "imsi32/yatline-githead" +rev = "f8f969e" +hash = "4d441b38138ce6492a4e10fa349fd65" + +[[plugin.deps]] +use = "yazi-rs/plugins:full-border" +rev = "63f9650" +hash = "3996fc74044bc44144b323686f887e1" + [flavor] deps = [] diff --git a/yazi/plugins/git.yazi/LICENSE b/yazi/plugins/git.yazi/LICENSE deleted file mode 100644 index fb5b1d6..0000000 --- a/yazi/plugins/git.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/git.yazi/README.md b/yazi/plugins/git.yazi/README.md deleted file mode 100644 index 4c5b07c..0000000 --- a/yazi/plugins/git.yazi/README.md +++ /dev/null @@ -1,78 +0,0 @@ -# git.yazi - -> [!NOTE] -> Yazi v25.2.26 or later is required for this plugin to work. - -Show the status of Git file changes as linemode in the file list. - -https://github.com/user-attachments/assets/34976be9-a871-4ffe-9d5a-c4cdd0bf4576 - -## Installation - -```sh -ya pack -a yazi-rs/plugins:git -``` - -## Setup - -Add the following to your `~/.config/yazi/init.lua`: - -```lua -require("git"):setup() -``` - -And register it as fetchers in your `~/.config/yazi/yazi.toml`: - -```toml -[[plugin.prepend_fetchers]] -id = "git" -name = "*" -run = "git" - -[[plugin.prepend_fetchers]] -id = "git" -name = "*/" -run = "git" -``` - -## Advanced - -You can customize the [Style](https://yazi-rs.github.io/docs/plugins/layout#style) of the status sign with: - -- `th.git.modified` -- `th.git.added` -- `th.git.untracked` -- `th.git.ignored` -- `th.git.deleted` -- `th.git.updated` - -For example: - -```lua --- ~/.config/yazi/init.lua -th.git = th.git or {} -th.git.modified = ui.Style():fg("blue") -th.git.deleted = ui.Style():fg("red"):bold() -``` - -You can also customize the text of the status sign with: - -- `th.git.modified_sign` -- `th.git.added_sign` -- `th.git.untracked_sign` -- `th.git.ignored_sign` -- `th.git.deleted_sign` -- `th.git.updated_sign` - -For example: - -```lua --- ~/.config/yazi/init.lua -th.git = th.git or {} -th.git.modified_sign = "M" -th.git.deleted_sign = "D" -``` - -## License - -This plugin is MIT-licensed. For more information check the [LICENSE](LICENSE) file. diff --git a/yazi/plugins/git.yazi/main.lua b/yazi/plugins/git.yazi/main.lua deleted file mode 100644 index d8f365a..0000000 --- a/yazi/plugins/git.yazi/main.lua +++ /dev/null @@ -1,228 +0,0 @@ ---- @since 25.4.4 - -local WINDOWS = ya.target_family() == "windows" - --- The code of supported git status, --- also used to determine which status to show for directories when they contain different statuses --- see `bubble_up` -local CODES = { - excluded = 100, -- ignored directory - ignored = 6, -- ignored file - untracked = 5, - modified = 4, - added = 3, - deleted = 2, - updated = 1, - unknown = 0, -} - -local PATTERNS = { - { "!$", CODES.ignored }, - { "?$", CODES.untracked }, - { "[MT]", CODES.modified }, - { "[AC]", CODES.added }, - { "D", CODES.deleted }, - { "U", CODES.updated }, - { "[AD][AD]", CODES.updated }, -} - -local function match(line) - local signs = line:sub(1, 2) - for _, p in ipairs(PATTERNS) do - local path, pattern, code = nil, p[1], p[2] - if signs:find(pattern) then - path = line:sub(4, 4) == '"' and line:sub(5, -2) or line:sub(4) - path = WINDOWS and path:gsub("/", "\\") or path - end - if not path then - elseif path:find("[/\\]$") then - -- Mark the ignored directory as `excluded`, so we can process it further within `propagate_down` - return code == CODES.ignored and CODES.excluded or code, path:sub(1, -2) - else - return code, path - end - end -end - -local function root(cwd) - local is_worktree = function(url) - local file, head = io.open(tostring(url)), nil - if file then - head = file:read(8) - file:close() - end - return head == "gitdir: " - end - - repeat - local next = cwd:join(".git") - local cha = fs.cha(next) - if cha and (cha.is_dir or is_worktree(next)) then - return tostring(cwd) - end - cwd = cwd.parent - until not cwd -end - -local function bubble_up(changed) - local new, empty = {}, Url("") - for path, code in pairs(changed) do - if code ~= CODES.ignored then - local url = Url(path).parent - while url and url ~= empty do - local s = tostring(url) - new[s] = (new[s] or CODES.unknown) > code and new[s] or code - url = url.parent - end - end - end - return new -end - -local function propagate_down(excluded, cwd, repo) - local new, rel = {}, cwd:strip_prefix(repo) - for _, path in ipairs(excluded) do - if rel:starts_with(path) then - -- If `cwd` is a subdirectory of an excluded directory, also mark it as `excluded` - new[tostring(cwd)] = CODES.excluded - elseif cwd == repo:join(path).parent then - -- If `path` is a direct subdirectory of `cwd`, mark it as `ignored` - new[path] = CODES.ignored - else - -- Skipping, we only care about `cwd` itself and its direct subdirectories for maximum performance - end - end - return new -end - -local add = ya.sync(function(st, cwd, repo, changed) - st.dirs[cwd] = repo - st.repos[repo] = st.repos[repo] or {} - for path, code in pairs(changed) do - if code == CODES.unknown then - st.repos[repo][path] = nil - elseif code == CODES.excluded then - -- Mark the directory with a special value `excluded` so that it can be distinguished during UI rendering - st.dirs[path] = CODES.excluded - else - st.repos[repo][path] = code - end - end - ya.render() -end) - -local remove = ya.sync(function(st, cwd) - local repo = st.dirs[cwd] - if not repo then - return - end - - ya.render() - st.dirs[cwd] = nil - if not st.repos[repo] then - return - end - - for _, r in pairs(st.dirs) do - if r == repo then - return - end - end - st.repos[repo] = nil -end) - -local function setup(st, opts) - st.dirs = {} -- Mapping between a directory and its corresponding repository - st.repos = {} -- Mapping between a repository and the status of each of its files - - opts = opts or {} - opts.order = opts.order or 1500 - - local t = th.git or {} - local styles = { - [CODES.ignored] = t.ignored and ui.Style(t.ignored) or ui.Style():fg("darkgray"), - [CODES.untracked] = t.untracked and ui.Style(t.untracked) or ui.Style():fg("magenta"), - [CODES.modified] = t.modified and ui.Style(t.modified) or ui.Style():fg("yellow"), - [CODES.added] = t.added and ui.Style(t.added) or ui.Style():fg("green"), - [CODES.deleted] = t.deleted and ui.Style(t.deleted) or ui.Style():fg("red"), - [CODES.updated] = t.updated and ui.Style(t.updated) or ui.Style():fg("yellow"), - } - local signs = { - [CODES.ignored] = t.ignored_sign or "", - [CODES.untracked] = t.untracked_sign or "?", - [CODES.modified] = t.modified_sign or "", - [CODES.added] = t.added_sign or "", - [CODES.deleted] = t.deleted_sign or "", - [CODES.updated] = t.updated_sign or "", - } - - Linemode:children_add(function(self) - local url = self._file.url - local repo = st.dirs[tostring(url.base)] - local code - if repo then - code = repo == CODES.excluded and CODES.ignored or st.repos[repo][tostring(url):sub(#repo + 2)] - end - - if not code or signs[code] == "" then - return "" - elseif self._file.is_hovered then - return ui.Line { " ", signs[code] } - else - return ui.Line { " ", ui.Span(signs[code]):style(styles[code]) } - end - end, opts.order) -end - -local function fetch(_, job) - local cwd = job.files[1].url.base - local repo = root(cwd) - if not repo then - remove(tostring(cwd)) - return true - end - - local paths = {} - for _, file in ipairs(job.files) do - paths[#paths + 1] = tostring(file.url) - end - - -- stylua: ignore - local output, err = Command("git") - :cwd(tostring(cwd)) - :args({ "--no-optional-locks", "-c", "core.quotePath=", "status", "--porcelain", "-unormal", "--no-renames", "--ignored=matching" }) - :args(paths) - :stdout(Command.PIPED) - :output() - if not output then - return true, Err("Cannot spawn `git` command, error: %s", err) - end - - local changed, excluded = {}, {} - for line in output.stdout:gmatch("[^\r\n]+") do - local code, path = match(line) - if code == CODES.excluded then - excluded[#excluded + 1] = path - else - changed[path] = code - end - end - - if job.files[1].cha.is_dir then - ya.dict_merge(changed, bubble_up(changed)) - end - ya.dict_merge(changed, propagate_down(excluded, cwd, Url(repo))) - - -- Reset the status of any files that don't appear in the output of `git status` to `unknown`, - -- so that cleaning up outdated statuses from `st.repos` - for _, path in ipairs(paths) do - local s = path:sub(#repo + 2) - changed[s] = changed[s] or CODES.unknown - end - - add(tostring(cwd), repo, changed) - - return false -end - -return { setup = setup, fetch = fetch } diff --git a/yazi/plugins/vcs-files.yazi/LICENSE b/yazi/plugins/vcs-files.yazi/LICENSE deleted file mode 100644 index fb5b1d6..0000000 --- a/yazi/plugins/vcs-files.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/vcs-files.yazi/README.md b/yazi/plugins/vcs-files.yazi/README.md deleted file mode 100644 index a86dccf..0000000 --- a/yazi/plugins/vcs-files.yazi/README.md +++ /dev/null @@ -1,29 +0,0 @@ -# vcs-files.yazi - -Show Git file changes in Yazi. - -https://github.com/user-attachments/assets/465b801b-3516-4f57-be09-8405da21e34d - -## Installation - -```sh -ya pack -a yazi-rs/plugins:vcs-files -``` - -## Usage - -```toml -# keymap.toml -[[manager.prepend_keymap]] -on = [ "g", "c" ] -run = "plugin vcs-files" -desc = "Show Git file changes" -``` - -## TODO - -- [ ] Add support for other VCS (e.g. Mercurial, Subversion) - -## License - -This plugin is MIT-licensed. For more information check the [LICENSE](LICENSE) file. diff --git a/yazi/plugins/vcs-files.yazi/main.lua b/yazi/plugins/vcs-files.yazi/main.lua deleted file mode 100644 index 516a037..0000000 --- a/yazi/plugins/vcs-files.yazi/main.lua +++ /dev/null @@ -1,33 +0,0 @@ ---- @since 25.4.8 - -local root = ya.sync(function() return cx.active.current.cwd end) - -local function fail(content) return ya.notify { title = "VCS Files", content = content, timeout = 5, level = "error" } end - -local function entry() - local root = root() - local output, err = Command("git"):cwd(tostring(root)):args({ "diff", "--name-only", "HEAD" }):output() - if err then - return fail("Failed to run `git diff`, error: " .. err) - elseif not output.status.success then - return fail("Failed to run `git diff`, stderr: " .. output.stderr) - end - - local id = ya.id("ft") - local cwd = root:into_search("Git changes") - ya.mgr_emit("cd", { Url(cwd) }) - ya.mgr_emit("update_files", { op = fs.op("part", { id = id, url = Url(cwd), files = {} }) }) - - local files = {} - for line in output.stdout:gmatch("[^\r\n]+") do - local url = cwd:join(line) - local cha = fs.cha(url, true) - if cha then - files[#files + 1] = File { url = url, cha = cha } - end - end - ya.mgr_emit("update_files", { op = fs.op("part", { id = id, url = Url(cwd), files = files }) }) - ya.mgr_emit("update_files", { op = fs.op("done", { id = id, url = cwd, cha = Cha { kind = 16 } }) }) -end - -return { entry = entry } diff --git a/yazi/theme.toml b/yazi/theme.toml index 603db88..035d182 100644 --- a/yazi/theme.toml +++ b/yazi/theme.toml @@ -1,4 +1,4 @@ -[manager] +[mgr] cwd = { fg = "#94e2d5" } hovered = { fg = "#1e1e2e", bg = "#89b4fa" } @@ -747,4 +747,4 @@ exts = [ { name = "kicad_pro", text = "", fg = "#f5e0dc" }, { name = "liquid", text = "", fg = "#a6e3a1" }, { name = "zip", text = "", fg = "#fab387" }, -] \ No newline at end of file +] diff --git a/yazi/yazi.toml b/yazi/yazi.toml index 07f9ac4..bf16c0f 100644 --- a/yazi/yazi.toml +++ b/yazi/yazi.toml @@ -2,8 +2,8 @@ # If you encounter any issues, please make an issue at https://github.com/yazi-rs/schemas. "$schema" = "https://yazi-rs.github.io/schemas/yazi.json" -[manager] -ratio = [ 2, 4, 3 ] +[mgr] +ratio = [ 1, 3, 4 ] sort_by = "alphabetical" sort_sensitive = false sort_reverse = false diff --git a/zsh/.zshrc b/zsh/.zshrc index 1d91d2a..b50ca80 100755 --- a/zsh/.zshrc +++ b/zsh/.zshrc @@ -83,6 +83,7 @@ zstyle ':fzf-tab:complete:__zoxide_z:*' fzf-preview 'ls --color $realpath' # # Shell integrations eval "$(fzf --zsh)" +export _ZO_ECHO='0' eval "$(zoxide init --cmd cd zsh)" eval $(thefuck --alias) eval "$(atuin init zsh)" @@ -111,13 +112,14 @@ ms(){ alias kls='kubectl get all' alias jump='nvim $(fzf -m --preview="bat --color=always {}")' -alias ls='eza -l -i --header --tree --level=1 --all --sort=Name' +alias ls='eza -l --icons --level=0 --tree --sort=Name' alias search='eval "~/.local/bin/search.sh"' alias cod='code .' # Tmux alias t='tmux new -s ' alias tt='tmux a -t' +alias fbat="fzf --preview 'bat --style=numbers --color=always --line-range :500 {}'" alias seek='pacseek' alias y='yazi' @@ -144,7 +146,7 @@ cpcf() { } mount_gdrive() { - rclone mount gdrive: ~/mnt/gdrive + rclone mount gdrive: ~/mnt/gdrive } gh_open() {