feat: archive electricity
This commit is contained in:
parent
b5aab4aadb
commit
bbdb55ffa4
@ -10,7 +10,7 @@ _fx(){
|
|||||||
|
|
||||||
case $state in
|
case $state in
|
||||||
(action) _arguments '1:profiles:(s i o)' ;;
|
(action) _arguments '1:profiles:(s i o)' ;;
|
||||||
(*) compadd "$@" $(echo $(ls ~/SYNC) | tr \\n ' ')
|
(*) compadd "$@" $(echo $(ls ~/Projects) | tr \\n ' ')
|
||||||
|
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
@ -7,4 +7,3 @@ fi
|
|||||||
compdef _fx fx;
|
compdef _fx fx;
|
||||||
autoload -U compinit
|
autoload -U compinit
|
||||||
compinit
|
compinit
|
||||||
|
|
||||||
|
@ -43,6 +43,11 @@ export EDITOR="nvim"
|
|||||||
# Automatically load direnv if found
|
# Automatically load direnv if found
|
||||||
[[ -s $(which direnv) ]] && eval "$(direnv hook zsh)"
|
[[ -s $(which direnv) ]] && eval "$(direnv hook zsh)"
|
||||||
|
|
||||||
|
if [ type open &> /dev/null ]; then
|
||||||
|
else
|
||||||
|
alias open=xdg-open
|
||||||
|
fi
|
||||||
|
|
||||||
# set PATH so it includes user's private bin if it exists
|
# set PATH so it includes user's private bin if it exists
|
||||||
if [ -d "$HOME/bin" ] ; then
|
if [ -d "$HOME/bin" ] ; then
|
||||||
PATH="$HOME/bin:$PATH"
|
PATH="$HOME/bin:$PATH"
|
||||||
|
@ -68,11 +68,15 @@ if u.has_plugin("cmp") then
|
|||||||
|
|
||||||
g.ale_fixers = {"prettier", "eslint"}
|
g.ale_fixers = {"prettier", "eslint"}
|
||||||
|
|
||||||
vim.notify = require("notify")
|
require("command-center-conf")
|
||||||
|
|
||||||
require("notify").setup(
|
local notify = require("notify")
|
||||||
|
vim.notify = notify;
|
||||||
|
|
||||||
|
notify.setup(
|
||||||
{
|
{
|
||||||
stages = "fade_in_slide_out",
|
stages = "fade_in_slide_out",
|
||||||
|
max_width = 50,
|
||||||
render = "minimal",
|
render = "minimal",
|
||||||
background_colour = "#000000",
|
background_colour = "#000000",
|
||||||
icons = {
|
icons = {
|
||||||
@ -91,53 +95,7 @@ if u.has_plugin("cmp") then
|
|||||||
set foldlevel=99
|
set foldlevel=99
|
||||||
]]
|
]]
|
||||||
|
|
||||||
require("telescope").setup {
|
require("telescope-conf").setup()
|
||||||
defaults = {
|
|
||||||
vimgrep_arguments = {
|
|
||||||
"rg",
|
|
||||||
"--color=never",
|
|
||||||
"--no-heading",
|
|
||||||
"--with-filename",
|
|
||||||
"--line-number",
|
|
||||||
"--column",
|
|
||||||
"--smart-case"
|
|
||||||
},
|
|
||||||
prompt_prefix = " ",
|
|
||||||
selection_caret = " ",
|
|
||||||
entry_prefix = " ",
|
|
||||||
initial_mode = "insert",
|
|
||||||
selection_strategy = "reset",
|
|
||||||
sorting_strategy = "ascending",
|
|
||||||
layout_strategy = "horizontal",
|
|
||||||
layout_config = {
|
|
||||||
horizontal = {
|
|
||||||
prompt_position = "top",
|
|
||||||
preview_width = 0.55,
|
|
||||||
results_width = 0.8
|
|
||||||
},
|
|
||||||
vertical = {
|
|
||||||
mirror = false
|
|
||||||
},
|
|
||||||
width = 0.87,
|
|
||||||
height = 0.80,
|
|
||||||
preview_cutoff = 120
|
|
||||||
},
|
|
||||||
file_sorter = require("telescope.sorters").get_fuzzy_file,
|
|
||||||
file_ignore_patterns = {"node_modules"},
|
|
||||||
generic_sorter = require("telescope.sorters").get_generic_fuzzy_sorter,
|
|
||||||
path_display = {"truncate"},
|
|
||||||
winblend = 0,
|
|
||||||
border = {},
|
|
||||||
borderchars = {"─", "│", "─", "│", "╭", "╮", "╯", "╰"},
|
|
||||||
color_devicons = true,
|
|
||||||
use_less = true,
|
|
||||||
set_env = {["COLORTERM"] = "truecolor"}, -- default = nil,
|
|
||||||
file_previewer = require("telescope.previewers").vim_buffer_cat.new,
|
|
||||||
grep_previewer = require("telescope.previewers").vim_buffer_vimgrep.new,
|
|
||||||
qflist_previewer = require("telescope.previewers").vim_buffer_qflist.new
|
|
||||||
-- Developer configurations: Not meant for general override
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Enable Theming / Syntax
|
-- Enable Theming / Syntax
|
||||||
o.syntax = "enable"
|
o.syntax = "enable"
|
||||||
@ -169,40 +127,8 @@ if u.has_plugin("cmp") then
|
|||||||
|
|
||||||
|
|
||||||
-- Configure nvim-tree
|
-- Configure nvim-tree
|
||||||
g.nvim_tree_special_files = {}
|
|
||||||
g.nvim_tree_icons = {
|
|
||||||
default = "",
|
|
||||||
symlink = "",
|
|
||||||
git = {
|
|
||||||
unstaged = "*",
|
|
||||||
staged = "✓",
|
|
||||||
unmerged = "",
|
|
||||||
renamed = "➜",
|
|
||||||
untracked = "★",
|
|
||||||
deleted = "",
|
|
||||||
ignored = "◌"
|
|
||||||
},
|
|
||||||
folder = {
|
|
||||||
arrow_open = ">",
|
|
||||||
arrow_closed = "<",
|
|
||||||
default = "",
|
|
||||||
open = "",
|
|
||||||
empty = "",
|
|
||||||
empty_open = "",
|
|
||||||
symlink = "",
|
|
||||||
symlink_open = ""
|
|
||||||
},
|
|
||||||
lsp = {
|
|
||||||
hint = "",
|
|
||||||
info = "",
|
|
||||||
warning = "",
|
|
||||||
error = ""
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
g.nvim_tree_highlight_opened_files = 1
|
g.nvim_tree_highlight_opened_files = 1
|
||||||
g.nvim_tree_group_empty = 1
|
g.nvim_tree_group_empty = 1
|
||||||
g.nvim_tree_indent_markers = 0
|
|
||||||
g.nvim_tree_show_icons = {
|
g.nvim_tree_show_icons = {
|
||||||
folder_arrows = 0,
|
folder_arrows = 0,
|
||||||
folders = 1,
|
folders = 1,
|
||||||
@ -218,6 +144,11 @@ if u.has_plugin("cmp") then
|
|||||||
update_focused_file = {
|
update_focused_file = {
|
||||||
enable = false
|
enable = false
|
||||||
},
|
},
|
||||||
|
renderer = {
|
||||||
|
indent_markers = {
|
||||||
|
enable = 0
|
||||||
|
}
|
||||||
|
},
|
||||||
diagnostics = {
|
diagnostics = {
|
||||||
enable = true,
|
enable = true,
|
||||||
icons = {
|
icons = {
|
||||||
|
31
configs/nvim/lua/command-center-conf.lua
Normal file
31
configs/nvim/lua/command-center-conf.lua
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
local command_center = require("command_center")
|
||||||
|
local noremap = {noremap = true}
|
||||||
|
|
||||||
|
command_center.add({
|
||||||
|
{
|
||||||
|
description = "Search inside current buffer",
|
||||||
|
command = "Telescope current_buffer_fuzzy_find",
|
||||||
|
keybindings = { "n", "<leader>fl", noremap },
|
||||||
|
}, {
|
||||||
|
-- If no descirption is specified, command is used to replace descirption by default
|
||||||
|
-- You can change this behavior in settigns
|
||||||
|
command = "Telescope find_files",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
-- If no keybindings specified, no keybindings will be displayed or registered
|
||||||
|
description = "Find hidden files",
|
||||||
|
command = "Telescope find_files hidden=true",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
-- You can specify multiple keybindings for the same command ...
|
||||||
|
description = "Show document symbols",
|
||||||
|
command = "Telescope lsp_document_symbols",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
description = "Show function signaure (hover)",
|
||||||
|
command = "lua vim.lsp.buf.hover()",
|
||||||
|
},{
|
||||||
|
description="(TS) Organize Imports",
|
||||||
|
command = "OrganizeImports"
|
||||||
|
}
|
||||||
|
})
|
@ -9,6 +9,7 @@ g.mapleader = " "
|
|||||||
|
|
||||||
map("n", "<C-o>", ":Telescope find_files<CR>", options)
|
map("n", "<C-o>", ":Telescope find_files<CR>", options)
|
||||||
map("n", "<C-f>", ":Telescope live_grep<CR>", options)
|
map("n", "<C-f>", ":Telescope live_grep<CR>", options)
|
||||||
|
map("n","<C-p>",":Telescope command_center<CR>",options)
|
||||||
map("n", "<Shift>", "za", options)
|
map("n", "<Shift>", "za", options)
|
||||||
|
|
||||||
-- LSP Functionality
|
-- LSP Functionality
|
||||||
@ -30,6 +31,7 @@ map("n", "<C-h>", "<C-w>h", options)
|
|||||||
map("n", "<C-j>", "<C-w>j", options)
|
map("n", "<C-j>", "<C-w>j", options)
|
||||||
map("n", "<C-k>", "<C-w>k", options)
|
map("n", "<C-k>", "<C-w>k", options)
|
||||||
map("n", "<C-l>", "<C-w>l", options)
|
map("n", "<C-l>", "<C-w>l", options)
|
||||||
|
|
||||||
-- Browser like next/previous
|
-- Browser like next/previous
|
||||||
map("n", "<A-Left>", ":bprevious<CR>",options);
|
map("n", "<A-Left>", ":bprevious<CR>",options);
|
||||||
map("n", "<A-Right>", ":bnext<CR>",options);
|
map("n", "<A-Right>", ":bnext<CR>",options);
|
||||||
|
85
configs/nvim/lua/lorem.lua
Normal file
85
configs/nvim/lua/lorem.lua
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
local lorem = {}
|
||||||
|
|
||||||
|
local WORDS_IN_SENTENCE = {min = 5, max = 15}
|
||||||
|
local SENTENCES_IN_PARAGRAPH = {min = 2, max = 7 }
|
||||||
|
local PARAGRAPHS_IN_TEXT = {min = 2, max = 7 }
|
||||||
|
|
||||||
|
local function random_int(min, max)
|
||||||
|
return math.random(min, max)
|
||||||
|
end
|
||||||
|
|
||||||
|
local BASE_PHRASE = [[
|
||||||
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||||
|
Suspendisse rutrum accumsan elit vel auctor.
|
||||||
|
Praesent sit amet aliquam turpis.
|
||||||
|
Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae.
|
||||||
|
Maecenas non erat ut elit sodales commodo.
|
||||||
|
Nam gravida ipsum quis nulla tempus, quis pulvinar augue tristique.
|
||||||
|
Nulla massa odio, imperdiet non ultricies tincidunt, viverra sed lorem.
|
||||||
|
Nulla elementum sapien ut commodo aliquet.
|
||||||
|
Pellentesque iaculis turpis tellus, eget laoreet augue condimentum vel.
|
||||||
|
Quisque at risus rhoncus, facilisis tellus nec, tristique dolor.
|
||||||
|
Maecenas cursus magna eget imperdiet laoreet.
|
||||||
|
]]
|
||||||
|
|
||||||
|
local function get_words(phrase)
|
||||||
|
local list = {}
|
||||||
|
for word in phrase:gmatch('%a+') do
|
||||||
|
table.insert(list, word:lower())
|
||||||
|
end
|
||||||
|
return list
|
||||||
|
end
|
||||||
|
|
||||||
|
lorem.__index = lorem
|
||||||
|
lorem._dict = get_words(BASE_PHRASE)
|
||||||
|
|
||||||
|
function lorem:generator(phrase)
|
||||||
|
if type(phrase) ~= 'string' then
|
||||||
|
error('First argument of lorem.generator should be a string', 2)
|
||||||
|
end
|
||||||
|
local g = {_dict = {}}
|
||||||
|
for word in phrase:gmatch('%a+') do
|
||||||
|
table.insert(g._dict, word:lower())
|
||||||
|
end
|
||||||
|
if #(g._dict) == 0 then
|
||||||
|
error('String argument of lorem.generator should contain words', 2)
|
||||||
|
end
|
||||||
|
setmetatable(g, self)
|
||||||
|
return g
|
||||||
|
end
|
||||||
|
|
||||||
|
function lorem:word()
|
||||||
|
return self._dict[random_int(1, #(self._dict))]
|
||||||
|
end
|
||||||
|
|
||||||
|
function lorem:sentence()
|
||||||
|
local n = random_int(WORDS_IN_SENTENCE.min, WORDS_IN_SENTENCE.max)
|
||||||
|
local words = {}
|
||||||
|
for i = 1, n do
|
||||||
|
words[i] = self:word()
|
||||||
|
end
|
||||||
|
local s = table.concat(words, ' ')
|
||||||
|
s = s .. "."
|
||||||
|
s = s:sub(1, 1):upper() .. s:sub(2)
|
||||||
|
return s
|
||||||
|
end
|
||||||
|
|
||||||
|
function lorem:paragraph()
|
||||||
|
local n = random_int(SENTENCES_IN_PARAGRAPH.min, SENTENCES_IN_PARAGRAPH.max)
|
||||||
|
local sentences = {}
|
||||||
|
for i = 1, n do
|
||||||
|
sentences[i] = self:sentence()
|
||||||
|
end
|
||||||
|
return table.concat(sentences, ' ')
|
||||||
|
end
|
||||||
|
|
||||||
|
function lorem:text()
|
||||||
|
local n = random_int(PARAGRAPHS_IN_TEXT.min, PARAGRAPHS_IN_TEXT.max)
|
||||||
|
local paragraphs = {}
|
||||||
|
for i = 1, n do
|
||||||
|
paragraphs[i] = self:paragraph()
|
||||||
|
end
|
||||||
|
return table.concat(paragraphs, '\n')
|
||||||
|
end
|
||||||
|
|
||||||
|
return lorem
|
@ -2,6 +2,52 @@ local lsp = require "lspconfig"
|
|||||||
local lsp_status = require("lsp-status")
|
local lsp_status = require("lsp-status")
|
||||||
local ts_utils = require("nvim-lsp-ts-utils")
|
local ts_utils = require("nvim-lsp-ts-utils")
|
||||||
|
|
||||||
|
require'nvim-lightbulb'.setup {
|
||||||
|
-- LSP client names to ignore
|
||||||
|
-- Example: {"sumneko_lua", "null-ls"}
|
||||||
|
ignore = {},
|
||||||
|
sign = {
|
||||||
|
enabled = true,
|
||||||
|
-- Priority of the gutter sign
|
||||||
|
priority = 10,
|
||||||
|
},
|
||||||
|
float = {
|
||||||
|
enabled = false,
|
||||||
|
-- Text to show in the popup float
|
||||||
|
text = "💡",
|
||||||
|
-- Available keys for window options:
|
||||||
|
-- - height of floating window
|
||||||
|
-- - width of floating window
|
||||||
|
-- - wrap_at character to wrap at for computing height
|
||||||
|
-- - max_width maximal width of floating window
|
||||||
|
-- - max_height maximal height of floating window
|
||||||
|
-- - pad_left number of columns to pad contents at left
|
||||||
|
-- - pad_right number of columns to pad contents at right
|
||||||
|
-- - pad_top number of lines to pad contents at top
|
||||||
|
-- - pad_bottom number of lines to pad contents at bottom
|
||||||
|
-- - offset_x x-axis offset of the floating window
|
||||||
|
-- - offset_y y-axis offset of the floating window
|
||||||
|
-- - anchor corner of float to place at the cursor (NW, NE, SW, SE)
|
||||||
|
-- - winblend transparency of the window (0-100)
|
||||||
|
win_opts = {},
|
||||||
|
},
|
||||||
|
virtual_text = {
|
||||||
|
enabled = false,
|
||||||
|
-- Text to show at virtual text
|
||||||
|
text = "💡",
|
||||||
|
-- highlight mode to use for virtual text (replace, combine, blend), see :help nvim_buf_set_extmark() for reference
|
||||||
|
hl_mode = "replace",
|
||||||
|
},
|
||||||
|
status_text = {
|
||||||
|
enabled = false,
|
||||||
|
-- Text to provide when code actions are available
|
||||||
|
text = "💡",
|
||||||
|
-- Text to provide when no actions are available
|
||||||
|
text_unavailable = ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
local runtime_path = vim.split(package.path, ";")
|
local runtime_path = vim.split(package.path, ";")
|
||||||
table.insert(runtime_path, "lua/?.lua")
|
table.insert(runtime_path, "lua/?.lua")
|
||||||
table.insert(runtime_path, "lua/?/init.lua")
|
table.insert(runtime_path, "lua/?/init.lua")
|
||||||
@ -34,167 +80,3 @@ lsp.sumneko_lua.setup {
|
|||||||
-- Ltex Language Server
|
-- Ltex Language Server
|
||||||
require("grammar-guard").init()
|
require("grammar-guard").init()
|
||||||
|
|
||||||
-- setup LSP config
|
|
||||||
lsp.grammar_guard.setup(
|
|
||||||
{
|
|
||||||
cmd = {vim.fn.expand("~/.local/share/nvim/lsp_servers/ltex/ltex-ls/bin/ltex-ls")},
|
|
||||||
settings = {
|
|
||||||
ltex = {
|
|
||||||
enabled = {"latex", "tex", "bib", "markdown"},
|
|
||||||
language = "de",
|
|
||||||
diagnosticSeverity = "information",
|
|
||||||
additionalRules = {
|
|
||||||
enablePickyRules = true,
|
|
||||||
motherTongue = "de"
|
|
||||||
},
|
|
||||||
dictionary = {},
|
|
||||||
disabledRules = {},
|
|
||||||
hiddenFalsePositives = {}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
-- Typescript Language Server
|
|
||||||
lsp.tsserver.setup(
|
|
||||||
{
|
|
||||||
-- Needed for inlayHints. Merge this table with your settings or copy
|
|
||||||
-- it from the source if you want to add your own init_options.
|
|
||||||
init_options = require("nvim-lsp-ts-utils").init_options,
|
|
||||||
--
|
|
||||||
on_attach = function(client, bufnr)
|
|
||||||
-- defaults
|
|
||||||
ts_utils.setup(
|
|
||||||
{
|
|
||||||
debug = true,
|
|
||||||
disable_commands = false,
|
|
||||||
enable_import_on_completion = false,
|
|
||||||
-- import all
|
|
||||||
import_all_timeout = 5000, -- ms
|
|
||||||
-- lower numbers = higher priority
|
|
||||||
import_all_priorities = {
|
|
||||||
same_file = 1, -- add to existing import statement
|
|
||||||
local_files = 2, -- git files or files with relative path markers
|
|
||||||
buffer_content = 3, -- loaded buffer content
|
|
||||||
buffers = 4 -- loaded buffer names
|
|
||||||
},
|
|
||||||
import_all_scan_buffers = 100,
|
|
||||||
import_all_select_source = false,
|
|
||||||
-- if false will avoid organizing imports
|
|
||||||
always_organize_imports = true,
|
|
||||||
-- filter diagnostics
|
|
||||||
filter_out_diagnostics_by_severity = {},
|
|
||||||
filter_out_diagnostics_by_code = {},
|
|
||||||
-- inlay hints
|
|
||||||
auto_inlay_hints = true,
|
|
||||||
inlay_hints_highlight = "Comment",
|
|
||||||
inlay_hints_priority = 200, -- priority of the hint extmarks
|
|
||||||
inlay_hints_throttle = 150, -- throttle the inlay hint request
|
|
||||||
inlay_hints_format = {
|
|
||||||
-- format options for individual hint kind
|
|
||||||
Type = {},
|
|
||||||
Parameter = {},
|
|
||||||
Enum = {}
|
|
||||||
-- Example format customization for `Type` kind:
|
|
||||||
-- Type = {
|
|
||||||
-- highlight = "Comment",
|
|
||||||
-- text = function(text)
|
|
||||||
-- return "->" .. text:sub(2)
|
|
||||||
-- end,
|
|
||||||
-- },
|
|
||||||
},
|
|
||||||
-- update imports on file move
|
|
||||||
update_imports_on_move = false,
|
|
||||||
require_confirmation_on_move = false,
|
|
||||||
watch_dir = nil
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
-- required to fix code action ranges and filter diagnostics
|
|
||||||
ts_utils.setup_client(client)
|
|
||||||
|
|
||||||
-- no default maps, so you may want to define some here
|
|
||||||
local opts = {silent = true}
|
|
||||||
vim.api.nvim_buf_set_keymap(bufnr, "n", "gs", ":TSLspOrganize<CR>", opts)
|
|
||||||
vim.api.nvim_buf_set_keymap(bufnr, "n", "gr", ":TSLspRenameFile<CR>", opts)
|
|
||||||
vim.api.nvim_buf_set_keymap(bufnr, "n", "gi", ":TSLspImportAll<CR>", opts)
|
|
||||||
end
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
-- Setup diagnostics formaters and linters for non LSP provided files
|
|
||||||
lsp.diagnosticls.setup {
|
|
||||||
capabilities = lsp_status.capabilities,
|
|
||||||
cmd = {"diagnostic-languageserver", "--stdio"},
|
|
||||||
filetypes = {
|
|
||||||
"sh",
|
|
||||||
"markdown",
|
|
||||||
"yaml",
|
|
||||||
"toml"
|
|
||||||
},
|
|
||||||
init_options = {
|
|
||||||
linters = {
|
|
||||||
shellcheck = {
|
|
||||||
command = "shellcheck",
|
|
||||||
debounce = 100,
|
|
||||||
args = {"--format", "json", "-"},
|
|
||||||
sourceName = "shellcheck",
|
|
||||||
parseJson = {
|
|
||||||
line = "line",
|
|
||||||
column = "column",
|
|
||||||
endLine = "endLine",
|
|
||||||
endColumn = "endColumn",
|
|
||||||
message = "${message} [${code}]",
|
|
||||||
security = "level"
|
|
||||||
},
|
|
||||||
securities = {
|
|
||||||
error = "error",
|
|
||||||
warning = "warning",
|
|
||||||
info = "info",
|
|
||||||
style = "hint"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
markdownlint = {
|
|
||||||
command = "markdownlint",
|
|
||||||
isStderr = true,
|
|
||||||
debounce = 100,
|
|
||||||
args = {"--stdin"},
|
|
||||||
offsetLine = 0,
|
|
||||||
offsetColumn = 0,
|
|
||||||
sourceName = "markdownlint",
|
|
||||||
formatLines = 1,
|
|
||||||
formatPattern = {
|
|
||||||
"^.*?:\\s?(\\d+)(:(\\d+)?)?\\s(MD\\d{3}\\/[A-Za-z0-9-/]+)\\s(.*)$",
|
|
||||||
{
|
|
||||||
line = 1,
|
|
||||||
column = 3,
|
|
||||||
message = {4}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
filetypes = {
|
|
||||||
sh = "shellcheck",
|
|
||||||
markdown = "markdownlint"
|
|
||||||
},
|
|
||||||
formatters = {
|
|
||||||
shfmt = {
|
|
||||||
command = "shfmt",
|
|
||||||
args = {"-i", "2", "-bn", "-ci", "-sr"}
|
|
||||||
},
|
|
||||||
prettier = {
|
|
||||||
command = "prettier",
|
|
||||||
args = {"--stdin-filepath", "%filepath"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
formatFiletypes = {
|
|
||||||
sh = "shfmt",
|
|
||||||
json = "prettier",
|
|
||||||
yaml = "prettier",
|
|
||||||
toml = "prettier",
|
|
||||||
markdown = "prettier",
|
|
||||||
lua = "prettier"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
@ -1,13 +1,32 @@
|
|||||||
local lsp_installer = require("nvim-lsp-installer")
|
local lsp_installer = require("nvim-lsp-installer")
|
||||||
require("lsp-format").setup {}
|
local lsp_format = require("lsp-format");
|
||||||
|
lsp_format.setup {}
|
||||||
|
|
||||||
|
local function organize_imports()
|
||||||
|
local params = {
|
||||||
|
command = "_typescript.organizeImports",
|
||||||
|
arguments = {vim.api.nvim_buf_get_name(0)},
|
||||||
|
title = ""
|
||||||
|
}
|
||||||
|
vim.lsp.buf.execute_command(params)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
lsp_installer.on_server_ready(
|
lsp_installer.on_server_ready(
|
||||||
function(server)
|
function(server)
|
||||||
|
|
||||||
local opts = {
|
local opts = {
|
||||||
on_attach = require "lsp-format".on_attach
|
on_attach = lsp_format.on_attach
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if server.name == "tsserver" then
|
||||||
|
opts.commands = {
|
||||||
|
OrganizeImports = {
|
||||||
|
organize_imports,
|
||||||
|
description = "Organize Imports"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
-- This setup() function is exactly the same as lspconfig's setup function (:help lspconfig-quickstart)
|
-- This setup() function is exactly the same as lspconfig's setup function (:help lspconfig-quickstart)
|
||||||
server:setup(opts)
|
server:setup(opts)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
return require("packer").startup(
|
return require("packer").startup(
|
||||||
function()
|
function(use)
|
||||||
-- Let packer manage itself
|
-- Let packer manage itself
|
||||||
use "wbthomason/packer.nvim"
|
use "wbthomason/packer.nvim"
|
||||||
|
|
||||||
@ -31,6 +31,7 @@ return require("packer").startup(
|
|||||||
use "nathanmsmith/nvim-ale-diagnostic"
|
use "nathanmsmith/nvim-ale-diagnostic"
|
||||||
use "junegunn/fzf"
|
use "junegunn/fzf"
|
||||||
use "nvim-telescope/telescope.nvim"
|
use "nvim-telescope/telescope.nvim"
|
||||||
|
use "gfeiyou/command-center.nvim"
|
||||||
|
|
||||||
-- Postman like features
|
-- Postman like features
|
||||||
use "NTBBloodbath/rest.nvim"
|
use "NTBBloodbath/rest.nvim"
|
||||||
@ -42,6 +43,7 @@ return require("packer").startup(
|
|||||||
|
|
||||||
-- Lsp Errors
|
-- Lsp Errors
|
||||||
use "folke/lsp-colors.nvim"
|
use "folke/lsp-colors.nvim"
|
||||||
|
use "kosayoda/nvim-lightbulb"
|
||||||
use "onsails/lspkind-nvim"
|
use "onsails/lspkind-nvim"
|
||||||
use {
|
use {
|
||||||
"folke/trouble.nvim",
|
"folke/trouble.nvim",
|
||||||
|
@ -11,7 +11,7 @@ local d = ls.dynamic_node
|
|||||||
|
|
||||||
local types = require("luasnip.util.types")
|
local types = require("luasnip.util.types")
|
||||||
|
|
||||||
require("luasnip.loaders.from_vscode").load({include = {"typescript", "javascript", "html"}}) -- Load only python snippets
|
require("luasnip.loaders.from_vscode").load({include = {"typescript", "javascript", "html"}})
|
||||||
|
|
||||||
-- Every unspecified option will be set to the default.
|
-- Every unspecified option will be set to the default.
|
||||||
ls.config.set_config(
|
ls.config.set_config(
|
||||||
@ -34,16 +34,32 @@ ls.config.set_config(
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
ls.snippets = {
|
ls.add_snippets("all", {
|
||||||
all = {},
|
s({trig = "b(%d)", regTrig = true, wordTrig = true}, {
|
||||||
svelte = {
|
f(function(args) return {"Captured Text: " .. args[1].captures[1] .. "."} end, {}),
|
||||||
s(
|
i(0)
|
||||||
"slt",
|
})
|
||||||
{
|
})
|
||||||
t('<script lang="ts">'),
|
|
||||||
i(0),
|
ls.add_snippets("svelte",{
|
||||||
t("</script>")
|
s("slt",{
|
||||||
}
|
t('<script lang="ts">','\t'),
|
||||||
)
|
i(0),
|
||||||
}
|
t("</script>")
|
||||||
}
|
}),
|
||||||
|
s("sc",{
|
||||||
|
t('<script context="module" lang="ts">','\t'),
|
||||||
|
i(0),
|
||||||
|
t("</script>")
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
ls.add_snippets("typescript",{
|
||||||
|
s("sget",{
|
||||||
|
t('export async function get({'),
|
||||||
|
i(1,"params"),
|
||||||
|
t("}) {"),
|
||||||
|
i(2),
|
||||||
|
t("}"),
|
||||||
|
})
|
||||||
|
})
|
||||||
|
@ -1,8 +1,4 @@
|
|||||||
local present, telescope = pcall(require, "telescope")
|
local telescope = require("telescope")
|
||||||
|
|
||||||
if not present then
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
local default = {
|
local default = {
|
||||||
defaults = {
|
defaults = {
|
||||||
@ -56,16 +52,8 @@ local default = {
|
|||||||
local M = {}
|
local M = {}
|
||||||
M.setup = function()
|
M.setup = function()
|
||||||
telescope.setup(default)
|
telescope.setup(default)
|
||||||
|
-- telescope.load_extension("themes");
|
||||||
local extensions = {"themes", "terms"}
|
telescope.load_extension("command_center");
|
||||||
|
|
||||||
pcall(
|
|
||||||
function()
|
|
||||||
for _, ext in ipairs(extensions) do
|
|
||||||
-- telescope.load_extension(ext)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
@ -26,16 +26,16 @@ set $quickmenu wofi --show drun
|
|||||||
# Screenshot section
|
# Screenshot section
|
||||||
set $screenshot_dir ~/Pictures/Screenshots/
|
set $screenshot_dir ~/Pictures/Screenshots/
|
||||||
set $grimshot ~/.config/sway/grimshot.sh
|
set $grimshot ~/.config/sway/grimshot.sh
|
||||||
set $screenclip wl-copy < "$($grimshot --notify save area $screenshot_dir/scrn-$(date +"%Y-%m-%d-%H-%M-%S").png)"
|
set $screenclip wl-copy < "$($grimshot --notify save area $screenshot_dir/scrn-$(date +"%Y-%m-%d-%H-%M-%S").png)"
|
||||||
set $screenshot wl-copy < "$($grimshot --notify save screen $screenshot_dir/scrn-$(date +"%Y-%m-%d-%H-%M-%S").png)"
|
set $screenshot wl-copy < "$($grimshot --notify save screen $screenshot_dir/scrn-$(date +"%Y-%m-%d-%H-%M-%S").png)"
|
||||||
set $windowshot wl-copy < "$($grimshot --notify save window $screenshot_dir/scrn-$(date +"%Y-%m-%d-%H-%M-%S").png)"
|
set $windowshot wl-copy < "$($grimshot --notify save window $screenshot_dir/scrn-$(date +"%Y-%m-%d-%H-%M-%S").png)"
|
||||||
|
|
||||||
# Default Programs
|
# Default Programs
|
||||||
set $term kitty -e "tmux"
|
set $term kitty -e "tmux"
|
||||||
set $explorer nautilus
|
set $explorer nautilus
|
||||||
set $mail geary
|
set $mail org.gnome.Geary
|
||||||
set $browser firefox-developer-edition
|
|
||||||
set $browser google-chrome-beta --enable-features=UseOzonePlatform --ozone-platform=wayland
|
set $browser google-chrome-beta --enable-features=UseOzonePlatform --ozone-platform=wayland
|
||||||
|
set $browser firefox-developer-edition
|
||||||
set $password_mngr rofi-rbw --selector wofi --typer wtype --clipboarder wl-copy
|
set $password_mngr rofi-rbw --selector wofi --typer wtype --clipboarder wl-copy
|
||||||
set $bluetooth_mngr blueman-manager
|
set $bluetooth_mngr blueman-manager
|
||||||
set $calculator flatpak run io.github.Qalculate
|
set $calculator flatpak run io.github.Qalculate
|
||||||
|
@ -4,25 +4,24 @@ $@ &
|
|||||||
pid=$!
|
pid=$!
|
||||||
|
|
||||||
|
|
||||||
# ALL_NODES='recurse(.nodes[]?, .floating_nodes[]?) | select(.pid and .visible)'
|
ALL_NODES='recurse(.nodes[]?, .floating_nodes[]?) | select(.pid and .visible)'
|
||||||
|
|
||||||
# echo "pid: $pid"
|
sleep 0.3
|
||||||
# all_nodes="$(swaymsg -t get_tree | jq -r "$ALL_NODES")"
|
|
||||||
# window_id="$(swaymsg -t get_tree | jq -r "$ALL_NODES" | jq -c ". | select(.pid==$pid) | .id")"
|
|
||||||
|
|
||||||
# echo "al: $all_nodes"
|
all_nodes="$(swaymsg -t get_tree | jq -r "$ALL_NODES" | jq -c '.pid')"
|
||||||
# echo "window_id: $window_id"
|
window_id="$(swaymsg -t get_tree | jq -r "$ALL_NODES" | jq --argjson pid $pid -c 'select(.pid==$pid).id')"
|
||||||
|
swaymsg "[ con_id=$window_id ] floating enable, resize set 800 400, move position 1115 670, sticky enable"
|
||||||
|
|
||||||
swaymsg -t subscribe -m '[ "window" ]' \
|
# swaymsg -t subscribe -m '[ "window" ]' \
|
||||||
| jq --unbuffered --argjson pid "$pid" '.container | select(.pid == $pid) | .id' \
|
# | jq --unbuffered --argjson pid "$pid" '.container | select(.pid == $pid) | .id' \
|
||||||
| xargs -I '@' -- swaymsg '[ con_id=@ ] floating enable' &
|
# | xargs -I '@' -- swaymsg '[ con_id=@ ] floating enable' &
|
||||||
|
|
||||||
subscription=$!
|
# subscription=$!
|
||||||
|
|
||||||
echo Going into wait state
|
# echo Going into wait state
|
||||||
|
|
||||||
# Wait for our process to close
|
# # Wait for our process to close
|
||||||
tail --pid=$pid -f /dev/null
|
# tail --pid=$pid -f /dev/null
|
||||||
|
|
||||||
echo Killing subscription
|
# echo Killing subscription
|
||||||
kill $subscription
|
# kill $subscription
|
||||||
|
114
configs/sway/test.json
Normal file
114
configs/sway/test.json
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
{
|
||||||
|
"id": 65,
|
||||||
|
"type": "con",
|
||||||
|
"orientation": "none",
|
||||||
|
"percent": 0.3422431865828092,
|
||||||
|
"urgent": false,
|
||||||
|
"marks": [],
|
||||||
|
"focused": false,
|
||||||
|
"layout": "none",
|
||||||
|
"border": "none",
|
||||||
|
"current_border_width": 2,
|
||||||
|
"rect": {
|
||||||
|
"x": 6,
|
||||||
|
"y": 46,
|
||||||
|
"width": 653,
|
||||||
|
"height": 1028
|
||||||
|
},
|
||||||
|
"deco_rect": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"width": 0,
|
||||||
|
"height": 0
|
||||||
|
},
|
||||||
|
"window_rect": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"width": 653,
|
||||||
|
"height": 1028
|
||||||
|
},
|
||||||
|
"geometry": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"width": 960,
|
||||||
|
"height": 810
|
||||||
|
},
|
||||||
|
"name": "Notes - Obsidian v0.14.5",
|
||||||
|
"window": 4194307,
|
||||||
|
"nodes": [],
|
||||||
|
"floating_nodes": [],
|
||||||
|
"focus": [],
|
||||||
|
"fullscreen_mode": 0,
|
||||||
|
"sticky": false,
|
||||||
|
"pid": 602930,
|
||||||
|
"app_id": null,
|
||||||
|
"visible": true,
|
||||||
|
"max_render_time": 0,
|
||||||
|
"shell": "xwayland",
|
||||||
|
"inhibit_idle": false,
|
||||||
|
"idle_inhibitors": {
|
||||||
|
"user": "none",
|
||||||
|
"application": "none"
|
||||||
|
},
|
||||||
|
"window_properties": {
|
||||||
|
"class": "obsidian",
|
||||||
|
"instance": "obsidian",
|
||||||
|
"title": "Notes - Obsidian v0.14.5",
|
||||||
|
"transient_for": null,
|
||||||
|
"window_role": "browser-window",
|
||||||
|
"window_type": "normal"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"id": 67,
|
||||||
|
"type": "con",
|
||||||
|
"orientation": "none",
|
||||||
|
"percent": 0.6561844863731656,
|
||||||
|
"urgent": false,
|
||||||
|
"marks": [],
|
||||||
|
"focused": true,
|
||||||
|
"layout": "none",
|
||||||
|
"border": "none",
|
||||||
|
"current_border_width": 2,
|
||||||
|
"rect": {
|
||||||
|
"x": 662,
|
||||||
|
"y": 46,
|
||||||
|
"width": 1252,
|
||||||
|
"height": 1028
|
||||||
|
},
|
||||||
|
"deco_rect": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"width": 0,
|
||||||
|
"height": 0
|
||||||
|
},
|
||||||
|
"window_rect": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"width": 1252,
|
||||||
|
"height": 1028
|
||||||
|
},
|
||||||
|
"geometry": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"width": 612,
|
||||||
|
"height": 439
|
||||||
|
},
|
||||||
|
"name": "tmux",
|
||||||
|
"window": null,
|
||||||
|
"nodes": [],
|
||||||
|
"floating_nodes": [],
|
||||||
|
"focus": [],
|
||||||
|
"fullscreen_mode": 0,
|
||||||
|
"sticky": false,
|
||||||
|
"pid": 603417,
|
||||||
|
"app_id": "kitty",
|
||||||
|
"visible": true,
|
||||||
|
"max_render_time": 0,
|
||||||
|
"shell": "xdg_shell",
|
||||||
|
"inhibit_idle": false,
|
||||||
|
"idle_inhibitors": {
|
||||||
|
"user": "none",
|
||||||
|
"application": "none"
|
||||||
|
}
|
||||||
|
}
|
0
configs/sway/wl-copy
Normal file
0
configs/sway/wl-copy
Normal file
@ -1,5 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
open "http://localhost:$(sed '1,/^### DATA ###$/d' $0 | wofi --show dmenu -i | cut -d ' ' -f 1 | tr -d '\n')"
|
xdg-open "http://localhost:$(sed '1,/^### DATA ###$/d' $0 | wofi --show dmenu -i | cut -d ' ' -f 1 | tr -d '\n')"
|
||||||
exit
|
exit
|
||||||
### DATA ###
|
### DATA ###
|
||||||
8000
|
8000
|
||||||
|
@ -18,13 +18,13 @@
|
|||||||
# Script:
|
# Script:
|
||||||
|
|
||||||
|
|
||||||
searx="https://searx.tiekoetter.com/search?language=en&time_range=None&safesearch=0&categories=general&q="
|
searx="https://xzx.ro/search?q="
|
||||||
startpage="https://www.startpage.com/sp/search?q="
|
startpage="https://www.startpage.com/sp/search?q="
|
||||||
|
|
||||||
query=$( wofi -d -p "Search: " -W 600 -H 100 -k ~/.cache/wofi-web)
|
query=$( wofi -d -p "Search: " -W 600 -H 100 -k ~/.cache/wofi-web)
|
||||||
|
|
||||||
if [[ -n "$query" ]]; then
|
if [[ -n "$query" ]]; then
|
||||||
url="$startpage$query"
|
url="$searx$query"
|
||||||
xdg-open "$url"
|
xdg-open "$url"
|
||||||
else
|
else
|
||||||
exit
|
exit
|
||||||
|
@ -1 +1,2 @@
|
|||||||
set selection-clipboard clipboard
|
set selection-clipboard clipboard
|
||||||
|
set guioptions hcsv
|
||||||
|
Loading…
Reference in New Issue
Block a user