lsp and nvim stuff
This commit is contained in:
parent
f701a23e2e
commit
98d6570a08
|
@ -1 +1 @@
|
||||||
background_opacity: 1.0
|
background_opacity: 0.5
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
window:
|
window:
|
||||||
opacity: 0.85
|
opacity: 0.8
|
||||||
|
|
||||||
font:
|
font:
|
||||||
|
size: 14
|
||||||
normal:
|
normal:
|
||||||
family: monospace
|
family: FiraMono Nerd Font
|
||||||
style: Regular
|
style: Regular
|
||||||
|
|
||||||
# Colors (Oxide)
|
# Colors (Oxide)
|
||||||
|
|
|
@ -1,148 +0,0 @@
|
||||||
######################################
|
|
||||||
# Includes
|
|
||||||
######################################
|
|
||||||
|
|
||||||
include $HOME/.config/i3/workspaces.conf
|
|
||||||
include $HOME/.config/i3/scratchpads.conf
|
|
||||||
include $HOME/.config/i3/themes/current.conf
|
|
||||||
|
|
||||||
######################################
|
|
||||||
# Basic Set up
|
|
||||||
######################################
|
|
||||||
|
|
||||||
set $mod Mod4
|
|
||||||
floating_modifier $mod
|
|
||||||
font pango:monospace 8
|
|
||||||
|
|
||||||
# Start XDG autostart .desktop files using dex. See also
|
|
||||||
# https://wiki.archlinux.org/index.php/XDG_Autostart
|
|
||||||
exec --no-startup-id dex --autostart --environment i3
|
|
||||||
|
|
||||||
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
|
|
||||||
# screen before suspend. Use loginctl lock-session to lock your screen.
|
|
||||||
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
|
|
||||||
|
|
||||||
# Use pactl to adjust volume in PulseAudio.
|
|
||||||
set $refresh_i3status killall -SIGUSR1 i3status
|
|
||||||
bindsym F11 exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
|
|
||||||
bindsym F10 exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
|
|
||||||
bindsym F9 exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
|
|
||||||
|
|
||||||
# Fix monitor setup on bootup
|
|
||||||
exec ~/scripts/xrandr_dual_monitor.sh
|
|
||||||
|
|
||||||
# turn picom on on start up
|
|
||||||
exec_always --no-startup-id picom &
|
|
||||||
|
|
||||||
# turn off borders (required for i3-gaps)
|
|
||||||
for_window [class=".*"] border pixel 2
|
|
||||||
|
|
||||||
# gaps
|
|
||||||
gaps inner 12
|
|
||||||
|
|
||||||
# polybar
|
|
||||||
exec_always --no-startup-id $HOME/.config/polybar/launch.sh
|
|
||||||
|
|
||||||
# set background on startup
|
|
||||||
set $wallpaper /home/clint/Pictures/wallpapers/_current_wallpaper.jpg
|
|
||||||
exec --no-startup-id feh --bg-fill $wallpaper
|
|
||||||
|
|
||||||
|
|
||||||
######################################
|
|
||||||
# Key Bindings
|
|
||||||
######################################
|
|
||||||
|
|
||||||
# start a terminal
|
|
||||||
bindsym $mod+Return exec --no-startup-id alacritty
|
|
||||||
|
|
||||||
# kill focused window
|
|
||||||
bindsym $mod+Shift+q kill
|
|
||||||
bindsym $mod+q kill
|
|
||||||
|
|
||||||
# start dmenu (a program launcher)
|
|
||||||
bindsym $mod+d exec --no-startup-id rofi -show run
|
|
||||||
|
|
||||||
# you can use the cursor keys:
|
|
||||||
bindsym $mod+Left focus left
|
|
||||||
bindsym $mod+Down focus down
|
|
||||||
bindsym $mod+Up focus up
|
|
||||||
bindsym $mod+Right focus right
|
|
||||||
|
|
||||||
# you can use the cursor keys:
|
|
||||||
bindsym $mod+Shift+Left move left
|
|
||||||
bindsym $mod+Shift+Down move down
|
|
||||||
bindsym $mod+Shift+Up move up
|
|
||||||
bindsym $mod+Shift+Right move right
|
|
||||||
|
|
||||||
# split in horizontal orientation
|
|
||||||
bindsym $mod+h split h
|
|
||||||
|
|
||||||
# split in vertical orientation
|
|
||||||
bindsym $mod+v split v
|
|
||||||
|
|
||||||
# enter fullscreen mode for the focused container
|
|
||||||
bindsym $mod+f fullscreen toggle
|
|
||||||
|
|
||||||
# toggle tiling / floating
|
|
||||||
bindsym $mod+Shift+space floating toggle
|
|
||||||
|
|
||||||
# change focus between tiling / floating windows
|
|
||||||
bindsym $mod+space focus mode_toggle
|
|
||||||
|
|
||||||
# focus the parent container
|
|
||||||
bindsym $mod+a focus parent
|
|
||||||
|
|
||||||
# lock screen
|
|
||||||
bindsym $mod+l exec ~/scripts/lock.sh
|
|
||||||
|
|
||||||
# dmenu stuff
|
|
||||||
bindsym $mod+c exec ~/scripts/dmenu_configs.sh
|
|
||||||
bindsym $mod+p exec ~/scripts/dmenu_images.sh
|
|
||||||
bindsym $mod+x exec ~/scripts/dmenu_shutdown.sh
|
|
||||||
|
|
||||||
# common programs
|
|
||||||
bindsym $mod+Shift+w exec firefox
|
|
||||||
bindsym $mod+Shift+p exec pycharm
|
|
||||||
|
|
||||||
# reload the configuration file
|
|
||||||
bindsym $mod+Shift+c reload
|
|
||||||
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
|
||||||
bindsym $mod+Shift+r restart
|
|
||||||
# exit i3 (logs you out of your X session)
|
|
||||||
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
|
|
||||||
|
|
||||||
# Volume controls
|
|
||||||
#bindsym F9 exec pactl set-sink-mute @DEFAULT_SINK@ toggle
|
|
||||||
#bindsym F11 exec pactl set-sink-volume 0 +10%
|
|
||||||
#bindsym F10 exec pactl set-sink-volume 0 -10%
|
|
||||||
|
|
||||||
# set which programs open in which workspaces
|
|
||||||
# to find the class, run xprop in a terminal and click on a program
|
|
||||||
#assign [class="firefox"] $ws2
|
|
||||||
|
|
||||||
# these programs will float
|
|
||||||
for_window [class="kcalc"] floating enable
|
|
||||||
|
|
||||||
######################################
|
|
||||||
# Resizing Windows
|
|
||||||
######################################
|
|
||||||
|
|
||||||
bindsym $mod+r mode "resize"
|
|
||||||
|
|
||||||
mode "resize" {
|
|
||||||
bindsym j resize shrink width 10 px or 10 ppt
|
|
||||||
bindsym k resize grow height 10 px or 10 ppt
|
|
||||||
bindsym l resize shrink height 10 px or 10 ppt
|
|
||||||
bindsym semicolon resize grow width 10 px or 10 ppt
|
|
||||||
|
|
||||||
bindsym Left resize shrink width 10 px or 10 ppt
|
|
||||||
bindsym Down resize grow height 10 px or 10 ppt
|
|
||||||
bindsym Up resize shrink height 10 px or 10 ppt
|
|
||||||
bindsym Right resize grow width 10 px or 10 ppt
|
|
||||||
|
|
||||||
# back to normal: Enter or Escape or $mod+r
|
|
||||||
bindsym Return mode "default"
|
|
||||||
bindsym Escape mode "default"
|
|
||||||
bindsym $mod+r mode "default"
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,17 +0,0 @@
|
||||||
# Calculator
|
|
||||||
exec --no-startup-id kcalc
|
|
||||||
for_window [class="kcalc"] , move scratchpad
|
|
||||||
bindsym $mod+g [class="kcalc"] scratchpad show
|
|
||||||
|
|
||||||
# Task Manager
|
|
||||||
exec_always --no-startup-id pgrep -f '^alacritty -t TaskManager --class taskman,taskman' || alacritty -t TaskManager --class taskman,taskman -e btm
|
|
||||||
for_window [class="taskman"] , move scratchpad
|
|
||||||
bindsym $mod+F1 [class="taskman"] scratchpad show
|
|
||||||
|
|
||||||
# Pacman Updates - used in Polybar
|
|
||||||
for_window [class="update"] , move window to scratchpad, scratchpad show
|
|
||||||
|
|
||||||
# Spotify
|
|
||||||
exec_always --no-startup-id pgrep -f '^alacritty -t Spotify --class spotify,spotify' || alacritty -t Spotify --class spotify,spotify -e spt
|
|
||||||
for_window [class="spotify"] , move scratchpad
|
|
||||||
bindsym $mod+m [class="spotify"] scratchpad show
|
|
|
@ -1,20 +0,0 @@
|
||||||
# messin with colors
|
|
||||||
#set $bd-color #1de071
|
|
||||||
#set $bd-indicator #d42069
|
|
||||||
|
|
||||||
set $bd-color #76b5c5
|
|
||||||
set $bd-indicator #ffffff
|
|
||||||
|
|
||||||
# colorclass border bg text indicator child_border
|
|
||||||
client.focused $bd-color #111111 #ffffff $bd-indicator $bd-color
|
|
||||||
client.focused_inactive $bd-color #111111 #ffffff #333333 #111111
|
|
||||||
client.unfocused $bd-color #111111 #ffffff #333333 #333333
|
|
||||||
|
|
||||||
# bar color definitions
|
|
||||||
set $bar-text #ADF1D2
|
|
||||||
set $bar-background #231c1c
|
|
||||||
set $bar-statusline #eeeeee
|
|
||||||
set $bar-separator #eeeeee
|
|
||||||
set $bar-focused_workspace #553555
|
|
||||||
|
|
||||||
|
|
|
@ -1,45 +0,0 @@
|
||||||
# i3 workspace conf
|
|
||||||
|
|
||||||
set $ws1 "1"
|
|
||||||
set $ws2 "2"
|
|
||||||
set $ws3 "3"
|
|
||||||
set $ws4 "4"
|
|
||||||
set $ws5 "5"
|
|
||||||
set $ws6 "6"
|
|
||||||
set $ws7 "7"
|
|
||||||
set $ws8 "8"
|
|
||||||
set $ws9 "9"
|
|
||||||
set $ws10 "0"
|
|
||||||
|
|
||||||
# switch to workspace
|
|
||||||
bindsym $mod+1 workspace number $ws1
|
|
||||||
bindsym $mod+2 workspace number $ws2
|
|
||||||
bindsym $mod+3 workspace number $ws3
|
|
||||||
bindsym $mod+4 workspace number $ws4
|
|
||||||
bindsym $mod+5 workspace number $ws5
|
|
||||||
bindsym $mod+6 workspace number $ws6
|
|
||||||
bindsym $mod+7 workspace number $ws7
|
|
||||||
bindsym $mod+8 workspace number $ws8
|
|
||||||
bindsym $mod+9 workspace number $ws9
|
|
||||||
bindsym $mod+0 workspace number $ws10
|
|
||||||
|
|
||||||
# move focused container to workspace
|
|
||||||
bindsym $mod+Shift+1 move container to workspace number $ws1
|
|
||||||
bindsym $mod+Shift+2 move container to workspace number $ws2
|
|
||||||
bindsym $mod+Shift+3 move container to workspace number $ws3
|
|
||||||
bindsym $mod+Shift+4 move container to workspace number $ws4
|
|
||||||
bindsym $mod+Shift+5 move container to workspace number $ws5
|
|
||||||
bindsym $mod+Shift+6 move container to workspace number $ws6
|
|
||||||
bindsym $mod+Shift+7 move container to workspace number $ws7
|
|
||||||
bindsym $mod+Shift+8 move container to workspace number $ws8
|
|
||||||
bindsym $mod+Shift+9 move container to workspace number $ws9
|
|
||||||
bindsym $mod+Shift+0 move container to workspace number $ws10
|
|
||||||
|
|
||||||
# tryin some stuff, not sure if this is what i want
|
|
||||||
workspace $ws1 output HDMI-0
|
|
||||||
workspace $ws2 output HDMI-1
|
|
||||||
workspace $ws3 output HDMI-0
|
|
||||||
workspace $ws4 output HDMI-1
|
|
||||||
|
|
||||||
# Programs default workspace
|
|
||||||
assign [class="firefox"] $ws2
|
|
|
@ -1,40 +0,0 @@
|
||||||
[pacman]
|
|
||||||
command=~/.scripts/i3_pacman.sh
|
|
||||||
interval=3600
|
|
||||||
|
|
||||||
[spotifyd]
|
|
||||||
command=ps aux | grep spotifyd | wc -l
|
|
||||||
interval=5
|
|
||||||
|
|
||||||
[finance]
|
|
||||||
command=~/.scripts/i3_finance.sh
|
|
||||||
interval=3000
|
|
||||||
color=#00b7ff
|
|
||||||
|
|
||||||
[cpu]
|
|
||||||
command=~/.scripts/i3_cpu.sh
|
|
||||||
interval=3600
|
|
||||||
color=#A4C2F4
|
|
||||||
|
|
||||||
[mem]
|
|
||||||
command=~/.scripts/i3_mem.sh
|
|
||||||
interval=3600
|
|
||||||
color=#A4C2F4
|
|
||||||
|
|
||||||
[ip]
|
|
||||||
command=~/.scripts/i3_ip.sh
|
|
||||||
interval=once
|
|
||||||
color=#91E78B
|
|
||||||
|
|
||||||
[wifi]
|
|
||||||
command=~/.scripts/i3_wifi.sh
|
|
||||||
interval=3600
|
|
||||||
|
|
||||||
[weather]
|
|
||||||
command=~/.scripts/i3_weather.sh
|
|
||||||
interval=3600
|
|
||||||
color=#C9E42E
|
|
||||||
|
|
||||||
[time]
|
|
||||||
command=~/.scripts/i3_cal.sh
|
|
||||||
interval=5
|
|
|
@ -1,53 +0,0 @@
|
||||||
# i3status configuration file.
|
|
||||||
# see "man i3status" for documentation.
|
|
||||||
|
|
||||||
# It is important that this file is edited as UTF-8.
|
|
||||||
# The following line should contain a sharp s:
|
|
||||||
# ß
|
|
||||||
# If the above line is not correctly displayed, fix your editor first!
|
|
||||||
|
|
||||||
general {
|
|
||||||
colors = false
|
|
||||||
interval = 5
|
|
||||||
}
|
|
||||||
|
|
||||||
#order += "ipv6"
|
|
||||||
order += "wireless _first_"
|
|
||||||
#order += "ethernet _first_"
|
|
||||||
#order += "battery all"
|
|
||||||
#order += "disk /"
|
|
||||||
#order += "load"
|
|
||||||
order += "memory"
|
|
||||||
order += "tztime local"
|
|
||||||
|
|
||||||
wireless _first_ {
|
|
||||||
format_up = "W:%quality at %essid %ip"
|
|
||||||
format_down = "W: down"
|
|
||||||
}
|
|
||||||
|
|
||||||
ethernet _first_ {
|
|
||||||
format_up = "E: %ip (%speed)"
|
|
||||||
format_down = "E: down"
|
|
||||||
}
|
|
||||||
|
|
||||||
battery all {
|
|
||||||
format = "%status %percentage %remaining"
|
|
||||||
}
|
|
||||||
|
|
||||||
disk "/" {
|
|
||||||
format = "%avail"
|
|
||||||
}
|
|
||||||
|
|
||||||
load {
|
|
||||||
format = "%1min"
|
|
||||||
}
|
|
||||||
|
|
||||||
memory {
|
|
||||||
format = "%used | %available"
|
|
||||||
threshold_degraded = "1G"
|
|
||||||
format_degraded = "MEMORY < %available"
|
|
||||||
}
|
|
||||||
|
|
||||||
tztime local {
|
|
||||||
format = "%A %b %d, %Y %I:%M:%S%p "
|
|
||||||
|
|
|
@ -2,6 +2,7 @@ local keymap = vim.api.nvim_set_keymap
|
||||||
local default_ops = { noremap = true, silent = true }
|
local default_ops = { noremap = true, silent = true }
|
||||||
local settings = vim.opt
|
local settings = vim.opt
|
||||||
|
|
||||||
|
vim.g.mapleader = '\\'
|
||||||
|
|
||||||
-- Set up
|
-- Set up
|
||||||
settings.colorcolumn = "80"
|
settings.colorcolumn = "80"
|
||||||
|
@ -12,3 +13,13 @@ keymap('n', '<F5>', ":w<CR>:exec '!clear;python' shellescape(@%, 1)<CR>", defaul
|
||||||
-- Handy stuff
|
-- Handy stuff
|
||||||
keymap('n', '<Leader>m', 'iif __name__ == "__main__":<Esc>o<Tab>main()<Esc>o<Bs><Bs><Esc>', default_ops)
|
keymap('n', '<Leader>m', 'iif __name__ == "__main__":<Esc>o<Tab>main()<Esc>o<Bs><Bs><Esc>', default_ops)
|
||||||
-- keymap('n', '<Leader>f', 'idef ():<Esc>bi', default_ops)
|
-- keymap('n', '<Leader>f', 'idef ():<Esc>bi', default_ops)
|
||||||
|
|
||||||
|
-- Comment/Uncomment
|
||||||
|
keymap('n', '<Leader>\\', '0i# <Esc>', default_ops)
|
||||||
|
keymap('n', '<Leader>-', '0xx', default_ops)
|
||||||
|
keymap('v', '<Leader>\\', '<C-v>kI# <Esc>', default_ops)
|
||||||
|
keymap('v', '<Leader>-', '<C-v>klx<Esc>', default_ops)
|
||||||
|
|
||||||
|
-- Indenting
|
||||||
|
keymap('v', '<', '<gv', default_ops)
|
||||||
|
keymap('v', '>', '>gv', default_ops)
|
||||||
|
|
|
@ -3,3 +3,18 @@ require("keybindings")
|
||||||
require("settings")
|
require("settings")
|
||||||
require("colorscheme")
|
require("colorscheme")
|
||||||
require("lsp")
|
require("lsp")
|
||||||
|
|
||||||
|
-- todo: move this to plugins.lua
|
||||||
|
require("telescope").setup{
|
||||||
|
defaults = {
|
||||||
|
prompt_prefix = "$ ",
|
||||||
|
mappings = {
|
||||||
|
i = {
|
||||||
|
["C-a"] = function() print("asdf") end
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
require("telescope").load_extension("fzf")
|
||||||
|
require("telescope").load_extension("file_browser")
|
||||||
|
|
|
@ -0,0 +1,57 @@
|
||||||
|
local cmp = require'cmp'
|
||||||
|
local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
||||||
|
|
||||||
|
cmp.setup({
|
||||||
|
snippet = {
|
||||||
|
-- REQUIRED - you must specify a snippet engine
|
||||||
|
expand = function(args)
|
||||||
|
vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` users.
|
||||||
|
require('luasnip').lsp_expand(args.body) -- For `luasnip` users.
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
window = {
|
||||||
|
-- completion = cmp.config.window.bordered(),
|
||||||
|
-- documentation = cmp.config.window.bordered(),
|
||||||
|
},
|
||||||
|
mapping = cmp.mapping.preset.insert({
|
||||||
|
['<C-b>'] = cmp.mapping.scroll_docs(-4),
|
||||||
|
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
||||||
|
['<C-Space>'] = cmp.mapping.complete(),
|
||||||
|
['<C-e>'] = cmp.mapping.abort(),
|
||||||
|
['<CR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
|
||||||
|
}),
|
||||||
|
sources = cmp.config.sources({
|
||||||
|
{ name = 'nvim_lsp' },
|
||||||
|
{ name = 'luasnip' }, -- For luasnip users.
|
||||||
|
}, {
|
||||||
|
{ name = 'buffer' },
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Set configuration for specific filetype.
|
||||||
|
cmp.setup.filetype('gitcommit', {
|
||||||
|
sources = cmp.config.sources({
|
||||||
|
{ name = 'cmp_git' }, -- You can specify the `cmp_git` source if you were installed it.
|
||||||
|
}, {
|
||||||
|
{ name = 'buffer' },
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore).
|
||||||
|
cmp.setup.cmdline({ '/', '?' }, {
|
||||||
|
mapping = cmp.mapping.preset.cmdline(),
|
||||||
|
sources = {
|
||||||
|
{ name = 'buffer' }
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
|
||||||
|
cmp.setup.cmdline(':', {
|
||||||
|
mapping = cmp.mapping.preset.cmdline(),
|
||||||
|
sources = cmp.config.sources({
|
||||||
|
{ name = 'path' }
|
||||||
|
}, {
|
||||||
|
{ name = 'cmdline' }
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
-- Generic Keybindings for all files
|
||||||
|
--
|
||||||
|
--
|
||||||
|
|
||||||
local keymap = vim.api.nvim_set_keymap
|
local keymap = vim.api.nvim_set_keymap
|
||||||
local default_ops = { noremap = true, silent = true }
|
local default_ops = { noremap = true, silent = true }
|
||||||
|
|
||||||
|
@ -20,3 +24,8 @@ keymap('n', '<space>', 'za', default_ops)
|
||||||
-- NERDTree stuff
|
-- NERDTree stuff
|
||||||
keymap('n', '<F4>', ':NERDTreeToggle<CR>', default_ops)
|
keymap('n', '<F4>', ':NERDTreeToggle<CR>', default_ops)
|
||||||
|
|
||||||
|
-- Telescope stuff
|
||||||
|
keymap('n', '<Leader>ff', ':Telescope find_files hidden=true<CR>', default_ops)
|
||||||
|
keymap('n', '<Leader>gf', ':Telescope git_files<CR>', default_ops)
|
||||||
|
keymap('n', '<Leader>lg', ':Telescope live_grep<CR>', default_ops)
|
||||||
|
keymap('n', '<Leader>d', ':Telescope diagnostics<CR>', default_ops)
|
||||||
|
|
|
@ -1,7 +1,66 @@
|
||||||
|
local cmp = require'cmp'
|
||||||
|
local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
||||||
|
|
||||||
require'lspconfig'.jedi_language_server.setup{
|
require'lspconfig'.jedi_language_server.setup{
|
||||||
on_attach =
|
on_attach =
|
||||||
function()
|
function()
|
||||||
vim.keymap.set("n", "K", vim.lsp.buf.hover, {buffer=0})
|
vim.keymap.set("n", "K", vim.lsp.buf.hover, {buffer=0})
|
||||||
vim.keymap.set("n", "gd", vim.lsp.buf.definition, {buffer=0})
|
vim.keymap.set("n", "gd", vim.lsp.buf.definition, {buffer=0})
|
||||||
|
vim.keymap.set("n", "<Leader>r", vim.lsp.buf.rename, {buffer=0})
|
||||||
end
|
end
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cmp.setup({
|
||||||
|
snippet = {
|
||||||
|
-- REQUIRED - you must specify a snippet engine
|
||||||
|
expand = function(args)
|
||||||
|
vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` users.
|
||||||
|
require('luasnip').lsp_expand(args.body) -- For `luasnip` users.
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
window = {
|
||||||
|
-- completion = cmp.config.window.bordered(),
|
||||||
|
-- documentation = cmp.config.window.bordered(),
|
||||||
|
},
|
||||||
|
mapping = cmp.mapping.preset.insert({
|
||||||
|
['<C-b>'] = cmp.mapping.scroll_docs(-4),
|
||||||
|
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
||||||
|
['<C-Space>'] = cmp.mapping.complete(),
|
||||||
|
['<C-e>'] = cmp.mapping.abort(),
|
||||||
|
['<CR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
|
||||||
|
}),
|
||||||
|
sources = cmp.config.sources({
|
||||||
|
{ name = 'nvim_lsp' },
|
||||||
|
{ name = 'luasnip' }, -- For luasnip users.
|
||||||
|
}, {
|
||||||
|
{ name = 'buffer' },
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Set configuration for specific filetype.
|
||||||
|
cmp.setup.filetype('gitcommit', {
|
||||||
|
sources = cmp.config.sources({
|
||||||
|
{ name = 'cmp_git' }, -- You can specify the `cmp_git` source if you were installed it.
|
||||||
|
}, {
|
||||||
|
{ name = 'buffer' },
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore).
|
||||||
|
cmp.setup.cmdline({ '/', '?' }, {
|
||||||
|
mapping = cmp.mapping.preset.cmdline(),
|
||||||
|
sources = {
|
||||||
|
{ name = 'buffer' }
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
|
||||||
|
cmp.setup.cmdline(':', {
|
||||||
|
mapping = cmp.mapping.preset.cmdline(),
|
||||||
|
sources = cmp.config.sources({
|
||||||
|
{ name = 'path' }
|
||||||
|
}, {
|
||||||
|
{ name = 'cmdline' }
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
|
|
@ -18,6 +18,10 @@ return require('packer').startup(function(use)
|
||||||
|
|
||||||
-- airline
|
-- airline
|
||||||
use('vim-airline/vim-airline')
|
use('vim-airline/vim-airline')
|
||||||
|
use('vim-airline/vim-airline-themes')
|
||||||
|
|
||||||
|
-- Git
|
||||||
|
use('tpope/vim-fugitive')
|
||||||
|
|
||||||
-- NerdTree stuff
|
-- NerdTree stuff
|
||||||
use('preservim/nerdtree')
|
use('preservim/nerdtree')
|
||||||
|
@ -28,23 +32,35 @@ return require('packer').startup(function(use)
|
||||||
use('ervandew/supertab')
|
use('ervandew/supertab')
|
||||||
|
|
||||||
-- Auto-Complete
|
-- Auto-Complete
|
||||||
use('ncm2/ncm2')
|
-- use('ncm2/ncm2')
|
||||||
use('roxma/nvim-yarp')
|
-- use('roxma/nvim-yarp')
|
||||||
-- enable ncm2 for all buffers
|
-- -- enable ncm2 for all buffers
|
||||||
-- autocmd BufEnter * call ncm2#enable_for_buffer()
|
-- -- autocmd BufEnter * call ncm2#enable_for_buffer()
|
||||||
-- IMPORTANT: :help Ncm2PopupOpen for more information
|
-- -- IMPORTANT: :help Ncm2PopupOpen for more information
|
||||||
-- set completeopt=noinsert,menuone,noselect
|
-- -- set completeopt=noinsert,menuone,noselect
|
||||||
use('ncm2/ncm2-bufword') -- Basic completion
|
-- use('ncm2/ncm2-bufword') -- Basic completion
|
||||||
use('ncm2/ncm2-path') -- Path completion
|
-- use('ncm2/ncm2-path') -- Path completion
|
||||||
use('ncm2/ncm2-jedi') -- Python completion
|
-- use('ncm2/ncm2-jedi') -- Python completion
|
||||||
|
|
||||||
|
-- better auto complete maybe
|
||||||
|
use('hrsh7th/cmp-nvim-lsp')
|
||||||
|
use('hrsh7th/cmp-nvim-lua')
|
||||||
|
use('hrsh7th/cmp-buffer')
|
||||||
|
use('hrsh7th/cmp-path')
|
||||||
|
use('hrsh7th/nvim-cmp')
|
||||||
|
use('saadparwaiz1/cmp_luasnip')
|
||||||
-- Slime, for tmux repl-ing
|
-- Slime, for tmux repl-ing
|
||||||
use('jpalardy/vim-slime')
|
use('jpalardy/vim-slime')
|
||||||
|
|
||||||
-- Telescope, fuzzy finding
|
-- Telescope, fuzzy finding
|
||||||
use('nvim-lua/plenary.nvim')
|
use('nvim-lua/plenary.nvim')
|
||||||
use('nvim-telescope/telescope.nvim')
|
use('nvim-telescope/telescope.nvim')
|
||||||
|
use {'nvim-telescope/telescope-fzf-native.nvim', run = 'make' }
|
||||||
|
use( "nvim-telescope/telescope-file-browser.nvim")
|
||||||
|
|
||||||
-- Treesitter
|
-- Treesitter
|
||||||
use('nvim-treesitter/nvim-treesitter')
|
-- use('nvim-treesitter/nvim-treesitter')
|
||||||
|
|
||||||
|
-- Devicons
|
||||||
|
use('kyazdani42/nvim-web-devicons')
|
||||||
end)
|
end)
|
||||||
|
|
|
@ -14,7 +14,7 @@ settings.shiftwidth = 4
|
||||||
settings.softtabstop = 4
|
settings.softtabstop = 4
|
||||||
settings.autoindent = true
|
settings.autoindent = true
|
||||||
settings.smartindent = true
|
settings.smartindent = true
|
||||||
settings.colorcolumn = "80"
|
-- settings.colorcolumn = "80"
|
||||||
|
|
||||||
-- Folding
|
-- Folding
|
||||||
settings.foldmethod = "indent"
|
settings.foldmethod = "indent"
|
||||||
|
@ -27,3 +27,7 @@ vim.g.slime_default_config = {
|
||||||
socket_name = vim.api.nvim_eval('get(split($TMUX, ","), 0)'),
|
socket_name = vim.api.nvim_eval('get(split($TMUX, ","), 0)'),
|
||||||
target_pane = '{bottom}',
|
target_pane = '{bottom}',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
-- Airline
|
||||||
|
vim.g.airline_powerline_fonts = 1
|
||||||
|
vim.g.airline_extensions_tabline_enabled = 1
|
||||||
|
|
|
@ -0,0 +1,219 @@
|
||||||
|
-- Automatically generated packer.nvim plugin loader code
|
||||||
|
|
||||||
|
if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then
|
||||||
|
vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"')
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.api.nvim_command('packadd packer.nvim')
|
||||||
|
|
||||||
|
local no_errors, error_msg = pcall(function()
|
||||||
|
|
||||||
|
_G._packer = _G._packer or {}
|
||||||
|
_G._packer.inside_compile = true
|
||||||
|
|
||||||
|
local time
|
||||||
|
local profile_info
|
||||||
|
local should_profile = false
|
||||||
|
if should_profile then
|
||||||
|
local hrtime = vim.loop.hrtime
|
||||||
|
profile_info = {}
|
||||||
|
time = function(chunk, start)
|
||||||
|
if start then
|
||||||
|
profile_info[chunk] = hrtime()
|
||||||
|
else
|
||||||
|
profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else
|
||||||
|
time = function(chunk, start) end
|
||||||
|
end
|
||||||
|
|
||||||
|
local function save_profiles(threshold)
|
||||||
|
local sorted_times = {}
|
||||||
|
for chunk_name, time_taken in pairs(profile_info) do
|
||||||
|
sorted_times[#sorted_times + 1] = {chunk_name, time_taken}
|
||||||
|
end
|
||||||
|
table.sort(sorted_times, function(a, b) return a[2] > b[2] end)
|
||||||
|
local results = {}
|
||||||
|
for i, elem in ipairs(sorted_times) do
|
||||||
|
if not threshold or threshold and elem[2] > threshold then
|
||||||
|
results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if threshold then
|
||||||
|
table.insert(results, '(Only showing plugins that took longer than ' .. threshold .. ' ms ' .. 'to load)')
|
||||||
|
end
|
||||||
|
|
||||||
|
_G._packer.profile_output = results
|
||||||
|
end
|
||||||
|
|
||||||
|
time([[Luarocks path setup]], true)
|
||||||
|
local package_path_str = "/Users/clintmccay/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/Users/clintmccay/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/Users/clintmccay/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/Users/clintmccay/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua"
|
||||||
|
local install_cpath_pattern = "/Users/clintmccay/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/lua/5.1/?.so"
|
||||||
|
if not string.find(package.path, package_path_str, 1, true) then
|
||||||
|
package.path = package.path .. ';' .. package_path_str
|
||||||
|
end
|
||||||
|
|
||||||
|
if not string.find(package.cpath, install_cpath_pattern, 1, true) then
|
||||||
|
package.cpath = package.cpath .. ';' .. install_cpath_pattern
|
||||||
|
end
|
||||||
|
|
||||||
|
time([[Luarocks path setup]], false)
|
||||||
|
time([[try_loadstring definition]], true)
|
||||||
|
local function try_loadstring(s, component, name)
|
||||||
|
local success, result = pcall(loadstring(s), name, _G.packer_plugins[name])
|
||||||
|
if not success then
|
||||||
|
vim.schedule(function()
|
||||||
|
vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {})
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
return result
|
||||||
|
end
|
||||||
|
|
||||||
|
time([[try_loadstring definition]], false)
|
||||||
|
time([[Defining packer_plugins]], true)
|
||||||
|
_G.packer_plugins = {
|
||||||
|
["ayu-vim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/Users/clintmccay/.local/share/nvim/site/pack/packer/start/ayu-vim",
|
||||||
|
url = "https://github.com/ayu-theme/ayu-vim"
|
||||||
|
},
|
||||||
|
gruvbox = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/Users/clintmccay/.local/share/nvim/site/pack/packer/start/gruvbox",
|
||||||
|
url = "https://github.com/morhetz/gruvbox"
|
||||||
|
},
|
||||||
|
minimalist = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/Users/clintmccay/.local/share/nvim/site/pack/packer/start/minimalist",
|
||||||
|
url = "https://github.com/dikiaap/minimalist"
|
||||||
|
},
|
||||||
|
ncm2 = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/Users/clintmccay/.local/share/nvim/site/pack/packer/start/ncm2",
|
||||||
|
url = "https://github.com/ncm2/ncm2"
|
||||||
|
},
|
||||||
|
["ncm2-bufword"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/Users/clintmccay/.local/share/nvim/site/pack/packer/start/ncm2-bufword",
|
||||||
|
url = "https://github.com/ncm2/ncm2-bufword"
|
||||||
|
},
|
||||||
|
["ncm2-jedi"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/Users/clintmccay/.local/share/nvim/site/pack/packer/start/ncm2-jedi",
|
||||||
|
url = "https://github.com/ncm2/ncm2-jedi"
|
||||||
|
},
|
||||||
|
["ncm2-path"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/Users/clintmccay/.local/share/nvim/site/pack/packer/start/ncm2-path",
|
||||||
|
url = "https://github.com/ncm2/ncm2-path"
|
||||||
|
},
|
||||||
|
nerdtree = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/Users/clintmccay/.local/share/nvim/site/pack/packer/start/nerdtree",
|
||||||
|
url = "https://github.com/preservim/nerdtree"
|
||||||
|
},
|
||||||
|
["nerdtree-git-plugin"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/Users/clintmccay/.local/share/nvim/site/pack/packer/start/nerdtree-git-plugin",
|
||||||
|
url = "https://github.com/Xuyuanp/nerdtree-git-plugin"
|
||||||
|
},
|
||||||
|
["nvim-lspconfig"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/Users/clintmccay/.local/share/nvim/site/pack/packer/start/nvim-lspconfig",
|
||||||
|
url = "https://github.com/neovim/nvim-lspconfig"
|
||||||
|
},
|
||||||
|
["nvim-web-devicons"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/Users/clintmccay/.local/share/nvim/site/pack/packer/start/nvim-web-devicons",
|
||||||
|
url = "https://github.com/kyazdani42/nvim-web-devicons"
|
||||||
|
},
|
||||||
|
["nvim-yarp"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/Users/clintmccay/.local/share/nvim/site/pack/packer/start/nvim-yarp",
|
||||||
|
url = "https://github.com/roxma/nvim-yarp"
|
||||||
|
},
|
||||||
|
["packer.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/Users/clintmccay/.local/share/nvim/site/pack/packer/start/packer.nvim",
|
||||||
|
url = "https://github.com/wbthomason/packer.nvim"
|
||||||
|
},
|
||||||
|
["plenary.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/Users/clintmccay/.local/share/nvim/site/pack/packer/start/plenary.nvim",
|
||||||
|
url = "https://github.com/nvim-lua/plenary.nvim"
|
||||||
|
},
|
||||||
|
supertab = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/Users/clintmccay/.local/share/nvim/site/pack/packer/start/supertab",
|
||||||
|
url = "https://github.com/ervandew/supertab"
|
||||||
|
},
|
||||||
|
["telescope-file-browser.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/Users/clintmccay/.local/share/nvim/site/pack/packer/start/telescope-file-browser.nvim",
|
||||||
|
url = "https://github.com/nvim-telescope/telescope-file-browser.nvim"
|
||||||
|
},
|
||||||
|
["telescope-fzf-native.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/Users/clintmccay/.local/share/nvim/site/pack/packer/start/telescope-fzf-native.nvim",
|
||||||
|
url = "https://github.com/nvim-telescope/telescope-fzf-native.nvim"
|
||||||
|
},
|
||||||
|
["telescope.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/Users/clintmccay/.local/share/nvim/site/pack/packer/start/telescope.nvim",
|
||||||
|
url = "https://github.com/nvim-telescope/telescope.nvim"
|
||||||
|
},
|
||||||
|
["tender.vim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/Users/clintmccay/.local/share/nvim/site/pack/packer/start/tender.vim",
|
||||||
|
url = "https://github.com/jacoborus/tender.vim"
|
||||||
|
},
|
||||||
|
["vim-airline"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/Users/clintmccay/.local/share/nvim/site/pack/packer/start/vim-airline",
|
||||||
|
url = "https://github.com/vim-airline/vim-airline"
|
||||||
|
},
|
||||||
|
["vim-desert-warm-256"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/Users/clintmccay/.local/share/nvim/site/pack/packer/start/vim-desert-warm-256",
|
||||||
|
url = "https://github.com/rainux/vim-desert-warm-256"
|
||||||
|
},
|
||||||
|
["vim-deus"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/Users/clintmccay/.local/share/nvim/site/pack/packer/start/vim-deus",
|
||||||
|
url = "https://github.com/ajmwagar/vim-deus"
|
||||||
|
},
|
||||||
|
["vim-devicons"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/Users/clintmccay/.local/share/nvim/site/pack/packer/start/vim-devicons",
|
||||||
|
url = "https://github.com/ryanoasis/vim-devicons"
|
||||||
|
},
|
||||||
|
["vim-railscasts-theme"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/Users/clintmccay/.local/share/nvim/site/pack/packer/start/vim-railscasts-theme",
|
||||||
|
url = "https://github.com/jpo/vim-railscasts-theme"
|
||||||
|
},
|
||||||
|
["vim-slime"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/Users/clintmccay/.local/share/nvim/site/pack/packer/start/vim-slime",
|
||||||
|
url = "https://github.com/jpalardy/vim-slime"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
time([[Defining packer_plugins]], false)
|
||||||
|
|
||||||
|
_G._packer.inside_compile = false
|
||||||
|
if _G._packer.needs_bufread == true then
|
||||||
|
vim.cmd("doautocmd BufRead")
|
||||||
|
end
|
||||||
|
_G._packer.needs_bufread = false
|
||||||
|
|
||||||
|
if should_profile then save_profiles() end
|
||||||
|
|
||||||
|
end)
|
||||||
|
|
||||||
|
if not no_errors then
|
||||||
|
error_msg = error_msg:gsub('"', '\\"')
|
||||||
|
vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None')
|
||||||
|
end
|
|
@ -1,17 +1,22 @@
|
||||||
# general
|
# general
|
||||||
|
#
|
||||||
set -g default-terminal "screen-256color"
|
set -g default-terminal "screen-256color"
|
||||||
|
|
||||||
# left status
|
# left status
|
||||||
set-window-option -g status-left " #S "
|
set-window-option -g status-left " (( #S )) "
|
||||||
set-window-option -g status-left-style "fg=green bg=black"
|
set-window-option -g status-left-style "fg=blue bg=black"
|
||||||
|
set-window-option -g status-left-length 30
|
||||||
|
|
||||||
# right status
|
# right status
|
||||||
set-window-option -g status-right " %I:%M%p %d-%b-%y "
|
set-window-option -g status-right " %I:%M%p %d-%b-%y "
|
||||||
set-window-option -g status-right-style "fg=green bg=black"
|
set-window-option -g status-right-style "fg=blue bg=black"
|
||||||
|
|
||||||
# ianctive windows
|
# inactive windows
|
||||||
set-window-option -g window-status-format " #I: #W "
|
set-window-option -g window-status-format " #I: #W "
|
||||||
|
|
||||||
# active windows
|
# active windows
|
||||||
set-window-option -g window-status-current-format " #I: #W "
|
set-window-option -g window-status-current-format " #I: #W "
|
||||||
set-window-option -g window-status-current-style "bg=black fg=green bright"
|
set-window-option -g window-status-current-style "bg=black fg=blue bright"
|
||||||
|
|
||||||
|
# main bg color
|
||||||
|
set -g status-bg blue
|
||||||
|
|
|
@ -5,6 +5,9 @@ unbind C-b
|
||||||
set-option -g prefix '`'
|
set-option -g prefix '`'
|
||||||
bind-key '`' send-prefix
|
bind-key '`' send-prefix
|
||||||
|
|
||||||
|
# mouse scrolling
|
||||||
|
setw -g mouse on
|
||||||
|
|
||||||
# 0 is too far from Ctrl-a.
|
# 0 is too far from Ctrl-a.
|
||||||
set -g base-index 1
|
set -g base-index 1
|
||||||
|
|
||||||
|
@ -21,7 +24,7 @@ unbind '"'
|
||||||
unbind %
|
unbind %
|
||||||
|
|
||||||
# reload config file (change file location to your the tmux.conf you want to use)
|
# reload config file (change file location to your the tmux.conf you want to use)
|
||||||
bind r source-file ~/.tmux.conf\; display ' Reloaded tmux config.'
|
bind r source-file ~/.config/tmux/tmux.conf\; display ' Reloaded tmux config.'
|
||||||
|
|
||||||
# switch panes using Alt-arrow without prefix
|
# switch panes using Alt-arrow without prefix
|
||||||
bind -n M-Left select-pane -L
|
bind -n M-Left select-pane -L
|
||||||
|
@ -33,4 +36,7 @@ bind -n M-Down select-pane -D
|
||||||
bind-key -n S-Left previous-window
|
bind-key -n S-Left previous-window
|
||||||
bind-key -n S-Right next-window
|
bind-key -n S-Right next-window
|
||||||
|
|
||||||
|
# Faster Esc
|
||||||
|
set-option -sg escape-time 10
|
||||||
|
|
||||||
source ~/.config/tmux/statusline.conf
|
source ~/.config/tmux/statusline.conf
|
||||||
|
|
Loading…
Reference in New Issue