commit 7b60b6a57c8c97e5e8ee78733d3b612c6146cb4b
parent b07aa3a7bd3861818aefa7df0a5ba90f6abc9e6a
Author: Tomas Nemec <owl@gtms.dev>
Date: Thu, 1 May 2025 11:04:48 +0200
update
Diffstat:
2 files changed, 294 insertions(+), 291 deletions(-)
diff --git a/after/plugin/qmk.lua b/after/plugin/qmk.lua
@@ -1,297 +1,299 @@
-if not pcall(require, 'cmp') then
- return
-end
+if pcall(require, 'qmk') then
+ local group = vim.api.nvim_create_augroup('tms-qmk', {})
-local source = {}
-function source:complete(_, callback)
- callback({
- { label = 'KC_NO', detail = [[Ignore this key (NOOP)]] },
- { label = 'KC_TRNS', detail = [[Use the next lowest non-transparent key ]] },
- { label = 'KC_A', detail = [[`a` and `A` ]] },
- { label = 'KC_B', detail = [[`b` and `B` ]] },
- { label = 'KC_C', detail = [[`c` and `C` ]] },
- { label = 'KC_D', detail = [[`d` and `D` ]] },
- { label = 'KC_E', detail = [[`e` and `E` ]] },
- { label = 'KC_F', detail = [[`f` and `F` ]] },
- { label = 'KC_G', detail = [[`g` and `G` ]] },
- { label = 'KC_H', detail = [[`h` and `H` ]] },
- { label = 'KC_I', detail = [[`i` and `I` ]] },
- { label = 'KC_J', detail = [[`j` and `J` ]] },
- { label = 'KC_K', detail = [[`k` and `K` ]] },
- { label = 'KC_L', detail = [[`l` and `L` ]] },
- { label = 'KC_M', detail = [[`m` and `M` ]] },
- { label = 'KC_N', detail = [[`n` and `N` ]] },
- { label = 'KC_O', detail = [[`o` and `O` ]] },
- { label = 'KC_P', detail = [[`p` and `P` ]] },
- { label = 'KC_Q', detail = [[`q` and `Q` ]] },
- { label = 'KC_R', detail = [[`r` and `R` ]] },
- { label = 'KC_S', detail = [[`s` and `S` ]] },
- { label = 'KC_T', detail = [[`t` and `T` ]] },
- { label = 'KC_U', detail = [[`u` and `U` ]] },
- { label = 'KC_V', detail = [[`v` and `V` ]] },
- { label = 'KC_W', detail = [[`w` and `W` ]] },
- { label = 'KC_X', detail = [[`x` and `X` ]] },
- { label = 'KC_Y', detail = [[`y` and `Y` ]] },
- { label = 'KC_Z', detail = [[`z` and `Z` ]] },
- { label = 'KC_1', detail = [[`1` and `!` ]] },
- { label = 'KC_2', detail = [[`2` and `@` ]] },
- { label = 'KC_3', detail = [[`3` and `#` ]] },
- { label = 'KC_4', detail = [[`4` and `$` ]] },
- { label = 'KC_5', detail = [[`5` and `%` ]] },
- { label = 'KC_6', detail = [[`6` and `^` ]] },
- { label = 'KC_7', detail = [[`7` and `&` ]] },
- { label = 'KC_8', detail = [[`8` and `*` ]] },
- { label = 'KC_9', detail = [[`9` and `(` ]] },
- { label = 'KC_0', detail = [[`0` and `)` ]] },
- { label = 'KC_ENT', detail = [[Return (Enter)]] },
- { label = 'KC_ESC', detail = [[Escape]] },
- { label = 'KC_BSPC', detail = [[Delete (Backspace)]] },
- { label = 'KC_TAB', detail = [[Tab ]] },
- { label = 'KC_SPC', detail = [[Spacebar]] },
- { label = 'KC_MINS', detail = [[`-` and `_` ]] },
- { label = 'KC_EQL', detail = [[`=` and `+` ]] },
- { label = 'KC_LBRC', detail = [[`[` and `{` ]] },
- { label = 'KC_RBRC', detail = [[`]` and `}` ]] },
- { label = 'KC_BSLS', detail = [[`\` and `\]] },
- { label = 'KC_NUHS', detail = [[Non-US `#` and `~`]] },
- { label = 'KC_SCLN', detail = [[`;` and `:` ]] },
- { label = 'KC_QUOT', detail = [[`'` and `"` ]] },
- { label = 'KC_GRV', detail = [[<code>`</code> and `~`]] },
- { label = 'KC_COMM', detail = [[`,` and `<` ]] },
- { label = 'KC_DOT', detail = [[`.` and `>` ]] },
- { label = 'KC_SLSH', detail = [[`/` and `?` ]] },
- { label = 'KC_CAPS', detail = [[Caps Lock ]] },
- { label = 'KC_F1', detail = [[F1]] },
- { label = 'KC_F2', detail = [[F2]] },
- { label = 'KC_F3', detail = [[F3]] },
- { label = 'KC_F4', detail = [[F4]] },
- { label = 'KC_F5', detail = [[F5]] },
- { label = 'KC_F6', detail = [[F6]] },
- { label = 'KC_F7', detail = [[F7]] },
- { label = 'KC_F8', detail = [[F8]] },
- { label = 'KC_F9', detail = [[F9]] },
- { label = 'KC_F10', detail = [[F10 ]] },
- { label = 'KC_F11', detail = [[F11 ]] },
- { label = 'KC_F12', detail = [[F12 ]] },
- { label = 'KC_PSCR', detail = [[Print Screen]] },
- { label = 'KC_SCRL', detail = [[Scroll Lock, Brightness Down (macOS)]] },
- { label = 'KC_PAUS', detail = [[Pause, Brightness Up (macOS)]] },
- { label = 'KC_INS', detail = [[Insert]] },
- { label = 'KC_HOME', detail = [[Home]] },
- { label = 'KC_PGUP', detail = [[Page Up ]] },
- { label = 'KC_DEL', detail = [[Forward Delete]] },
- { label = 'KC_END', detail = [[End ]] },
- { label = 'KC_PGDN', detail = [[Page Down ]] },
- { label = 'KC_RGHT', detail = [[Right Arrow ]] },
- { label = 'KC_LEFT', detail = [[Left Arrow]] },
- { label = 'KC_DOWN', detail = [[Down Arrow]] },
- { label = 'KC_UP', detail = [[Up Arrow]] },
- { label = 'KC_NUM', detail = [[Keypad Num Lock and Clear ]] },
- { label = 'KC_PSLS', detail = [[Keypad `/`]] },
- { label = 'KC_PAST', detail = [[Keypad `*`]] },
- { label = 'KC_PMNS', detail = [[Keypad `-`]] },
- { label = 'KC_PPLS', detail = [[Keypad `+`]] },
- { label = 'KC_PENT', detail = [[Keypad Enter]] },
- { label = 'KC_P1', detail = [[Keypad `1` and End]] },
- { label = 'KC_P2', detail = [[Keypad `2` and Down Arrow ]] },
- { label = 'KC_P3', detail = [[Keypad `3` and Page Down]] },
- { label = 'KC_P4', detail = [[Keypad `4` and Left Arrow ]] },
- { label = 'KC_P5', detail = [[Keypad `5`]] },
- { label = 'KC_P6', detail = [[Keypad `6` and Right Arrow]] },
- { label = 'KC_P7', detail = [[Keypad `7` and Home ]] },
- { label = 'KC_P8', detail = [[Keypad `8` and Up Arrow ]] },
- { label = 'KC_P9', detail = [[Keypad `9` and Page Up]] },
- { label = 'KC_P0', detail = [[Keypad `0` and Insert ]] },
- { label = 'KC_PDOT', detail = [[Keypad `.` and Delete ]] },
- { label = 'KC_NUBS', detail = [[Non-US `\` and `\ ]] },
- { label = 'KC_APP', detail = [[Application (Windows Context Menu Key)]] },
- { label = 'KC_KB_POWER', detail = [[System Power]] },
- { label = 'KC_PEQL', detail = [[Keypad `=`]] },
- { label = 'KC_F13', detail = [[F13 ]] },
- { label = 'KC_F14', detail = [[F14 ]] },
- { label = 'KC_F15', detail = [[F15 ]] },
- { label = 'KC_F16', detail = [[F16 ]] },
- { label = 'KC_F17', detail = [[F17 ]] },
- { label = 'KC_F18', detail = [[F18 ]] },
- { label = 'KC_F19', detail = [[F19 ]] },
- { label = 'KC_F20', detail = [[F20 ]] },
- { label = 'KC_F21', detail = [[F21 ]] },
- { label = 'KC_F22', detail = [[F22 ]] },
- { label = 'KC_F23', detail = [[F23 ]] },
- { label = 'KC_F24', detail = [[F24 ]] },
- { label = 'KC_EXEC', detail = [[Execute ]] },
- { label = 'KC_HELP', detail = [[Help]] },
- { label = 'KC_MENU', detail = [[Menu]] },
- { label = 'KC_SLCT', detail = [[Select]] },
- { label = 'KC_STOP', detail = [[Stop]] },
- { label = 'KC_AGIN', detail = [[Again ]] },
- { label = 'KC_UNDO', detail = [[Undo]] },
- { label = 'KC_CUT', detail = [[Cut ]] },
- { label = 'KC_COPY', detail = [[Copy]] },
- { label = 'KC_PSTE', detail = [[Paste ]] },
- { label = 'KC_FIND', detail = [[Find]] },
- { label = 'KC_KB_MUTE', detail = [[Mute]] },
- { label = 'KC_KB_VOLUME_UP', detail = [[Volume Up ]] },
- { label = 'KC_KB_VOLUME_DOWN', detail = [[Volume Down ]] },
- { label = 'KC_LCAP', detail = [[Locking Caps Lock ]] },
- { label = 'KC_LNUM', detail = [[Locking Num Lock]] },
- { label = 'KC_LSCR', detail = [[Locking Scroll Lock ]] },
- { label = 'KC_PCMM', detail = [[Keypad `,`]] },
- { label = 'KC_KP_EQUAL_AS400', detail = [[Keypad `=` on AS/400 keyboards]] },
- { label = 'KC_INT1', detail = [[International 1 ]] },
- { label = 'KC_INT2', detail = [[International 2 ]] },
- { label = 'KC_INT3', detail = [[International 3 ]] },
- { label = 'KC_INT4', detail = [[International 4 ]] },
- { label = 'KC_INT5', detail = [[International 5 ]] },
- { label = 'KC_INT6', detail = [[International 6 ]] },
- { label = 'KC_INT7', detail = [[International 7 ]] },
- { label = 'KC_INT8', detail = [[International 8 ]] },
- { label = 'KC_INT9', detail = [[International 9 ]] },
- { label = 'KC_LNG1', detail = [[Language 1]] },
- { label = 'KC_LNG2', detail = [[Language 2]] },
- { label = 'KC_LNG3', detail = [[Language 3]] },
- { label = 'KC_LNG4', detail = [[Language 4]] },
- { label = 'KC_LNG5', detail = [[Language 5]] },
- { label = 'KC_LNG6', detail = [[Language 6]] },
- { label = 'KC_LNG7', detail = [[Language 7]] },
- { label = 'KC_LNG8', detail = [[Language 8]] },
- { label = 'KC_LNG9', detail = [[Language 9]] },
- { label = 'KC_ERAS', detail = [[Alternate Erase ]] },
- { label = 'KC_SYRQ', detail = [[SysReq/Attention]] },
- { label = 'KC_CNCL', detail = [[Cancel]] },
- { label = 'KC_CLR', detail = [[Clear ]] },
- { label = 'KC_PRIR', detail = [[Prior ]] },
- { label = 'KC_RETN', detail = [[Return]] },
- { label = 'KC_SEPR', detail = [[Separator ]] },
- { label = 'KC_OUT', detail = [[Out ]] },
- { label = 'KC_OPER', detail = [[Oper]] },
- { label = 'KC_CLAG', detail = [[Clear/Again ]] },
- { label = 'KC_CRSL', detail = [[CrSel/Props ]] },
- { label = 'KC_EXSL', detail = [[ExSel ]] },
- { label = 'KC_LCTL', detail = [[Left Control]] },
- { label = 'KC_LSFT', detail = [[Left Shift]] },
- { label = 'KC_LALT', detail = [[Left Alt (Option) ]] },
- { label = 'KC_LGUI', detail = [[Left GUI (Windows/Command/Meta key) ]] },
- { label = 'KC_RCTL', detail = [[Right Control ]] },
- { label = 'KC_RSFT', detail = [[Right Shift ]] },
- { label = 'KC_RALT', detail = [[Right Alt (Option/AltGr)]] },
- { label = 'KC_RGUI', detail = [[Right GUI (Windows/Command/Meta key)]] },
- { label = 'KC_PWR', detail = [[System Power Down ]] },
- { label = 'KC_SLEP', detail = [[System Sleep]] },
- { label = 'KC_WAKE', detail = [[System Wake ]] },
- { label = 'KC_MUTE', detail = [[Mute]] },
- { label = 'KC_VOLU', detail = [[Volume Up ]] },
- { label = 'KC_VOLD', detail = [[Volume Down ]] },
- { label = 'KC_MNXT', detail = [[Next Track]] },
- { label = 'KC_MPRV', detail = [[Previous Track]] },
- { label = 'KC_MSTP', detail = [[Stop Track]] },
- { label = 'KC_MPLY', detail = [[Play/Pause Track]] },
- { label = 'KC_MSEL', detail = [[Launch Media Player ]] },
- { label = 'KC_EJCT', detail = [[Eject ]] },
- { label = 'KC_MAIL', detail = [[Launch Mail ]] },
- { label = 'KC_CALC', detail = [[Launch Calculator ]] },
- { label = 'KC_MYCM', detail = [[Launch My Computer]] },
- { label = 'KC_WSCH', detail = [[Browser Search]] },
- { label = 'KC_WHOM', detail = [[Browser Home]] },
- { label = 'KC_WBAK', detail = [[Browser Back]] },
- { label = 'KC_WFWD', detail = [[Browser Forward ]] },
- { label = 'KC_WSTP', detail = [[Browser Stop]] },
- { label = 'KC_WREF', detail = [[Browser Refresh ]] },
- { label = 'KC_WFAV', detail = [[Browser Favorites ]] },
- { label = 'KC_MFFD', detail = [[Next Track]] },
- { label = 'KC_MRWD', detail = [[Previous Track]] },
- { label = 'KC_BRIU', detail = [[Brightness Up ]] },
- { label = 'KC_BRID', detail = [[Brightness Down ]] },
- { label = 'KC_CPNL', detail = [[Open Control Panel]] },
- { label = 'KC_ASST', detail = [[Launch Context-Aware Assistant]] },
- { label = 'MOD_LCTL', detail = 'Left Control' },
- { label = 'MOD_LSFT', detail = 'Left Shift' },
- { label = 'MOD_LALT', detail = 'Left Alt' },
- { label = 'MOD_LGUI', detail = 'Left GUI (Windows/Command/Meta key)' },
- { label = 'MOD_RCTL', detail = 'Right Control' },
- { label = 'MOD_RSFT', detail = 'Right Shift' },
- { label = 'MOD_RALT', detail = 'Right Alt (AltGr)' },
- { label = 'MOD_RGUI', detail = 'Right GUI (Windows/Command/Meta key)' },
- { label = 'MOD_HYPR', detail = 'Hyper (Left Control, Shift, Alt and GUI)' },
- { label = 'MOD_MEH', detail = 'Meh (Left Control, Shift, and Alt)' },
- { label = 'KC_TILD', detail = '~' },
- { label = 'KC_EXLM', detail = '!' },
- { label = 'KC_AT', detail = '@' },
- { label = 'KC_HASH', detail = '#' },
- { label = 'KC_DLR', detail = '$' },
- { label = 'KC_PERC', detail = '%' },
- { label = 'KC_CIRC', detail = '^' },
- { label = 'KC_AMPR', detail = '&' },
- { label = 'KC_ASTR', detail = '*' },
- { label = 'KC_LPRN', detail = '(' },
- { label = 'KC_RPRN', detail = ')' },
- { label = 'KC_UNDS', detail = '_' },
- { label = 'KC_PLUS', detail = '+' },
- { label = 'KC_LCBR', detail = '{' },
- { label = 'KC_RCBR', detail = '}' },
- { label = 'KC_PIPE', detail = [[\|]] },
- { label = 'KC_COLN', detail = ':' },
- { label = 'KC_DQT', detail = '"' },
- { label = 'KC_LT', detail = '<' },
- { label = 'KC_GT', detail = '>' },
- { label = 'KC_QUES', detail = '?' },
+ vim.api.nvim_create_autocmd('BufEnter', {
+ desc = 'Planck',
+ group = group,
+ pattern = '*/ergodox_ez/glow/*',
+ callback = function()
+ require('qmk').setup({
+ name = 'LAYOUT_ergodox_pretty',
+ auto_format_pattern = '*/ergodox_ez/glow/*',
+ layout = {
+ 'x x x x x x x _ _ x x x x x x x',
+ 'x x x x x x x _ _ x x x x x x x',
+ 'x x x x x x _ _ _ _ x x x x x x',
+ 'x x x x x x x _ _ x x x x x x x',
+ 'x x x x x _ _ _ _ _ _ x x x x x',
+ '_ _ _ _ _ x x _ _ x x _ _ _ _ _',
+ '_ _ _ _ _ _ x _ _ x _ _ _ _ _ _',
+ '_ _ _ _ x x x _ _ x x x _ _ _ _',
+ },
+ comment_preview = { keymap_overrides = { XXXXXXX = 'XX', KC_NO = 'XX' } },
+ })
+ end,
})
-end
-
-require('cmp').register_source('qmk_keys', source)
-
-local group = vim.api.nvim_create_augroup('tms-qmk', {})
-vim.api.nvim_create_autocmd({ 'BufRead', 'BufNewFile' }, {
- group = group,
- pattern = '*/qmk_firmware/**',
- callback = function()
- require('cmp').setup.buffer {
- sources = {
- { name = 'qmk_keys' },
- { name = 'nvim_lsp' },
- { name = 'snippets' },
- { name = 'buffer', keyword_length = 5 },
- },
- }
- end,
-})
-if pcall(require, 'qmk') then
- -- ,-----------------------------------------------------------------------------------.
- -- | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
- -- |------+------+------+------+------+------+------+------+------+------+------+------|
- -- | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
- -- |------+------+------+------+------+------+------+------+------+------+------+------|
- -- | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | |
- -- |------+------+------+------+------+------+------+------+------+------+------+------|
- -- | | | | | | | | Next | Vol- | Vol+ | Play |
- -- `-----------------------------------------------------------------------------------'
+ vim.api.nvim_create_autocmd('BufEnter', {
+ desc = 'Planck',
+ group = group,
+ pattern = '*/planck/ez/glow/*keymap.c',
+ callback = function()
+ require('qmk').setup({
+ name = 'LAYOUT_planck_grid',
+ auto_format_pattern = '*/planck/ez/glow/*keymap.c',
+ layout = {
+ 'x x x x x x x x x x x x',
+ 'x x x x x x x x x x x x',
+ 'x x x x x x x x x x x x',
+ 'x x x x x x x x x x x x',
+ },
+ comment_preview = { keymap_overrides = { XXXXXXX = 'XX', KC_NO = 'XX' } },
+ })
+ end,
+ })
+end
- local planck = {
- name = 'LAYOUT_planck_grid',
- layout = {
- 'x x x x x x x x x x x x',
- 'x x x x x x x x x x x x',
- 'x x x x x x x x x x x x',
- 'x x x x x x x x x x x x',
- },
- comment_preview = { keymap_overrides = { XXXXXXX = 'XX', KC_NO = 'XX' } },
- }
+if pcall(require, 'cmp') then
+ local source = {}
+ function source:complete(_, callback)
+ callback({
+ { label = 'KC_NO', detail = [[Ignore this key (NOOP)]] },
+ { label = 'KC_TRNS', detail = [[Use the next lowest non-transparent key ]] },
+ { label = 'KC_A', detail = [[`a` and `A` ]] },
+ { label = 'KC_B', detail = [[`b` and `B` ]] },
+ { label = 'KC_C', detail = [[`c` and `C` ]] },
+ { label = 'KC_D', detail = [[`d` and `D` ]] },
+ { label = 'KC_E', detail = [[`e` and `E` ]] },
+ { label = 'KC_F', detail = [[`f` and `F` ]] },
+ { label = 'KC_G', detail = [[`g` and `G` ]] },
+ { label = 'KC_H', detail = [[`h` and `H` ]] },
+ { label = 'KC_I', detail = [[`i` and `I` ]] },
+ { label = 'KC_J', detail = [[`j` and `J` ]] },
+ { label = 'KC_K', detail = [[`k` and `K` ]] },
+ { label = 'KC_L', detail = [[`l` and `L` ]] },
+ { label = 'KC_M', detail = [[`m` and `M` ]] },
+ { label = 'KC_N', detail = [[`n` and `N` ]] },
+ { label = 'KC_O', detail = [[`o` and `O` ]] },
+ { label = 'KC_P', detail = [[`p` and `P` ]] },
+ { label = 'KC_Q', detail = [[`q` and `Q` ]] },
+ { label = 'KC_R', detail = [[`r` and `R` ]] },
+ { label = 'KC_S', detail = [[`s` and `S` ]] },
+ { label = 'KC_T', detail = [[`t` and `T` ]] },
+ { label = 'KC_U', detail = [[`u` and `U` ]] },
+ { label = 'KC_V', detail = [[`v` and `V` ]] },
+ { label = 'KC_W', detail = [[`w` and `W` ]] },
+ { label = 'KC_X', detail = [[`x` and `X` ]] },
+ { label = 'KC_Y', detail = [[`y` and `Y` ]] },
+ { label = 'KC_Z', detail = [[`z` and `Z` ]] },
+ { label = 'KC_1', detail = [[`1` and `!` ]] },
+ { label = 'KC_2', detail = [[`2` and `@` ]] },
+ { label = 'KC_3', detail = [[`3` and `#` ]] },
+ { label = 'KC_4', detail = [[`4` and `$` ]] },
+ { label = 'KC_5', detail = [[`5` and `%` ]] },
+ { label = 'KC_6', detail = [[`6` and `^` ]] },
+ { label = 'KC_7', detail = [[`7` and `&` ]] },
+ { label = 'KC_8', detail = [[`8` and `*` ]] },
+ { label = 'KC_9', detail = [[`9` and `(` ]] },
+ { label = 'KC_0', detail = [[`0` and `)` ]] },
+ { label = 'KC_ENT', detail = [[Return (Enter)]] },
+ { label = 'KC_ESC', detail = [[Escape]] },
+ { label = 'KC_BSPC', detail = [[Delete (Backspace)]] },
+ { label = 'KC_TAB', detail = [[Tab ]] },
+ { label = 'KC_SPC', detail = [[Spacebar]] },
+ { label = 'KC_MINS', detail = [[`-` and `_` ]] },
+ { label = 'KC_EQL', detail = [[`=` and `+` ]] },
+ { label = 'KC_LBRC', detail = [[`[` and `{` ]] },
+ { label = 'KC_RBRC', detail = [[`]` and `}` ]] },
+ { label = 'KC_BSLS', detail = [[`\` and `\]] },
+ { label = 'KC_NUHS', detail = [[Non-US `#` and `~`]] },
+ { label = 'KC_SCLN', detail = [[`;` and `:` ]] },
+ { label = 'KC_QUOT', detail = [[`'` and `"` ]] },
+ { label = 'KC_GRV', detail = [[<code>`</code> and `~`]] },
+ { label = 'KC_COMM', detail = [[`,` and `<` ]] },
+ { label = 'KC_DOT', detail = [[`.` and `>` ]] },
+ { label = 'KC_SLSH', detail = [[`/` and `?` ]] },
+ { label = 'KC_CAPS', detail = [[Caps Lock ]] },
+ { label = 'KC_F1', detail = [[F1]] },
+ { label = 'KC_F2', detail = [[F2]] },
+ { label = 'KC_F3', detail = [[F3]] },
+ { label = 'KC_F4', detail = [[F4]] },
+ { label = 'KC_F5', detail = [[F5]] },
+ { label = 'KC_F6', detail = [[F6]] },
+ { label = 'KC_F7', detail = [[F7]] },
+ { label = 'KC_F8', detail = [[F8]] },
+ { label = 'KC_F9', detail = [[F9]] },
+ { label = 'KC_F10', detail = [[F10 ]] },
+ { label = 'KC_F11', detail = [[F11 ]] },
+ { label = 'KC_F12', detail = [[F12 ]] },
+ { label = 'KC_PSCR', detail = [[Print Screen]] },
+ { label = 'KC_SCRL', detail = [[Scroll Lock, Brightness Down (macOS)]] },
+ { label = 'KC_PAUS', detail = [[Pause, Brightness Up (macOS)]] },
+ { label = 'KC_INS', detail = [[Insert]] },
+ { label = 'KC_HOME', detail = [[Home]] },
+ { label = 'KC_PGUP', detail = [[Page Up ]] },
+ { label = 'KC_DEL', detail = [[Forward Delete]] },
+ { label = 'KC_END', detail = [[End ]] },
+ { label = 'KC_PGDN', detail = [[Page Down ]] },
+ { label = 'KC_RGHT', detail = [[Right Arrow ]] },
+ { label = 'KC_LEFT', detail = [[Left Arrow]] },
+ { label = 'KC_DOWN', detail = [[Down Arrow]] },
+ { label = 'KC_UP', detail = [[Up Arrow]] },
+ { label = 'KC_NUM', detail = [[Keypad Num Lock and Clear ]] },
+ { label = 'KC_PSLS', detail = [[Keypad `/`]] },
+ { label = 'KC_PAST', detail = [[Keypad `*`]] },
+ { label = 'KC_PMNS', detail = [[Keypad `-`]] },
+ { label = 'KC_PPLS', detail = [[Keypad `+`]] },
+ { label = 'KC_PENT', detail = [[Keypad Enter]] },
+ { label = 'KC_P1', detail = [[Keypad `1` and End]] },
+ { label = 'KC_P2', detail = [[Keypad `2` and Down Arrow ]] },
+ { label = 'KC_P3', detail = [[Keypad `3` and Page Down]] },
+ { label = 'KC_P4', detail = [[Keypad `4` and Left Arrow ]] },
+ { label = 'KC_P5', detail = [[Keypad `5`]] },
+ { label = 'KC_P6', detail = [[Keypad `6` and Right Arrow]] },
+ { label = 'KC_P7', detail = [[Keypad `7` and Home ]] },
+ { label = 'KC_P8', detail = [[Keypad `8` and Up Arrow ]] },
+ { label = 'KC_P9', detail = [[Keypad `9` and Page Up]] },
+ { label = 'KC_P0', detail = [[Keypad `0` and Insert ]] },
+ { label = 'KC_PDOT', detail = [[Keypad `.` and Delete ]] },
+ { label = 'KC_NUBS', detail = [[Non-US `\` and `\ ]] },
+ { label = 'KC_APP', detail = [[Application (Windows Context Menu Key)]] },
+ { label = 'KC_KB_POWER', detail = [[System Power]] },
+ { label = 'KC_PEQL', detail = [[Keypad `=`]] },
+ { label = 'KC_F13', detail = [[F13 ]] },
+ { label = 'KC_F14', detail = [[F14 ]] },
+ { label = 'KC_F15', detail = [[F15 ]] },
+ { label = 'KC_F16', detail = [[F16 ]] },
+ { label = 'KC_F17', detail = [[F17 ]] },
+ { label = 'KC_F18', detail = [[F18 ]] },
+ { label = 'KC_F19', detail = [[F19 ]] },
+ { label = 'KC_F20', detail = [[F20 ]] },
+ { label = 'KC_F21', detail = [[F21 ]] },
+ { label = 'KC_F22', detail = [[F22 ]] },
+ { label = 'KC_F23', detail = [[F23 ]] },
+ { label = 'KC_F24', detail = [[F24 ]] },
+ { label = 'KC_EXEC', detail = [[Execute ]] },
+ { label = 'KC_HELP', detail = [[Help]] },
+ { label = 'KC_MENU', detail = [[Menu]] },
+ { label = 'KC_SLCT', detail = [[Select]] },
+ { label = 'KC_STOP', detail = [[Stop]] },
+ { label = 'KC_AGIN', detail = [[Again ]] },
+ { label = 'KC_UNDO', detail = [[Undo]] },
+ { label = 'KC_CUT', detail = [[Cut ]] },
+ { label = 'KC_COPY', detail = [[Copy]] },
+ { label = 'KC_PSTE', detail = [[Paste ]] },
+ { label = 'KC_FIND', detail = [[Find]] },
+ { label = 'KC_KB_MUTE', detail = [[Mute]] },
+ { label = 'KC_KB_VOLUME_UP', detail = [[Volume Up ]] },
+ { label = 'KC_KB_VOLUME_DOWN', detail = [[Volume Down ]] },
+ { label = 'KC_LCAP', detail = [[Locking Caps Lock ]] },
+ { label = 'KC_LNUM', detail = [[Locking Num Lock]] },
+ { label = 'KC_LSCR', detail = [[Locking Scroll Lock ]] },
+ { label = 'KC_PCMM', detail = [[Keypad `,`]] },
+ { label = 'KC_KP_EQUAL_AS400', detail = [[Keypad `=` on AS/400 keyboards]] },
+ { label = 'KC_INT1', detail = [[International 1 ]] },
+ { label = 'KC_INT2', detail = [[International 2 ]] },
+ { label = 'KC_INT3', detail = [[International 3 ]] },
+ { label = 'KC_INT4', detail = [[International 4 ]] },
+ { label = 'KC_INT5', detail = [[International 5 ]] },
+ { label = 'KC_INT6', detail = [[International 6 ]] },
+ { label = 'KC_INT7', detail = [[International 7 ]] },
+ { label = 'KC_INT8', detail = [[International 8 ]] },
+ { label = 'KC_INT9', detail = [[International 9 ]] },
+ { label = 'KC_LNG1', detail = [[Language 1]] },
+ { label = 'KC_LNG2', detail = [[Language 2]] },
+ { label = 'KC_LNG3', detail = [[Language 3]] },
+ { label = 'KC_LNG4', detail = [[Language 4]] },
+ { label = 'KC_LNG5', detail = [[Language 5]] },
+ { label = 'KC_LNG6', detail = [[Language 6]] },
+ { label = 'KC_LNG7', detail = [[Language 7]] },
+ { label = 'KC_LNG8', detail = [[Language 8]] },
+ { label = 'KC_LNG9', detail = [[Language 9]] },
+ { label = 'KC_ERAS', detail = [[Alternate Erase ]] },
+ { label = 'KC_SYRQ', detail = [[SysReq/Attention]] },
+ { label = 'KC_CNCL', detail = [[Cancel]] },
+ { label = 'KC_CLR', detail = [[Clear ]] },
+ { label = 'KC_PRIR', detail = [[Prior ]] },
+ { label = 'KC_RETN', detail = [[Return]] },
+ { label = 'KC_SEPR', detail = [[Separator ]] },
+ { label = 'KC_OUT', detail = [[Out ]] },
+ { label = 'KC_OPER', detail = [[Oper]] },
+ { label = 'KC_CLAG', detail = [[Clear/Again ]] },
+ { label = 'KC_CRSL', detail = [[CrSel/Props ]] },
+ { label = 'KC_EXSL', detail = [[ExSel ]] },
+ { label = 'KC_LCTL', detail = [[Left Control]] },
+ { label = 'KC_LSFT', detail = [[Left Shift]] },
+ { label = 'KC_LALT', detail = [[Left Alt (Option) ]] },
+ { label = 'KC_LGUI', detail = [[Left GUI (Windows/Command/Meta key) ]] },
+ { label = 'KC_RCTL', detail = [[Right Control ]] },
+ { label = 'KC_RSFT', detail = [[Right Shift ]] },
+ { label = 'KC_RALT', detail = [[Right Alt (Option/AltGr)]] },
+ { label = 'KC_RGUI', detail = [[Right GUI (Windows/Command/Meta key)]] },
+ { label = 'KC_PWR', detail = [[System Power Down ]] },
+ { label = 'KC_SLEP', detail = [[System Sleep]] },
+ { label = 'KC_WAKE', detail = [[System Wake ]] },
+ { label = 'KC_MUTE', detail = [[Mute]] },
+ { label = 'KC_VOLU', detail = [[Volume Up ]] },
+ { label = 'KC_VOLD', detail = [[Volume Down ]] },
+ { label = 'KC_MNXT', detail = [[Next Track]] },
+ { label = 'KC_MPRV', detail = [[Previous Track]] },
+ { label = 'KC_MSTP', detail = [[Stop Track]] },
+ { label = 'KC_MPLY', detail = [[Play/Pause Track]] },
+ { label = 'KC_MSEL', detail = [[Launch Media Player ]] },
+ { label = 'KC_EJCT', detail = [[Eject ]] },
+ { label = 'KC_MAIL', detail = [[Launch Mail ]] },
+ { label = 'KC_CALC', detail = [[Launch Calculator ]] },
+ { label = 'KC_MYCM', detail = [[Launch My Computer]] },
+ { label = 'KC_WSCH', detail = [[Browser Search]] },
+ { label = 'KC_WHOM', detail = [[Browser Home]] },
+ { label = 'KC_WBAK', detail = [[Browser Back]] },
+ { label = 'KC_WFWD', detail = [[Browser Forward ]] },
+ { label = 'KC_WSTP', detail = [[Browser Stop]] },
+ { label = 'KC_WREF', detail = [[Browser Refresh ]] },
+ { label = 'KC_WFAV', detail = [[Browser Favorites ]] },
+ { label = 'KC_MFFD', detail = [[Next Track]] },
+ { label = 'KC_MRWD', detail = [[Previous Track]] },
+ { label = 'KC_BRIU', detail = [[Brightness Up ]] },
+ { label = 'KC_BRID', detail = [[Brightness Down ]] },
+ { label = 'KC_CPNL', detail = [[Open Control Panel]] },
+ { label = 'KC_ASST', detail = [[Launch Context-Aware Assistant]] },
+ { label = 'MOD_LCTL', detail = 'Left Control' },
+ { label = 'MOD_LSFT', detail = 'Left Shift' },
+ { label = 'MOD_LALT', detail = 'Left Alt' },
+ { label = 'MOD_LGUI', detail = 'Left GUI (Windows/Command/Meta key)' },
+ { label = 'MOD_RCTL', detail = 'Right Control' },
+ { label = 'MOD_RSFT', detail = 'Right Shift' },
+ { label = 'MOD_RALT', detail = 'Right Alt (AltGr)' },
+ { label = 'MOD_RGUI', detail = 'Right GUI (Windows/Command/Meta key)' },
+ { label = 'MOD_HYPR', detail = 'Hyper (Left Control, Shift, Alt and GUI)' },
+ { label = 'MOD_MEH', detail = 'Meh (Left Control, Shift, and Alt)' },
+ { label = 'KC_TILD', detail = '~' },
+ { label = 'KC_EXLM', detail = '!' },
+ { label = 'KC_AT', detail = '@' },
+ { label = 'KC_HASH', detail = '#' },
+ { label = 'KC_DLR', detail = '$' },
+ { label = 'KC_PERC', detail = '%' },
+ { label = 'KC_CIRC', detail = '^' },
+ { label = 'KC_AMPR', detail = '&' },
+ { label = 'KC_ASTR', detail = '*' },
+ { label = 'KC_LPRN', detail = '(' },
+ { label = 'KC_RPRN', detail = ')' },
+ { label = 'KC_UNDS', detail = '_' },
+ { label = 'KC_PLUS', detail = '+' },
+ { label = 'KC_LCBR', detail = '{' },
+ { label = 'KC_RCBR', detail = '}' },
+ { label = 'KC_PIPE', detail = [[\|]] },
+ { label = 'KC_COLN', detail = ':' },
+ { label = 'KC_DQT', detail = '"' },
+ { label = 'KC_LT', detail = '<' },
+ { label = 'KC_GT', detail = '>' },
+ { label = 'KC_QUES', detail = '?' },
+ })
+ end
- local ergo = {
- name = 'LAYOUT_ergodox_pretty',
- layout = {
- 'x x x x x x x _ _ x x x x x x x',
- 'x x x x x x x _ _ x x x x x x x',
- 'x x x x x x _ _ _ _ x x x x x x',
- 'x x x x x x x _ _ x x x x x x x',
- 'x x x x x _ _ _ _ _ _ x x x x x',
- '_ _ _ _ _ x x _ _ x x _ _ _ _ _',
- '_ _ _ _ _ _ x _ _ x _ _ _ _ _ _',
- '_ _ _ _ x x x _ _ x x x _ _ _ _',
- },
- comment_preview = { keymap_overrides = { XXXXXXX = 'XX', KC_NO = 'XX' } },
- }
+ require('cmp').register_source('qmk_keys', source)
- require('qmk').setup(ergo)
+ vim.api.nvim_create_autocmd({ 'BufRead', 'BufNewFile' }, {
+ pattern = '*/qmk_firmware/**',
+ callback = function()
+ require('cmp').setup.buffer {
+ sources = {
+ { name = 'qmk_keys' },
+ { name = 'nvim_lsp' },
+ { name = 'snippets' },
+ { name = 'buffer', keyword_length = 5 },
+ },
+ }
+ end,
+ })
end
diff --git a/lua/tms/lsp/dart.lua b/lua/tms/lsp/dart.lua
@@ -41,9 +41,10 @@ function M.start()
-- '-v', string.format('.:%s', root_dir),
-- '-w', root_dir,
-- '-p', '10000:10000',
- -- 'dart:3.6.0', 'dart', 'language-server', '--protocol=lsp', '--port=10000',
+ -- 'dart:3.4.0', 'dart', 'language-server', '--protocol=lsp', '--diagnostic-port=10000',
-- -- '--instrumentation-log-file=/tmp/dart-plugin-log',
-- },
+ -- cmd = vim.lsp.rpc.connect('localhost', 10000),
cmd = { --
'dart',
'language-server',