#!/usr/bin/env python3 | |
trans_dict = { | |
'\U0000f500': '\U000f0001', # vector_square | |
'\U0000f501': '\U000f0003', # access_point | |
'\U0000f502': '\U000f0002', # access_point_network | |
'\U0000f503': '\U000f0004', # account | |
'\U0000f504': '\U000f0005', # account_alert | |
'\U0000f505': '\U000f0006', # account_box | |
'\U0000f506': '\U000f0007', # account_box_outline |
<?xml version="1.0" encoding="utf-8"?> | |
<DevicePara DocVersion="5"> | |
<KeyPress> | |
<Key1ShortPress>3</Key1ShortPress> | |
<Key1LongPress>0</Key1LongPress> | |
<Key2ShortPress>1</Key2ShortPress> | |
<Key2LongPress>6</Key2LongPress> | |
</KeyPress> | |
<Comm> | |
<MaxTalkTime>2</MaxTalkTime> |
When using Lua-based plugins for Neovim, you may need to install some packages
with luarocks. To use these packages, the environment variables LUA_PATH
and
LUA_CPATH
needs to contain the luarocks directories. Problem is, Neovim uses
LuaJIT which is a Lua 5.1 implementation; however, you may already have your
environment setup for a different Lua version, for example the current last
version 5.4. To resolve this problem, this gist patches the Lua paths in the
startup configuration instead of relying on the environment variables as is
default in Neovim.
local feline = require('feline') | |
local vi_mode = require('feline.providers.vi_mode') | |
-- | |
-- 1. define some constants | |
-- | |
-- left and right constants (first and second items of the components array) | |
local LEFT = 1 | |
local RIGHT = 2 |
require("config.lsp.custom").patch_lsp_settings("sumneko_lua", function(settings) | |
settings.Lua.diagnostics.globals = { "hs", "spoon" } | |
settings.Lua.workspace.library = {} | |
local hammerspoon_emmpylua_annotations = vim.fn.expand("~/.config/hammerspoon/Spoons/EmmyLua.spoon/annotations") | |
if vim.fn.isdirectory(hammerspoon_emmpylua_annotations) == 1 then | |
table.insert(settings.Lua.workspace.library, hammerspoon_emmpylua_annotations) | |
end |
In Neovim, the .
character repeats "the most recent action"; however, this is not always respected by plugin actions. Here we will explore how to build dot-repeat support directly into your plugin, bypassing the requirement of dependencies like repeat.vim.
When some buffer-modifying action is performed, Neovim implicitly remembers the operator (e.g. d
), motion (e.g. iw
), and some other miscellaneous information. When the dot-repeat command is called, Neovim repeats that operator-motion combination. For example, if we type ci"text<Esc>
, then we replace the inner contents of some double quotes with text
, i.e. "hello world"
→ "text"
. Dot-repeating from here will do the same, i.e. "more samples"
→ "text"
.
--[[ | |
blogpost: | |
https://vonheikemen.github.io/devlog/tools/setup-nvim-lspconfig-plus-nvim-cmp/ | |
Dependencies: | |
LSP: | |
https://github.com/neovim/nvim-lspconfig | |
https://github.com/williamboman/mason.nvim (optional) | |
https://github.com/williamboman/mason-lspconfig.nvim (optional) |
Name | Structure | Bar | Menu | Window decoration | Difficulty | Config method | Description |
---|---|---|---|---|---|---|---|
Tree | Yes | No | Border | Easy | Python | With Plasma it can be use tree-base tiling system like I3 and Sway but because Qtile is Python-base, it's way more hackable | |
Tree | Yes | No | Tabsbar | Easy | [Plain text](https://wikiped |
local M = {} | |
local module_name = 'map_utils' | |
local fn_store = {} | |
local function register_fn(fn) | |
table.insert(fn_store, fn) | |
return #fn_store | |
end | |
function M.apply_function(id) |