829c2fd

Branches > main > 829c2fd > files

Merge branch 'main' of vps:/srv/website/git/dotfiles

Grahp, 2026-10-27

Commit: 829c2fd0aa32db8a109d67107a3a4a5529780973
Parent: b31b6de
Parent: d3c0a10

3 changed files:

nixos/pkgs/plover.nix modified (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; do

nvim/lua/complete.lua modified (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 modified (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")