feat: refactor
This commit is contained in:
parent
42db054021
commit
4bf6a46a85
@ -22,6 +22,8 @@ eval `dircolors ~/.dircolors`
|
|||||||
|
|
||||||
export FPATH=$FPATH:~/.dotfiles/completions
|
export FPATH=$FPATH:~/.dotfiles/completions
|
||||||
export NVIM_HOME=$HOME/.config/nvim
|
export NVIM_HOME=$HOME/.config/nvim
|
||||||
|
export NVIM_LISTEN_ADDRESS=/tmp/nvimsocket
|
||||||
|
export NVR_CMD=""
|
||||||
|
|
||||||
# Load oh my zsh
|
# Load oh my zsh
|
||||||
export ZSH=~/.oh-my-zsh
|
export ZSH=~/.oh-my-zsh
|
||||||
@ -78,6 +80,10 @@ if type rg &> /dev/null; then
|
|||||||
export FZF_DEFAULT_OPTS='-m --height 50% --border'
|
export FZF_DEFAULT_OPTS='-m --height 50% --border'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "$XDG_SESSION_TYPE" = "wayland" ]; then
|
||||||
|
export MOZ_ENABLE_WAYLAND=1
|
||||||
|
fi
|
||||||
|
|
||||||
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
|
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
|
||||||
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
|
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
|
||||||
|
|
||||||
|
21
configs/kitty/current-theme.conf
Normal file
21
configs/kitty/current-theme.conf
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
background #000000
|
||||||
|
foreground #fffaf3
|
||||||
|
cursor #ffffff
|
||||||
|
selection_background #002a3a
|
||||||
|
color0 #222222
|
||||||
|
color8 #444444
|
||||||
|
color1 #ff000f
|
||||||
|
color9 #ff273f
|
||||||
|
color2 #8ce00a
|
||||||
|
color10 #abe05a
|
||||||
|
color3 #ffb900
|
||||||
|
color11 #ffd141
|
||||||
|
color4 #008df8
|
||||||
|
color12 #0092ff
|
||||||
|
color5 #6c43a5
|
||||||
|
color13 #9a5feb
|
||||||
|
color6 #00d7eb
|
||||||
|
color14 #67ffef
|
||||||
|
color7 #ffffff
|
||||||
|
color15 #ffffff
|
||||||
|
selection_foreground #0d0f18
|
@ -1,7 +1,5 @@
|
|||||||
# vim:fileencoding=utf-8:ft=conf:foldmethod=marker
|
# vim:fileencoding=utf-8:ft=conf:foldmethod=marker
|
||||||
|
|
||||||
include ./theme.conf
|
|
||||||
|
|
||||||
#: Fonts {{{
|
#: Fonts {{{
|
||||||
|
|
||||||
#: kitty has very powerful font management. You can configure
|
#: kitty has very powerful font management. You can configure
|
||||||
@ -627,9 +625,8 @@ window_padding_width 10
|
|||||||
|
|
||||||
#: Color scheme {{{
|
#: Color scheme {{{
|
||||||
#
|
#
|
||||||
|
# foreground #dddddd
|
||||||
foreground #dddddd
|
# background #000000
|
||||||
background #000000
|
|
||||||
|
|
||||||
#: The foreground and background colors
|
#: The foreground and background colors
|
||||||
|
|
||||||
@ -793,7 +790,7 @@ background #000000
|
|||||||
#: to yes means that any background processes still using the terminal
|
#: to yes means that any background processes still using the terminal
|
||||||
#: can fail silently because their stdout/stderr/stdin no longer work.
|
#: can fail silently because their stdout/stderr/stdin no longer work.
|
||||||
|
|
||||||
# allow_remote_control no
|
allow_remote_control yes
|
||||||
|
|
||||||
#: Allow other programs to control kitty. If you turn this on other
|
#: Allow other programs to control kitty. If you turn this on other
|
||||||
#: programs can control all aspects of kitty, including sending text
|
#: programs can control all aspects of kitty, including sending text
|
||||||
@ -806,7 +803,7 @@ background #000000
|
|||||||
#: you want to prevent programs running on a remote computer over ssh
|
#: you want to prevent programs running on a remote computer over ssh
|
||||||
#: from controlling kitty.
|
#: from controlling kitty.
|
||||||
|
|
||||||
# listen_on none
|
listen_on unix:/tmp/kitty-socket
|
||||||
|
|
||||||
#: Tell kitty to listen to the specified unix/tcp socket for remote
|
#: Tell kitty to listen to the specified unix/tcp socket for remote
|
||||||
#: control connections. Note that this will apply to all kitty
|
#: control connections. Note that this will apply to all kitty
|
||||||
@ -1314,3 +1311,9 @@ map kitty_mod+minus change_font_size all -2.0
|
|||||||
#: }}}
|
#: }}}
|
||||||
|
|
||||||
# }}}
|
# }}}
|
||||||
|
|
||||||
|
|
||||||
|
# BEGIN_KITTY_THEME
|
||||||
|
# Argonaut
|
||||||
|
include current-theme.conf
|
||||||
|
# END_KITTY_THEME
|
||||||
|
1319
configs/kitty/kitty.conf.bak
Normal file
1319
configs/kitty/kitty.conf.bak
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,21 +0,0 @@
|
|||||||
background #000000
|
|
||||||
foreground #ffffff
|
|
||||||
cursor #e2bbef
|
|
||||||
selection_background #4d4d4d
|
|
||||||
color0 #3d352a
|
|
||||||
color8 #554444
|
|
||||||
color1 #cd5c5c
|
|
||||||
color9 #cc5533
|
|
||||||
color2 #86af80
|
|
||||||
color10 #88aa22
|
|
||||||
color3 #e8ae5b
|
|
||||||
color11 #ffa75d
|
|
||||||
color4 #6495ed
|
|
||||||
color12 #87ceeb
|
|
||||||
color5 #deb887
|
|
||||||
color13 #996600
|
|
||||||
color6 #b0c4de
|
|
||||||
color14 #b0c4de
|
|
||||||
color7 #bbaa99
|
|
||||||
color15 #ddccbb
|
|
||||||
selection_foreground #1c1c1c
|
|
21
configs/kitty/themes/Argonaut.conf
Normal file
21
configs/kitty/themes/Argonaut.conf
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
background #000000
|
||||||
|
foreground #fffaf3
|
||||||
|
cursor #ffffff
|
||||||
|
selection_background #002a3a
|
||||||
|
color0 #222222
|
||||||
|
color8 #444444
|
||||||
|
color1 #ff000f
|
||||||
|
color9 #ff273f
|
||||||
|
color2 #8ce00a
|
||||||
|
color10 #abe05a
|
||||||
|
color3 #ffb900
|
||||||
|
color11 #ffd141
|
||||||
|
color4 #008df8
|
||||||
|
color12 #0092ff
|
||||||
|
color5 #6c43a5
|
||||||
|
color13 #9a5feb
|
||||||
|
color6 #00d7eb
|
||||||
|
color14 #67ffef
|
||||||
|
color7 #ffffff
|
||||||
|
color15 #ffffff
|
||||||
|
selection_foreground #0d0f18
|
21
configs/kitty/themes/Atom One Light.conf
Normal file
21
configs/kitty/themes/Atom One Light.conf
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
background #f8f8f8
|
||||||
|
foreground #2a2b33
|
||||||
|
cursor #bbbbbb
|
||||||
|
selection_background #ececec
|
||||||
|
color0 #000000
|
||||||
|
color8 #000000
|
||||||
|
color1 #de3d35
|
||||||
|
color9 #de3d35
|
||||||
|
color2 #3e953a
|
||||||
|
color10 #3e953a
|
||||||
|
color3 #d2b67b
|
||||||
|
color11 #d2b67b
|
||||||
|
color4 #2f5af3
|
||||||
|
color12 #2f5af3
|
||||||
|
color5 #950095
|
||||||
|
color13 #a00095
|
||||||
|
color6 #3e953a
|
||||||
|
color14 #3e953a
|
||||||
|
color7 #bbbbbb
|
||||||
|
color15 #ffffff
|
||||||
|
selection_foreground #f8f8f8
|
@ -1,228 +1,93 @@
|
|||||||
require("install-packer")
|
require("utils.install-packer")
|
||||||
|
|
||||||
local u = require("utils")
|
local u = require("utils")
|
||||||
|
require("core.plugins")
|
||||||
|
|
||||||
local o = vim.o
|
|
||||||
local g = vim.g
|
local g = vim.g
|
||||||
local cmd = vim.cmd
|
local cmd = vim.cmd
|
||||||
local opt = vim.opt
|
|
||||||
|
|
||||||
require("plugins")
|
|
||||||
|
|
||||||
if u.has_plugin("cmp") then
|
if u.has_plugin("cmp") then
|
||||||
-- Global options
|
require "impatient"
|
||||||
o.number = true -- show line number
|
|
||||||
o.showmatch = true -- show matching brackets
|
|
||||||
|
|
||||||
-- Indentation options
|
require "core.options"
|
||||||
vim.cmd [[
|
require "core.autocommands"
|
||||||
set autoindent
|
require "core.keymappings"
|
||||||
set expandtab
|
|
||||||
set shiftwidth=2
|
|
||||||
set softtabstop=2
|
|
||||||
set tabstop=1
|
|
||||||
]]
|
|
||||||
|
|
||||||
g.hidden = true -- unload buffers when hidden
|
local packer = require("packer")
|
||||||
g.filetype = true -- execute autocommands based on filetype
|
|
||||||
opt.clipboard = {"unnamedplus"}
|
|
||||||
o.autoread = true
|
|
||||||
opt.termguicolors = true
|
|
||||||
|
|
||||||
-- Search
|
-- Have packer use a popup window
|
||||||
o.inccommand = "nosplit" -- show substitutions incrementally
|
packer.init {
|
||||||
o.ignorecase = true
|
display = {
|
||||||
o.smartcase = true
|
open_fn = function()
|
||||||
opt.wildignore:append(".git/*", "node_modules/*")
|
return require("packer.util").float { border = "rounded" }
|
||||||
o.wildignorecase = true
|
end,
|
||||||
o.lazyredraw = true
|
},
|
||||||
|
|
||||||
opt.listchars:append(
|
|
||||||
{
|
|
||||||
extends = "#",
|
|
||||||
eol = "↴",
|
|
||||||
space = "⋅",
|
|
||||||
tab = "▸ "
|
|
||||||
}
|
}
|
||||||
)
|
|
||||||
|
|
||||||
-- Shortmess
|
require "configs.command-center"
|
||||||
cmd [[set shortmess+=F]]
|
require "configs.notify"
|
||||||
g.loaded_netrw = 1
|
require "configs.lsp"
|
||||||
g.loaded_netrwPlugin = 1
|
require "configs.lspinstaller"
|
||||||
g.loaded_zipPlugin = 1
|
require "configs.telescope"
|
||||||
g.loaded_zip = 1
|
require "configs.tree"
|
||||||
|
|
||||||
g.languagetool_server_jar = "~/build/languagetool/languagetool-server.jar"
|
|
||||||
g.languagetool_lang = "de"
|
|
||||||
|
|
||||||
cmd [[set mouse=a]] -- enable mouse interaction
|
|
||||||
cmd [[set undofile]]
|
|
||||||
cmd [[set fcs=eob:\ ]] -- disable showing ~ in empty lines
|
|
||||||
|
|
||||||
cmd [[set noshowmode]] -- to get rid of thing like --INSERT--
|
|
||||||
cmd [[set noshowcmd]] -- to get rid of display of last command
|
|
||||||
cmd [[set shortmess+=F]] -- to get rid of the file name displayed in the command line bar
|
|
||||||
|
|
||||||
cmd [[set noruler]]
|
|
||||||
|
|
||||||
g.ale_fixers = {"prettier", "eslint"}
|
|
||||||
|
|
||||||
require("command-center-conf")
|
|
||||||
|
|
||||||
local notify = require("notify")
|
|
||||||
vim.notify = notify;
|
|
||||||
|
|
||||||
notify.setup(
|
|
||||||
{
|
|
||||||
stages = "fade_in_slide_out",
|
|
||||||
max_width = 50,
|
|
||||||
render = "minimal",
|
|
||||||
background_colour = "#000000",
|
|
||||||
icons = {
|
|
||||||
ERROR = "",
|
|
||||||
WARN = "",
|
|
||||||
INFO = "",
|
|
||||||
DEBUG = "",
|
|
||||||
TRACE = "✎"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
vim.wo.foldmethod = "expr"
|
|
||||||
vim.wo.foldexpr = "nvim_treesitter#foldexpr()"
|
|
||||||
vim.cmd [[
|
|
||||||
set foldlevel=99
|
|
||||||
]]
|
|
||||||
|
|
||||||
require("telescope-conf").setup()
|
|
||||||
|
|
||||||
-- Enable Theming / Syntax
|
-- Enable Theming / Syntax
|
||||||
o.syntax = "enable"
|
require("nightfox").setup({
|
||||||
o.termguicolors = true
|
|
||||||
cmd("colorscheme nightfox")
|
|
||||||
g.material_terminal_italics = 1
|
|
||||||
g.material_theme_style = "darker"
|
|
||||||
g.tokyonight_style = "night"
|
|
||||||
g.tokyonight_transparent_sidebar = true
|
|
||||||
require("nightfox").setup(
|
|
||||||
{
|
|
||||||
options = {
|
options = {
|
||||||
styles = {
|
|
||||||
comments = "italic",
|
|
||||||
keywords = "bold",
|
|
||||||
types = "italic,bold"
|
|
||||||
},
|
|
||||||
transparent = true
|
transparent = true
|
||||||
}
|
}
|
||||||
}
|
})
|
||||||
)
|
cmd("colorscheme nightfox")
|
||||||
|
require "utils.theme-reloader"
|
||||||
g.markdown_fenced_languages = {"html", "python", "bash=sh"}
|
require "configs.lualine"
|
||||||
|
|
||||||
-- Remove background color
|
|
||||||
cmd("highlight Normal guibg=none")
|
|
||||||
cmd("highlight NonText guibg=none")
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- Configure nvim-tree
|
|
||||||
g.nvim_tree_highlight_opened_files = 1
|
|
||||||
g.nvim_tree_group_empty = 1
|
|
||||||
g.nvim_tree_show_icons = {
|
|
||||||
folder_arrows = 0,
|
|
||||||
folders = 1,
|
|
||||||
files = 1,
|
|
||||||
git = 1
|
|
||||||
}
|
|
||||||
require("nvim-tree").setup {
|
|
||||||
auto_open = 1,
|
|
||||||
gitignore = 1,
|
|
||||||
group_empty = 1,
|
|
||||||
hijack_cursor = 1,
|
|
||||||
update_cwd = true,
|
|
||||||
update_focused_file = {
|
|
||||||
enable = false
|
|
||||||
},
|
|
||||||
renderer = {
|
|
||||||
indent_markers = {
|
|
||||||
enable = 0
|
|
||||||
}
|
|
||||||
},
|
|
||||||
diagnostics = {
|
|
||||||
enable = true,
|
|
||||||
icons = {
|
|
||||||
hint = "",
|
|
||||||
info = "",
|
|
||||||
warning = "",
|
|
||||||
error = ""
|
|
||||||
}
|
|
||||||
},
|
|
||||||
view = {
|
|
||||||
auto_resize = true,
|
|
||||||
hide_root_folder = true,
|
|
||||||
signcolumn = "no"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Configure Wiki
|
-- Configure Wiki
|
||||||
g.wiki_root = "~/Notes"
|
g.wiki_root = "~/Notes"
|
||||||
g.wiki_filetypes = { "md" }
|
g.wiki_filetypes = { "md" }
|
||||||
g.wiki_link_extension = ".md"
|
g.wiki_link_extension = ".md"
|
||||||
|
|
||||||
-- KeyBindings
|
|
||||||
require "keymappings"
|
|
||||||
|
|
||||||
require "overlays"
|
require "overlays"
|
||||||
|
|
||||||
require "nvim-tmux-navigation".setup {
|
-- require "nvim-tmux-navigation".setup {
|
||||||
keybindings = {
|
-- keybindings = {
|
||||||
left = "<C-h>",
|
-- left = "<C-h>",
|
||||||
down = "<C-j>",
|
-- down = "<C-j>",
|
||||||
up = "<C-k>",
|
-- up = "<C-k>",
|
||||||
right = "<C-l>",
|
-- right = "<C-l>",
|
||||||
last_active = "<C-\\>",
|
-- last_active = "<C-\\>",
|
||||||
next = "<C-Space>"
|
-- next = "<C-Space>"
|
||||||
}
|
-- }
|
||||||
}
|
-- }
|
||||||
|
|
||||||
require "nvim-autopairs".setup()
|
require "nvim-autopairs".setup()
|
||||||
|
|
||||||
-- Treesitter config
|
-- Treesitter config
|
||||||
require "treesitter-conf"
|
require "configs.treesitter"
|
||||||
|
|
||||||
-- Autocompletion Setup
|
-- Autocompletion Setup
|
||||||
require "snippets"
|
require "snippets"
|
||||||
require "cmp-conf"
|
require "configs.autocomplete"
|
||||||
|
|
||||||
-- LSP Config
|
|
||||||
require "lspinstaller-conf"
|
|
||||||
|
|
||||||
-- Setup Command OVerlays
|
|
||||||
require "lazy-git"
|
|
||||||
|
|
||||||
require "autocommands"
|
|
||||||
|
|
||||||
-- Setup rest.vim
|
-- Setup rest.vim
|
||||||
require("rest-nvim").setup(
|
-- require("rest-nvim").setup(
|
||||||
{
|
-- {
|
||||||
-- Open request results in a horizontal split
|
-- -- Open request results in a horizontal split
|
||||||
result_split_horizontal = false,
|
-- result_split_horizontal = false,
|
||||||
-- Skip SSL verification, useful for unknown certificates
|
-- -- Skip SSL verification, useful for unknown certificates
|
||||||
skip_ssl_verification = false,
|
-- skip_ssl_verification = false,
|
||||||
-- Highlight request on run
|
-- -- Highlight request on run
|
||||||
highlight = {
|
-- highlight = {
|
||||||
enabled = true,
|
-- enabled = true,
|
||||||
timeout = 150
|
-- timeout = 150
|
||||||
},
|
-- },
|
||||||
-- Jump to request line on run
|
-- -- Jump to request line on run
|
||||||
jump_to_request = false
|
-- jump_to_request = false
|
||||||
}
|
-- }
|
||||||
)
|
-- )
|
||||||
|
|
||||||
-- LSP Config
|
-- LSP Config
|
||||||
require "lspinstaller-conf"
|
|
||||||
-- require "lsp-conf"
|
-- require "lsp-conf"
|
||||||
else
|
else
|
||||||
vim.cmd [[PackerSync]]
|
vim.cmd [[PackerSync]]
|
||||||
|
vim.cmd [[echo Installed -> Reload]]
|
||||||
end
|
end
|
||||||
|
@ -1,24 +1,24 @@
|
|||||||
-- luasnip setup
|
-- luasnip setup
|
||||||
local luasnip = require "luasnip"
|
local luasnip = require "luasnip"
|
||||||
local lspkind = require "lspkind"
|
-- local lspkind = require "lspkind"
|
||||||
local cmp = require "cmp"
|
local cmp = require "cmp"
|
||||||
local cmp_autopairs = require("nvim-autopairs.completion.cmp")
|
local cmp_autopairs = require("nvim-autopairs.completion.cmp")
|
||||||
|
|
||||||
cmp.setup {
|
cmp.setup {
|
||||||
formatting = {
|
-- formatting = {
|
||||||
format = lspkind.cmp_format(
|
-- format = lspkind.cmp_format(
|
||||||
{
|
-- {
|
||||||
with_text = true,
|
-- with_text = true,
|
||||||
menu = ({
|
-- menu = ({
|
||||||
buffer = "[Buffer]",
|
-- buffer = "[Buffer]",
|
||||||
nvim_lsp = "[LSP]",
|
-- nvim_lsp = "[LSP]",
|
||||||
luasnip = "[LuaSnip]",
|
-- luasnip = "[LuaSnip]",
|
||||||
nvim_lua = "[Lua]",
|
-- nvim_lua = "[Lua]",
|
||||||
latex_symbols = "[Latex]"
|
-- latex_symbols = "[Latex]"
|
||||||
})
|
-- })
|
||||||
}
|
-- }
|
||||||
)
|
-- )
|
||||||
},
|
-- },
|
||||||
experimental = {
|
experimental = {
|
||||||
ghost_text = true
|
ghost_text = true
|
||||||
},
|
},
|
@ -4,28 +4,28 @@ local noremap = {noremap = true}
|
|||||||
command_center.add({
|
command_center.add({
|
||||||
{
|
{
|
||||||
description = "Search inside current buffer",
|
description = "Search inside current buffer",
|
||||||
command = "Telescope current_buffer_fuzzy_find",
|
cmd = "Telescope current_buffer_fuzzy_find",
|
||||||
keybindings = { "n", "<leader>fl", noremap },
|
keybindings = { "n", "<leader>fl", noremap },
|
||||||
}, {
|
}, {
|
||||||
-- If no descirption is specified, command is used to replace descirption by default
|
-- If no descirption is specified, command is used to replace descirption by default
|
||||||
-- You can change this behavior in settigns
|
-- You can change this behavior in settigns
|
||||||
command = "Telescope find_files",
|
cmd = "Telescope find_files",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
-- If no keybindings specified, no keybindings will be displayed or registered
|
-- If no keybindings specified, no keybindings will be displayed or registered
|
||||||
description = "Find hidden files",
|
description = "Find hidden files",
|
||||||
command = "Telescope find_files hidden=true",
|
cmd = "Telescope find_files hidden=true",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
-- You can specify multiple keybindings for the same command ...
|
-- You can specify multiple keybindings for the same command ...
|
||||||
description = "Show document symbols",
|
description = "Show document symbols",
|
||||||
command = "Telescope lsp_document_symbols",
|
cmd = "Telescope lsp_document_symbols",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
description = "Show function signaure (hover)",
|
description = "Show function signaure (hover)",
|
||||||
command = "lua vim.lsp.buf.hover()",
|
cmd = "lua vim.lsp.buf.hover()",
|
||||||
},{
|
},{
|
||||||
description="(TS) Organize Imports",
|
description="(TS) Organize Imports",
|
||||||
command = "OrganizeImports"
|
cmd = "OrganizeImports"
|
||||||
}
|
}
|
||||||
})
|
})
|
@ -1,6 +1,6 @@
|
|||||||
local lsp = require "lspconfig"
|
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 {
|
require'nvim-lightbulb'.setup {
|
||||||
-- LSP client names to ignore
|
-- LSP client names to ignore
|
239
configs/nvim/lua/configs/lualine.lua
Normal file
239
configs/nvim/lua/configs/lualine.lua
Normal file
@ -0,0 +1,239 @@
|
|||||||
|
-----------------
|
||||||
|
-- Status Line --
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
-- Eviline / Vimline config for lualine
|
||||||
|
-- Author: shadmansaleh
|
||||||
|
-- Credit: glepnir
|
||||||
|
-- Credit: Elai
|
||||||
|
|
||||||
|
local lualine = require "lualine"
|
||||||
|
|
||||||
|
-- Color table for highlights
|
||||||
|
-- stylua: ignore
|
||||||
|
local colors = {
|
||||||
|
bg = '#00000000',
|
||||||
|
fg = '#bbc2cf',
|
||||||
|
yellow = '#ECBE7B',
|
||||||
|
cyan = '#008080',
|
||||||
|
darkblue = '#081633',
|
||||||
|
green = '#B7BD82',
|
||||||
|
orange = '#8d6141',
|
||||||
|
violet = '#B294BB',
|
||||||
|
magenta = '#AE84BB',
|
||||||
|
blue = '#81A2BE',
|
||||||
|
red = '#CC8282',
|
||||||
|
}
|
||||||
|
|
||||||
|
local conditions = {
|
||||||
|
buffer_not_empty = function()
|
||||||
|
return vim.fn.empty(vim.fn.expand('%:t')) ~= 1
|
||||||
|
end,
|
||||||
|
hide_in_width = function()
|
||||||
|
return vim.fn.winwidth(0) > 80
|
||||||
|
end,
|
||||||
|
check_git_workspace = function()
|
||||||
|
local filepath = vim.fn.expand('%:p:h')
|
||||||
|
local gitdir = vim.fn.finddir('.git', filepath .. ';')
|
||||||
|
return gitdir and #gitdir > 0 and #gitdir < #filepath
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Config
|
||||||
|
local config = {
|
||||||
|
options = {
|
||||||
|
-- Disable sections and component separators
|
||||||
|
component_separators = '',
|
||||||
|
section_separators = '',
|
||||||
|
theme = {
|
||||||
|
-- We are going to use lualine_c an lualine_x as left and
|
||||||
|
-- right section. Both are highlighted by c theme . So we
|
||||||
|
-- are just setting default looks o statusline
|
||||||
|
normal = { c = { fg = colors.fg, bg = colors.bg } },
|
||||||
|
inactive = { c = { fg = colors.fg, bg = colors.bg } },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
-- These are to remove the defaults
|
||||||
|
sections = {
|
||||||
|
lualine_a = {},
|
||||||
|
lualine_b = {},
|
||||||
|
lualine_y = {},
|
||||||
|
lualine_z = {},
|
||||||
|
-- These will be filled later
|
||||||
|
lualine_c = {},
|
||||||
|
lualine_x = {},
|
||||||
|
},
|
||||||
|
inactive_sections = {
|
||||||
|
-- these are to remove the defaults
|
||||||
|
lualine_a = {},
|
||||||
|
lualine_b = {},
|
||||||
|
lualine_y = {},
|
||||||
|
lualine_z = {},
|
||||||
|
lualine_c = {},
|
||||||
|
lualine_x = {},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Inserts a component in lualine_c at left section
|
||||||
|
local function ins_left(component)
|
||||||
|
table.insert(config.sections.lualine_c, component)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Inserts a component in lualine_x ot right section
|
||||||
|
local function ins_right(component)
|
||||||
|
table.insert(config.sections.lualine_x, component)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Begining Of The StatusLine
|
||||||
|
-- ins_left {
|
||||||
|
-- function()
|
||||||
|
-- return '|'
|
||||||
|
-- end,
|
||||||
|
-- color = { fg = colors.blue }, -- Sets highlighting of component
|
||||||
|
-- padding = { left = 0, right = 1 }, -- We don't need space before this
|
||||||
|
-- }
|
||||||
|
|
||||||
|
-- Icon Of Diffrent Mode: -- normal -- | -- insert -- | -- visual --
|
||||||
|
ins_left {
|
||||||
|
-- mode component
|
||||||
|
function()
|
||||||
|
return ''
|
||||||
|
end,
|
||||||
|
color = function()
|
||||||
|
|
||||||
|
-- auto change color according to neovims mode
|
||||||
|
local mode_color = {
|
||||||
|
n = colors.green,
|
||||||
|
i = colors.blue,
|
||||||
|
v = colors.magenta,
|
||||||
|
[''] = colors.blue,
|
||||||
|
V = colors.blue,
|
||||||
|
c = colors.red,
|
||||||
|
no = colors.red,
|
||||||
|
s = colors.orange,
|
||||||
|
S = colors.orange,
|
||||||
|
[''] = colors.orange,
|
||||||
|
ic = colors.yellow,
|
||||||
|
R = colors.violet,
|
||||||
|
Rv = colors.violet,
|
||||||
|
cv = colors.red,
|
||||||
|
ce = colors.red,
|
||||||
|
r = colors.cyan,
|
||||||
|
rm = colors.cyan,
|
||||||
|
['r?'] = colors.cyan,
|
||||||
|
['!'] = colors.red,
|
||||||
|
t = colors.red,
|
||||||
|
}
|
||||||
|
return { fg = mode_color[vim.fn.mode()] }
|
||||||
|
end,
|
||||||
|
padding = { right = 1 },
|
||||||
|
}
|
||||||
|
|
||||||
|
-- File Name
|
||||||
|
ins_left {
|
||||||
|
'filename',
|
||||||
|
file_status = true, -- Displays file status (readonly status, modified status)
|
||||||
|
path = 2, -- 0: Just the filename
|
||||||
|
-- 1: Relative path
|
||||||
|
-- 2: Absolute path
|
||||||
|
shorting_target = 100, -- Shortens path to leave 40 spaces in the window
|
||||||
|
-- for other components. (terrible name, any suggestions?)
|
||||||
|
symbols = {
|
||||||
|
modified = ' ', -- Text to show when the file is modified.
|
||||||
|
readonly = ' ', -- Text to show when the file is non-modifiable or readonly.
|
||||||
|
unnamed = '[No Name]', -- Text to show for unnamed buffers.
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Git Diff
|
||||||
|
local function diff_source()
|
||||||
|
local gitsigns = vim.b.gitsigns_status_dict
|
||||||
|
if gitsigns then
|
||||||
|
return {
|
||||||
|
added = gitsigns.added,
|
||||||
|
modified = gitsigns.changed,
|
||||||
|
removed = gitsigns.removed
|
||||||
|
}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
ins_right { 'diff', source = diff_source }
|
||||||
|
|
||||||
|
-- Git Branch
|
||||||
|
ins_right {
|
||||||
|
'branch',
|
||||||
|
icon = '',
|
||||||
|
-- icon = '',
|
||||||
|
-- color = { fg = colors.green },
|
||||||
|
-- padding = { right = 1 },
|
||||||
|
-- padding = { left = 1 },
|
||||||
|
}
|
||||||
|
|
||||||
|
-- File Type
|
||||||
|
ins_right {
|
||||||
|
'filetype',
|
||||||
|
icon_only = true,
|
||||||
|
padding = { right = 2, left = 1 }
|
||||||
|
}
|
||||||
|
|
||||||
|
-- File Encoding
|
||||||
|
ins_right {
|
||||||
|
'o:encoding', -- option component same as &encoding in viml
|
||||||
|
fmt = string.upper, -- I'm not sure why it's upper case either ;)
|
||||||
|
cond = conditions.hide_in_width,
|
||||||
|
padding = { right = 2 },
|
||||||
|
-- color = { fg = colors.green, gui = 'bold' },
|
||||||
|
-- Add components to right sections
|
||||||
|
}
|
||||||
|
|
||||||
|
-- File Format
|
||||||
|
-- ins_right {
|
||||||
|
-- 'fileformat',
|
||||||
|
-- -- fmt = string.upper,
|
||||||
|
-- -- icons_enabled = false, -- I think icons are cool but Eviline doesn't have them. sigh
|
||||||
|
-- padding = { right = 2 },
|
||||||
|
-- symbols = { unix = 'NIX '},
|
||||||
|
-- -- color = { fg = colors.green, gui = 'bold' },
|
||||||
|
-- }
|
||||||
|
|
||||||
|
-- File Size
|
||||||
|
ins_right {
|
||||||
|
-- filesize component
|
||||||
|
'filesize',
|
||||||
|
padding = { right = 2 },
|
||||||
|
cond = conditions.buffer_not_empty,
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Text Progress
|
||||||
|
ins_right {
|
||||||
|
'progress',
|
||||||
|
padding = { right = 1 },
|
||||||
|
-- padding = { left = 1 },
|
||||||
|
}
|
||||||
|
|
||||||
|
-- File Location
|
||||||
|
ins_right {
|
||||||
|
'location',
|
||||||
|
padding = { right = 0 },
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Insert mid section. You can make any number of sections in neovim :)
|
||||||
|
-- for lualine it's any number greater then 2
|
||||||
|
ins_left {
|
||||||
|
function()
|
||||||
|
return '%='
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
|
||||||
|
-- End Of The Status Bar
|
||||||
|
-- ins_right {
|
||||||
|
-- function()
|
||||||
|
-- return ''
|
||||||
|
-- end,
|
||||||
|
-- color = { fg = colors.blue }, -- Sets highlighting of component
|
||||||
|
-- padding = { left = 1, right = 0 }, -- We don't need space before this
|
||||||
|
-- }
|
||||||
|
|
||||||
|
-- Now don't forget to initialize lualine
|
||||||
|
lualine.setup(config)
|
17
configs/nvim/lua/configs/notify.lua
Normal file
17
configs/nvim/lua/configs/notify.lua
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
local notify = require("notify")
|
||||||
|
notify.setup(
|
||||||
|
{
|
||||||
|
stages = "fade_in_slide_out",
|
||||||
|
max_width = 50,
|
||||||
|
render = "minimal",
|
||||||
|
background_colour = "#000000",
|
||||||
|
icons = {
|
||||||
|
ERROR = "",
|
||||||
|
WARN = "",
|
||||||
|
INFO = "",
|
||||||
|
DEBUG = "",
|
||||||
|
TRACE = "✎"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
vim.notify = notify;
|
@ -49,11 +49,7 @@ local default = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
local M = {}
|
|
||||||
M.setup = function()
|
|
||||||
telescope.setup(default)
|
telescope.setup(default)
|
||||||
-- telescope.load_extension("themes");
|
-- telescope.load_extension("themes");
|
||||||
telescope.load_extension("command_center");
|
telescope.load_extension("command_center");
|
||||||
end
|
telescope.load_extension("notify");
|
||||||
|
|
||||||
return M
|
|
40
configs/nvim/lua/configs/tree.lua
Normal file
40
configs/nvim/lua/configs/tree.lua
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
local g = vim.g
|
||||||
|
|
||||||
|
-- Configure nvim-tree
|
||||||
|
g.nvim_tree_highlight_opened_files = 1
|
||||||
|
g.nvim_tree_group_empty = 1
|
||||||
|
g.nvim_tree_show_icons = {
|
||||||
|
folder_arrows = 0,
|
||||||
|
folders = 1,
|
||||||
|
files = 1,
|
||||||
|
git = 1
|
||||||
|
}
|
||||||
|
require("nvim-tree").setup {
|
||||||
|
auto_open = 1,
|
||||||
|
gitignore = 1,
|
||||||
|
group_empty = 1,
|
||||||
|
hijack_cursor = 1,
|
||||||
|
update_cwd = true,
|
||||||
|
update_focused_file = {
|
||||||
|
enable = false
|
||||||
|
},
|
||||||
|
renderer = {
|
||||||
|
indent_markers = {
|
||||||
|
enable = 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
diagnostics = {
|
||||||
|
enable = true,
|
||||||
|
icons = {
|
||||||
|
hint = "",
|
||||||
|
info = "",
|
||||||
|
warning = "",
|
||||||
|
error = ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
view = {
|
||||||
|
auto_resize = true,
|
||||||
|
hide_root_folder = true,
|
||||||
|
signcolumn = "no"
|
||||||
|
}
|
||||||
|
}
|
@ -7,11 +7,6 @@ cmd [[
|
|||||||
augroup END
|
augroup END
|
||||||
]]
|
]]
|
||||||
|
|
||||||
cmd [[
|
|
||||||
au ColorScheme * hi Normal ctermbg=none guibg=none
|
|
||||||
au ColorScheme myspecialcolors hi Normal ctermbg=red guibg=red
|
|
||||||
]]
|
|
||||||
|
|
||||||
cmd [[
|
cmd [[
|
||||||
augroup filetypedetect
|
augroup filetypedetect
|
||||||
au BufNewFile,BufRead *.frag setl ft=glsl
|
au BufNewFile,BufRead *.frag setl ft=glsl
|
||||||
@ -27,6 +22,9 @@ augroup SaveManualFolds
|
|||||||
augroup END
|
augroup END
|
||||||
]]
|
]]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd("BufWritePre",{
|
vim.api.nvim_create_autocmd("BufWritePre",{
|
||||||
callback = function()
|
callback = function()
|
||||||
vim.lsp.buf.formatting_sync();
|
vim.lsp.buf.formatting_sync();
|
@ -1,6 +1,5 @@
|
|||||||
local map = vim.api.nvim_set_keymap
|
local map = vim.api.nvim_set_keymap
|
||||||
local g = vim.g
|
local g = vim.g
|
||||||
local cmd = vim.cmd
|
|
||||||
|
|
||||||
local options = {noremap = true}
|
local options = {noremap = true}
|
||||||
local remap = {noremap = false}
|
local remap = {noremap = false}
|
||||||
@ -21,7 +20,7 @@ map("n", "K", "<Cmd>lua vim.lsp.buf.hover()<CR>", options)
|
|||||||
map("n", "<Leader>e", "<cmd>lua vim.diagnostic.open_float()<CR>", options)
|
map("n", "<Leader>e", "<cmd>lua vim.diagnostic.open_float()<CR>", options)
|
||||||
map("n", "<Leader>rn", "<cmd>lua vim.lsp.buf.rename()<CR>", options)
|
map("n", "<Leader>rn", "<cmd>lua vim.lsp.buf.rename()<CR>", options)
|
||||||
map("n", "<Leader>c", "<cmd>lua vim.lsp.buf.code_action()<CR>", options)
|
map("n", "<Leader>c", "<cmd>lua vim.lsp.buf.code_action()<CR>", options)
|
||||||
map("n", "<Leader><C-f>", ":Neoformat<CR>", options)
|
-- map("n", "<Leader><C-f>", ":Neoformat<CR>", options)
|
||||||
map("n", "[d", "<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>", options)
|
map("n", "[d", "<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>", options)
|
||||||
map("n", "]d", "<cmd>lua vim.lsp.diagnostic.goto_next()<CR>", options)
|
map("n", "]d", "<cmd>lua vim.lsp.diagnostic.goto_next()<CR>", options)
|
||||||
map("n", "<leader>t", ":TroubleToggle<CR>", remap)
|
map("n", "<leader>t", ":TroubleToggle<CR>", remap)
|
||||||
@ -36,6 +35,9 @@ map("n", "<C-l>", "<C-w>l", options)
|
|||||||
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);
|
||||||
|
|
||||||
|
-- Backspace Delete like Browser
|
||||||
|
map('i', '<C-H>', '<Esc>caw', options)
|
||||||
|
|
||||||
map("n", "Y", "yy", options)
|
map("n", "Y", "yy", options)
|
||||||
map("n", "<Leader>k", "{", options)
|
map("n", "<Leader>k", "{", options)
|
||||||
map("n", "<Leader>j", "}", options)
|
map("n", "<Leader>j", "}", options)
|
63
configs/nvim/lua/core/options.lua
Normal file
63
configs/nvim/lua/core/options.lua
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
|
||||||
|
-------------
|
||||||
|
-- General --
|
||||||
|
-------------
|
||||||
|
local set = vim.opt
|
||||||
|
set.swapfile = false -- Don't use swapfile
|
||||||
|
set.updatetime = 0 -- Faster completion
|
||||||
|
set.encoding="utf-8" -- The encoding displayed
|
||||||
|
set.fileencoding="utf-8" -- The encoding written to file
|
||||||
|
set.smartindent = true -- Makes indenting smart
|
||||||
|
set.iskeyword:append("-") -- treat dash separated words as a word text object"
|
||||||
|
set.clipboard = "unnamedplus" -- Copy paste between vim and everything else
|
||||||
|
set.smarttab = true -- Makes tabbing smarter will realize you have 2 vs 4
|
||||||
|
set.expandtab = true -- Converts tabs to spaces
|
||||||
|
set.autoindent = true -- Good auto indent
|
||||||
|
set.autochdir = true -- Your working directory will always be the same as your working directory
|
||||||
|
set.incsearch = true -- sets incremental search
|
||||||
|
set.shell = "/bin/zsh" -- Set your shell to bash or zsh
|
||||||
|
set.shortmess:append "sI" -- Disable nvim intro
|
||||||
|
vim.cmd [[set nobackup]] -- creates a backup file
|
||||||
|
vim.cmd [[set nowritebackup]] -- creates a backup file i guess
|
||||||
|
vim.cmd [[set formatoptions-=cro]] -- Stop newline continution of comments
|
||||||
|
vim.cmd [[set complete+=kspell]] -- auto complete with spellcheck
|
||||||
|
vim.cmd [[set completeopt=menuone,longest]] -- auto complete menu (It's pretty great)
|
||||||
|
vim.cmd [[set nocompatible]] -- Disable compatibility to old-time vi
|
||||||
|
set.mouse = 'a' -- Enable mouse support
|
||||||
|
|
||||||
|
---------------
|
||||||
|
-- Neovim UI --
|
||||||
|
---------------
|
||||||
|
set.pumheight = 15 -- Makes popup menu smaller
|
||||||
|
set.ruler = true -- Show the cursor position all the time
|
||||||
|
set.splitbelow = true -- Horizontal splits will automatically be below
|
||||||
|
set.splitright = true -- Vertical splits will automatically be to the right
|
||||||
|
set.conceallevel = 0 -- So that I can see `` in markdown files
|
||||||
|
set.tabstop = 2 -- Insert 2 spaces for a tab
|
||||||
|
set.number = true -- Line numbers
|
||||||
|
set.background = "dark" -- tell vim what the background color looks like
|
||||||
|
set.virtualedit = "onemore" -- With This option you can move the cursor one character over the end
|
||||||
|
set.ignorecase = true -- ignores case when searching
|
||||||
|
set.smartcase = true -- turns on case sensitive search when letters are capitalized
|
||||||
|
set.termguicolors = true -- set term gui colors (most terminals support this)
|
||||||
|
set.laststatus=2 -- Always display the status line
|
||||||
|
set.title = true -- Show current txt that you editing
|
||||||
|
set.relativenumber = false -- Vim’s absolute, relative and hybrid line numbers
|
||||||
|
set.cursorline = false -- Enable highlighting of the current line
|
||||||
|
set.shiftwidth = 2 -- Change the number of space characters inserted for indentation
|
||||||
|
set.showtabline = 1 -- Always show tabs
|
||||||
|
set.cmdheight = 1 -- More space for displaying messages
|
||||||
|
vim.cmd [[set nowrap]] -- Display long lines as just one line
|
||||||
|
vim.cmd [[set noshowmode]] -- We don't need to see things like -- INSERT -- anymore
|
||||||
|
vim.cmd [[syntax enable]] -- Enables syntax highlighing
|
||||||
|
vim.cmd [[set t_Co=256]] -- Support 256 colors
|
||||||
|
-- vim.cmd "set whichwrap+=<,>,[,],h,l" -- Breaks Space-Time Continuum
|
||||||
|
|
||||||
|
-----------------
|
||||||
|
-- Memory, CPU --
|
||||||
|
-----------------
|
||||||
|
set.hidden = true -- Required to keep multiple buffers open multiple buffers
|
||||||
|
set.timeoutlen = 500 -- By default timeoutlen is 1000 ms
|
||||||
|
set.lazyredraw = true -- Disable lazyredraw
|
||||||
|
set.synmaxcol = 240 -- Max column for syntax highlight
|
||||||
|
set.updatetime = 700 -- ms to wait for trigger an event
|
@ -3,15 +3,18 @@ return require("packer").startup(
|
|||||||
-- Let packer manage itself
|
-- Let packer manage itself
|
||||||
use "wbthomason/packer.nvim"
|
use "wbthomason/packer.nvim"
|
||||||
|
|
||||||
|
use 'lewis6991/impatient.nvim'
|
||||||
|
|
||||||
-- General Helper Functions
|
-- General Helper Functions
|
||||||
use "nvim-lua/plenary.nvim"
|
use "nvim-lua/plenary.nvim"
|
||||||
|
|
||||||
-- Filetype Detection
|
-- Filetype Detection
|
||||||
use "nathom/filetype.nvim"
|
-- use "nathom/filetype.nvim"
|
||||||
|
|
||||||
-- Theming Section
|
-- Theming Section
|
||||||
-- use 'folke/tokyonight.nvim'
|
-- use 'folke/tokyonight.nvim'
|
||||||
use "EdenEast/nightfox.nvim"
|
use "EdenEast/nightfox.nvim"
|
||||||
|
use "nvim-lualine/lualine.nvim"
|
||||||
-- use "xiyaowong/nvim-transparent"
|
-- use "xiyaowong/nvim-transparent"
|
||||||
|
|
||||||
-- Layout Plugins
|
-- Layout Plugins
|
||||||
@ -19,22 +22,22 @@ return require("packer").startup(
|
|||||||
use "kyazdani42/nvim-tree.lua"
|
use "kyazdani42/nvim-tree.lua"
|
||||||
use "nvim-lua/popup.nvim"
|
use "nvim-lua/popup.nvim"
|
||||||
use "mhinz/vim-startify"
|
use "mhinz/vim-startify"
|
||||||
use "tpope/vim-fugitive"
|
-- use "tpope/vim-fugitive"
|
||||||
use "tpope/vim-commentary"
|
use "tpope/vim-commentary"
|
||||||
use "tpope/vim-surround"
|
-- use "tpope/vim-surround"
|
||||||
use "lambdalisue/suda.vim"
|
-- use "lambdalisue/suda.vim"
|
||||||
use "windwp/nvim-autopairs"
|
use "windwp/nvim-autopairs"
|
||||||
|
|
||||||
-- Code Navigation
|
-- Code Navigation
|
||||||
use "alexghergh/nvim-tmux-navigation"
|
-- use "alexghergh/nvim-tmux-navigation"
|
||||||
use "dense-analysis/ale"
|
-- use "dense-analysis/ale"
|
||||||
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"
|
use "gfeiyou/command-center.nvim"
|
||||||
|
|
||||||
-- Postman like features
|
-- Postman like features
|
||||||
use "NTBBloodbath/rest.nvim"
|
-- use "NTBBloodbath/rest.nvim"
|
||||||
|
|
||||||
-- Obsidian / Roam like features
|
-- Obsidian / Roam like features
|
||||||
-- use "lervag/wiki.vim"
|
-- use "lervag/wiki.vim"
|
||||||
@ -44,7 +47,7 @@ return require("packer").startup(
|
|||||||
-- Lsp Errors
|
-- Lsp Errors
|
||||||
use "folke/lsp-colors.nvim"
|
use "folke/lsp-colors.nvim"
|
||||||
use "kosayoda/nvim-lightbulb"
|
use "kosayoda/nvim-lightbulb"
|
||||||
use "onsails/lspkind-nvim"
|
-- use "onsails/lspkind-nvim"
|
||||||
use {
|
use {
|
||||||
"folke/trouble.nvim",
|
"folke/trouble.nvim",
|
||||||
requires = "kyazdani42/nvim-web-devicons",
|
requires = "kyazdani42/nvim-web-devicons",
|
||||||
@ -54,7 +57,7 @@ return require("packer").startup(
|
|||||||
}
|
}
|
||||||
|
|
||||||
-- Syntax / Autocomplete
|
-- Syntax / Autocomplete
|
||||||
use "terminalnode/sway-vim-syntax" --sway config syntax
|
-- use "terminalnode/sway-vim-syntax" --sway config syntax
|
||||||
use "neovim/nvim-lspconfig"
|
use "neovim/nvim-lspconfig"
|
||||||
use "hrsh7th/nvim-cmp"
|
use "hrsh7th/nvim-cmp"
|
||||||
use "hrsh7th/cmp-nvim-lsp"
|
use "hrsh7th/cmp-nvim-lsp"
|
||||||
@ -68,8 +71,8 @@ return require("packer").startup(
|
|||||||
use "saadparwaiz1/cmp_luasnip"
|
use "saadparwaiz1/cmp_luasnip"
|
||||||
use "williamboman/nvim-lsp-installer"
|
use "williamboman/nvim-lsp-installer"
|
||||||
use "nvim-lua/lsp-status.nvim"
|
use "nvim-lua/lsp-status.nvim"
|
||||||
use "jose-elias-alvarez/nvim-lsp-ts-utils"
|
-- use "jose-elias-alvarez/nvim-lsp-ts-utils"
|
||||||
use "neoclide/jsonc.vim"
|
-- use "neoclide/jsonc.vim"
|
||||||
use "brymer-meneses/grammar-guard.nvim"
|
use "brymer-meneses/grammar-guard.nvim"
|
||||||
use {
|
use {
|
||||||
"nvim-treesitter/nvim-treesitter",
|
"nvim-treesitter/nvim-treesitter",
|
||||||
@ -84,6 +87,8 @@ return require("packer").startup(
|
|||||||
-- General Popup Window
|
-- General Popup Window
|
||||||
use "akinsho/nvim-toggleterm.lua"
|
use "akinsho/nvim-toggleterm.lua"
|
||||||
|
|
||||||
|
use "rktjmp/fwatch.nvim"
|
||||||
|
|
||||||
-- Database Feature
|
-- Database Feature
|
||||||
use "tpope/vim-dadbod"
|
use "tpope/vim-dadbod"
|
||||||
use "kristijanhusak/vim-dadbod-ui"
|
use "kristijanhusak/vim-dadbod-ui"
|
@ -1,57 +0,0 @@
|
|||||||
local cmd = vim.cmd
|
|
||||||
local g = vim.g
|
|
||||||
|
|
||||||
local function tablelength(T)
|
|
||||||
local count = 0
|
|
||||||
for _ in pairs(T) do
|
|
||||||
count = count + 1
|
|
||||||
end
|
|
||||||
return count
|
|
||||||
end
|
|
||||||
|
|
||||||
local function select_client(method)
|
|
||||||
local all_clients = vim.tbl_values(vim.lsp.buf_get_clients())
|
|
||||||
|
|
||||||
local supported_client
|
|
||||||
local found_client = false
|
|
||||||
for _, client in ipairs(all_clients) do
|
|
||||||
local supports = client.supports_method(method)
|
|
||||||
if supports then
|
|
||||||
found_client = true
|
|
||||||
supported_client = client
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
if not found_client then
|
|
||||||
return nil
|
|
||||||
end
|
|
||||||
|
|
||||||
return supported_client
|
|
||||||
end
|
|
||||||
|
|
||||||
g.neoformat_enabled_glsl = {}
|
|
||||||
|
|
||||||
function FormattingSync()
|
|
||||||
vim.cmd("Neoformat")
|
|
||||||
-- local client = select_client("textDocument/formatting")
|
|
||||||
-- if client == nil then
|
|
||||||
-- vim.notify("No LSP Client with formatting connected")
|
|
||||||
-- end
|
|
||||||
-- vim.notify("Formatting with LSP")
|
|
||||||
-- local params = util.make_formatting_params({})
|
|
||||||
-- local result, err = client.request_sync("textDocument/formatting", params, 500, vim.api.nvim_get_current_buf())
|
|
||||||
-- if result and result.result then
|
|
||||||
-- util.apply_text_edits(result.result)
|
|
||||||
-- elseif err then
|
|
||||||
-- vim.notify("vim.lsp.buf.formatting_sync: " .. err, vim.log.levels.WARN)
|
|
||||||
-- end
|
|
||||||
end
|
|
||||||
|
|
||||||
vim.cmd [[command! Format lua FormattingSync()]]
|
|
||||||
|
|
||||||
cmd [[
|
|
||||||
augroup auto_format
|
|
||||||
au!
|
|
||||||
au BufWritePre * lua FormattingSync()
|
|
||||||
augroup END
|
|
||||||
]]
|
|
@ -1,68 +0,0 @@
|
|||||||
local Terminal = require("toggleterm.terminal").Terminal
|
|
||||||
local u = require("utils")
|
|
||||||
local lazygit =
|
|
||||||
Terminal:new(
|
|
||||||
{
|
|
||||||
cmd = "lazygit",
|
|
||||||
dir = "git_dir",
|
|
||||||
direction = "float",
|
|
||||||
float_opts = {
|
|
||||||
winblend = 0,
|
|
||||||
border = "shadow"
|
|
||||||
},
|
|
||||||
on_open = function(term)
|
|
||||||
vim.cmd("startinsert!")
|
|
||||||
vim.api.nvim_buf_set_keymap(term.bufnr, "n", "q", "<cmd>close<CR>", {noremap = true, silent = true})
|
|
||||||
end,
|
|
||||||
on_close = function(term)
|
|
||||||
Terminal:close()
|
|
||||||
end
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
function _lazygit_toggle()
|
|
||||||
lazygit:toggle()
|
|
||||||
end
|
|
||||||
|
|
||||||
vim.api.nvim_set_keymap("n", "<C-g>", "<cmd>lua _lazygit_toggle()<CR>", {noremap = true, silent = true})
|
|
||||||
|
|
||||||
local pnpm =
|
|
||||||
Terminal:new(
|
|
||||||
{
|
|
||||||
cmd = "pnpm dev",
|
|
||||||
dir = "git_dir",
|
|
||||||
size = 5,
|
|
||||||
direction = "vertical",
|
|
||||||
on_close = function(term)
|
|
||||||
Terminal:close()
|
|
||||||
end
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
function _pnpm_toggle()
|
|
||||||
pnpm:toggle()
|
|
||||||
end
|
|
||||||
|
|
||||||
vim.api.nvim_set_keymap("n", "<Leader>d", "<cmd>lua _pnpm_toggle()<CR>", {noremap = true, silent = true})
|
|
||||||
|
|
||||||
local nvimConfig =
|
|
||||||
Terminal:new(
|
|
||||||
{
|
|
||||||
cmd = "cd $HOME/.dotfiles && nvim configs/init.lua && cd -",
|
|
||||||
direction = "float",
|
|
||||||
on_close = function(term)
|
|
||||||
Terminal:close()
|
|
||||||
u.ReloadConfig()
|
|
||||||
end
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
function _nvimConfig_toggle()
|
|
||||||
nvimConfig:toggle()
|
|
||||||
end
|
|
||||||
|
|
||||||
vim.api.nvim_set_keymap("n", "<Leader><C-i>", "<cmd>lua _nvimConfig_toggle()<CR>", {noremap = true, silent = true})
|
|
||||||
|
|
||||||
require("toggleterm").setup {
|
|
||||||
shade_terminals = true
|
|
||||||
}
|
|
@ -1,85 +0,0 @@
|
|||||||
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
|
|
35
configs/nvim/lua/utils/theme-reloader.lua
Normal file
35
configs/nvim/lua/utils/theme-reloader.lua
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
-- see if the file exists
|
||||||
|
local function file_exists(file)
|
||||||
|
local f = io.open(file, "rb")
|
||||||
|
if f then f:close() end
|
||||||
|
return f ~= nil
|
||||||
|
end
|
||||||
|
|
||||||
|
-- get all lines from a file, returns an empty
|
||||||
|
-- list/table if the file does not exist
|
||||||
|
local function line_from(file)
|
||||||
|
if not file_exists(file) then return {} end
|
||||||
|
local f = io.open(file) -- 'r' is unnecessary because it's a default value.
|
||||||
|
local line = f:read() -- '*l' is unnecessary because it's a default value.
|
||||||
|
f:close()
|
||||||
|
return line;
|
||||||
|
end
|
||||||
|
|
||||||
|
local filePath = os.getenv("HOME").."/.cache/dark-mode";
|
||||||
|
local function updateTheme()
|
||||||
|
local line = line_from(filePath);
|
||||||
|
if line then
|
||||||
|
local dark = string.find(line, "dark");
|
||||||
|
if dark then
|
||||||
|
vim.cmd("colorscheme nightfox")
|
||||||
|
else
|
||||||
|
vim.cmd("colorscheme dayfox")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
updateTheme()
|
||||||
|
local w = vim.loop.new_fs_event()
|
||||||
|
w:start(filePath, {}, vim.schedule_wrap(updateTheme))
|
@ -86,9 +86,12 @@ output * bg `find $wallpapers_path -type f | shuf -n 1` fill
|
|||||||
#
|
#
|
||||||
exec swayidle -w \
|
exec swayidle -w \
|
||||||
timeout 300 '~/.config/sway/lock_screen.sh' \
|
timeout 300 '~/.config/sway/lock_screen.sh' \
|
||||||
timeout 600 'swaymsg "output \* dpms off"' \
|
timeout 600 'swaymsg "output * dpms off"' \
|
||||||
timeout 660 'systemctl suspend' \
|
timeout 660 'systemctl suspend' \
|
||||||
resume 'swaymsg "output \* dpms on"'
|
resume 'swaymsg "output * dpms on"' \
|
||||||
|
before-sleep '~/.config/sway/lock_screen.sh'
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# This will lock your screen after 300 seconds of inactivity, then turn off
|
# This will lock your screen after 300 seconds of inactivity, then turn off
|
||||||
# your displays after another 300 seconds, and turn your screens back on when
|
# your displays after another 300 seconds, and turn your screens back on when
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
"hidden_state": "show",
|
"hidden_state": "show",
|
||||||
"modules-left": ["custom/clock", "custom/waybar-mpris"],
|
"modules-left": ["custom/clock", "custom/waybar-mpris"],
|
||||||
"modules-center": ["sway/workspaces", "sway/mode"],
|
"modules-center": ["sway/workspaces", "sway/mode"],
|
||||||
"modules-right": ["pulseaudio", "network", "custom/cpu_speed", "memory", "battery"],
|
"modules-right": ["custom/theme","pulseaudio", "network", "battery"],
|
||||||
"sway/workspaces": {
|
"sway/workspaces": {
|
||||||
"disable-scroll": true,
|
"disable-scroll": true,
|
||||||
"all-outputs": false,
|
"all-outputs": false,
|
||||||
@ -27,6 +27,11 @@
|
|||||||
"unlocked": ""
|
"unlocked": ""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"custom/theme":{
|
||||||
|
"exec": "~/.config/waybar/theme.sh",
|
||||||
|
"on-click": "~/.config/waybar/theme.sh --toggle",
|
||||||
|
"restart-interval": 1,
|
||||||
|
},
|
||||||
"custom/spotify": {
|
"custom/spotify": {
|
||||||
"exec": "/usr/bin/python3 /home/jim/.config/waybar/mediaplayer.py --player spotify",
|
"exec": "/usr/bin/python3 /home/jim/.config/waybar/mediaplayer.py --player spotify",
|
||||||
"format": "{} ",
|
"format": "{} ",
|
||||||
|
215
configs/waybar/dark-mode.sh
Executable file
215
configs/waybar/dark-mode.sh
Executable file
@ -0,0 +1,215 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# https://gitlab.com/wef/dotfiles/-/blob/master/bin/dark-mode
|
||||||
|
|
||||||
|
TIME_STAMP="20220227.144601"
|
||||||
|
|
||||||
|
# dark-mode [light|dark|refresh]
|
||||||
|
# sets dark mode on or off
|
||||||
|
|
||||||
|
# Copyright (C) 2021 Bob Hepple < bob dot hepple at gmail dot com>
|
||||||
|
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or (at
|
||||||
|
# your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful, but
|
||||||
|
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
# General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
# I like to have this called by my
|
||||||
|
# ~/.config/i3blocks/i3blocks/weather script which runs every 10m and
|
||||||
|
# knows about sunset and sunrise times.
|
||||||
|
|
||||||
|
|
||||||
|
PROG=$( basename $0 )
|
||||||
|
|
||||||
|
KITTY_ONLY=""
|
||||||
|
[[ "$1" == "--kitty-only" ]] && {
|
||||||
|
KITTY_ONLY="true"
|
||||||
|
shift
|
||||||
|
}
|
||||||
|
|
||||||
|
CMD="$1"
|
||||||
|
|
||||||
|
DARK_MODE_STATUS_FILE=~/.cache/dark-mode
|
||||||
|
CURRENT_DARK_MODE=$( cat $DARK_MODE_STATUS_FILE )
|
||||||
|
|
||||||
|
case $CMD in
|
||||||
|
-h|--help)
|
||||||
|
echo "Usage: $PROG <[on|start|dark]|refresh|[off|stop|light]>"
|
||||||
|
echo
|
||||||
|
echo "toggles or refreshes dark-mode for emacs, kitty, gtk and qt"
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
on|start|dark)
|
||||||
|
CMD="dark"
|
||||||
|
;;
|
||||||
|
re*)
|
||||||
|
CMD="refresh"
|
||||||
|
;;
|
||||||
|
*) # off|stop|light
|
||||||
|
CMD="light"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [[ "$CMD" == "refresh" ]]; then
|
||||||
|
CMD="$CURRENT_DARK_MODE"
|
||||||
|
else
|
||||||
|
[[ "$CURRENT_DARK_MODE" == "$CMD" ]] && exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# for emacs, these themes can be chosen from the standard ones (in
|
||||||
|
# custom-theme-load-path) or they can be installed in
|
||||||
|
# custom-theme-directory (usually ~/.emacs.d)
|
||||||
|
# They must have a filename of $THEMENAME-theme.el
|
||||||
|
|
||||||
|
case "$CMD" in
|
||||||
|
light)
|
||||||
|
# light mode
|
||||||
|
# new_emacs_theme="dichromacy-bh"
|
||||||
|
# new_emacs_theme="modus-operandi"
|
||||||
|
#new_emacs_theme="Adwaita" # text background is #ededed !!!
|
||||||
|
#new_emacs_theme="solarized-light"
|
||||||
|
# new_emacs_modeline_theme="smart-mode-line-light"
|
||||||
|
|
||||||
|
# new_gtk_theme='WhiteSur'
|
||||||
|
new_gtk_theme='Pop'
|
||||||
|
#new_gtk_theme='Solarized-Light'
|
||||||
|
#new_gtk_theme='Crux'
|
||||||
|
|
||||||
|
new_icon_theme='WhiteSur'
|
||||||
|
new_cursor_theme='WhiteSur-cursors'
|
||||||
|
|
||||||
|
# new_kitty_theme="$HOME/.config/kitty/Adwaita.conf"
|
||||||
|
|
||||||
|
# new_nvim_theme="dayfox"
|
||||||
|
|
||||||
|
new_kitty_theme="Atom One Light"
|
||||||
|
# new_fg='black'
|
||||||
|
# new_fg='00/00/00'
|
||||||
|
# new_bg='white'
|
||||||
|
# new_bg='ff/ff/ff'
|
||||||
|
BRIGHTNESS=100
|
||||||
|
TERM_BACKGROUND=light
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
# dark mode
|
||||||
|
# new_emacs_theme="dichromacy-dark-bh"
|
||||||
|
# new_emacs_theme="modus-vivendi"
|
||||||
|
# new_emacs_theme="manoj-dark-bh"
|
||||||
|
# new_emacs_theme="solarized-dark"
|
||||||
|
# new_emacs_modeline_theme="smart-mode-line-dark"
|
||||||
|
|
||||||
|
new_gtk_theme='Pop-dark'
|
||||||
|
#new_gtk_theme='Solarized-Dark'
|
||||||
|
#new_gtk_theme='Crux-dark'
|
||||||
|
|
||||||
|
# 'Breeze' icons are too dark for Adwaita-dark:
|
||||||
|
new_icon_theme='WhiteSur-dark'
|
||||||
|
new_cursor_theme='WhiteSur-cursors'
|
||||||
|
|
||||||
|
#new_kitty_theme="$HOME/.config/kitty/Adwaita-dark.conf"
|
||||||
|
new_kitty_theme="Argonaut"
|
||||||
|
|
||||||
|
# new_nvim_theme="nightfox"
|
||||||
|
# new_fg='white'
|
||||||
|
# new_fg='ff/ff/ff'
|
||||||
|
# new_bg='#232729'
|
||||||
|
# new_bg='black'
|
||||||
|
# new_bg='00/00/00'
|
||||||
|
BRIGHTNESS=20
|
||||||
|
TERM_BACKGROUND=dark
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
(
|
||||||
|
[[ -z "$KITTY_ONLY" ]] && {
|
||||||
|
# brightnessctl set $BRIGHTNESS
|
||||||
|
|
||||||
|
## look for an emacs running as this user:
|
||||||
|
#emacs_pid=$(pgrep -u $USER emacs | head -n 1)
|
||||||
|
#[[ "$emacs_pid" ]] && emacsclient --eval "
|
||||||
|
# (progn
|
||||||
|
# (mapcar 'disable-theme custom-enabled-themes)
|
||||||
|
# (load-theme '$new_emacs_theme t))"
|
||||||
|
##(load-theme '$new_emacs_modeline_theme))"
|
||||||
|
|
||||||
|
f=~/.gtkrc-2.0
|
||||||
|
[[ -w $f ]] && {
|
||||||
|
sed -i "s/^gtk-theme-name=.*/gtk-theme-name=\"$new_gtk_theme\"/" $f
|
||||||
|
sed -i "s/^gtk-icon-theme-name=.*/gtk-icon-theme-name=\"$new_icon_theme\"/" $f
|
||||||
|
sed -i "s/^gtk-cursor-theme-name=.*/gtk-cursor-theme-name=\"$new_cursor_theme\"/" $f
|
||||||
|
}
|
||||||
|
|
||||||
|
# gtkreload # gtk2 only!
|
||||||
|
|
||||||
|
# if ! command -v nvr &> /dev/null
|
||||||
|
# then
|
||||||
|
# echo "nvr not installed"
|
||||||
|
# elif [ "$(pgrep nvim)" != "" ]; then
|
||||||
|
# echo "new theme $new_nvim_theme"
|
||||||
|
# nvr --nostart --remote-send ":colorscheme $new_nvim_theme<CR>"
|
||||||
|
# exit
|
||||||
|
# fi
|
||||||
|
|
||||||
|
|
||||||
|
f=~/.config/gtk-3.0/settings.ini
|
||||||
|
[[ -w $f ]] && {
|
||||||
|
sed -i "s/^gtk-theme-name=.*/gtk-theme-name=$new_gtk_theme/" $f
|
||||||
|
sed -i "s/^gtk-icon-theme-name=.*/gtk-icon-theme-name=$new_icon_theme/" $f
|
||||||
|
sed -i "s/^gtk-cursor-theme-name=.*/gtk-cursor-theme-name=$new_cursor_theme/" $f
|
||||||
|
}
|
||||||
|
|
||||||
|
# /usr/libexec/gsd-xsettings notifies gtk3 clients - start it in sway
|
||||||
|
|
||||||
|
# these two appear to be completely equivalent:
|
||||||
|
dconf write /org/gnome/desktop/interface/gtk-theme "'$new_gtk_theme'"
|
||||||
|
#gsettings set org.gnome.desktop.interface gtk-theme $new_gtk_theme
|
||||||
|
|
||||||
|
dconf write /org/gnome/desktop/interface/icon-theme "'$new_icon_theme'"
|
||||||
|
dconf write /org/gnome/desktop/interface/cursor-theme "'$new_cursor_theme'"
|
||||||
|
|
||||||
|
f=~/.config/qt5ct/qt5ct.conf
|
||||||
|
[[ -w $f ]] && {
|
||||||
|
sed -i "s/^style=.*/style=$new_gtk_theme/" $f
|
||||||
|
sed -i "s/^icon-theme=.*/style=$new_icon_theme/" $f
|
||||||
|
# cursor?
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# requires this in ~/.config/kitty/kitty.conf:
|
||||||
|
# allow_remote_control yes
|
||||||
|
# listen_on unix:/tmp/kitty-socket
|
||||||
|
kitty +kitten themes --reload-in=all $new_kitty_theme
|
||||||
|
# for SOCK in /tmp/kitty-socket-*; do
|
||||||
|
# if [[ -r $new_kitty_theme ]]; then
|
||||||
|
# else
|
||||||
|
# # this should work for all terms:
|
||||||
|
# for TERM in /dev/pts/[0-9]*; do
|
||||||
|
# if [[ -O $TERM ]]; then
|
||||||
|
# {
|
||||||
|
# printf "\\033]10;rgb:$new_fg\\033\\\\"
|
||||||
|
# printf "\\033]11;rgb:$new_bg\\033\\\\"
|
||||||
|
# } >$TERM
|
||||||
|
# fi
|
||||||
|
# done
|
||||||
|
# # kitty @ --to=unix:$SOCK set_colors --all foreground=$new_fg background=$new_bg
|
||||||
|
# fi
|
||||||
|
# done
|
||||||
|
|
||||||
|
# for 'low-power' script:
|
||||||
|
echo $TERM_BACKGROUND > $DARK_MODE_STATUS_FILE
|
||||||
|
) >/dev/null
|
||||||
|
|
||||||
|
# echo "TERM_BACKGROUND=$TERM_BACKGROUND; setup_prompt"
|
||||||
|
|
||||||
|
# Local Variables:
|
||||||
|
# mode: shell-script
|
||||||
|
# time-stamp-pattern: "4/TIME_STAMP=\"%:y%02m%02d.%02H%02M%02S\""
|
||||||
|
# eval: (add-hook 'before-save-hook 'time-stamp)
|
||||||
|
# End:
|
@ -14,7 +14,7 @@ window > box {
|
|||||||
margin: 6px;
|
margin: 6px;
|
||||||
margin-bottom: 0px;
|
margin-bottom: 0px;
|
||||||
background: #2b303b;
|
background: #2b303b;
|
||||||
background: black;
|
background: @theme_bg_color;
|
||||||
padding: 5px 8px;
|
padding: 5px 8px;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
/*border-bottom: 3px solid rgba(100, 114, 125, 0.5);*/
|
/*border-bottom: 3px solid rgba(100, 114, 125, 0.5);*/
|
||||||
@ -23,7 +23,7 @@ window > box {
|
|||||||
#workspaces button {
|
#workspaces button {
|
||||||
padding: 0px 7px;
|
padding: 0px 7px;
|
||||||
padding-left: 4px;
|
padding-left: 4px;
|
||||||
color: white;
|
color: @theme_fg_color;
|
||||||
background: transparent;
|
background: transparent;
|
||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
}
|
}
|
||||||
@ -33,8 +33,8 @@ window > box {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#workspaces button.focused {
|
#workspaces button.focused {
|
||||||
background-color: white;
|
background-color: @theme_fg_color;
|
||||||
color: #2b303b;
|
color: @theme_bg_color;
|
||||||
}
|
}
|
||||||
|
|
||||||
#battery, #network, #pulseaudio, #clock, #custom-power, #custom-qbitstats {
|
#battery, #network, #pulseaudio, #clock, #custom-power, #custom-qbitstats {
|
||||||
|
24
configs/waybar/theme.sh
Executable file
24
configs/waybar/theme.sh
Executable file
@ -0,0 +1,24 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
DARK_MODE_STATUS_FILE=~/.cache/dark-mode
|
||||||
|
CURRENT_DARK_MODE=$( cat $DARK_MODE_STATUS_FILE )
|
||||||
|
|
||||||
|
LIGHT="☀️"
|
||||||
|
DARK="🌙"
|
||||||
|
|
||||||
|
echo "\$1 $1"
|
||||||
|
echo "MODE: $CURRENT_DARK_MODE"
|
||||||
|
|
||||||
|
if [ "$1" == "--toggle" ]; then
|
||||||
|
if [ $CURRENT_DARK_MODE == "light" ]; then
|
||||||
|
~/.config/waybar/dark-mode.sh dark
|
||||||
|
else
|
||||||
|
~/.config/waybar/dark-mode.sh light
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $CURRENT_DARK_MODE != "light" ]; then
|
||||||
|
echo $DARK
|
||||||
|
else
|
||||||
|
echo $LIGHT
|
||||||
|
fi
|
Loading…
Reference in New Issue
Block a user