829c2fd
Branches > main > 829c2fd > files
Merge branch 'main' of vps:/srv/website/git/dotfiles
Commit: 829c2fd0aa32db8a109d67107a3a4a5529780973
Parent: b31b6de
Parent: d3c0a10
3 changed files:
nixos/pkgs/plover.nix view file
@@ -26,7 +26,7 @@ appimageTools.wrapAppImage { inherit pname version; src = contents;- extraPkgs = pkgs: [ pkgs.xcb-util-cursor ];+ extraPkgs = pkgs: [ pkgs.xcb-util-cursor pkgs.hidapi ]; extraInstallCommands = '' for f in ${contents}/*.desktop; donvim/lua/complete.lua view file
@@ -71,7 +71,7 @@ local keywords = {} for _, item in ipairs(items) do local kw_ns, name = item.label:match("^:([^/]+)/(.+)$")- if kw_ns == ns then+ if kw_ns and kw_ns == ns then keywords[#keywords + 1] = auto_resolved_keyword("::" .. name) elseif aliases[kw_ns] then keywords[#keywords + 1] = auto_resolved_keyword("::" .. aliases[kw_ns] .. "/" .. name)@@ -86,6 +86,20 @@ return vim.list_extend(items, keywords) end +local function mark_buffer_keywords(buf, items)+ local in_buffer = {}+ for _, line in ipairs(api.nvim_buf_get_lines(buf, 0, -1, false)) do+ for token in line:gmatch(symbol_chars .. "+") do+ if token:match("^:[^:]") then in_buffer[token] = true end+ end+ end++ for _, item in ipairs(items) do+ item.in_buffer = in_buffer[item.label]+ end+ return items+end+ local function is_unfiltered_fallback(items, word) if word == "" or #items < clojure_lsp_max_items then return false end for _, item in ipairs(items) do@@ -152,7 +166,7 @@ end local truncated = result.isIncomplete or #items >= clojure_lsp_max_items- done(add_auto_resolved_keywords(buf, items), client, truncated)+ done(add_auto_resolved_keywords(buf, mark_buffer_keywords(buf, items)), client, truncated) end, buf) end request(5)@@ -239,12 +253,16 @@ return s.instance_candidates end -local function group_of(item, word_is_capitalized)- if item.is_local then return 1 end+local function group_of(item, word_is_capitalized, word_is_keyword)+ if item.is_local or (word_is_keyword and item.in_buffer) then return 1 end if word_is_capitalized and not item.label:match("^%u") then return 3 end return 2 end +local function wanted(item, word)+ return word:match("^::") or not item.label:match("^::")+end+ local function matching(s, word) local c = s.candidates if word == "" then@@ -259,21 +277,27 @@ local fuzzy = {} for _, label in ipairs(vim.fn.matchfuzzy(c.labels, word)) do local item = c.by_label[label]- if not item.auto_resolved or word:match("^::") then fuzzy[#fuzzy + 1] = item end+ if wanted(item, word) then fuzzy[#fuzzy + 1] = item end end local prefixed = vim.tbl_filter(function(item) return vim.startswith(item.label:lower(), word:lower()) end, fuzzy)- local items = #prefixed > 0 and prefixed or fuzzy+ local items = (#prefixed > 0 and not word:match("^::")) and prefixed or fuzzy++ local is_prefixed = {}+ for _, item in ipairs(prefixed) do is_prefixed[item] = true end local fuzzy_rank = {} for i, item in ipairs(items) do fuzzy_rank[item] = i end local word_is_capitalized = word:match("^%u") ~= nil+ local word_is_keyword = word:match("^:") ~= nil table.sort(items, function(a, b)- local group_a, group_b = group_of(a, word_is_capitalized), group_of(b, word_is_capitalized)+ local group_a = group_of(a, word_is_capitalized, word_is_keyword)+ local group_b = group_of(b, word_is_capitalized, word_is_keyword) if group_a ~= group_b then return group_a < group_b end+ if is_prefixed[a] ~= is_prefixed[b] then return is_prefixed[a] ~= nil end if #prefixed > 0 and #a.label ~= #b.label then return #a.label < #b.label end return fuzzy_rank[a] < fuzzy_rank[b] end)qutebrowser/config.py view file
@@ -25,3 +25,16 @@ # Block ads/trackers (Brave's adblock engine + hosts lists); run :adblock-update after changing lists c.content.blocking.enabled = True c.content.blocking.method = "both"++c.statusbar.show = "never"+c.fonts.default_size = "14pt"++c.colors.webpage.darkmode.enabled = True+c.colors.webpage.preferred_color_scheme = "dark"++config.bind("j", "scroll page-down")+config.bind("k", "scroll page-up")+config.bind("J", "scroll page-down")+config.bind("K", "scroll page-up")+config.bind("<ctrl-o>", "tab-focus stack-prev")+config.bind("<ctrl-i>", "tab-focus stack-next")