Compare commits
2 Commits
main
...
neovim-onl
| Author | SHA1 | Date | |
|---|---|---|---|
| ceb0bc34cc | |||
| c23a3a06a2 |
BIN
tmux/.config/tmux/plugins/.DS_Store → .DS_Store
vendored
BIN
tmux/.config/tmux/plugins/.DS_Store → .DS_Store
vendored
Binary file not shown.
22
README.md
22
README.md
@ -1,22 +0,0 @@
|
||||
```
|
||||
_ _ _
|
||||
| \ | | (_)
|
||||
| \| | ___ _ __ _ __ ___ __ __ _ _ __ ___
|
||||
| . ` | / _ \ | '__|| '_ ` _ \\ \ / /| || '_ ` _ \
|
||||
| |\ || (_) || | | | | | | |\ V / | || | | | | |
|
||||
|_| \_| \___/ |_| |_| |_| |_| \_/ |_||_| |_| |_|
|
||||
```
|
||||
|
||||
### Welcome to my setup
|
||||
|
||||
Most of the times I'm writing in Markdown or Python. I'll also manage my servers from a similar environment which is mostly yaml and bash scripts. Here's a few images.
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
@ -1,228 +0,0 @@
|
||||
# Default configuration file for tmux-powerline.
|
||||
# Modeline {
|
||||
# vi: foldmarker={,} foldmethod=marker foldlevel=0 tabstop=4 filetype=sh
|
||||
# }
|
||||
|
||||
# General {
|
||||
# Show which segment fails and its exit code.
|
||||
export TMUX_POWERLINE_DEBUG_MODE_ENABLED="false"
|
||||
# Use patched font symbols.
|
||||
export TMUX_POWERLINE_PATCHED_FONT_IN_USE="true"
|
||||
|
||||
# The theme to use.
|
||||
export TMUX_POWERLINE_THEME="norm-main"
|
||||
# Overlay directory to look for themes. There you can put your own themes outside the repo. Fallback will still be the "themes" directory in the repo.
|
||||
export TMUX_POWERLINE_DIR_USER_THEMES="${XDG_CONFIG_HOME:-$HOME/.dotfiles/tmux/.config/tmux}/tmux-powerline/themes"
|
||||
# Overlay directory to look for segments. There you can put your own segments outside the repo. Fallback will still be the "segments" directory in the repo.
|
||||
export TMUX_POWERLINE_DIR_USER_SEGMENTS="${XDG_CONFIG_HOME:-$HOME/.dotfiles/tmux/.config/tmux}/tmux-powerline/segments"
|
||||
|
||||
# The initial visibility of the status bar. Can be {"on, off"}.
|
||||
export TMUX_POWERLINE_STATUS_VISIBILITY="on"
|
||||
# The status bar refresh interval in seconds.
|
||||
# Note that events that force-refresh the status bar (such as window renaming) will ignore this.
|
||||
export TMUX_POWERLINE_STATUS_INTERVAL="1"
|
||||
# The location of the window list. Can be {"absolute-centre, centre, left, right"}.
|
||||
# Note that "absolute-centre" is only supported on `tmux -V` >= 3.2.
|
||||
export TMUX_POWERLINE_STATUS_JUSTIFICATION="centre"
|
||||
|
||||
# The maximum length of the left status bar.
|
||||
export TMUX_POWERLINE_STATUS_LEFT_LENGTH="60"
|
||||
# The maximum length of the right status bar.
|
||||
export TMUX_POWERLINE_STATUS_RIGHT_LENGTH="60"
|
||||
|
||||
# Uncomment these if you want to enable tmux bindings for muting (hiding) one of the status bars.
|
||||
# E.g. this example binding would mute the left status bar when pressing <prefix> followed by Ctrl-[
|
||||
#export TMUX_POWERLINE_MUTE_LEFT_KEYBINDING="C-["
|
||||
#export TMUX_POWERLINE_MUTE_RIGHT_KEYBINDING="C-]"
|
||||
# }
|
||||
|
||||
# battery.sh {
|
||||
# How to display battery remaining. Can be {percentage, cute}.
|
||||
export TMUX_POWERLINE_SEG_BATTERY_TYPE="percentage"
|
||||
# How may hearts to show if cute indicators are used.
|
||||
export TMUX_POWERLINE_SEG_BATTERY_NUM_HEARTS="5"
|
||||
# }
|
||||
|
||||
# date.sh {
|
||||
# date(1) format for the date. If you don't, for some reason, like ISO 8601 format you might want to have "%D" or "%m/%d/%Y".
|
||||
export TMUX_POWERLINE_SEG_DATE_FORMAT="%F"
|
||||
# }
|
||||
|
||||
# disk_usage.sh {
|
||||
# Filesystem to retrieve disk space information. Any from the filesystems available (run "df | awk '{print }'" to check them).
|
||||
export TMUX_POWERLINE_SEG_DISK_USAGE_FILESYSTEM="/"
|
||||
# }
|
||||
|
||||
# earthquake.sh {
|
||||
# The data provider to use. Currently only "goo" is supported.
|
||||
export TMUX_POWERLINE_SEG_EARTHQUAKE_DATA_PROVIDER="goo"
|
||||
# How often to update the earthquake data in seconds.
|
||||
# Note: This is not an early warning detector, use this
|
||||
# to be informed about recent earthquake magnitudes in your
|
||||
# area. If this is too often, goo may decide to ban you form
|
||||
# their server
|
||||
export TMUX_POWERLINE_SEG_EARTHQUAKE_UPDATE_PERIOD="600"
|
||||
# Only display information when earthquakes are within this many minutes
|
||||
export TMUX_POWERLINE_SEG_EARTHQUAKE_ALERT_TIME_WINDOW="60"
|
||||
# Display time with this format
|
||||
export TMUX_POWERLINE_SEG_EARTHQUAKE_TIME_FORMAT='(%H:%M)'
|
||||
# Display only if magnitude is greater or equal to this number
|
||||
export TMUX_POWERLINE_SEG_EARTHQUAKE_MIN_MAGNITUDE="3"
|
||||
# }
|
||||
|
||||
# gcalcli.sh {
|
||||
# gcalcli uses 24hr time format by default - if you want to see 12hr time format, set TMUX_POWERLINE_SEG_GCALCLI_MILITARY_TIME_DEFAULT to 0
|
||||
export TMUX_POWERLINE_SEG_GCALCLI_24HR_TIME_FORMAT="1"
|
||||
# }
|
||||
|
||||
# hostname.sh {
|
||||
# Use short or long format for the hostname. Can be {"short, long"}.
|
||||
export TMUX_POWERLINE_SEG_HOSTNAME_FORMAT="short"
|
||||
# }
|
||||
|
||||
# macos_notification_count.sh {
|
||||
# App ids to query in notification center, separated by space
|
||||
# To get the app id that is associated with a specific app run:
|
||||
# sqlite3 -list "/var/folders/14/xy84d13x3091_xgcmy34gk8w0000gp/0//com.apple.notificationcenter/db/db" 'select * from app_info'
|
||||
# The first column contains the app ids
|
||||
# "5" is the app id of Messages.app
|
||||
# Only "banner" notifications are supported (see settings in the notification center)
|
||||
export TMUX_POWERLINE_SEG_MACOS_NOTIFICATION_COUNT_APPIDS="5"
|
||||
# Notification symbol
|
||||
export TMUX_POWERLINE_SEG_MACOS_NOTIFICATION_COUNT_CHAR="💬"
|
||||
# }
|
||||
|
||||
# mailcount.sh {
|
||||
# Mailbox type to use. Can be any of {apple_mail, gmail, maildir, mbox, mailcheck}
|
||||
export TMUX_POWERLINE_SEG_MAILCOUNT_MAILBOX_TYPE=""
|
||||
|
||||
## Gmail
|
||||
# Enter your Gmail username here WITH OUT @gmail.com.( OR @domain)
|
||||
export TMUX_POWERLINE_SEG_MAILCOUNT_GMAIL_USERNAME=""
|
||||
# Google password. Recomenned to use application specific password (https://accounts.google.com/b/0/IssuedAuthSubTokens) Leave this empty to get password from OS X keychain.
|
||||
# For OSX users : MAKE SURE that you add a key to the keychain in the format as follows
|
||||
# Keychain Item name : http://<value-you-fill-in-server-variable-below>
|
||||
# Account name : <username-below>@<server-below>
|
||||
# Password : Your password ( Once again, try to use 2 step-verification and application-specific password)
|
||||
# See http://support.google.com/accounts/bin/answer.py?hl=en&answer=185833 for more info.
|
||||
export TMUX_POWERLINE_SEG_MAILCOUNT_GMAIL_PASSWORD=""
|
||||
# Domain name that will complete your email. For normal GMail users it probably is "gmail.com but can be "foo.tld" for Google Apps users.
|
||||
export TMUX_POWERLINE_SEG_MAILCOUNT_GMAIL_SERVER="gmail.com"
|
||||
# How often in minutes to check for new mails.
|
||||
export TMUX_POWERLINE_SEG_MAILCOUNT_GMAIL_INTERVAL="5"
|
||||
|
||||
## Maildir
|
||||
# Path to the maildir to check.
|
||||
export TMUX_POWERLINE_SEG_MAILCOUNT_MAILDIR_INBOX="/Users/normrasmussen/.mail/inbox/new"
|
||||
|
||||
## mbox
|
||||
# Path to the mbox to check.
|
||||
export TMUX_POWERLINE_SEG_MAILCOUNT_MBOX_INBOX=""
|
||||
|
||||
## mailcheck
|
||||
# Optional path to mailcheckrc
|
||||
export TMUX_POWERLINE_SEG_MAILCOUNT_MAILCHECKRC="/Users/normrasmussen/.mailcheckrc"
|
||||
# }
|
||||
|
||||
# now_playing.sh {
|
||||
# Music player to use. Can be any of {audacious, banshee, cmus, apple_music, itunes, lastfm, plexamp, mocp, mpd, mpd_simple, pithos, playerctl, rdio, rhythmbox, spotify, spotify_wine, file}.
|
||||
export TMUX_POWERLINE_SEG_NOW_PLAYING_MUSIC_PLAYER="spotify"
|
||||
# File to be read in case the song is being read from a file
|
||||
export TMUX_POWERLINE_SEG_NOW_PLAYING_FILE_NAME=""
|
||||
# Maximum output length.
|
||||
export TMUX_POWERLINE_SEG_NOW_PLAYING_MAX_LEN="40"
|
||||
# How to handle too long strings. Can be {trim, roll}.
|
||||
export TMUX_POWERLINE_SEG_NOW_PLAYING_TRIM_METHOD="trim"
|
||||
# Charcters per second to roll if rolling trim method is used.
|
||||
export TMUX_POWERLINE_SEG_NOW_PLAYING_ROLL_SPEED="2"
|
||||
|
||||
# Hostname for MPD server in the format "[password@]host"
|
||||
export TMUX_POWERLINE_SEG_NOW_PLAYING_MPD_HOST="localhost"
|
||||
# Port the MPD server is running on.
|
||||
export TMUX_POWERLINE_SEG_NOW_PLAYING_MPD_PORT="6600"
|
||||
# Song display format for mpd_simple. See mpc(1) for delimiters.
|
||||
export TMUX_POWERLINE_SEG_NOW_PLAYING_MPD_SIMPLE_FORMAT="%artist% - %title%"
|
||||
# Song display format for playerctl. see "Format Strings" in playerctl(1).
|
||||
export TMUX_POWERLINE_SEG_NOW_PLAYING_PLAYERCTL_FORMAT="{{ artist }} - {{ title }}"
|
||||
# Song display format for rhythmbox. see "FORMATS" in rhythmbox-client(1).
|
||||
export TMUX_POWERLINE_SEG_NOW_PLAYING_RHYTHMBOX_FORMAT="%aa - %tt"
|
||||
|
||||
# Last.fm
|
||||
# Set up steps for Last.fm
|
||||
# 1. Make sure jq(1) is installed on the system.
|
||||
# 2. Create a new API application at https://www.last.fm/api/account/create (name it tmux-powerline) and copy the API key and insert it below in the setting TMUX_POWERLINE_SEG_NOW_PLAYING_LASTFM_API_KEY
|
||||
# 3. Make sure the API can access your recently played song by going to you user privacy settings https://www.last.fm/settings/privacy and make sure "Hide recent listening information" is UNCHECKED.
|
||||
# Username for Last.fm if that music player is used.
|
||||
export TMUX_POWERLINE_SEG_NOW_PLAYING_LASTFM_USERNAME=""
|
||||
# API Key for the API.
|
||||
export TMUX_POWERLINE_SEG_NOW_PLAYING_LASTFM_API_KEY=""
|
||||
# How often in seconds to update the data from last.fm.
|
||||
export TMUX_POWERLINE_SEG_NOW_PLAYING_LASTFM_UPDATE_PERIOD="30"
|
||||
# Fancy char to display before now playing track
|
||||
export TMUX_POWERLINE_SEG_NOW_PLAYING_NOTE_CHAR="♫"
|
||||
|
||||
# Plexamp
|
||||
# Set up steps for Plexamp
|
||||
# 1. Make sure jq(1) is installed on the system.
|
||||
# 2. Make sure you have an instance of Tautulli that is accessible by the computer running tmux-powerline.
|
||||
# Username for Plexamp if that music player is used.
|
||||
export TMUX_POWERLINE_SEG_NOW_PLAYING_PLEXAMP_USERNAME=""
|
||||
# Hostname for Tautulli server in the format "[password@]host"
|
||||
export TMUX_POWERLINE_SEG_NOW_PLAYING_PLEXAMP_TAUTULLI_HOST=""
|
||||
# API Key for Tautulli.
|
||||
export TMUX_POWERLINE_SEG_NOW_PLAYING_PLEXAMP_TAUTULLI_API_KEY=""
|
||||
# How often in seconds to update the data from Plexamp.
|
||||
export TMUX_POWERLINE_SEG_NOW_PLAYING_PLEXAMP_UPDATE_PERIOD="30"
|
||||
# }
|
||||
|
||||
# pwd.sh {
|
||||
# Maximum length of output.
|
||||
export TMUX_POWERLINE_SEG_PWD_MAX_LEN="40"
|
||||
# }
|
||||
|
||||
# time.sh {
|
||||
# date(1) format for the time. Americans might want to have "%I:%M %p".
|
||||
export TMUX_POWERLINE_SEG_TIME_FORMAT="%H:%M"
|
||||
# Change this to display a different timezone than the system default.
|
||||
# Use TZ Identifier like "America/Los_Angeles"
|
||||
export TMUX_POWERLINE_SEG_TIME_TZ=""
|
||||
# }
|
||||
|
||||
# tmux_mem_cpu_load.sh {
|
||||
# Arguments passed to tmux-mem-cpu-load.
|
||||
# See https://github.com/thewtex/tmux-mem-cpu-load for all available options.
|
||||
export TMUX_POWERLINE_SEG_TMUX_MEM_CPU_LOAD_ARGS="-v"
|
||||
# }
|
||||
|
||||
# tmux_session_info.sh {
|
||||
# Session info format to feed into the command: tmux display-message -p
|
||||
# For example, if FORMAT is '[ #S ]', the command is: tmux display-message -p '[ #S ]'
|
||||
export TMUX_POWERLINE_SEG_TMUX_SESSION_INFO_FORMAT="#S:#I.#P"
|
||||
# }
|
||||
|
||||
# utc_time.sh {
|
||||
# date(1) format for the UTC time.
|
||||
export TMUX_POWERLINE_SEG_UTC_TIME_FORMAT="%H:%M %Z"
|
||||
# }
|
||||
|
||||
# vcs_branch.sh {
|
||||
# Max length of the branch name.
|
||||
export TMUX_POWERLINE_SEG_VCS_BRANCH_MAX_LEN="24"
|
||||
# }
|
||||
|
||||
# weather.sh {
|
||||
# The data provider to use. Currently only "yahoo" is supported.
|
||||
export TMUX_POWERLINE_SEG_WEATHER_DATA_PROVIDER="yahoo"
|
||||
# What unit to use. Can be any of {c,f,k}.
|
||||
export TMUX_POWERLINE_SEG_WEATHER_UNIT="f"
|
||||
# How often to update the weather in seconds.
|
||||
export TMUX_POWERLINE_SEG_WEATHER_UPDATE_PERIOD="60"
|
||||
# Name of GNU grep binary if in PATH, or path to it.
|
||||
export TMUX_POWERLINE_SEG_WEATHER_GREP="grep"
|
||||
# Location of the JSON parser, jq
|
||||
export TMUX_POWERLINE_SEG_WEATHER_JSON="jq"
|
||||
# Your location
|
||||
# Latitude and Longtitude for use with yr.no
|
||||
TMUX_POWERLINE_SEG_WEATHER_LAT="41.099050"
|
||||
TMUX_POWERLINE_SEG_WEATHER_LON="-74.252859"
|
||||
# }
|
||||
@ -1,55 +0,0 @@
|
||||
session_name: Work
|
||||
windows:
|
||||
- layout: ba3e,151x53,0,0,1
|
||||
options: {}
|
||||
panes:
|
||||
- focus: 'true'
|
||||
shell_command: zsh
|
||||
start_directory: /Users/normrasmussen/Documents/Work
|
||||
window_name: notes
|
||||
- layout: c1ff,149x54,0,0,2
|
||||
options: {}
|
||||
panes:
|
||||
- focus: 'true'
|
||||
shell_command: zsh
|
||||
start_directory: /Users/normrasmussen/Documents/Work/Custom_Templates
|
||||
window_name: templates
|
||||
- layout: ba40,151x53,0,0,3
|
||||
options: {}
|
||||
panes:
|
||||
- focus: 'true'
|
||||
shell_command: nvim
|
||||
start_directory: /Users/normrasmussen/Documents/Work/Scripts
|
||||
window_name: scripts
|
||||
- layout: e469,177x53,0,0[177x42,0,0,4,177x10,0,43,5]
|
||||
options: {}
|
||||
panes:
|
||||
- focus: 'true'
|
||||
shell_command:
|
||||
- cd /Users/normrasmussen/.dotfiles
|
||||
- nvim
|
||||
- shell_command:
|
||||
- cd /Users/normrasmussen
|
||||
- zsh
|
||||
window_name: dots
|
||||
- focus: 'true'
|
||||
layout: 5cf6,171x53,0,0[171x36,0,0,7,171x16,0,37{85x16,0,37,14,85x16,86,37,16}]
|
||||
options: {}
|
||||
panes:
|
||||
- shell_command:
|
||||
- cd /Users/normrasmussen/Documents/Projects/hugo_blog/rsmsn_blog
|
||||
- nvim
|
||||
- focus: 'true'
|
||||
shell_command:
|
||||
- cd /Users/normrasmussen/Desktop
|
||||
- shell_command:
|
||||
- cd /Users/normrasmussen/Documents/Projects/hugo_blog/rsmsn_blog
|
||||
- zsh
|
||||
window_name: hugo
|
||||
- layout: 5d96,171x53,0,0,17
|
||||
options: {}
|
||||
panes:
|
||||
- focus: 'true'
|
||||
shell_command: zsh
|
||||
start_directory: /Users/normrasmussen
|
||||
window_name: zsh
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 184 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 226 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 345 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 271 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 269 KiB |
@ -1,106 +0,0 @@
|
||||
local M = {}
|
||||
|
||||
-- Function to get visual selection
|
||||
local function get_visual_selection()
|
||||
local start_pos = vim.fn.getpos("'<")
|
||||
local end_pos = vim.fn.getpos("'>")
|
||||
local lines = vim.fn.getline(start_pos[2], end_pos[2])
|
||||
|
||||
-- Handle partial line selections
|
||||
if #lines == 1 then
|
||||
lines[1] = string.sub(lines[1], start_pos[3], end_pos[3])
|
||||
else
|
||||
lines[1] = string.sub(lines[1], start_pos[3])
|
||||
lines[#lines] = string.sub(lines[#lines], 1, end_pos[3])
|
||||
end
|
||||
|
||||
return table.concat(lines, '\n')
|
||||
end
|
||||
|
||||
-- Function to create carbon 50<
|
||||
function M.create_screenshot()
|
||||
-- Get the visual selection
|
||||
local code = get_visual_selection()
|
||||
if code == "" then
|
||||
vim.notify("No text selected", vim.log.levels.ERROR)
|
||||
return
|
||||
end
|
||||
|
||||
-- Get file extension for language detection
|
||||
local file_extension = vim.fn.expand('%:e')
|
||||
|
||||
-- Get download directory
|
||||
local download_dir = vim.fn.expand('~/Downloads')
|
||||
local timestamp = os.date("%Y%m%d_%H%M%S")
|
||||
local output_file = string.format("%s/carbon_%s.png", download_dir, timestamp)
|
||||
|
||||
-- Prepare the curl command
|
||||
local carbon_url = "https://carbonara.solopov.dev/api/cook"
|
||||
local json_data = string.format([[{
|
||||
"code": %s,
|
||||
"theme": "one-dark",
|
||||
"language": "%s",
|
||||
"dropShadow": true,
|
||||
"windowControls": true,
|
||||
}]], vim.fn.json_encode(code), file_extension)
|
||||
|
||||
-- Create temporary file for JSON data
|
||||
local temp_json = os.tmpname()
|
||||
local f = io.open(temp_json, "w")
|
||||
f:write(json_data)
|
||||
f:close()
|
||||
|
||||
-- Execute curl command
|
||||
local cmd = string.format(
|
||||
'curl -L %s -X POST -H "Content-Type: application/json" --data %s --output %s',
|
||||
carbon_url,
|
||||
json_data,
|
||||
output_file
|
||||
)
|
||||
vim.print(cmd)
|
||||
-- [[--
|
||||
-- curl -L https://carbonara.solopov.dev/api/cook \
|
||||
-- -X POST \
|
||||
-- -H 'Content-Type: application/json' \
|
||||
-- -d '{
|
||||
-- "code": "export default const sum = (a, b) => a + b",
|
||||
-- "backgroundColor": "#1F816D"
|
||||
-- }' \
|
||||
-- > code.png
|
||||
-- --]]
|
||||
-- Run the command asynchronously
|
||||
vim.fn.jobstart(cmd, {
|
||||
on_exit = function(_, exit_code)
|
||||
-- Clean up temp file
|
||||
-- os.remove(temp_json)
|
||||
os.rename(temp_json, '~/Downloads/temp_json.json')
|
||||
|
||||
if exit_code == 0 then
|
||||
vim.notify(
|
||||
string.format("Screenshot saved to %s", output_file),
|
||||
vim.log.levels.INFO
|
||||
)
|
||||
else
|
||||
vim.notify(
|
||||
"Failed to create screenshot",
|
||||
vim.log.levels.ERROR
|
||||
)
|
||||
end
|
||||
end
|
||||
})
|
||||
end
|
||||
|
||||
-- Set up the plugin
|
||||
function M.setup()
|
||||
-- Create user command
|
||||
vim.api.nvim_create_user_command(
|
||||
'CodeShot',
|
||||
function()
|
||||
M.create_screenshot()
|
||||
end,
|
||||
{ range = true }
|
||||
)
|
||||
end
|
||||
|
||||
return M
|
||||
|
||||
BIN
nvim/.config/nvim/data/.DS_Store
vendored
Normal file
BIN
nvim/.config/nvim/data/.DS_Store
vendored
Normal file
Binary file not shown.
@ -1,10 +1,25 @@
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not vim.loop.fs_stat(lazypath) then
|
||||
vim.fn.system({
|
||||
"git",
|
||||
"clone",
|
||||
"--filteer=blob:none",
|
||||
"https://github.com/folke/lazy.nvim.git",
|
||||
"--branch=stable", -- latest stable release
|
||||
lazypath,
|
||||
})
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
vim.g.mapleader = ','
|
||||
vim.g.localmapleader = ','
|
||||
--- vim.opt.textwidth = 85
|
||||
vim.opt.colorcolumn = '+2'
|
||||
|
||||
require('lazy').setup('plugins')
|
||||
|
||||
-----------------------------------------------------------
|
||||
-- General Neovim settings and configuration
|
||||
-----------------------------------------------------------
|
||||
vim.g.mapleader = ','
|
||||
vim.g.localmapleader = ','
|
||||
vim.opt.colorcolumn = '+2'
|
||||
-- vim.diagnostic.config({ virtual_text = true, virtual_lines = true })
|
||||
|
||||
-----------------------------------------------------------
|
||||
-- Neovim API aliases
|
||||
@ -25,24 +40,21 @@ opt.clipboard = 'unnamedplus' -- Copy/paste to system clipboard
|
||||
opt.swapfile = false -- Don't use swapfile
|
||||
opt.shadafile = "NONE"
|
||||
opt.shadafile = ""
|
||||
opt.shell = "/bin/zsh"
|
||||
opt.shell = "/bin/bash"
|
||||
opt.updatetime = 200
|
||||
-- opt.cursorline = true
|
||||
opt.cursorline = true
|
||||
g.markdown_folding = 1
|
||||
-- g.markdown_enable_folding = 1
|
||||
opt.spell=true
|
||||
opt.spelllang = 'en_us'
|
||||
opt.autochdir = true
|
||||
vim.cmd [[ autocmd BufWritePre * :%s/\s\+$//e ]]
|
||||
-- vim.cmd [[ autocmd autochdir ]]
|
||||
cmd [[ autocmd BufWritePre * :%s/\s\+$//e ]]
|
||||
vim.api.nvim_set_hl(0, "ColorColumn", {guibg=DarkOrchid1})
|
||||
-----------------------------------------------------------
|
||||
-- Neovim UI
|
||||
-----------------------------------------------------------
|
||||
opt.number = true -- Show line number
|
||||
opt.relativenumber = true -- Show Current Line with Relative numbers above and below cursor.
|
||||
opt.showmatch = true -- Highlight matching parenthesis
|
||||
opt.foldmethod = "expr" -- Enable folding (default 'foldmarker')
|
||||
opt.foldexpr = "nvim_treesitter#foldexpr()"
|
||||
opt.foldmethod = "syntax" -- Enable folding (default 'foldmarker')
|
||||
opt.splitright = true -- Vertical split to the right
|
||||
opt.splitbelow = true -- Horizontal split to the bottom
|
||||
opt.ignorecase = true -- Ignore case letters when search
|
||||
@ -56,7 +68,7 @@ opt.wrap = true
|
||||
-----------------------------------------------------------
|
||||
opt.hidden = true -- Enable background buffers
|
||||
opt.history = 100 -- Remember N lines in historma:y
|
||||
opt.lazyredraw = false -- Faster scrolling
|
||||
opt.lazyredraw = true -- Faster scrolling
|
||||
opt.synmaxcol = 240 -- Max column for syntax highlight
|
||||
-----------------------------------------------------------
|
||||
-- Colorscheme
|
||||
@ -65,22 +77,31 @@ opt.termguicolors = true -- Enable 24-bit RGB colors
|
||||
-----------------------------------------------------------
|
||||
-- Tabs, indent
|
||||
-----------------------------------------------------------
|
||||
g.expandtab = false -- Use spaces instead of tabs
|
||||
g.expandtab = true -- Use spaces instead of tabs
|
||||
g.shiftwidth = 2 -- Shift 4 spaces when tab
|
||||
g.tabstop = 2 -- 1 tab == 4 spaces
|
||||
g.tabstop = 1 -- 1 tab == 4 spaces
|
||||
g.smartindent = true -- Autoindent new lines
|
||||
-----------------------------------------------------------
|
||||
-- Glow Settings
|
||||
-----------------------------------------------------------
|
||||
g.glow_binary_path = '/bin'
|
||||
g.glow_border = 'rounded'
|
||||
g.glow_width = 120
|
||||
g.glow_use_pager = true
|
||||
g.glow_style = 'dark'
|
||||
|
||||
-----------------------------------------------------------
|
||||
-- AutoCmd and Additional Function Settings.
|
||||
-----------------------------------------------------------
|
||||
-- 2 spaces for selected filetypes
|
||||
vim.cmd [[
|
||||
autocmd FileType md,liquid,xml,html,xhtml,css,scss,javascript,lua,yaml setlocal shiftwidth=2 tabstop=2 noexpandtab
|
||||
autocmd FileType md,liquid,xml,html,xhtml,css,scss,javascript,lua,yaml setlocal shiftwidth=2 tabstop=4 noexpandtab
|
||||
]]
|
||||
vim.cmd [[ autocmd FileType python set textwidth=250 ]]
|
||||
vim.cmd [[ autocmd FileType python set textwidth=110 ]]
|
||||
vim.cmd [[ autocmd FileType lua set textwidth=80 ]]
|
||||
vim.cmd [[ autocmd FileType markdown,text set shiftwidth=2 foldlevel=99 ]]
|
||||
vim.cmd [[ autocmd FileType markdown,text set textwidth=125 shiftwidth=2 ]]
|
||||
|
||||
--[[
|
||||
local disabled_built_ins = {
|
||||
"netrw",
|
||||
"netrwPlugin",
|
||||
@ -102,9 +123,19 @@ local disabled_built_ins = {
|
||||
"matchit"
|
||||
}
|
||||
|
||||
-- for _, plugin in pairs(disabled_built_ins) do
|
||||
-- vim.g["loaded_" .. plugin] = 1
|
||||
-- end
|
||||
for _, plugin in pairs(disabled_built_ins) do
|
||||
vim.g["loaded_" .. plugin] = 1
|
||||
end
|
||||
]]--
|
||||
|
||||
-- Deletes all trailing whitespaces in a file if it's not binary nor a diff.
|
||||
function _G.trim_trailing_whitespaces()
|
||||
if not o.binary and o.filetype ~= 'diff' then
|
||||
local current_view = fn.winsaveview()
|
||||
cmd([[keeppatterns %s/\s\+$//e]])
|
||||
fn.winrestview(current_view)
|
||||
end
|
||||
end
|
||||
|
||||
-- Correctly set $VIRTUAL_ENV for Python venvs.
|
||||
if vim.fn.exists("$VIRTUAL_ENV") == 1 then
|
||||
@ -113,7 +144,27 @@ else
|
||||
vim.g.python3_host_prog = vim.fn.substitute(vim.fn.system("which python3"), "\n", "", "g")
|
||||
end
|
||||
|
||||
vim.lsp.enable({'ruff', 'pyright', 'marksman', 'emmet-ls', 'lua'})
|
||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||
capabilities.textDocument.completion.completionItem.snippetSupport = true
|
||||
-- see https://github.com/hrsh7th/nvim-cmp/wiki/Menu-Appearance#how-to-add-visual-studio-code-dark-theme-colors-to-the-menu
|
||||
--[[vim.cmd[[
|
||||
highlight! link CmpItemMenu Comment
|
||||
" gray
|
||||
highlight! CmpItemAbbrDeprecated guibg=NONE gui=strikethrough guifg=#808080
|
||||
" blue
|
||||
highlight! CmpItemAbbrMatch guibg=NONE guifg=#569CD6
|
||||
highlight! CmpItemAbbrMatchFuzzy guibg=NONE guifg=#569CD6
|
||||
" light blue
|
||||
highlight! CmpItemKindVariable guibg=NONE guifg=#9CDCFE
|
||||
highlight! CmpItemKindInterface guibg=NONE guifg=#9CDCFE
|
||||
highlight! CmpItemKindText guibg=NONE guifg=#9CDCFE
|
||||
" pink
|
||||
highlight! CmpItemKindFunction guibg=NONE guifg=#C586C0
|
||||
highlight! CmpItemKindMethod guibg=NONE guifg=#C586C0
|
||||
" front
|
||||
highlight! CmpItemKindKeyword guibg=NONE guifg=#D4D4D4
|
||||
highlight! CmpItemKindProperty guibg=NONE guifg=#D4D4D4
|
||||
highlight! CmpItemKindUnit guibg=NONE guifg=#D4D4D4
|
||||
]]
|
||||
--]]
|
||||
|
||||
require('core/keymaps')
|
||||
vim.cmd[[colorscheme dracula]]
|
||||
|
||||
@ -1,71 +1,54 @@
|
||||
{
|
||||
"LuaSnip": { "branch": "master", "commit": "642b0c595e11608b4c18219e93b88d7637af27bc" },
|
||||
"async.vim": { "branch": "master", "commit": "2082d13bb195f3203d41a308b89417426a7deca1" },
|
||||
"barbar.nvim": { "branch": "master", "commit": "539d73def39c9172b4d4d769f14090e08f37b29d" },
|
||||
"blink.cmp": { "branch": "main", "commit": "78336bc89ee5365633bcf754d93df01678b5c08f" },
|
||||
"codecompanion-history.nvim": { "branch": "main", "commit": "bc1b4fe06eaaf0aa2399be742e843c22f7f1652a" },
|
||||
"codecompanion.nvim": { "branch": "main", "commit": "9eeea4820a091321b085db2155c6133833bf72b0" },
|
||||
"dashboard-nvim": { "branch": "master", "commit": "62a10d9d55132b338dd742afc3c8a2683f3dd426" },
|
||||
"deadcolumn.nvim": { "branch": "master", "commit": "92c86f10bfba2717ca2280e2e759b047135d5288" },
|
||||
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
|
||||
"dracula.nvim": { "branch": "main", "commit": "ae752c13e95fb7c5f58da4b5123cb804ea7568ee" },
|
||||
"eldritch.nvim": { "branch": "master", "commit": "0415fa72c348e814a7a6cc9405593a4f812fe12f" },
|
||||
"f-string-toggle.nvim": { "branch": "main", "commit": "c1c77b4fce192e1615490d895863e2a0508d6021" },
|
||||
"fidget.nvim": { "branch": "main", "commit": "889e2e96edef4e144965571d46f7a77bcc4d0ddf" },
|
||||
"flemma.nvim": { "branch": "develop", "commit": "589b45f0911944e6f0833c23137186acca36b469" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "0d797daee85366bc242580e352a4f62d67557b84" },
|
||||
"hackthebox.vim": { "branch": "main", "commit": "91a84adea2319e3701d76eaa25ae56795ad4dd0d" },
|
||||
"headlines.nvim": { "branch": "master", "commit": "bf17c96a836ea27c0a7a2650ba385a7783ed322e" },
|
||||
"hover.nvim": { "branch": "main", "commit": "e73c00da3a9c87a21d2a8ddf7ab4a39824bd5d56" },
|
||||
"indent-blankline.nvim": { "branch": "master", "commit": "d28a3f70721c79e3c5f6693057ae929f3d9c0a03" },
|
||||
"kanagawa.nvim": { "branch": "master", "commit": "aef7f5cec0a40dbe7f3304214850c472e2264b10" },
|
||||
"koda.nvim": { "branch": "main", "commit": "a560a332ccc1eb2caacb280a390213bb9f37b3cb" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "8811f3f3f4dc09d740c67e9ce399e7a541e2e5b2" },
|
||||
"mcphub.nvim": { "branch": "main", "commit": "7cd5db330f41b7bae02b2d6202218a061c3ebc1f" },
|
||||
"mini.comment": { "branch": "main", "commit": "a0c721115faff8d05505c0a12dab410084d9e536" },
|
||||
"mini.diff": { "branch": "main", "commit": "ab11575a6c147ecfba894d676d0c93e855021d34" },
|
||||
"mini.fuzzy": { "branch": "stable", "commit": "18e9cc3d7406f44a145d074ad18b10e472509a18" },
|
||||
"mini.hipatterns": { "branch": "main", "commit": "a3ffba45e4119917b254c372df82e79f7d8c4aad" },
|
||||
"mini.icons": { "branch": "main", "commit": "7fdae2443a0e2910015ca39ad74b50524ee682d3" },
|
||||
"mini.indentscope": { "branch": "main", "commit": "0308f949f31769e509696af5d5f91cebb2159c69" },
|
||||
"mini.move": { "branch": "main", "commit": "74d140143b1bb905c3d0aebcfc2f216fd237080e" },
|
||||
"mini.pairs": { "branch": "stable", "commit": "d5a29b6254dad07757832db505ea5aeab9aad43a" },
|
||||
"mini.surround": { "branch": "main", "commit": "88c52297ed3e69ecf9f8652837888ecc727a28ee" },
|
||||
"mini.trailspace": { "branch": "main", "commit": "b362246495d18c29b4545a8f1c47f627f8011b7c" },
|
||||
"mkdnflow.nvim": { "branch": "main", "commit": "f20732686f70f60f18f09f4befe984ae63a99201" },
|
||||
"morta": { "branch": "main", "commit": "10b4cdb8b7ae3f814b77f617f985245b3c11c1fa" },
|
||||
"neowarrior.nvim": { "branch": "main", "commit": "197cd4a7a56d07374fcda09b5b56baa433e40549" },
|
||||
"nightfly": { "branch": "master", "commit": "250ee0eb4975e59a277f50cc03c980eef27fb483" },
|
||||
"nightfox.nvim": { "branch": "main", "commit": "ba47d4b4c5ec308718641ba7402c143836f35aa9" },
|
||||
"noice.nvim": { "branch": "main", "commit": "7bfd942445fb63089b59f97ca487d605e715f155" },
|
||||
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
||||
"numb.nvim": { "branch": "master", "commit": "12ef3913dea8727d4632c6f2ed47957a993de627" },
|
||||
"nvim": { "branch": "main", "commit": "df2a1f9f3392d688397e945544a30aec8fc9b4c7" },
|
||||
"nvim-notify": { "branch": "master", "commit": "8701bece920b38ea289b457f902e2ad184131a5d" },
|
||||
"nvim-tree.lua": { "branch": "master", "commit": "e16cd38962bc40c22a51ee004aa4f43726d74a16" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "cf12346a3414fa1b06af75c79faebe7f76df080a" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "40e9d5a6cc3db11b309e39593fc7ac03bb844e38" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
||||
"pulse.nvim": { "branch": "main", "commit": "4026460b12da9abcfe34322db0bdc80e4b0dce3d" },
|
||||
"rainbow-delimiters.nvim": { "branch": "master", "commit": "aab6caaffd79b8def22ec4320a5344f7c42f58d2" },
|
||||
"rainbow_csv.nvim": { "branch": "main", "commit": "26de78d8324f7ac6a3e478319d1eb1f17123eb5b" },
|
||||
"solarized-osaka.nvim": { "branch": "main", "commit": "f0c2f0ba0bd56108d53c9bfae4bb28ff6c67bbdb" },
|
||||
"telescope-cmdline.nvim": { "branch": "main", "commit": "b1c330835563c9628ce7c095cf20772f22f93f07" },
|
||||
"telescope-file-browser.nvim": { "branch": "master", "commit": "3610dc7dc91f06aa98b11dca5cc30dfa98626b7e" },
|
||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "6fea601bd2b694c6f2ae08a6c6fab14930c60e2c" },
|
||||
"telescope-live-grep-args.nvim": { "branch": "master", "commit": "b80ec2c70ec4f32571478b501218c8979fab5201" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
|
||||
"thethethe.nvim": { "branch": "main", "commit": "357580127cd291c8a813564eeaff07c09303084e" },
|
||||
"tiny-inline-diagnostic.nvim": { "branch": "main", "commit": "57a0eb84b2008c76e77930639890d9874195b1e1" },
|
||||
"tmux.nvim": { "branch": "main", "commit": "2c1c3be0ef287073cef963f2aefa31a15c8b9cd8" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" },
|
||||
"toggleterm.nvim": { "branch": "main", "commit": "50ea089fc548917cc3cc16b46a8211833b9e3c7c" },
|
||||
"tokyonight.nvim": { "branch": "main", "commit": "cdc07ac78467a233fd62c493de29a17e0cf2b2b6" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },
|
||||
"vim-arduino": { "branch": "master", "commit": "2ded67cdf09bb07c4805d9e93d478095ed3d8606" },
|
||||
"vim-arsync": { "branch": "master", "commit": "dd5fd93182aafb67ede2ef465f379610980b52d3" },
|
||||
"vim-wakatime": { "branch": "master", "commit": "d7973b157a632d1edeff01818f18d67e584eeaff" },
|
||||
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
|
||||
}
|
||||
"LuaSnip": { "branch": "master", "commit": "0b4950a237ce441a6a3a947d501622453f6860ea" },
|
||||
"adjacent.nvim": { "branch": "main", "commit": "a555ab92d61aa6fbbfa1bfaef4633b663563f04e" },
|
||||
"alpha-nvim": { "branch": "main", "commit": "234822140b265ec4ba3203e3e0be0e0bb826dff5" },
|
||||
"barbar.nvim": { "branch": "master", "commit": "dd852401ee902745b67fc09a83d113b3fe82a96f" },
|
||||
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
||||
"cmp-calc": { "branch": "main", "commit": "ce91d14d2e7a8b3f6ad86d85e34d41c1ae6268d9" },
|
||||
"cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" },
|
||||
"cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "3d8912ebeb56e5ae08ef0906e3a54de1c66b92f1" },
|
||||
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
||||
"cmp-spell": { "branch": "master", "commit": "32a0867efa59b43edbb2db67b0871cfad90c9b66" },
|
||||
"cmp-under-comparator": { "branch": "master", "commit": "6857f10272c3cfe930cece2afa2406e1385bfef8" },
|
||||
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
|
||||
"deadcolumn.nvim": { "branch": "master", "commit": "b9b5e237371ae5379e280e4df9ecf62e4bc8d7a5" },
|
||||
"dracula.nvim": { "branch": "main", "commit": "9fe831e685a76e1a1898a694623b33247c4d036c" },
|
||||
"f-string-toggle.nvim": { "branch": "main", "commit": "4e2ad79dfc5122dd65515ebbdd671e8ee01d157e" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "43727c2ff84240e55d4069ec3e6158d74cb534b6" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "5a9a6ac29a7805c4783cda21b80a1e361964b3f2" },
|
||||
"headlines.nvim": { "branch": "master", "commit": "74a083a3c32a08be24f7dfcc6f448ecf47857f46" },
|
||||
"indent-blankline.nvim": { "branch": "master", "commit": "8a7b48f5823cc924f815129192288ec2e2b9288f" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "9788a19ec0b4036028e78aec702634b4b89d3470" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "2248ef254d0a1488a72041cfb45ca9caada6d994" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "09be3766669bfbabbe2863c624749d8da392c916" },
|
||||
"mason-null-ls.nvim": { "branch": "main", "commit": "ae0c5fa57468ac65617f1bf821ba0c3a1e251f0c" },
|
||||
"mason.nvim": { "branch": "main", "commit": "cd7835b15f5a4204fc37e0aa739347472121a54c" },
|
||||
"mini.comment": { "branch": "main", "commit": "877acea5b2a32ff55f808fc0ebe9aa898648318c" },
|
||||
"mini.fuzzy": { "branch": "stable", "commit": "295763d73cbf580c27a4419364c47b09fc82e0f4" },
|
||||
"mini.move": { "branch": "main", "commit": "b3bca8e493f8d1da343ff1be06c21a47e2fde1c0" },
|
||||
"mini.pairs": { "branch": "stable", "commit": "dfa9f6e2576bb8853be277d96b735af59d9be7c2" },
|
||||
"mini.surround": { "branch": "main", "commit": "9d1956b576d7051da3a483b251dfc778121c60db" },
|
||||
"mini.trailspace": { "branch": "main", "commit": "e8c144ee11f6a827ac9c5732f20aefbbd7b26035" },
|
||||
"neoscroll.nvim": { "branch": "master", "commit": "4bc0212e9f2a7bc7fe7a6bceb15b33e39f0f41fb" },
|
||||
"null-ls.nvim": { "branch": "main", "commit": "0010ea927ab7c09ef0ce9bf28c2b573fc302f5a7" },
|
||||
"numb.nvim": { "branch": "master", "commit": "3f7d4a74bd456e747a1278ea1672b26116e0824d" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "d3a3056204e1a9dbb7c7fe36c114dc43b681768c" },
|
||||
"nvim-dap": { "branch": "master", "commit": "92dc531eea2c9a3ef504a5c8ac0decd1fa59a6a3" },
|
||||
"nvim-dap-python": { "branch": "master", "commit": "37b4cba02e337a95cb62ad1609b3d1dccb2e5d42" },
|
||||
"nvim-dap-ui": { "branch": "master", "commit": "34160a7ce6072ef332f350ae1d4a6a501daf0159" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "38da5bbe1eaab2394056109e48c7e195bdb8fdfe" },
|
||||
"nvim-tree.lua": { "branch": "master", "commit": "40b9b887d090d5da89a84689b4ca0304a9649f62" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "4a68f0778c05083cc458a3a144205cfc41474439" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "3af745113ea537f58c4b1573b64a429fefad9e07" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "50012918b2fc8357b87cff2a7f7f0446e47da174" },
|
||||
"popup.nvim": { "branch": "master", "commit": "b7404d35d5d3548a82149238289fa71f7f6de4ac" },
|
||||
"symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" },
|
||||
"telescope-file-browser.nvim": { "branch": "master", "commit": "6e51d0cd6447cf2525412220ff0a2885eef9039c" },
|
||||
"telescope-live-grep-args.nvim": { "branch": "master", "commit": "851c0997d55601f2afd7290db0f90dc364e29f58" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "c1a2af0af69e80e14e6b226d3957a064cd080805" },
|
||||
"toggleterm.nvim": { "branch": "main", "commit": "faee9d60428afc7857e0927fdc18daa6c409fa64" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" },
|
||||
"vim-wakatime": { "branch": "master", "commit": "945a441b83e48c7bafdd227ef8e2eb826f72ab90" },
|
||||
"which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }
|
||||
}
|
||||
@ -1,5 +0,0 @@
|
||||
return {
|
||||
cmd = {'dprint', 'lsp'},
|
||||
root_markers = { './' },
|
||||
filetypes = { "javascript", "js", "javascriptreact", "typescript", "typescriptreact", "json", "jsonc", "toml", "rust", "roslyn", "graphql" }
|
||||
}
|
||||
@ -1,15 +0,0 @@
|
||||
return {
|
||||
cmd = { 'emmet-ls', '--stdio' },
|
||||
root_markers = { './', },
|
||||
filetypes = { "astro", "css", "eruby", "html", "liquid", "htmldjango", "javascriptreact", "javascript", "js", "less", "pug", "sass", "scss", "svelte", "typescriptreact", "vue", "htmlangular" },
|
||||
capabilities = capabilities,
|
||||
settings = {
|
||||
init_options = {
|
||||
html = {
|
||||
options = {
|
||||
["bem.enabled"] = true,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,5 +0,0 @@
|
||||
return {
|
||||
cmd = { 'marksman' },
|
||||
root_markers = { './', },
|
||||
filetypes = { 'md', 'markdown' },
|
||||
}
|
||||
@ -1,67 +0,0 @@
|
||||
---@brief
|
||||
---
|
||||
--- https://github.com/microsoft/pyright
|
||||
---
|
||||
--- `pyright`, a static type checker and language server for python
|
||||
|
||||
local function set_python_path(command)
|
||||
local path = command.args
|
||||
local clients = vim.lsp.get_clients {
|
||||
bufnr = vim.api.nvim_get_current_buf(),
|
||||
name = 'pyright',
|
||||
}
|
||||
for _, client in ipairs(clients) do
|
||||
if client.settings then
|
||||
client.settings.python =
|
||||
vim.tbl_deep_extend('force', client.settings.python --[[@as table]], { pythonPath = path })
|
||||
else
|
||||
client.config.settings = vim.tbl_deep_extend('force', client.config.settings, { python = { pythonPath = path } })
|
||||
end
|
||||
client:notify('workspace/didChangeConfiguration', { settings = nil })
|
||||
end
|
||||
end
|
||||
|
||||
---@type vim.lsp.Config
|
||||
return {
|
||||
cmd = { 'pyright-langserver', '--stdio' },
|
||||
filetypes = { 'python' },
|
||||
root_markers = {
|
||||
'pyrightconfig.json',
|
||||
'pyproject.toml',
|
||||
'setup.py',
|
||||
'setup.cfg',
|
||||
'requirements.txt',
|
||||
'Pipfile',
|
||||
'.git',
|
||||
},
|
||||
settings = {
|
||||
python = {
|
||||
analysis = {
|
||||
autoSearchPaths = true,
|
||||
useLibraryCodeForTypes = true,
|
||||
diagnosticMode = 'openFilesOnly',
|
||||
},
|
||||
},
|
||||
},
|
||||
on_attach = function(client, bufnr)
|
||||
vim.api.nvim_buf_create_user_command(bufnr, 'LspPyrightOrganizeImports', function()
|
||||
local params = {
|
||||
command = 'pyright.organizeimports',
|
||||
arguments = { vim.uri_from_bufnr(bufnr) },
|
||||
}
|
||||
|
||||
-- Using client.request() directly because "pyright.organizeimports" is private
|
||||
-- (not advertised via capabilities), which client:exec_cmd() refuses to call.
|
||||
-- https://github.com/neovim/neovim/blob/c333d64663d3b6e0dd9aa440e433d346af4a3d81/runtime/lua/vim/lsp/client.lua#L1024-L1030
|
||||
---@diagnostic disable-next-line: param-type-mismatch
|
||||
client.request('workspace/executeCommand', params, nil, bufnr)
|
||||
end, {
|
||||
desc = 'Organize Imports',
|
||||
})
|
||||
vim.api.nvim_buf_create_user_command(bufnr, 'LspPyrightSetPythonPath', set_python_path, {
|
||||
desc = 'Reconfigure pyright with the provided python path',
|
||||
nargs = 1,
|
||||
complete = 'file',
|
||||
})
|
||||
end,
|
||||
}
|
||||
@ -1,7 +0,0 @@
|
||||
---@type vim.lsp.Config
|
||||
return {
|
||||
cmd = { 'ruff', 'server' },
|
||||
filetypes = { 'python' },
|
||||
root_markers = { 'pyproject.toml', 'ruff.toml', '.ruff.toml', '.git' },
|
||||
settings = {},
|
||||
}
|
||||
@ -5,11 +5,13 @@
|
||||
local map = vim.api.nvim_set_keymap
|
||||
local default_opts = { noremap = true, silent = true }
|
||||
|
||||
-- Update all plugins using vim.pack
|
||||
map('n', '<leader>u', ':lua vim.pack.update()<CR>', default_opts)
|
||||
|
||||
-- Close and save all buffers and return to Dashboard
|
||||
map('n', '<leader>ds', ':silent wa | %bd | Alpha', default_opts)
|
||||
-- Fast saving with <leader> and s
|
||||
-- map('n', '<leader>s', ':w<CR>', default_opts)
|
||||
-- map('n', '<leader>a', ':w|:luafile %<CR>', default_opts)
|
||||
-- map('n', '<leader>aa', ':w|:luafile %<CR> |:Lazy<CR>', default_opts)
|
||||
-- map('i', '<leader>s', '<C-c>:w<CR>', default_opts)
|
||||
-- Python Script that saves the file & moves Todos to my Todolist.
|
||||
-- map('n', '<leader>sd', ':w|:! python3 ~/Documents/Northpass/Scripts/TodoMD/todo.py %<CR>', default_opts)
|
||||
|
||||
-- Neovim Tab Navgation via Vem-Tabline
|
||||
map('n', '<leader>t', ':tabnew<CR>', default_opts)
|
||||
@ -22,10 +24,13 @@ map('n', '<leader>q', '<Plug>vem_move_buffer_left', default_opts)
|
||||
-- Nvim-Tree
|
||||
map('n', '<leader>v', ':NvimTreeToggle<CR>', default_opts)
|
||||
|
||||
-- Nvim Sidebar
|
||||
map('n', '<leader>n', ':SidebarNvimToggle<CR>', default_opts)
|
||||
map('n', '<leader>q', ':SidebarNvimUpdate<CR>', default_opts)
|
||||
|
||||
-- Telescope
|
||||
map('n', '<leader>ff', ':Telescope find_files<CR>', default_opts)
|
||||
map('n', '<leader>fh', ':Telescope live_grep<CR>', default_opts)
|
||||
map('n', '<leader>fg', ':Telescope live_grep_args<CR>', default_opts)
|
||||
map('n', '<leader>fg', ':Telescope live_grep<CR>', default_opts)
|
||||
map('n', '<leader>fb', ':Telescope buffers<CR>', default_opts)
|
||||
map('n', '<leader>fe', ':Telescope file_browser<CR>', default_opts)
|
||||
map('n', '<leader>fk', ':Telescope keymaps<CR>', default_opts)
|
||||
@ -35,18 +40,46 @@ map('n', '<leader>cb', ':Telescope current_buffer_fuzzy_find<CR>', default_opts)
|
||||
-- Formatting
|
||||
map('n', '<leader>b', ':! black %<CR>', default_opts)
|
||||
map('n', '<leader>m', ':! markdownlint -f %<CR>', default_opts)
|
||||
map('n', '<leader>pj', ':!python -m json.tool<CR>', default_opts)
|
||||
map('n', '<leader>cs', ':%s/\\s*\\([^|]\\{-}\\)\\s*|/"\1",/g', default_opts)
|
||||
|
||||
-- Fold all comments
|
||||
map('n', '<leader>fc', ':set foldmethod=expr foldexpr=getline(v:lnum)=~"^\\s*".&commentstring[0]<CR>', default_opts)
|
||||
|
||||
-- Terminal
|
||||
map('n', '<C-t>', ':ToggleTerm direction=float<CR>', default_opts)
|
||||
map('t', '<C-n>', '<C-\\><C-n><CR>', default_opts) -- Exit Insert Mode Faster
|
||||
|
||||
-- Tiny Code Action
|
||||
-- map('n', "<leader>ca", function() require("tiny-code-action").code_action() end, default_opts)
|
||||
vim.keymap.set("n", "<leader>ca", function()
|
||||
require("tiny-code-action").code_action()
|
||||
end, { noremap = true, silent = true })
|
||||
------------------------------------------------
|
||||
-- Old Keymaps from Nvim-Mapper (Sunsetted)
|
||||
------------------------------------------------
|
||||
--[[
|
||||
-- Macros for Todo Trouble
|
||||
M('n', '<C-t>', "@t<CR>", default_opts,
|
||||
"Add Todo", "todo_todo", "Add To-do/Task to the beginning of the line"
|
||||
)
|
||||
|
||||
M('n', '<C-s>', "@s<CR>", default_opts,
|
||||
"Add Solutions Engineering", "todo_seng", "Add Solutions Engineering to the beginning of the line"
|
||||
)
|
||||
|
||||
M('n', '<C-f>', "@f<CR>", default_opts,
|
||||
"Add Feature", "add_feat", "Add Feature Request tag to the beginning of the line. "
|
||||
)
|
||||
|
||||
M( 'n', '<C-x>', "@c<CR>", default_opts,
|
||||
"Replace with Complete", "add_complete", "Replace tag with Complete tag at beginning of the line."
|
||||
)
|
||||
|
||||
M('n', '<C-r>', "@w<CR>", default_opts,
|
||||
"Add Warning/Error", "add_error", "Add Warning/Error tag at the beginning of the line."
|
||||
)
|
||||
|
||||
M('n', '<leader>ce', ":TodoTrouble keywords=TODO<CR>", default_opts,
|
||||
"Show Todo Tags", "show_todos", "Show Todo Tags."
|
||||
)
|
||||
|
||||
M('n', '<leader>cf', ":TodoTrouble keywords=FEAT<CR>", default_opts,
|
||||
"Show Feature Tags", "show_features", "Show Feature Requests."
|
||||
)
|
||||
|
||||
M('n', '<leader>cq', ":TodoTrouble keywords=ERROR, WARN<CR>", default_opts,
|
||||
"Show Warning Tags", "show_warnings", "Show Errors Tags."
|
||||
)
|
||||
|
||||
--]]
|
||||
|
||||
143
nvim/.config/nvim/lua/core/settings.lua
Normal file
143
nvim/.config/nvim/lua/core/settings.lua
Normal file
@ -0,0 +1,143 @@
|
||||
-----------------------------------------------------------
|
||||
-- General Neovim settings and configuration
|
||||
-----------------------------------------------------------
|
||||
|
||||
-----------------------------------------------------------
|
||||
-- Neovim API aliases
|
||||
-----------------------------------------------------------
|
||||
local fn = vim.fn -- Call Vim functions
|
||||
local cmd = vim.cmd -- Execute Vim commands
|
||||
local exec = vim.api.nvim_exec -- Execute Vimscript
|
||||
local g = vim.g -- Global variables
|
||||
local opt = vim.opt -- Set options (global/buffer/windows-scoped)
|
||||
local o = vim.o
|
||||
|
||||
-----------------------------------------------------------
|
||||
-- General
|
||||
-----------------------------------------------------------
|
||||
g.mapleader = ',' -- Change leader to a comma
|
||||
opt.mouse = 'a' -- Enable mouse support
|
||||
opt.clipboard = 'unnamedplus' -- Copy/paste to system clipboard
|
||||
opt.swapfile = false -- Don't use swapfile
|
||||
opt.shadafile = "NONE"
|
||||
opt.shadafile = ""
|
||||
opt.shell = "/bin/zsh"
|
||||
opt.updatetime = 200
|
||||
opt.cursorline = true
|
||||
g.markdown_folding = 1
|
||||
opt.spell=true
|
||||
opt.spelllang = 'en_us'
|
||||
cmd [[ autocmd BufWritePre * :%s/\s\+$//e ]]
|
||||
--vim.api.nvim_set_hl(0, "ColorColumn", {guibg=lightmagenta})
|
||||
-----------------------------------------------------------
|
||||
-- Neovim UI
|
||||
-----------------------------------------------------------
|
||||
opt.number = true -- Show line number
|
||||
opt.relativenumber = true -- Show Current Line with Relative numbers above and below cursor.
|
||||
opt.showmatch = true -- Highlight matching parenthesis
|
||||
opt.foldmethod = "syntax" -- Enable folding (default 'foldmarker')
|
||||
opt.colorcolumn = '99'
|
||||
opt.textwidth = 100
|
||||
-- opt.cc = '+1,+2,+3' -- Line length marker at 80 columns
|
||||
-- opt.tw = 120
|
||||
opt.splitright = true -- Vertical split to the right
|
||||
opt.splitbelow = true -- Horizontal split to the bottom
|
||||
opt.ignorecase = true -- Ignore case letters when search
|
||||
opt.smartcase = true -- Ignore lowercase for the whole pattern
|
||||
opt.linebreak = true -- Wrap on word boundary
|
||||
opt.signcolumn = 'yes:1' -- Signs column always on, minimum 2.
|
||||
opt.wrap = true
|
||||
|
||||
-----------------------------------------------------------
|
||||
-- Memory, CPU
|
||||
-----------------------------------------------------------
|
||||
opt.hidden = true -- Enable background buffers
|
||||
opt.history = 100 -- Remember N lines in historma:y
|
||||
opt.lazyredraw = true -- Faster scrolling
|
||||
opt.synmaxcol = 240 -- Max column for syntax highlight
|
||||
-----------------------------------------------------------
|
||||
-- Colorscheme
|
||||
-----------------------------------------------------------
|
||||
opt.termguicolors = true -- Enable 24-bit RGB colors
|
||||
cmd[[colorscheme dracula]]
|
||||
-----------------------------------------------------------
|
||||
-- Tabs, indent
|
||||
-----------------------------------------------------------
|
||||
opt.expandtab = true -- Use spaces instead of tabs
|
||||
opt.shiftwidth = 4 -- Shift 4 spaces when tab
|
||||
opt.tabstop = 4 -- 1 tab == 4 spaces
|
||||
opt.smartindent = true -- Autoindent new lines
|
||||
-----------------------------------------------------------
|
||||
-- Glow Settings
|
||||
-----------------------------------------------------------
|
||||
g.glow_binary_path = '/bin'
|
||||
g.glow_border = 'rounded'
|
||||
g.glow_width = 120
|
||||
g.glow_use_pager = true
|
||||
g.glow_style = 'dark'
|
||||
-----------------------------------------------------------
|
||||
-- MKDX Settings, mkdx#settings.
|
||||
-----------------------------------------------------------
|
||||
-- 2 spaces for selected filetypes
|
||||
cmd [[
|
||||
autocmd FileType md,liquid,xml,html,xhtml,css,scss,javascript,lua,yaml setlocal shiftwidth=2 tabstop=8 noexpandtab
|
||||
]]
|
||||
|
||||
|
||||
local disabled_built_ins = {
|
||||
"netrw",
|
||||
"netrwPlugin",
|
||||
"netrwSettings",
|
||||
"netrwFileHandlers",
|
||||
"gzip",
|
||||
"zip",
|
||||
"zipPlugin",
|
||||
"tar",
|
||||
"tarPlugin",
|
||||
"getscript",
|
||||
"getscriptPlugin",
|
||||
"vimball",
|
||||
"vimballPlugin",
|
||||
"2html_plugin",
|
||||
"logipat",
|
||||
"rrhelper",
|
||||
"spellfile_plugin",
|
||||
"matchit"
|
||||
}
|
||||
|
||||
for _, plugin in pairs(disabled_built_ins) do
|
||||
vim.g["loaded_" .. plugin] = 1
|
||||
end
|
||||
|
||||
--[[
|
||||
Deletes all trailing whitespaces in a file if it's not binary nor a diff.
|
||||
]]--
|
||||
function _G.trim_trailing_whitespaces()
|
||||
if not o.binary and o.filetype ~= 'diff' then
|
||||
local current_view = fn.winsaveview()
|
||||
cmd([[keeppatterns %s/\s\+$//e]])
|
||||
fn.winrestview(current_view)
|
||||
end
|
||||
end
|
||||
|
||||
-- see https://github.com/hrsh7th/nvim-cmp/wiki/Menu-Appearance#how-to-add-visual-studio-code-dark-theme-colors-to-the-menu
|
||||
vim.cmd[[
|
||||
highlight! link CmpItemMenu Comment
|
||||
" gray
|
||||
highlight! CmpItemAbbrDeprecated guibg=NONE gui=strikethrough guifg=#808080
|
||||
" blue
|
||||
highlight! CmpItemAbbrMatch guibg=NONE guifg=#569CD6
|
||||
highlight! CmpItemAbbrMatchFuzzy guibg=NONE guifg=#569CD6
|
||||
" light blue
|
||||
highlight! CmpItemKindVariable guibg=NONE guifg=#9CDCFE
|
||||
highlight! CmpItemKindInterface guibg=NONE guifg=#9CDCFE
|
||||
highlight! CmpItemKindText guibg=NONE guifg=#9CDCFE
|
||||
" pink
|
||||
highlight! CmpItemKindFunction guibg=NONE guifg=#C586C0
|
||||
highlight! CmpItemKindMethod guibg=NONE guifg=#C586C0
|
||||
" front
|
||||
highlight! CmpItemKindKeyword guibg=NONE guifg=#D4D4D4
|
||||
highlight! CmpItemKindProperty guibg=NONE guifg=#D4D4D4
|
||||
highlight! CmpItemKindUnit guibg=NONE guifg=#D4D4D4
|
||||
]]
|
||||
|
||||
74
nvim/.config/nvim/lua/plugins/alpha.lua
Normal file
74
nvim/.config/nvim/lua/plugins/alpha.lua
Normal file
@ -0,0 +1,74 @@
|
||||
-----------------------------------------------------------
|
||||
-- startify configuration file
|
||||
-----------------------------------------------------------
|
||||
return {
|
||||
"goolord/alpha-nvim",
|
||||
dependencies = {
|
||||
'nvim-tree/nvim-web-devicons',
|
||||
},
|
||||
config = function ()
|
||||
local alpha = require'alpha'
|
||||
local startify = require'alpha.themes.startify'
|
||||
|
||||
startify.section.header.val = {
|
||||
" ",
|
||||
" █████ █████ ██████ █████ ███ ",
|
||||
"░░███ ░░███ ░░██████ ░░███ ░███ ",
|
||||
" ░███ ░███ ██████ █████ ████ ░███░███ ░███ ██████ ████████ █████████████ ░███ ",
|
||||
" ░███████████ ███░░███░░███ ░███ ░███░░███░███ ███░░███░░███░░███░░███░░███░░███░███ ",
|
||||
" ░███░░░░░███ ░███████ ░███ ░███ ░███ ░░██████ ░███ ░███ ░███ ░░░ ░███ ░███ ░███░███ ",
|
||||
" ░███ ░███ ░███░░░ ░███ ░███ ░███ ░░█████ ░███ ░███ ░███ ░███ ░███ ░███░░░ ",
|
||||
" █████ █████░░██████ ░░███████ █████ ░░█████░░██████ █████ █████░███ ████████ ",
|
||||
"░░░░░ ░░░░░ ░░░░░░ ░░░░░███ ░░░░░ ░░░░░ ░░░░░░ ░░░░░ ░░░░░ ░░░ ░░░░░░░░ ",
|
||||
" ███ ░███ ",
|
||||
" ░░██████ ",
|
||||
" ░░░░░░ ",
|
||||
}
|
||||
|
||||
|
||||
--[[ startify.section.mru.val = {
|
||||
{ type = "text",
|
||||
val = findtodos,
|
||||
opts = {
|
||||
position = "left",
|
||||
hl = {{"hl_group", 0, -2}}
|
||||
}
|
||||
}
|
||||
}--]]
|
||||
startify.section.mru_cwd.val = { { type = "padding", val = 0 } }
|
||||
|
||||
-- Devicons - Not sure what this doe
|
||||
startify.nvim_web_devicons.enabled = false
|
||||
startify.nvim_web_devicons.highlight = false
|
||||
startify.nvim_web_devicons.highlight = 'Number'
|
||||
|
||||
-- Top Menu
|
||||
startify.section.top_buttons.val = {
|
||||
startify.button('e', ' New file', ':ene <BAR> startinsert<CR>'),
|
||||
startify.button('f', ' Find file', ':Telescope file_browser<CR>'),
|
||||
startify.button('s', '⋅Find Word', ':Telescope live_grep<CR>'),
|
||||
startify.button('t', '& Todo List', ':TodoTrouble keywords=TODO<CR>'),
|
||||
startify.button('r', ' ' .. ' Recent files', ':Telescope oldfiles <CR>'),
|
||||
startify.button('u', ' Show plugins', ':Lazy<CR>'),
|
||||
startify.button('q', ' Quit', ':qa<CR>'),
|
||||
}
|
||||
|
||||
-- Bottom Menu
|
||||
startify.section.bottom_buttons.val = {
|
||||
-- Show Empty Space
|
||||
}
|
||||
|
||||
--[[ local function footer()
|
||||
local version = vim.version()
|
||||
local print_version = "v" .. version.major .. '.' .. version.minor .. '.' .. version.patch
|
||||
local datetime = os.date('%Y/%m/%d %H:%M:%S')
|
||||
return print_version .. ' ' .. datetime
|
||||
end
|
||||
--]]
|
||||
|
||||
startify.section.footer.val = {
|
||||
|
||||
}
|
||||
alpha.setup(startify.config)
|
||||
end
|
||||
}
|
||||
48
nvim/.config/nvim/lua/plugins/gitsigns.lua
Normal file
48
nvim/.config/nvim/lua/plugins/gitsigns.lua
Normal file
@ -0,0 +1,48 @@
|
||||
return -- Signs for Git Status Information
|
||||
{
|
||||
'lewis6991/gitsigns.nvim',
|
||||
config = function()
|
||||
require('gitsigns').setup {
|
||||
signs = {
|
||||
add = {hl = 'GitSignsAdd' , text = '│', numhl='GitSignsAddNr' , linehl='GitSignsAddLn'},
|
||||
change = {hl = 'GitSignsChange', text = '│', numhl='GitSignsChangeNr', linehl='GitSignsChangeLn'},
|
||||
delete = {hl = 'GitSignsDelete', text = '_', numhl='GitSignsDeleteNr', linehl='GitSignsDeleteLn'},
|
||||
topdelete = {hl = 'GitSignsDelete', text = '‾', numhl='GitSignsDeleteNr', linehl='GitSignsDeleteLn'},
|
||||
changedelete = {hl = 'GitSignsChange', text = '~', numhl='GitSignsChangeNr', linehl='GitSignsChangeLn'},
|
||||
},
|
||||
signcolumn = true, -- Toggle with `:Gitsigns toggle_signs`
|
||||
numhl = false, -- Toggle with `:Gitsigns toggle_numhl`
|
||||
linehl = false, -- Toggle with `:Gitsigns toggle_linehl`
|
||||
word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff`
|
||||
watch_gitdir = {
|
||||
interval = 1000,
|
||||
follow_files = true
|
||||
},
|
||||
attach_to_untracked = true,
|
||||
current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame`
|
||||
current_line_blame_opts = {
|
||||
virt_text = true,
|
||||
virt_text_pos = 'eol', -- 'eol' | 'overlay' | 'right_align'
|
||||
delay = 1000,
|
||||
ignore_whitespace = false,
|
||||
},
|
||||
current_line_blame_formatter = '<author>, <author_time:%Y-%m-%d> - <summary>',
|
||||
sign_priority = 1,
|
||||
update_debounce = 100,
|
||||
status_formatter = nil, -- Use default
|
||||
max_file_length = 40000,
|
||||
preview_config = {
|
||||
-- Options passed to nvim_open_win
|
||||
border = 'double',
|
||||
style = 'normal',
|
||||
relative = 'cursor',
|
||||
row = 0,
|
||||
col = 2
|
||||
},
|
||||
yadm = {
|
||||
enable = false
|
||||
},
|
||||
}
|
||||
end
|
||||
}
|
||||
|
||||
38
nvim/.config/nvim/lua/plugins/headlines.lua
Normal file
38
nvim/.config/nvim/lua/plugins/headlines.lua
Normal file
@ -0,0 +1,38 @@
|
||||
return {
|
||||
'lukas-reineke/headlines.nvim',
|
||||
}
|
||||
--[[ config = function()
|
||||
require("headlines").setup {
|
||||
markdown = {
|
||||
query = vim.treesitter.parse_query(
|
||||
"markdown",
|
||||
[[
|
||||
(atx_heading [
|
||||
(atx_h1_marker)
|
||||
(atx_h2_marker)
|
||||
(atx_h3_marker)
|
||||
(atx_h4_marker)
|
||||
(atx_h5_marker)
|
||||
(atx_h6_marker)
|
||||
] @headline)
|
||||
|
||||
(thematic_break) @dash
|
||||
|
||||
(fenced_code_block) @codeblock
|
||||
|
||||
(block_quote_marker) @quote
|
||||
(block_quote (paragraph (inline (block_continuation) @quote)))
|
||||
|
||||
),
|
||||
headline_highlights = { "Headline" },
|
||||
codeblock_highlight = "CodeBlock",
|
||||
dash_highlight = "Dash",
|
||||
dash_string = "-",
|
||||
quote_highlight = "Quote",
|
||||
quote_string = "┃",
|
||||
fat_headlines = true,
|
||||
},
|
||||
}
|
||||
end
|
||||
}
|
||||
--]]
|
||||
245
nvim/.config/nvim/lua/plugins/init.lua
Executable file
245
nvim/.config/nvim/lua/plugins/init.lua
Executable file
@ -0,0 +1,245 @@
|
||||
return {
|
||||
----------------------------------------------------------------
|
||||
-- LSP and Autocomplete Plugins
|
||||
-- They should be pulled first!
|
||||
-----------------------------------------------------------------
|
||||
|
||||
{'williamboman/mason.nvim',
|
||||
config = function() require("mason").setup({
|
||||
ui = {
|
||||
icons = {
|
||||
package_installed = "✓",
|
||||
package_pending = "➜",
|
||||
package_uninstalled = "✗"
|
||||
}
|
||||
}
|
||||
})
|
||||
end,
|
||||
},
|
||||
{ 'williamboman/mason-lspconfig.nvim',
|
||||
config = function() require("mason-lspconfig").setup{} end,
|
||||
},
|
||||
{ 'neovim/nvim-lspconfig' },
|
||||
{
|
||||
'L3MON4D3/LuaSnip', version = "2.*",
|
||||
build = "make install_jsregexp",
|
||||
dependencies = { "friendly-snippets" },
|
||||
config = function()
|
||||
require("luasnip").setup({
|
||||
history = true,
|
||||
delete_check_events = "TextChanged",
|
||||
})
|
||||
require("luasnip.loaders.from_vscode").lazy_load()
|
||||
require("luasnip.loaders.from_vscode").load({
|
||||
paths = {
|
||||
"~/.dotfiles/nvim/.config/nvim/lua/custom_snippets/" }
|
||||
})
|
||||
end,
|
||||
},
|
||||
'saadparwaiz1/cmp_luasnip',
|
||||
'hrsh7th/cmp-nvim-lsp-signature-help',
|
||||
'lukas-reineke/cmp-under-comparator',
|
||||
|
||||
------------------------------------------------------------
|
||||
-- General Functionality
|
||||
------------------------------------------------------------
|
||||
|
||||
{ 'MaximilianLloyd/adjacent.nvim' },
|
||||
{
|
||||
'nacro90/numb.nvim',
|
||||
config = function() require('numb').setup{
|
||||
show_cursorline = false,
|
||||
show_numbers = false, -- Enable 'number' for the window while peeking
|
||||
hide_relativenumbers = false, -- Enable turning off 'relativenumber' for the window while peeking
|
||||
number_only = true, -- Peek only when the command is only a number instead of when it starts with a number
|
||||
centered_peeking = true,
|
||||
}
|
||||
end,
|
||||
},
|
||||
{
|
||||
'nvim-lualine/lualine.nvim',
|
||||
dependencies = { 'nvim-tree/nvim-web-devicons' },
|
||||
config = function() require('lualine').setup({
|
||||
options = {
|
||||
theme = 'material',
|
||||
always_divide_middle = false,
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
|
||||
-- Nvim Tree File Manager on the Left
|
||||
{
|
||||
"nvim-tree/nvim-tree.lua",
|
||||
version = "*",
|
||||
lazy = false,
|
||||
dependencies = {
|
||||
"nvim-tree/nvim-web-devicons",
|
||||
},
|
||||
config = function()
|
||||
require("nvim-tree").setup({
|
||||
sort_by = "case_sensitive",
|
||||
view = {
|
||||
width = 30,
|
||||
},
|
||||
renderer = {
|
||||
group_empty = true,
|
||||
},
|
||||
filters = {
|
||||
dotfiles = true,
|
||||
},
|
||||
diagnostics = {
|
||||
enable = true,
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
"roobert/f-string-toggle.nvim",
|
||||
config = function()
|
||||
require("f-string-toggle").setup{
|
||||
key_binding = "<leader>g"
|
||||
}
|
||||
end,
|
||||
},
|
||||
|
||||
-- Snippets
|
||||
'rafamadriz/friendly-snippets',
|
||||
|
||||
-- Rename and Work with Buffer & Tabs
|
||||
-- 'pacha/vem-tabline',
|
||||
{'romgrk/barbar.nvim',
|
||||
dependencies = 'nvim-tree/nvim-web-devicons',
|
||||
version = '^1.0.0', -- optional: only update when a new 1.x version is released
|
||||
},
|
||||
|
||||
|
||||
-- Trouble Shows Errors with Files.
|
||||
{
|
||||
"folke/trouble.nvim",
|
||||
dependencies = { 'nvim-tree/nvim-web-devicons' },
|
||||
config = function()
|
||||
require("trouble").setup {
|
||||
}
|
||||
end
|
||||
},
|
||||
|
||||
-- Which Key
|
||||
{
|
||||
"folke/which-key.nvim",
|
||||
config = function()
|
||||
require("which-key").setup {
|
||||
}
|
||||
end
|
||||
},
|
||||
"hrsh7th/nvim-cmp", -- optional, for completion
|
||||
|
||||
{'akinsho/toggleterm.nvim', version = "*", opts = {
|
||||
direction = 'float',
|
||||
}},
|
||||
|
||||
------------------------------------------------------------
|
||||
-- echasnovski's Minis get a section of their own...
|
||||
------------------------------------------------------------
|
||||
|
||||
{
|
||||
'echasnovski/mini.comment', version = '*',
|
||||
config = function()
|
||||
require('mini.comment').setup()
|
||||
end
|
||||
},
|
||||
{
|
||||
'echasnovski/mini.move',
|
||||
config = function()
|
||||
require('mini.move').setup({
|
||||
mappings = {
|
||||
left = '<S-left>',
|
||||
right = '<S-right>',
|
||||
down = '<S-down>',
|
||||
up = '<S-up>',
|
||||
|
||||
line_left = '<S-left>',
|
||||
line_right = '<S-right>',
|
||||
line_down = '<S-down>',
|
||||
line_up = '<S-up>',
|
||||
}
|
||||
})
|
||||
end
|
||||
},
|
||||
{
|
||||
'echasnovski/mini.trailspace',
|
||||
config = function()
|
||||
require('mini.trailspace').setup()
|
||||
end
|
||||
},
|
||||
{
|
||||
'echasnovski/mini.surround', version = '*',
|
||||
config = function()
|
||||
require('mini.surround').setup()
|
||||
end
|
||||
},
|
||||
{
|
||||
'echasnovski/mini.pairs', branch = 'stable',
|
||||
config = function()
|
||||
require('mini.pairs').setup()
|
||||
end
|
||||
},
|
||||
{
|
||||
'echasnovski/mini.fuzzy', branch = 'stable',
|
||||
config = function()
|
||||
require('mini.fuzzy').setup()
|
||||
end
|
||||
},
|
||||
|
||||
-- DAP (Debug adaptor Protocol)
|
||||
'mfussenegger/nvim-dap',
|
||||
|
||||
{
|
||||
'mfussenegger/nvim-dap-python',
|
||||
config = function()
|
||||
require('dap-python').setup(
|
||||
'~/.virtualenvs/debugpy/bin/python'
|
||||
)
|
||||
end
|
||||
},
|
||||
|
||||
{
|
||||
'rcarriga/nvim-dap-ui', dependencies = {"mfussenegger/nvim-dap"}
|
||||
},
|
||||
|
||||
---------------------------------------------------------
|
||||
-- Text, Icons, Symbols
|
||||
----------------------------------------------------------
|
||||
|
||||
{
|
||||
'simrat39/symbols-outline.nvim',
|
||||
config = function()
|
||||
require('symbols-outline').setup()
|
||||
end
|
||||
},
|
||||
'lukas-reineke/indent-blankline.nvim',
|
||||
'karb94/neoscroll.nvim',
|
||||
|
||||
-- Allow Popups for Telescope etc
|
||||
'nvim-lua/popup.nvim',
|
||||
'nvim-lua/plenary.nvim',
|
||||
|
||||
-- Various telescopes
|
||||
'nvim-telescope/telescope-file-browser.nvim',
|
||||
|
||||
-----------------------------------------------------------
|
||||
-- Various Color Schemes, Dashboard, etc
|
||||
-----------------------------------------------------------
|
||||
|
||||
'Mofiqul/dracula.nvim',
|
||||
'Bekaboo/deadcolumn.nvim',
|
||||
|
||||
-- Wakatime Tracking
|
||||
'wakatime/vim-wakatime',
|
||||
|
||||
----------------------------------------------
|
||||
--- Custom Plugins and Tests
|
||||
----------------------------------------------
|
||||
}
|
||||
|
||||
28
nvim/.config/nvim/lua/plugins/mason-null-ls.lua
Normal file
28
nvim/.config/nvim/lua/plugins/mason-null-ls.lua
Normal file
@ -0,0 +1,28 @@
|
||||
return {
|
||||
"jay-babu/mason-null-ls.nvim",
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
dependencies = {
|
||||
"williamboman/mason.nvim",
|
||||
"jose-elias-alvarez/null-ls.nvim",
|
||||
},
|
||||
config = function ()
|
||||
require("mason-null-ls").setup({
|
||||
ensure_installed = nil,
|
||||
automatic_installation = true,
|
||||
})
|
||||
local null_ls = require'null-ls'
|
||||
null_ls.setup({
|
||||
debug = true,
|
||||
sources = {
|
||||
null_ls.builtins.formatting.black,
|
||||
null_ls.builtins.completion.luasnip,
|
||||
null_ls.builtins.code_actions.gitsigns,
|
||||
null_ls.builtins.diagnostics.pylint.with({
|
||||
diagnostics_postprocess = function(diagnostic)
|
||||
diagnostic.code = diagnostic.message_id
|
||||
end,
|
||||
}),
|
||||
},
|
||||
})
|
||||
end
|
||||
}
|
||||
132
nvim/.config/nvim/lua/plugins/nvim-cmp.lua
Normal file
132
nvim/.config/nvim/lua/plugins/nvim-cmp.lua
Normal file
@ -0,0 +1,132 @@
|
||||
return {
|
||||
'hrsh7th/nvim-cmp',
|
||||
dependencies = {
|
||||
'neovim/nvim-lspconfig',
|
||||
'L3MON4D3/LuaSnip',
|
||||
'hrsh7th/cmp-nvim-lsp',
|
||||
'hrsh7th/cmp-path',
|
||||
'hrsh7th/cmp-buffer',
|
||||
'hrsh7th/cmp-cmdline',
|
||||
'hrsh7th/nvim-cmp',
|
||||
'hrsh7th/cmp-calc',
|
||||
'saadparwaiz1/cmp_luasnip',
|
||||
'hrsh7th/cmp-nvim-lsp-signature-help',
|
||||
'f3fora/cmp-spell',
|
||||
},
|
||||
config = function ()
|
||||
local cmp_status_ok, cmp = pcall(require, 'cmp')
|
||||
if not cmp_status_ok then
|
||||
return
|
||||
end
|
||||
|
||||
local luasnip_status_ok, luasnip = pcall(require, 'luasnip')
|
||||
if not luasnip_status_ok then
|
||||
return
|
||||
end
|
||||
|
||||
require("luasnip.loaders.from_vscode").lazy_load()
|
||||
|
||||
cmp.setup({
|
||||
-- Load snippet support
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
require('luasnip').lsp_expand(args.body)
|
||||
end
|
||||
},
|
||||
|
||||
-- Completion settings
|
||||
completion = {
|
||||
--completeopt = 'menu,menuone,noselect'
|
||||
keyword_length = 1
|
||||
},
|
||||
window = {
|
||||
completion = {
|
||||
winhighlight = "Normal:Pmenu,FloatBorder:Pmenu,Search:None",
|
||||
col_offset = -3,
|
||||
side_padding = 0,
|
||||
border = 'rounded',
|
||||
scrollbar = '+',
|
||||
},
|
||||
documentation = {
|
||||
border = 'rounded',
|
||||
scrollbar = '|',
|
||||
}
|
||||
},
|
||||
|
||||
-- Key mapping
|
||||
mapping = {
|
||||
['<C-n>'] = cmp.mapping.select_next_item(),
|
||||
['<C-p>'] = cmp.mapping.select_prev_item(),
|
||||
['<C-d>'] = cmp.mapping.scroll_docs(-4),
|
||||
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
||||
['<C-Space>'] = cmp.mapping.complete(),
|
||||
["<C-e>"] = cmp.mapping({
|
||||
i = cmp.mapping.abort(),
|
||||
c = cmp.mapping.close(),
|
||||
}),
|
||||
["<C-y>"] = cmp.config.disable,
|
||||
['<CR>'] = cmp.mapping.confirm {
|
||||
select = false,
|
||||
},
|
||||
-- Tab mapping
|
||||
['<Tab>'] = function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
elseif luasnip.expand_or_jumpable() then
|
||||
luasnip.expand_or_jump()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end,
|
||||
['<S-Tab>'] = function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item()
|
||||
elseif luasnip.jumpable(-1) then
|
||||
luasnip.jump(-1)
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end,
|
||||
},
|
||||
sources = {
|
||||
{ name = 'nvim_lsp', },
|
||||
{ name = 'luasnip', },
|
||||
{ name = 'path' },
|
||||
{ name = 'calc' },
|
||||
{ name = 'nvim_lsp_signature_help' },
|
||||
{ name = 'buffer' },
|
||||
},
|
||||
formatting = {
|
||||
fields = {'menu', 'abbr', 'kind'},
|
||||
format = function(entry, item)
|
||||
local menu_icon = {
|
||||
nvim_lsp = 'λ',
|
||||
luasnip = '⋗',
|
||||
buffer = 'Ω',
|
||||
path = '',
|
||||
calc = '',
|
||||
nvim_lsp_signature_help = '',
|
||||
}
|
||||
item.menu = menu_icon[entry.source.name]
|
||||
return item
|
||||
end,
|
||||
},
|
||||
sorting = {
|
||||
comparators = {
|
||||
cmp.config.compare.offset,
|
||||
cmp.config.compare.exact,
|
||||
cmp.config.compare.score,
|
||||
cmp.config.compare.recently_used,
|
||||
require("cmp-under-comparator").under,
|
||||
cmp.config.compare.kind,
|
||||
},
|
||||
},
|
||||
})
|
||||
-- Set up lspconfig.
|
||||
local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
||||
-- Replace <YOUR_LSP_SERVER> with each lsp server you've enabled.
|
||||
require'lspconfig'.pyright.setup {
|
||||
capabilities = capabilities
|
||||
}
|
||||
end
|
||||
}
|
||||
73
nvim/.config/nvim/lua/plugins/nvim-lspconfig.lua
Normal file
73
nvim/.config/nvim/lua/plugins/nvim-lspconfig.lua
Normal file
@ -0,0 +1,73 @@
|
||||
return {
|
||||
'neovim/nvim-lspconfig',
|
||||
config = function()
|
||||
-- Setup language servers.
|
||||
local lspconfig = require('lspconfig')
|
||||
lspconfig.pyright.setup {}
|
||||
lspconfig.pylsp.setup {}
|
||||
-- Server-specific settings. See `:help lspconfig-setup`
|
||||
settings = {
|
||||
['pyright'] = {
|
||||
cmd = {"pyright-langserver", "--stdio"},
|
||||
root_dir = function(fname)
|
||||
local root_files = {
|
||||
'pyproject.toml',
|
||||
'setup.py',
|
||||
'setup.cfg',
|
||||
'requirements.txt',
|
||||
'Pipfile',
|
||||
}
|
||||
return util.root_pattern(unpack(root_files))(fname) or util.find_git_ancestor(fname)
|
||||
end,
|
||||
settings = {
|
||||
pylsp = {
|
||||
configurationSources = {"pylint"},
|
||||
plugins = {
|
||||
pylint = { enabled = true },
|
||||
flake8 = { enabled = false },
|
||||
pycodestyle = { enabled = false },
|
||||
pyflakes = { enabled = false },
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
-- Global mappings.
|
||||
-- See `:help vim.diagnostic.*` for documentation on any of the below functions
|
||||
vim.keymap.set('n', '<space>e', vim.diagnostic.open_float)
|
||||
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev)
|
||||
vim.keymap.set('n', ']d', vim.diagnostic.goto_next)
|
||||
vim.keymap.set('n', '<space>q', vim.diagnostic.setloclist)
|
||||
|
||||
-- Use LspAttach autocommand to only map the following keys
|
||||
-- after the language server attaches to the current buffer
|
||||
vim.api.nvim_create_autocmd('LspAttach', {
|
||||
group = vim.api.nvim_create_augroup('UserLspConfig', {}),
|
||||
callback = function(ev)
|
||||
-- Enable completion triggered by <c-x><c-o>
|
||||
vim.bo[ev.buf].omnifunc = 'v:lua.vim.lsp.omnifunc'
|
||||
|
||||
-- Buffer local mappings.
|
||||
-- See `:help vim.lsp.*` for documentation on any of the below functions
|
||||
local opts = { buffer = ev.buf }
|
||||
vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, opts)
|
||||
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, opts)
|
||||
vim.keymap.set('n', 'K', vim.lsp.buf.hover, opts)
|
||||
vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, opts)
|
||||
vim.keymap.set('n', '<C-k>', vim.lsp.buf.signature_help, opts)
|
||||
vim.keymap.set('n', '<space>wa', vim.lsp.buf.add_workspace_folder, opts)
|
||||
vim.keymap.set('n', '<space>wr', vim.lsp.buf.remove_workspace_folder, opts)
|
||||
vim.keymap.set('n', '<space>wl', function()
|
||||
print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
|
||||
end, opts)
|
||||
vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition, opts)
|
||||
vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, opts)
|
||||
vim.keymap.set({ 'n', 'v' }, '<space>ca', vim.lsp.buf.code_action, opts)
|
||||
vim.keymap.set('n', 'gr', vim.lsp.buf.references, opts)
|
||||
vim.keymap.set('n', '<space>f', function()
|
||||
vim.lsp.buf.format { async = true }
|
||||
end, opts)
|
||||
end,
|
||||
})
|
||||
end
|
||||
}
|
||||
26
nvim/.config/nvim/lua/plugins/nvim-treesitter.lua
Normal file
26
nvim/.config/nvim/lua/plugins/nvim-treesitter.lua
Normal file
@ -0,0 +1,26 @@
|
||||
--local status_ok, nvim_treesitter = pcall(require, 'nvim-treesitter.configs')
|
||||
--if not status_ok then
|
||||
-- return
|
||||
--end
|
||||
|
||||
return {
|
||||
'nvim-treesitter/nvim-treesitter',
|
||||
build = ":TSUpdate",
|
||||
config = function ()
|
||||
local configs = require("nvim-treesitter.configs")
|
||||
configs.setup({
|
||||
-- require('nvim-treesitter.install').update({ with_sync = true })
|
||||
-- A list of parser names, or "all"
|
||||
ensure_installed = {
|
||||
'bash', 'css', 'json', 'lua', 'python',
|
||||
'vim', 'yaml',
|
||||
},
|
||||
sync_install = true,
|
||||
highlight = {
|
||||
enable = true,
|
||||
additional_vim_regex_highlighting = true,
|
||||
},
|
||||
indent = { enable = true },
|
||||
})
|
||||
end
|
||||
}
|
||||
159
nvim/.config/nvim/lua/plugins/telescope.lua
Normal file
159
nvim/.config/nvim/lua/plugins/telescope.lua
Normal file
@ -0,0 +1,159 @@
|
||||
return {
|
||||
{
|
||||
'nvim-telescope/telescope.nvim', tag = '0.1.1',
|
||||
dependencies = {
|
||||
'nvim-lua/plenary.nvim',
|
||||
'nvim-telescope/telescope-live-grep-args.nvim',
|
||||
},
|
||||
|
||||
config = function ()
|
||||
local g = vim.g
|
||||
local fb_actions = require "telescope".extensions.file_browser.actions
|
||||
local themes = {
|
||||
popup_list = {
|
||||
theme = 'popup_list',
|
||||
border = true,
|
||||
preview = false,
|
||||
prompt_title = false,
|
||||
results_title = false,
|
||||
sorting_strategy = 'ascending',
|
||||
layout_strategy = 'center',
|
||||
borderchars = {
|
||||
prompt = { '─', '│', '─', '│', '┌', '┐', '┤', '└' },
|
||||
results = { '─', '│', '─', '│', '├', '┤', '┘', '└' },
|
||||
preview = { '─', '│', '─', '│', '┌', '┐', '┘', '└' },
|
||||
},
|
||||
},
|
||||
popup_extended = {
|
||||
theme = 'popup_extended',
|
||||
prompt_title = false,
|
||||
results_title = false,
|
||||
layout_strategy = 'center',
|
||||
layout_config = {
|
||||
width = 0.7,
|
||||
height = 0.3,
|
||||
mirror = true,
|
||||
preview_cutoff = 1,
|
||||
},
|
||||
borderchars = {
|
||||
prompt = { '─', '│', ' ', '│', '┌', '┐', '│', '│' },
|
||||
results = { '─', '│', '─', '│', '├', '┤', '┘', '└' },
|
||||
preview = { '─', '│', '─', '│', '┌', '┐', '┘', '└' },
|
||||
},
|
||||
},
|
||||
command_pane = {
|
||||
theme = 'command_pane',
|
||||
preview = false,
|
||||
prompt_title = false,
|
||||
results_title = false,
|
||||
sorting_strategy = 'descending',
|
||||
layout_strategy = 'bottom_pane',
|
||||
layout_config = {
|
||||
height = 13,
|
||||
preview_cutoff = 1,
|
||||
prompt_position = 'bottom'
|
||||
},
|
||||
},
|
||||
ivy_plus = {
|
||||
theme = 'ivy_plus',
|
||||
preview = false,
|
||||
prompt_title = false,
|
||||
results_title = false,
|
||||
layout_strategy = 'bottom_pane',
|
||||
layout_config = {
|
||||
height = 13,
|
||||
preview_cutoff = 120,
|
||||
prompt_position = 'bottom'
|
||||
},
|
||||
borderchars = {
|
||||
prompt = { '─', '│', '─', '│', '┌', '┐', '┘', '└' },
|
||||
results = { '─', '│', '─', '│', '┌', '┬', '┴', '└' },
|
||||
preview = { '─', '│', ' ', ' ', '─', '┐', '│', ' ' },
|
||||
},
|
||||
},
|
||||
}
|
||||
local telescope_installer = require('telescope').setup({
|
||||
defaults = {
|
||||
border = true,
|
||||
prompt_title = false,
|
||||
results_title = false,
|
||||
color_devicons = false,
|
||||
layout_strategy = 'horizontal',
|
||||
borderchars = {
|
||||
prompt = { '─', '│', '─', '│', '┌', '┐', '┘', '└' },
|
||||
results = { '─', '│', '─', '│', '┌', '┐', '┘', '└' },
|
||||
preview = { '─', '│', '─', '│', '┌', '┐', '┘', '└' },
|
||||
},
|
||||
layout_config = {
|
||||
bottom_pane = {
|
||||
height = 20,
|
||||
preview_cutoff = 120,
|
||||
prompt_position = 'top'
|
||||
},
|
||||
center = {
|
||||
height = 0.4,
|
||||
preview_cutoff = 40,
|
||||
prompt_position = 'top',
|
||||
width = 0.7
|
||||
},
|
||||
horizontal = {
|
||||
prompt_position = 'top',
|
||||
preview_cutoff = 40,
|
||||
height = 0.9,
|
||||
width = 0.8
|
||||
}
|
||||
},
|
||||
sorting_strategy = 'ascending',
|
||||
prompt_prefix = ' ',
|
||||
selection_caret = ' → ',
|
||||
entry_prefix = ' ',
|
||||
file_ignore_patterns = {'node_modules'},
|
||||
path_display = { 'truncate' },
|
||||
results_title = false,
|
||||
prompt_title =false,
|
||||
preview = {
|
||||
treesitter = {
|
||||
enable = {
|
||||
'css', 'dockerfile', 'elixir', 'erlang', 'zsh',
|
||||
'html', 'http', 'javascript', 'json', 'lua', 'php',
|
||||
'python', 'regex', 'ruby', 'rust', 'scss',
|
||||
'typescript', 'yaml', 'markdown', 'bash', 'c',
|
||||
'cmake', 'comment', 'cpp', 'dart', 'go', 'jsdoc',
|
||||
'json5', 'jsonc', 'llvm', 'make', 'ninja',
|
||||
'todotxt', 'toml', 'help'
|
||||
}
|
||||
}
|
||||
},
|
||||
mappings = {
|
||||
i = {
|
||||
['<esc>'] = require('telescope.actions').close,
|
||||
},
|
||||
}
|
||||
},
|
||||
extensions = {
|
||||
file_browser = {
|
||||
mappings = {
|
||||
["i"] = {
|
||||
["<C-c>"] = fb_actions.create,
|
||||
["<C-y>"] = fb_actions.copy,
|
||||
["<C-r>"] = fb_actions.rename,
|
||||
["<C-w>"] = fb_actions.goto_cwd,
|
||||
["<C-o>"] = fb_actions.open,
|
||||
["<C-d>"] = fb_actions.remove,
|
||||
},
|
||||
},
|
||||
},
|
||||
fzf = {
|
||||
fuzzy = true, -- false will only do exact matching
|
||||
override_generic_sorter = true, -- override the generic sorter
|
||||
override_file_sorter = true, -- override the file sorter
|
||||
case_mode = 'smart_case', -- other options: 'ignore_case' or 'respect_case'
|
||||
}
|
||||
}
|
||||
})
|
||||
require("telescope").load_extension "file_browser"
|
||||
require("telescope").load_extension "live_grep_args"
|
||||
end
|
||||
|
||||
}}
|
||||
|
||||
@ -1,243 +0,0 @@
|
||||
{
|
||||
"plugins": {
|
||||
"LuaSnip": {
|
||||
"rev": "a62e1083a3cfe8b6b206e7d3d33a51091df25357",
|
||||
"src": "https://github.com/L3MON4D3/LuaSnip"
|
||||
},
|
||||
"async.vim": {
|
||||
"rev": "2082d13bb195f3203d41a308b89417426a7deca1",
|
||||
"src": "https://github.com/prabirshrestha/async.vim"
|
||||
},
|
||||
"barbar.nvim": {
|
||||
"rev": "539d73def39c9172b4d4d769f14090e08f37b29d",
|
||||
"src": "https://github.com/romgrk/barbar.nvim"
|
||||
},
|
||||
"blink.cmp": {
|
||||
"rev": "a327b19a419347084074cce77f6cd074f54705ac",
|
||||
"src": "https://github.com/saghen/blink.cmp",
|
||||
"version": ">=0.0.0"
|
||||
},
|
||||
"codecompanion-history.nvim": {
|
||||
"rev": "bc1b4fe06eaaf0aa2399be742e843c22f7f1652a",
|
||||
"src": "https://github.com/ravitemer/codecompanion-history.nvim"
|
||||
},
|
||||
"codecompanion.nvim": {
|
||||
"rev": "7d7957c26d33a97085d3a0c82eeb0147a0f51314",
|
||||
"src": "https://github.com/olimorris/codecompanion.nvim"
|
||||
},
|
||||
"dashboard-nvim": {
|
||||
"rev": "62a10d9d55132b338dd742afc3c8a2683f3dd426",
|
||||
"src": "https://github.com/nvimdev/dashboard-nvim"
|
||||
},
|
||||
"deadcolumn.nvim": {
|
||||
"rev": "92c86f10bfba2717ca2280e2e759b047135d5288",
|
||||
"src": "https://github.com/Bekaboo/deadcolumn.nvim"
|
||||
},
|
||||
"dracula.nvim": {
|
||||
"rev": "ae752c13e95fb7c5f58da4b5123cb804ea7568ee",
|
||||
"src": "https://github.com/Mofiqul/dracula.nvim"
|
||||
},
|
||||
"eldritch.nvim": {
|
||||
"rev": "0415fa72c348e814a7a6cc9405593a4f812fe12f",
|
||||
"src": "https://github.com/eldritch-theme/eldritch.nvim"
|
||||
},
|
||||
"f-string-toggle.nvim": {
|
||||
"rev": "c1c77b4fce192e1615490d895863e2a0508d6021",
|
||||
"src": "https://github.com/roobert/f-string-toggle.nvim"
|
||||
},
|
||||
"fidget.nvim": {
|
||||
"rev": "889e2e96edef4e144965571d46f7a77bcc4d0ddf",
|
||||
"src": "https://github.com/j-hui/fidget.nvim"
|
||||
},
|
||||
"flemma.nvim": {
|
||||
"rev": "589b45f0911944e6f0833c23137186acca36b469",
|
||||
"src": "https://github.com/Flemma-Dev/flemma.nvim"
|
||||
},
|
||||
"friendly-snippets": {
|
||||
"rev": "6cd7280adead7f586db6fccbd15d2cac7e2188b9",
|
||||
"src": "https://github.com/rafamadriz/friendly-snippets"
|
||||
},
|
||||
"gitsigns.nvim": {
|
||||
"rev": "8d82c240f190fc33723d48c308ccc1ed8baad69d",
|
||||
"src": "https://github.com/lewis6991/gitsigns.nvim"
|
||||
},
|
||||
"hackthebox.vim": {
|
||||
"rev": "91a84adea2319e3701d76eaa25ae56795ad4dd0d",
|
||||
"src": "https://github.com/audibleblink/hackthebox.vim"
|
||||
},
|
||||
"headlines.nvim": {
|
||||
"rev": "bf17c96a836ea27c0a7a2650ba385a7783ed322e",
|
||||
"src": "https://github.com/lukas-reineke/headlines.nvim"
|
||||
},
|
||||
"hover.nvim": {
|
||||
"rev": "e73c00da3a9c87a21d2a8ddf7ab4a39824bd5d56",
|
||||
"src": "https://github.com/lewis6991/hover.nvim"
|
||||
},
|
||||
"indent-blankline.nvim": {
|
||||
"rev": "d28a3f70721c79e3c5f6693057ae929f3d9c0a03",
|
||||
"src": "https://github.com/lukas-reineke/indent-blankline.nvim"
|
||||
},
|
||||
"kanagawa.nvim": {
|
||||
"rev": "aef7f5cec0a40dbe7f3304214850c472e2264b10",
|
||||
"src": "https://github.com/rebelot/kanagawa.nvim"
|
||||
},
|
||||
"koda.nvim": {
|
||||
"rev": "a560a332ccc1eb2caacb280a390213bb9f37b3cb",
|
||||
"src": "https://github.com/oskarnurm/koda.nvim"
|
||||
},
|
||||
"lualine.nvim": {
|
||||
"rev": "8811f3f3f4dc09d740c67e9ce399e7a541e2e5b2",
|
||||
"src": "https://github.com/nvim-lualine/lualine.nvim"
|
||||
},
|
||||
"mcphub.nvim": {
|
||||
"rev": "7cd5db330f41b7bae02b2d6202218a061c3ebc1f",
|
||||
"src": "https://github.com/ravitemer/mcphub.nvim"
|
||||
},
|
||||
"mini.icons": {
|
||||
"rev": "7fdae2443a0e2910015ca39ad74b50524ee682d3",
|
||||
"src": "https://github.com/echasnovski/mini.icons"
|
||||
},
|
||||
"mini.nvim": {
|
||||
"rev": "2431902e78b76f435542d1e606f08475360068ca",
|
||||
"src": "https://github.com/nvim-mini/mini.nvim"
|
||||
},
|
||||
"mkdnflow.nvim": {
|
||||
"rev": "f20732686f70f60f18f09f4befe984ae63a99201",
|
||||
"src": "https://github.com/jakewvincent/mkdnflow.nvim"
|
||||
},
|
||||
"morta.nvim": {
|
||||
"rev": "10b4cdb8b7ae3f814b77f617f985245b3c11c1fa",
|
||||
"src": "https://github.com/philosofonusus/morta.nvim"
|
||||
},
|
||||
"nightfox.nvim": {
|
||||
"rev": "ba47d4b4c5ec308718641ba7402c143836f35aa9",
|
||||
"src": "https://github.com/EdenEast/nightfox.nvim"
|
||||
},
|
||||
"noice.nvim": {
|
||||
"rev": "7bfd942445fb63089b59f97ca487d605e715f155",
|
||||
"src": "https://github.com/folke/noice.nvim"
|
||||
},
|
||||
"nui.nvim": {
|
||||
"rev": "de740991c12411b663994b2860f1a4fd0937c130",
|
||||
"src": "https://github.com/MunifTanjim/nui.nvim"
|
||||
},
|
||||
"numb.nvim": {
|
||||
"rev": "12ef3913dea8727d4632c6f2ed47957a993de627",
|
||||
"src": "https://github.com/nacro90/numb.nvim"
|
||||
},
|
||||
"nvim": {
|
||||
"rev": "426dbebe06b5c69fd846ceb17b42e12f890aedf1",
|
||||
"src": "https://github.com/catppuccin/nvim"
|
||||
},
|
||||
"nvim-notify": {
|
||||
"rev": "8701bece920b38ea289b457f902e2ad184131a5d",
|
||||
"src": "https://github.com/rcarriga/nvim-notify"
|
||||
},
|
||||
"nvim-tree.lua": {
|
||||
"rev": "509962f21ab7289d8dcd28568af539be39a8c01e",
|
||||
"src": "https://github.com/nvim-tree/nvim-tree.lua"
|
||||
},
|
||||
"nvim-treesitter": {
|
||||
"rev": "4916d6592ede8c07973490d9322f187e07dfefac",
|
||||
"src": "https://github.com/nvim-treesitter/nvim-treesitter"
|
||||
},
|
||||
"nvim-web-devicons": {
|
||||
"rev": "95b7a002d5dba1a42eb58f5fac5c565a485eefd0",
|
||||
"src": "https://github.com/nvim-tree/nvim-web-devicons"
|
||||
},
|
||||
"nvimtelescope": {
|
||||
"rev": "3333a52ff548ba0a68af6d8da1e54f9cd96e9179",
|
||||
"src": "https://github.com/nvim-telescope/telescope.nvim",
|
||||
"version": "'v0.2.1'"
|
||||
},
|
||||
"obsidian.nvim": {
|
||||
"rev": "726b60c89f4bafef267a714ea1faa1335bdd414a",
|
||||
"src": "https://github.com/epwalsh/obsidian.nvim"
|
||||
},
|
||||
"plenary.nvim": {
|
||||
"rev": "b9fd5226c2f76c951fc8ed5923d85e4de065e509",
|
||||
"src": "https://github.com/nvim-lua/plenary.nvim"
|
||||
},
|
||||
"rainbow-delimiters.nvim": {
|
||||
"rev": "aab6caaffd79b8def22ec4320a5344f7c42f58d2",
|
||||
"src": "https://github.com/HiPhish/rainbow-delimiters.nvim"
|
||||
},
|
||||
"rainbow_csv.nvim": {
|
||||
"rev": "26de78d8324f7ac6a3e478319d1eb1f17123eb5b",
|
||||
"src": "https://github.com/cameron-wags/rainbow_csv.nvim"
|
||||
},
|
||||
"ripgrep": {
|
||||
"rev": "4519153e5e461527f4bca45b042fff45c4ec6fb9",
|
||||
"src": "https://github.com/BurntSushi/ripgrep"
|
||||
},
|
||||
"solarized-osaka.nvim": {
|
||||
"rev": "f0c2f0ba0bd56108d53c9bfae4bb28ff6c67bbdb",
|
||||
"src": "https://github.com/craftzdog/solarized-osaka.nvim"
|
||||
},
|
||||
"telescope": {
|
||||
"rev": "3333a52ff548ba0a68af6d8da1e54f9cd96e9179",
|
||||
"src": "https://github.com/nvim-telescope/telescope.nvim",
|
||||
"version": "'v0.2.1'"
|
||||
},
|
||||
"telescope-cmdline.nvim": {
|
||||
"rev": "b1c330835563c9628ce7c095cf20772f22f93f07",
|
||||
"src": "https://github.com/jonarrien/telescope-cmdline.nvim"
|
||||
},
|
||||
"telescope-file-browser.nvim": {
|
||||
"rev": "3610dc7dc91f06aa98b11dca5cc30dfa98626b7e",
|
||||
"src": "https://github.com/nvim-telescope/telescope-file-browser.nvim"
|
||||
},
|
||||
"telescope-fzf-native.nvim": {
|
||||
"rev": "6fea601bd2b694c6f2ae08a6c6fab14930c60e2c",
|
||||
"src": "https://github.com/nvim-telescope/telescope-fzf-native.nvim"
|
||||
},
|
||||
"telescope-live-grep-args.nvim": {
|
||||
"rev": "53e9df55b3651dd7cf77e172f1e8c9a17407acca",
|
||||
"src": "https://github.com/nvim-telescope/telescope-live-grep-args.nvim"
|
||||
},
|
||||
"telescope.nvim": {
|
||||
"rev": "7ef4d6dccb78ee71e552bbd866176762ad328afa",
|
||||
"src": "https://github.com/nvim-telescope/telescope.nvim"
|
||||
},
|
||||
"tiny-inline-diagnostic.nvim": {
|
||||
"rev": "57a0eb84b2008c76e77930639890d9874195b1e1",
|
||||
"src": "https://github.com/rachartier/tiny-inline-diagnostic.nvim"
|
||||
},
|
||||
"tmux.nvim": {
|
||||
"rev": "2c1c3be0ef287073cef963f2aefa31a15c8b9cd8",
|
||||
"src": "https://github.com/aserowy/tmux.nvim"
|
||||
},
|
||||
"todo-comments.nvim": {
|
||||
"rev": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668",
|
||||
"src": "https://github.com/folke/todo-comments.nvim"
|
||||
},
|
||||
"toggleterm.nvim": {
|
||||
"rev": "9a88eae817ef395952e08650b3283726786fb5fb",
|
||||
"src": "https://github.com/akinsho/toggleterm.nvim"
|
||||
},
|
||||
"tokyonight.nvim": {
|
||||
"rev": "cdc07ac78467a233fd62c493de29a17e0cf2b2b6",
|
||||
"src": "https://github.com/folke/tokyonight.nvim"
|
||||
},
|
||||
"trouble.nvim": {
|
||||
"rev": "bd67efe408d4816e25e8491cc5ad4088e708a69a",
|
||||
"src": "https://github.com/folke/trouble.nvim"
|
||||
},
|
||||
"vim-arsync": {
|
||||
"rev": "dd5fd93182aafb67ede2ef465f379610980b52d3",
|
||||
"src": "https://github.com/kenn7/vim-arsync"
|
||||
},
|
||||
"vim-nightfly-colors": {
|
||||
"rev": "250ee0eb4975e59a277f50cc03c980eef27fb483",
|
||||
"src": "https://github.com/bluz71/vim-nightfly-colors"
|
||||
},
|
||||
"vim-wakatime": {
|
||||
"rev": "d7973b157a632d1edeff01818f18d67e584eeaff",
|
||||
"src": "https://github.com/wakatime/vim-wakatime"
|
||||
},
|
||||
"which-key.nvim": {
|
||||
"rev": "3aab2147e74890957785941f0c1ad87d0a44c15a",
|
||||
"src": "https://github.com/folke/which-key.nvim"
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,82 +0,0 @@
|
||||
vim.api.nvim_create_autocmd('PackChanged', {
|
||||
callback = function(ev)
|
||||
if ev.data.spec.name == 'blink.cmp' then
|
||||
local res = vim.system({ 'cargo', 'build', '--release' }, { cwd = ev.data.path })
|
||||
if vim.v.shell_error ~= 0 then
|
||||
vim.notify('Failed to compile blink.cmp: ' .. res, vim.log.levels.ERROR)
|
||||
else
|
||||
vim.notify('Successfully compiled blink.cmp', vim.log.levels.INFO)
|
||||
end
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
vim.pack.add({
|
||||
{src = "https://github.com/saghen/blink.cmp", version = vim.version.range("*")}
|
||||
})
|
||||
|
||||
require("blink.cmp").setup({
|
||||
fuzzy = { implementation = "rust" },
|
||||
keymap = {
|
||||
preset = "default",
|
||||
['<C-space>'] = { 'show', 'show_documentation', 'hide_documentation' },
|
||||
['<C-e>'] = { 'hide', 'fallback' },
|
||||
['<Tab>'] = {
|
||||
function(cmp)
|
||||
if cmp.snippet_active() then return cmp.accept()
|
||||
else return cmp.select_and_accept() end
|
||||
end,
|
||||
'snippet_forward',
|
||||
'fallback'
|
||||
},
|
||||
['<S-Tab>'] = { 'snippet_backward', 'fallback' },
|
||||
['<Up>'] = { 'select_prev', 'fallback' },
|
||||
['<Down>'] = { 'select_next', 'fallback' },
|
||||
['<C-p>'] = { 'select_prev', 'fallback' },
|
||||
['<C-n>'] = { 'select_next', 'fallback' },
|
||||
['<C-b>'] = { 'scroll_documentation_up', 'fallback' },
|
||||
['<C-f>'] = { 'scroll_documentation_down', 'fallback' },
|
||||
},
|
||||
appearance = {
|
||||
nerd_font_variant = 'mono',
|
||||
},
|
||||
completion = {documentation = { auto_show = true },
|
||||
},
|
||||
sources = {
|
||||
per_filetype = {
|
||||
},
|
||||
default = {'lsp', 'path', 'snippets', 'buffer' },
|
||||
providers = {
|
||||
lsp = {
|
||||
name = "[Lsp]",
|
||||
module = "blink.cmp.sources.lsp",
|
||||
opts = {}, -- Passed to the source directly, varies by source
|
||||
enabled = true, -- Whether or not to enable the provider
|
||||
async = true, -- Whether we should wait for the provider to return before showing the completions
|
||||
timeout_ms = 1000, -- How long to wait for the provider to return before showing completions and treating it as asynchronous
|
||||
transform_items = nil, -- Function to transform the items before they're returned
|
||||
should_show_items = true, -- Whether or not to show the items
|
||||
max_items = nil, -- Maximum number of items to display in the menu
|
||||
min_keyword_length = 0, -- Minimum number of characters in the keyword to trigger the provider
|
||||
fallbacks = {},
|
||||
score_offset = 7, -- Boost/penalize the score of the items
|
||||
override = nil, -- Override the source's functions
|
||||
},
|
||||
path = {
|
||||
name = "[Path]",
|
||||
module = "blink.cmp.sources.path",
|
||||
fallbacks = { "buffer" },
|
||||
score_offset = 5,
|
||||
opts = {
|
||||
trailing_slash = true,
|
||||
label_trailing_slash = true,
|
||||
get_cwd = function(context)
|
||||
return vim.fn.expand(("#%d:p:h"):format(context.bufnr))
|
||||
end,
|
||||
show_hidden_files_by_default = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
-- }
|
||||
})
|
||||
@ -1,29 +0,0 @@
|
||||
-- vim.pack.add({"https://github.com/olimorris/codecompanion.nvim"})
|
||||
-- require("codecompanion").setup({
|
||||
-- strategies = {
|
||||
-- chat = {
|
||||
-- adapter = 'anthropic',
|
||||
-- },
|
||||
-- inline = {
|
||||
-- adapter = 'anthropic',
|
||||
-- },
|
||||
-- },
|
||||
-- adapters = {
|
||||
-- http = {
|
||||
-- anthropic = function()
|
||||
-- return require("codecompanion.adapters").extend("anthropic", {
|
||||
-- env = {
|
||||
-- -- Enter API KEY Here
|
||||
-- api_key = ""
|
||||
-- },
|
||||
-- })
|
||||
-- end,
|
||||
-- },
|
||||
-- },
|
||||
-- -- NOTE: The log_level is in `opts.opts`
|
||||
-- opts = {
|
||||
-- opts = {
|
||||
-- log_level = "DEBUG",
|
||||
-- }
|
||||
-- }
|
||||
-- })
|
||||
@ -1,16 +0,0 @@
|
||||
vim.pack.add({
|
||||
"https://github.com/oskarnurm/koda.nvim",
|
||||
"https://github.com/eldritch-theme/eldritch.nvim",
|
||||
"https://github.com/audibleblink/hackthebox.vim",
|
||||
"https://github.com/craftzdog/solarized-osaka.nvim",
|
||||
"https://github.com/philosofonusus/morta.nvim",
|
||||
"https://github.com/Mofiqul/dracula.nvim",
|
||||
"https://github.com/EdenEast/nightfox.nvim",
|
||||
-- "https://github.com/rebelot/kanagawa.nvim",
|
||||
"https://github.com/catppuccin/nvim",
|
||||
"https://github.com/folke/tokyonight.nvim",
|
||||
"https://github.com/bluz71/vim-nightfly-colors",
|
||||
"https://github.com/Bekaboo/deadcolumn.nvim",
|
||||
})
|
||||
vim.cmd('colorscheme dracula')
|
||||
|
||||
@ -1,34 +0,0 @@
|
||||
vim.pack.add({
|
||||
"https://github.com/nvimdev/dashboard-nvim"
|
||||
})
|
||||
require("dashboard").setup({
|
||||
theme = 'hyper',
|
||||
config = {
|
||||
week_header = {
|
||||
enable = true,
|
||||
},
|
||||
shortcut = {
|
||||
{ desc = ' Update', group = '@property', action = 'lua vim.pack.update()', key = 'u' },
|
||||
{
|
||||
icon = ' ',
|
||||
icon_hl = '@variable',
|
||||
desc = 'Files',
|
||||
group = 'Label',
|
||||
action = 'Telescope find_files',
|
||||
key = 'f',
|
||||
},
|
||||
-- {
|
||||
-- desc = ' NeoWarrior',
|
||||
-- group = 'DiagnosticHint',
|
||||
-- action = 'NeoWarriorOpen current',
|
||||
-- key = 'n',
|
||||
-- },
|
||||
-- {
|
||||
-- desc = ' dotfiles',
|
||||
-- group = 'Number',
|
||||
-- action = 'Telescope dotfiles',
|
||||
-- key = 'd',
|
||||
-- },
|
||||
},
|
||||
},
|
||||
})
|
||||
@ -1,46 +0,0 @@
|
||||
vim.pack.add({"https://github.com/lukas-reineke/headlines.nvim"})
|
||||
require("headlines").setup({
|
||||
markdown = {
|
||||
query = vim.treesitter.query.parse(
|
||||
"markdown",
|
||||
[[
|
||||
(atx_heading [
|
||||
(atx_h1_marker)
|
||||
(atx_h2_marker)
|
||||
(atx_h3_marker)
|
||||
(atx_h4_marker)
|
||||
(atx_h5_marker)
|
||||
(atx_h6_marker)
|
||||
] @headline)
|
||||
|
||||
(thematic_break) @dash
|
||||
|
||||
(fenced_code_block) @codeblock
|
||||
|
||||
(block_quote_marker) @quote
|
||||
(block_quote (paragraph (inline (block_continuation) @quote)))
|
||||
]]
|
||||
),
|
||||
headline_highlights = {
|
||||
'Headline1',
|
||||
'Headline2',
|
||||
'Headline3',
|
||||
'Headline4',
|
||||
'Headline5',
|
||||
'Headline6',
|
||||
},
|
||||
codeblock_highlight = "CodeBlock",
|
||||
dash_highlight = "Dash",
|
||||
dash_string = "-",
|
||||
quote_highlight = "Quote",
|
||||
quote_string = "┃",
|
||||
fat_headlines = false,
|
||||
},
|
||||
})
|
||||
vim.api.nvim_set_hl(0, 'Headline1', { fg = '#ffffff', bg = '#6272A4', italic = false })
|
||||
vim.api.nvim_set_hl(0, 'Headline2', { fg = '#000000', bg = '#8BE9FD', italic = false })
|
||||
vim.api.nvim_set_hl(0, 'Headline3', { fg = '#000000', bg = '#BD93F9', italic = false })
|
||||
vim.api.nvim_set_hl(0, 'Headline4', { fg = '#000000', bg = '#FFB86C', italic = false })
|
||||
vim.api.nvim_set_hl(0, 'Headline5', { fg = '#000000', bg = '#FF79C6', italic = false })
|
||||
vim.api.nvim_set_hl(0, 'Headline6', { fg = '#000000', bg = '#FF5555', italic = false })
|
||||
vim.api.nvim_set_hl(0, 'CodeBlock', { bg = '#222221' })
|
||||
@ -1,17 +0,0 @@
|
||||
vim.pack.add({"https://github.com/lewis6991/hover.nvim"})
|
||||
require("hover").setup({
|
||||
init = function()
|
||||
require("hover.providers.lsp")
|
||||
require('hover.providers.man')
|
||||
require('hover.providers.dictionary')
|
||||
end,
|
||||
preview_opts = {
|
||||
border = nil
|
||||
},
|
||||
preview_window = false,
|
||||
title = true
|
||||
})
|
||||
-- Setup keymaps
|
||||
vim.keymap.set("n", "K", require("hover").hover, {desc = "hover.nvim"})
|
||||
vim.keymap.set("n", "gK", require("hover").hover_select, {desc = "hover.nvim (select)"})
|
||||
|
||||
@ -1,184 +0,0 @@
|
||||
vim.pack.add({
|
||||
----------------------------------------------------------------
|
||||
-- LSP and Autocomplete Plugins
|
||||
-- They should be pulled first!
|
||||
-----------------------------------------------------------------
|
||||
"https://github.com/rachartier/tiny-inline-diagnostic.nvim",
|
||||
"https://github.com/L3MON4D3/LuaSnip",
|
||||
------------------------------------------------------------
|
||||
-- General Functionality
|
||||
------------------------------------------------------------
|
||||
"https://github.com/Flemma-Dev/flemma.nvim",
|
||||
"https://github.com/ravitemer/mcphub.nvim",
|
||||
"https://github.com/ravitemer/codecompanion-history.nvim",
|
||||
"https://github.com/folke/noice.nvim",
|
||||
"https://github.com/epwalsh/obsidian.nvim",
|
||||
"https://github.com/nvim-lua/plenary.nvim",
|
||||
"https://github.com/nvim-lualine/lualine.nvim",
|
||||
"https://github.com/rcarriga/nvim-notify",
|
||||
"https://github.com/kenn7/vim-arsync",
|
||||
"https://github.com/nacro90/numb.nvim",
|
||||
"https://github.com/nvim-tree/nvim-tree.lua",
|
||||
"https://github.com/aserowy/tmux.nvim",
|
||||
"https://github.com/MunifTanjim/nui.nvim",
|
||||
"https://github.com/roobert/f-string-toggle.nvim",
|
||||
"https://github.com/rafamadriz/friendly-snippets",
|
||||
"https://github.com/nvim-tree/nvim-web-devicons",
|
||||
"https://github.com/romgrk/barbar.nvim",
|
||||
"https://github.com/folke/trouble.nvim",
|
||||
"https://github.com/lewis6991/gitsigns.nvim",
|
||||
"https://github.com/jakewvincent/mkdnflow.nvim",
|
||||
"https://github.com/j-hui/fidget.nvim",
|
||||
"https://github.com/lukas-reineke/indent-blankline.nvim",
|
||||
"https://github.com/folke/todo-comments.nvim",
|
||||
"https://github.com/Bekaboo/deadcolumn.nvim",
|
||||
"https://github.com/HiPhish/rainbow-delimiters.nvim",
|
||||
"https://github.com/wakatime/vim-wakatime",
|
||||
"https://github.com/folke/which-key.nvim",
|
||||
"https://github.com/akinsho/toggleterm.nvim",
|
||||
"https://github.com/nvim-mini/mini.nvim",
|
||||
"https://github.com/prabirshrestha/async.vim",
|
||||
})
|
||||
|
||||
|
||||
require('tiny-inline-diagnostic').setup(vim.diagnostic.config({ virtual_text = true }))
|
||||
require("luasnip").setup({
|
||||
build = "make install_jsregexp",
|
||||
history = true,
|
||||
delete_check_events = "TextChanged",
|
||||
})
|
||||
require("luasnip").filetype_extend("liquid", {"html","css","javascript","python"})
|
||||
require("luasnip.loaders.from_vscode").lazy_load()
|
||||
require("luasnip.loaders.from_vscode").load({})
|
||||
require("lualine").setup({
|
||||
options = {
|
||||
theme = "nord",
|
||||
},
|
||||
sections = {
|
||||
lualine_x = {
|
||||
{
|
||||
require("noice").api.statusline.mode.get,
|
||||
cond = require("noice").api.statusline.mode.has,
|
||||
color = { fg = "#ff9e64" },
|
||||
},
|
||||
}
|
||||
},
|
||||
{"fileformat", symbols = { unix = " " }, "filetype" },
|
||||
})
|
||||
require("obsidian").setup({
|
||||
workspaces = {
|
||||
{
|
||||
name = "Work",
|
||||
path = "~/Documents/Work",
|
||||
}
|
||||
}
|
||||
})
|
||||
require("numb").setup({
|
||||
show_cursorline = false,
|
||||
show_numbers = false, -- Enable 'number' for the window while peeking
|
||||
hide_relativenumbers = false, -- Enable turning off 'relativenumber' for the window while peeking
|
||||
number_only = true, -- Peek only when the command is only a number instead of when it starts with a number
|
||||
centered_peeking = true,
|
||||
})
|
||||
require("nvim-tree").setup({
|
||||
sort_by = "case_sensitive",
|
||||
view = {
|
||||
width = 30,
|
||||
},
|
||||
renderer = {
|
||||
group_empty = true,
|
||||
},
|
||||
filters = {
|
||||
dotfiles = true,
|
||||
},
|
||||
diagnostics = {
|
||||
enable = true,
|
||||
},
|
||||
})
|
||||
require("f-string-toggle").setup({
|
||||
key_binding = "<leader>g"
|
||||
})
|
||||
require("barbar").setup({
|
||||
})
|
||||
require("trouble").setup({
|
||||
})
|
||||
require("which-key").setup({
|
||||
add = ({
|
||||
{ "<leader>?", function() require("which-key").show({ global = false }) end,
|
||||
desc = "Buffer Local Keymaps (which-key)",
|
||||
},
|
||||
})
|
||||
})
|
||||
require("notify").setup({
|
||||
-- timeout = 5000,
|
||||
-- render = "minimal",
|
||||
-- stages = "fade_in_slide_out",
|
||||
-- on_open = function(win)
|
||||
-- vim.api.nvim_win_set_config(win, { focusable = false })
|
||||
-- end,
|
||||
-- vim.keymap.set("n", "<Esc>", function()
|
||||
-- require("notify").dismiss()
|
||||
-- end, { desc = "dismiss notify popup and clear hlsearch" })
|
||||
-- vim.api.nvim_notify = require('notify')
|
||||
-- vim.notify = require('notify')
|
||||
-- end,
|
||||
})
|
||||
require("toggleterm").setup({
|
||||
opts = {
|
||||
direction = 'float',
|
||||
}
|
||||
})
|
||||
-- ------------------------------------------------------------
|
||||
-- -- echasnovski's Minis get a section of their own...
|
||||
-- ------------------------------------------------------------
|
||||
require("mini.move").setup({
|
||||
mappings = {
|
||||
left = '<S-left>',
|
||||
right = '<S-right>',
|
||||
down = '<S-down>',
|
||||
up = '<S-up>',
|
||||
|
||||
line_left = '<S-left>',
|
||||
line_right = '<S-right>',
|
||||
line_down = '<S-down>',
|
||||
line_up = '<S-up>',
|
||||
}})
|
||||
require("mini.trailspace").setup({
|
||||
})
|
||||
require("mini.surround").setup({
|
||||
})
|
||||
require("mini.pairs").setup({
|
||||
})
|
||||
require("mini.fuzzy").setup({
|
||||
})
|
||||
require("mini.hipatterns").setup({
|
||||
-- highlighters = {
|
||||
-- hex_color = gen_highlighter.hex_color(),
|
||||
-- hsl_color = {
|
||||
-- pattern = "hsl%(%d+,? %d+,? %d+%)",
|
||||
-- group = function(_, match)
|
||||
-- local utils = require("solarized-osaka.hsl")
|
||||
-- local nh, ns, nl = match:match("hsl%((%d+),? (%d+),? (%d+)%)")
|
||||
-- local h, s, l = tonumber(nh), tonumber(ns), tonumber(nl)
|
||||
-- local hex_color = utils.hslToHex(h, s, l)
|
||||
-- return MiniHipatterns.compute_hex_color_group(hex_color, "bg")
|
||||
-- end,
|
||||
-- },
|
||||
-- },
|
||||
})
|
||||
require("mini.indentscope").setup({
|
||||
})
|
||||
require("mini.diff").setup({
|
||||
})
|
||||
|
||||
----------------------------------------------
|
||||
--- Custom Plugins and Tests
|
||||
----------------------------------------------
|
||||
-- {
|
||||
-- dir = '/Users/normrasmussen/Documents/Projects/markdown_organizer.nvim',
|
||||
-- dev = true,
|
||||
-- name = 'MarkdownOrganizerPlugin',
|
||||
-- },
|
||||
-- }
|
||||
|
||||
|
||||
@ -1,186 +0,0 @@
|
||||
vim.api.nvim_create_autocmd('PackChanged', {
|
||||
callback = function(ev)
|
||||
if ev.data.spec.name == 'telescope' then
|
||||
local res = vim.system({ 'cmake', '-S.', '-Bbuild', '-DCMAKE_BUILD_TYPE=Release', 'cmake', '--build', 'build', '--config', 'Release', '--target', 'install' }, { cwd = ev.data.path })
|
||||
if vim.v.shell_error ~= 0 then
|
||||
vim.notify('Failed to compile telescope: ' .. res, vim.log.levels.ERROR)
|
||||
else
|
||||
vim.notify('Successfully compiled telescope', vim.log.levels.INFO)
|
||||
end
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
|
||||
vim.pack.add({
|
||||
"https://github.com/nvim-telescope/telescope.nvim",
|
||||
"https://github.com/nvim-lua/plenary.nvim",
|
||||
"https://github.com/nvim-telescope/telescope-file-browser.nvim",
|
||||
"https://github.com/nvim-telescope/telescope-fzf-native.nvim",
|
||||
"https://github.com/nvim-telescope/telescope-live-grep-args.nvim",
|
||||
"https://github.com/jonarrien/telescope-cmdline.nvim",
|
||||
"https://github.com/BurntSushi/ripgrep",
|
||||
})
|
||||
local builtin = require('telescope.builtin')
|
||||
vim.keymap.set('n', '<leader>ff', builtin.find_files, { desc = 'Telescope find files' })
|
||||
vim.keymap.set('n', '<leader>fg', builtin.live_grep, { desc = 'Telescope live grep' })
|
||||
vim.keymap.set('n', '<leader>fb', builtin.buffers, { desc = 'Telescope buffers' })
|
||||
vim.keymap.set('n', '<leader>fh', builtin.help_tags, { desc = 'Telescope help tags' })
|
||||
|
||||
require("telescope").setup({
|
||||
defaults = {
|
||||
border = true,
|
||||
prompt_title = false,
|
||||
results_title = false,
|
||||
color_devicons = false,
|
||||
layout_strategy = 'horizontal',
|
||||
borderchars = {
|
||||
prompt = { '─', '│', '─', '│', '┌', '┐', '┘', '└' },
|
||||
results = { '─', '│', '─', '│', '┌', '┐', '┘', '└' },
|
||||
preview = { '─', '│', '─', '│', '┌', '┐', '┘', '└' },
|
||||
},
|
||||
layout_config = {
|
||||
bottom_pane = {
|
||||
height = 20,
|
||||
preview_cutoff = 120,
|
||||
prompt_position = 'top'
|
||||
},
|
||||
center = {
|
||||
height = 0.4,
|
||||
preview_cutoff = 40,
|
||||
prompt_position = 'top',
|
||||
width = 0.7
|
||||
},
|
||||
horizontal = {
|
||||
prompt_position = 'top',
|
||||
preview_cutoff = 40,
|
||||
height = 0.9,
|
||||
width = 0.8
|
||||
}
|
||||
},
|
||||
sorting_strategy = 'ascending',
|
||||
prompt_prefix = ' ',
|
||||
selection_caret = ' → ',
|
||||
entry_prefix = ' ',
|
||||
file_ignore_patterns = {'node_modules'},
|
||||
path_display = { 'truncate' },
|
||||
results_title = false,
|
||||
prompt_title =false,
|
||||
preview = {
|
||||
treesitter = {
|
||||
enable = {
|
||||
'css', 'dockerfile', 'elixir', 'erlang', 'zsh',
|
||||
'html', 'http', 'javascript', 'json', 'lua', 'php',
|
||||
'python', 'regex', 'ruby', 'rust', 'scss',
|
||||
'typescript', 'yaml', 'markdown', 'bash', 'c',
|
||||
'cmake', 'comment', 'cpp', 'dart', 'go', 'jsdoc',
|
||||
'json5', 'jsonc', 'llvm', 'make', 'ninja',
|
||||
'todotxt', 'toml', 'help'
|
||||
}
|
||||
}
|
||||
},
|
||||
mappings = {
|
||||
i = {
|
||||
['<esc>'] = require('telescope.actions').close,
|
||||
},
|
||||
}
|
||||
},
|
||||
extensions = {
|
||||
file_browser = {
|
||||
mappings = {
|
||||
["i"] = {
|
||||
["<C-c>"] = require("telescope").extensions.file_browser.actions.create,
|
||||
["<C-y>"] = require("telescope").extensions.file_browser.actions.copy,
|
||||
["<C-r>"] = require("telescope").extensions.file_browser.actions.rename,
|
||||
["<C-w>"] = require("telescope").extensions.file_browser.actions.goto_cwd,
|
||||
["<C-o>"] = require("telescope").extensions.file_browser.actions.open,
|
||||
["<C-d>"] = require("telescope").extensions.file_browser.actions.remove,
|
||||
},
|
||||
},
|
||||
cmdline = {
|
||||
mappings = {
|
||||
complete = '<Tab>',
|
||||
run_selection = '<C-CR>',
|
||||
run_input = '<CR>',
|
||||
}
|
||||
}
|
||||
},
|
||||
fzf = {
|
||||
fuzzy = true, -- false will only do exact matching
|
||||
override_generic_sorter = true, -- override the generic sorter
|
||||
override_file_sorter = true, -- override the file sorter
|
||||
case_mode = 'smart_case', -- other options: 'ignore_case' or 'respect_case'
|
||||
}
|
||||
},
|
||||
config = function()
|
||||
local g = vim.g
|
||||
local fb_actions = require("telescope").extensions.file_browser.actions
|
||||
local themes = {
|
||||
popup_list = {
|
||||
theme = 'popup_list',
|
||||
border = true,
|
||||
preview = false,
|
||||
prompt_title = false,
|
||||
results_title = false,
|
||||
sorting_strategy = 'ascending',
|
||||
layout_strategy = 'center',
|
||||
borderchars = {
|
||||
prompt = { '─', '│', '─', '│', '┌', '┐', '┤', '└' },
|
||||
results = { '─', '│', '─', '│', '├', '┤', '┘', '└' },
|
||||
preview = { '─', '│', '─', '│', '┌', '┐', '┘', '└' },
|
||||
},
|
||||
},
|
||||
popup_extended = {
|
||||
theme = 'popup_extended',
|
||||
prompt_title = false,
|
||||
results_title = false,
|
||||
layout_strategy = 'center',
|
||||
layout_config = {
|
||||
width = 0.7,
|
||||
height = 0.3,
|
||||
mirror = true,
|
||||
preview_cutoff = 1,
|
||||
},
|
||||
borderchars = {
|
||||
prompt = { '─', '│', ' ', '│', '┌', '┐', '│', '│' },
|
||||
results = { '─', '│', '─', '│', '├', '┤', '┘', '└' },
|
||||
preview = { '─', '│', '─', '│', '┌', '┐', '┘', '└' },
|
||||
},
|
||||
},
|
||||
command_pane = {
|
||||
theme = 'command_pane',
|
||||
preview = false,
|
||||
prompt_title = false,
|
||||
results_title = false,
|
||||
sorting_strategy = 'descending',
|
||||
layout_strategy = 'bottom_pane',
|
||||
layout_config = {
|
||||
height = 13,
|
||||
preview_cutoff = 1,
|
||||
prompt_position = 'bottom'
|
||||
},
|
||||
},
|
||||
ivy_plus = {
|
||||
theme = 'ivy_plus',
|
||||
preview = false,
|
||||
prompt_title = false,
|
||||
results_title = false,
|
||||
layout_strategy = 'bottom_pane',
|
||||
layout_config = {
|
||||
height = 13,
|
||||
preview_cutoff = 120,
|
||||
prompt_position = 'bottom'
|
||||
},
|
||||
borderchars = {
|
||||
prompt = { '─', '│', '─', '│', '┌', '┐', '┘', '└' },
|
||||
results = { '─', '│', '─', '│', '┌', '┬', '┴', '└' },
|
||||
preview = { '─', '│', ' ', ' ', '─', '┐', '│', ' ' },
|
||||
},
|
||||
},
|
||||
}
|
||||
end
|
||||
})
|
||||
require("telescope").load_extension("file_browser")
|
||||
require("telescope").load_extension("live_grep_args")
|
||||
-- require("telescope").load_extension("fzf-native")
|
||||
require("telescope").load_extension("cmdline")
|
||||
@ -1,32 +0,0 @@
|
||||
vim.pack.add({
|
||||
"https://github.com/nvim-treesitter/nvim-treesitter"
|
||||
})
|
||||
require("nvim-treesitter").setup({
|
||||
ensure_installed = {
|
||||
'bash', 'css', 'html', 'javascript', 'json', 'lua', 'python',
|
||||
'vim', 'yaml', 'typescript', 'markdown',
|
||||
},
|
||||
sync_install = true,
|
||||
highlight = {
|
||||
enable = true,
|
||||
disable = function(lang, bufnr)
|
||||
return lang == "py" and vim.api.nvim_buf_line_count(bufnr) > 5000
|
||||
end,
|
||||
additional_vim_regex_highlighting = true,
|
||||
},
|
||||
indent = { enable = true },
|
||||
})
|
||||
-- disable = function(lang, buf)
|
||||
-- local max_filesize = 100 * 1024 -- 100 KB
|
||||
-- local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
|
||||
-- if ok and stats and stats.size > max_filesize then
|
||||
-- return true
|
||||
-- end
|
||||
-- end, disable = function(lang, buf)
|
||||
-- local max_filesize = 100 * 1024 -- 100 KB
|
||||
-- local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
|
||||
-- if ok and stats and stats.size > max_filesize then
|
||||
-- return true
|
||||
-- end
|
||||
-- end,
|
||||
-- })
|
||||
@ -1,20 +0,0 @@
|
||||
return {
|
||||
'linguini1/pulse.nvim',
|
||||
-- 'Normanras/pulse.nvim',
|
||||
version = "*",
|
||||
config = function()
|
||||
|
||||
local pulse = require("pulse")
|
||||
|
||||
pulse.setup({level = vim.log.levels.ERROR})
|
||||
|
||||
pulse.add("Send Krista Message", {
|
||||
interval = 90,
|
||||
message = "Tell Krista that you love her!",
|
||||
enabled = True,
|
||||
})
|
||||
end
|
||||
}
|
||||
|
||||
-- Not working: DEBUG, TRACE
|
||||
-- Working: ERROR, OFF, WARN, INFO
|
||||
@ -1,19 +0,0 @@
|
||||
vim.pack.add({"https://github.com/cameron-wags/rainbow_csv.nvim"})
|
||||
require("rainbow_csv").setup({
|
||||
config = true,
|
||||
ft = {
|
||||
'csv',
|
||||
'tsv',
|
||||
'csv_semicolon',
|
||||
'csv_whitespace',
|
||||
'csv_pipe',
|
||||
'rfc_csv',
|
||||
'rfc_semicolon'
|
||||
},
|
||||
cmd = {
|
||||
'RainbowDelim',
|
||||
'RainbowDelimSimple',
|
||||
'RainbowDelimQuoted',
|
||||
'RainbowMultiDelim'
|
||||
}
|
||||
})
|
||||
@ -1,18 +0,0 @@
|
||||
{
|
||||
"today-date": {
|
||||
"prefix": "today",
|
||||
"body": ["${CURRENT_MONTH}-${CURRENT_DATE}-${CURRENT_YEAR}"],
|
||||
"description": "Puts the date in (Y-m-D) format"
|
||||
},
|
||||
"today-tasks": {
|
||||
"prefix": "todaytask",
|
||||
"body": ["## ${CURRENT_MONTH}-${CURRENT_DATE}-${CURRENT_YEAR} \n\n- [ ] "],
|
||||
"description": "Today's date plus a markdown task for easy addition."
|
||||
},
|
||||
"box": {
|
||||
"prefix": "hugobox",
|
||||
"body": ["{{< box info >}} \n\n {{< /box >}}"],
|
||||
"description": "Cstom info box for hugo website. Info can also be warn, tip."
|
||||
|
||||
}
|
||||
}
|
||||
@ -1,14 +0,0 @@
|
||||
{
|
||||
"contributes": {
|
||||
"snippets": [
|
||||
{
|
||||
"language": "markdown",
|
||||
"path": "./markdown.json"
|
||||
},
|
||||
{
|
||||
"language": "python",
|
||||
"path": "./python.json"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -1,7 +0,0 @@
|
||||
{
|
||||
"pprint-import": {
|
||||
"prefix": "pprint-import",
|
||||
"body": ["import pprint \n\n pp=pprint.PrettyPrinter(indent=4) \n\n pp.pprint(VARIABLE)"],
|
||||
"description": "Easily import, declare, and add a Pretty Print for easier reading."
|
||||
}
|
||||
}
|
||||
@ -1,349 +0,0 @@
|
||||
recert
|
||||
gravatar
|
||||
TODO
|
||||
gravatars
|
||||
webhook
|
||||
Neovim
|
||||
accomplished
|
||||
accomplished
|
||||
Talkspace
|
||||
Northpass
|
||||
CEU
|
||||
th
|
||||
B2B
|
||||
Integrations
|
||||
NPP
|
||||
CSV
|
||||
BBHR
|
||||
onboarding
|
||||
Kai
|
||||
scorms
|
||||
QMC
|
||||
trainings
|
||||
cancelled
|
||||
Ummey
|
||||
Ummey's
|
||||
prev
|
||||
Kaitlyn
|
||||
CYA
|
||||
programmatically
|
||||
Wistia
|
||||
iOS
|
||||
PPT
|
||||
Kaitlyn's
|
||||
OneTrust
|
||||
JS
|
||||
Analytics
|
||||
KPI
|
||||
param
|
||||
UUID
|
||||
Pipedrive
|
||||
pipedrive
|
||||
Lukasz
|
||||
Bjorn
|
||||
webhooks
|
||||
trackable
|
||||
Pipedrive's
|
||||
boolean
|
||||
Kaisa
|
||||
SSO
|
||||
XP
|
||||
DW
|
||||
Chołodecki
|
||||
Łukasz
|
||||
Kotkas
|
||||
Patrycja
|
||||
Q1
|
||||
Vidyard
|
||||
badging
|
||||
Flink
|
||||
S3
|
||||
Unclickable
|
||||
DataDog
|
||||
wistia
|
||||
https
|
||||
https
|
||||
wifi
|
||||
autoplaying
|
||||
tbd
|
||||
G2
|
||||
SMEs
|
||||
CSM
|
||||
AEs
|
||||
ZoomInfo's
|
||||
linkedin
|
||||
Enablement
|
||||
enablement
|
||||
DIY
|
||||
Zoominfo
|
||||
G2M
|
||||
Carli
|
||||
LevelJump
|
||||
LMS
|
||||
CMS
|
||||
Lessonly
|
||||
Katlin
|
||||
nd
|
||||
LT
|
||||
EVP's
|
||||
UX
|
||||
Schoology
|
||||
Pendo
|
||||
Salesforce
|
||||
ILTs
|
||||
SFDC
|
||||
ROI
|
||||
NPS
|
||||
roadmap
|
||||
BigIdeasMath
|
||||
Hubspot
|
||||
analytics
|
||||
SCORM
|
||||
AWS
|
||||
JnJ
|
||||
DSAR
|
||||
ons
|
||||
Zapier
|
||||
Accredible
|
||||
LPs
|
||||
Shopify
|
||||
Callum
|
||||
Chek
|
||||
Chek
|
||||
Chek
|
||||
Chek
|
||||
Chek
|
||||
Chek
|
||||
prereg
|
||||
OpenAccess
|
||||
Camila
|
||||
SAP
|
||||
SAP
|
||||
Workato
|
||||
Soner
|
||||
Okta
|
||||
Auth0
|
||||
flink
|
||||
goflink
|
||||
backfill
|
||||
Marek
|
||||
KJ
|
||||
Canva
|
||||
Customizable
|
||||
GoFlink
|
||||
Cami
|
||||
auth
|
||||
Litmos
|
||||
infographic
|
||||
Nino's
|
||||
Flink's
|
||||
Crowdin
|
||||
Joonas
|
||||
QBR
|
||||
UID
|
||||
versioning
|
||||
GDPR
|
||||
Edume
|
||||
something
|
||||
something
|
||||
AppCues
|
||||
appcues
|
||||
Skuad
|
||||
Skuid
|
||||
COO
|
||||
Nergis
|
||||
pdf
|
||||
FiveTran
|
||||
BigQuery
|
||||
COO
|
||||
NDA
|
||||
lifecycle
|
||||
PALs
|
||||
LTV
|
||||
Articulate's
|
||||
Comms
|
||||
ILT
|
||||
Mockup
|
||||
iFrame
|
||||
Froala
|
||||
html
|
||||
css
|
||||
resize
|
||||
customizable
|
||||
OpenSesame
|
||||
timestamp
|
||||
comms
|
||||
Audrius
|
||||
Youtube
|
||||
Omnisend
|
||||
northpass
|
||||
Omnisend's
|
||||
url
|
||||
Hoc
|
||||
exisiting
|
||||
subdomains
|
||||
iFrame
|
||||
iFrame
|
||||
iFrame
|
||||
gifs
|
||||
webview
|
||||
Skuid's
|
||||
reachs
|
||||
JJSV
|
||||
Todos
|
||||
Phaco
|
||||
Garg
|
||||
codeblock
|
||||
Aleksandr
|
||||
Sten
|
||||
v10
|
||||
TOC
|
||||
Nitty
|
||||
KPIs
|
||||
MAL
|
||||
walmart
|
||||
Segura
|
||||
Luminate
|
||||
gif
|
||||
OneDrive
|
||||
EOC
|
||||
legistlation
|
||||
todo
|
||||
SCA
|
||||
V2
|
||||
Rock22
|
||||
Figma
|
||||
Foundational
|
||||
Iorad
|
||||
ish
|
||||
Credly
|
||||
Ritu
|
||||
Kumar
|
||||
Deeksha
|
||||
Prajwal
|
||||
Praveen
|
||||
Rakesh
|
||||
integrations
|
||||
recomendations
|
||||
personalization
|
||||
SLAs
|
||||
Devanathan
|
||||
productize
|
||||
accesss
|
||||
devs
|
||||
Sandipan
|
||||
Kayla
|
||||
discoverable
|
||||
Trei
|
||||
aways
|
||||
Chronotype
|
||||
zapier
|
||||
WildHealth
|
||||
dev
|
||||
Shopify's
|
||||
ProductIDs
|
||||
Flupdates
|
||||
availble
|
||||
enrollees
|
||||
automations
|
||||
hoc
|
||||
Baeligh
|
||||
Moburley
|
||||
Baeleigh
|
||||
Gmail
|
||||
WHAcademy
|
||||
www
|
||||
wildhealth
|
||||
www
|
||||
www
|
||||
transformative
|
||||
impactful
|
||||
positivity
|
||||
CSMs
|
||||
Basecamp
|
||||
PSRs
|
||||
PSR
|
||||
TSU
|
||||
ChurnZero
|
||||
Neste
|
||||
SEO
|
||||
oAuth
|
||||
sso
|
||||
learning
|
||||
pre
|
||||
Margus
|
||||
pipedive
|
||||
http
|
||||
iFrame
|
||||
learn
|
||||
OM
|
||||
duolingo
|
||||
gamification
|
||||
CIP
|
||||
typeform
|
||||
Trello
|
||||
repo
|
||||
Unific
|
||||
AIIM
|
||||
FOMO
|
||||
Async
|
||||
zendesk
|
||||
centre
|
||||
centres
|
||||
consisently
|
||||
LiveStorm
|
||||
represneted
|
||||
Jagannatha
|
||||
Q2
|
||||
Gainsight
|
||||
unlinked
|
||||
Gainsight's
|
||||
RevOps
|
||||
Heraly
|
||||
Cherrill
|
||||
LeanData
|
||||
nitty
|
||||
Planhat
|
||||
Toothman
|
||||
event
|
||||
event
|
||||
MJ
|
||||
Wix
|
||||
cateogries
|
||||
cateogries
|
||||
Glassdoor
|
||||
accomodate
|
||||
Ines
|
||||
distrcits
|
||||
suggstions
|
||||
Chek's
|
||||
COO
|
||||
nginx's
|
||||
nginx
|
||||
config
|
||||
javascript
|
||||
subdomain
|
||||
Moodle
|
||||
MSP
|
||||
moodle
|
||||
Faux
|
||||
repos
|
||||
Github
|
||||
Gitea
|
||||
AppDaemon
|
||||
AppDaemon's
|
||||
birdnet
|
||||
HomeAssistant
|
||||
MQTT
|
||||
BirdNET
|
||||
reseller
|
||||
Ece
|
||||
accredation
|
||||
assesment
|
||||
submodules
|
||||
Artera
|
||||
Qualtrics
|
||||
Discoverability
|
||||
programatically
|
||||
#ASEURL/!
|
||||
BASEURL/!
|
||||
Binary file not shown.
6
package-lock.json
generated
6
package-lock.json
generated
@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": ".dotfiles",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {}
|
||||
}
|
||||
@ -1,19 +0,0 @@
|
||||
run_program() {
|
||||
default_route_nic=$(route get default | grep -i interface | awk '{print $2}')
|
||||
all_nics=$(ifconfig 2>/dev/null | awk -F':' '/^[a-z]/ && !/^lo/ { print $1 }' | tr '\n' ' ')
|
||||
IFS=' ' read -ra all_nics_array <<< "$all_nics"
|
||||
all_nics_array=("$default_route_nic" "${all_nics_array[@]}")
|
||||
for nic in "${all_nics_array[@]}"; do
|
||||
ipv4s_on_nic=$(ifconfig ${nic} 2>/dev/null | awk '$1 == "inet" { print $2 }')
|
||||
echo ${ipv4s_on_nic}
|
||||
for lan_ip in ${ipv4s_on_nic[@]}; do
|
||||
echo ${lan_ip}
|
||||
[[ -n "${lan_ip}" ]]
|
||||
done
|
||||
[[ -n "${lan_ip}" ]]
|
||||
done
|
||||
echo "ⓛ ${lan_ip-Not working}"
|
||||
return 0
|
||||
}
|
||||
|
||||
"$@"
|
||||
@ -1,30 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
find_data=$(ifstat -S -q 1 1)
|
||||
interfaces=$(echo -e "${find_data}" | head -n 1)
|
||||
final=()
|
||||
for interface in ${interfaces}; do
|
||||
has_data=$(ifstat -i ${interface} -S -q 1 1 | tail -n 1 | tr -d '\r' | tr -d ' ')
|
||||
if [[ "$has_data" != "0.000.00" ]]; then
|
||||
for int in ${interface}; do
|
||||
data=$(ifstat -i ${interface} -S -q 1 1)
|
||||
flow_data=$(echo -e "${data}" | tail -n 1 | tr -d '\r' )
|
||||
up=${flow_data% *}
|
||||
down=${flow_data##* }
|
||||
up=$up | tr -d ' '
|
||||
down=$down | tr -d ' '
|
||||
final+=("$int: $up/ $down")
|
||||
echo $final
|
||||
done
|
||||
# OUTPUT="⇈ $up ⇊ $down"
|
||||
# echo $OUTPUT
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
# data=$(ifstat -i en0 -i en5 -S -q 1 1)
|
||||
# flow_data=$(echo -e "${data}" | tail -n 1 | tr -d '\r')
|
||||
# up=${flow_data% *}
|
||||
# down=${flow_data##* }
|
||||
# OUTPUT="⇈ $up ⇊ $down"
|
||||
# echo $OUTPUT
|
||||
@ -1,17 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
|
||||
function ip_address() {
|
||||
|
||||
# Loop through the interfaces and check for the interface that is up.
|
||||
for file in /sys/class/net/*; do
|
||||
|
||||
iface=$(basename $file);
|
||||
|
||||
read status < $file/operstate;
|
||||
|
||||
[ "$status" == "up" ] && ip addr show $iface | awk '/inet /{printf $2" "}'
|
||||
|
||||
done
|
||||
|
||||
}
|
||||
@ -1,6 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
PST=$(TZ=":America/Los_Angeles" date -R +%H:%M)
|
||||
EST=$(TZ=":America/New_York" date -R +%H:%M)
|
||||
CET=$(TZ=":Europe/Warsaw" date -R +%H:%M)
|
||||
echo "PST: $PST | EST: $EST | CET: $CET"
|
||||
Submodule tmux/.config/tmux/plugins/tmux-continuum deleted from 0698e8f4b1
Submodule tmux/.config/tmux/plugins/tmux-resurrect deleted from cff343cf9e
Submodule tmux/.config/tmux/plugins/tmux-sensible deleted from 25cb91f42d
Submodule tmux/.config/tmux/plugins/tmux-which-key deleted from 1f419775ca
Submodule tmux/.config/tmux/plugins/tmux-world-clock deleted from 07266df297
Submodule tmux/.config/tmux/plugins/tpm deleted from 99469c4a9b
Submodule tmux/.config/tmux/plugins/vim-tmux-navigator deleted from 38b1d0402c
@ -1,27 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
function wan_ip() {
|
||||
|
||||
tmp_file="./wan_ip.txt"
|
||||
wan_up="N/a"
|
||||
|
||||
if [ -z "$wan_ip" ]; then
|
||||
wan_ip=$(curl --max-time 2 -s http://whatismyip.akamai.com/)
|
||||
|
||||
if [ "$?" -eq "0" ]; then
|
||||
echo "${wan_ip}" > $tmp_file
|
||||
elif [ -f "${tmp_file}" ]; then
|
||||
wan_ip=$(cat "$tmp_file")
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -n "$wan_ip" ]; then
|
||||
printf "ⓦ ${wan_ip}"
|
||||
fi
|
||||
}
|
||||
|
||||
function main() {
|
||||
wan_ip
|
||||
}
|
||||
|
||||
main
|
||||
@ -1 +0,0 @@
|
||||
104.246.2.167
|
||||
@ -1,4 +0,0 @@
|
||||
/Users/normrasmussen 40
|
||||
/Users/normrasmussen/Documents/Liquid_Templates 40
|
||||
/Users/normrasmussen/Documents/Liquid_Templates/customer_templates 69
|
||||
40
|
||||
@ -1,84 +0,0 @@
|
||||
set-environment -g PATH "/opt/homebrew/bin:/bin:/usr/bin"
|
||||
set-window-option -g mode-keys vi
|
||||
set-option default-terminal "screen-256color"
|
||||
set-option default-terminal "tmux-256color"
|
||||
set-option -a terminal-overrides ",*256col*:RGB"
|
||||
|
||||
# Set up Variables
|
||||
black='#000000'
|
||||
white='#f8f8f2'
|
||||
gray='#44475a'
|
||||
dark_gray='#282a36'
|
||||
light_purple='#bd93f9'
|
||||
dark_purple='#6272a4'
|
||||
cyan='#8be9fd'
|
||||
green='#50fa7b'
|
||||
orange='#ffb86c'
|
||||
red='#ff5555'
|
||||
pink='#ff79c6'
|
||||
yellow='#f1fa8c'
|
||||
active='#50fa7b'
|
||||
nonactive='#6272a4'
|
||||
left_sep=''
|
||||
right_sep=''
|
||||
|
||||
wanip="~/.dotfiles/tmux/.config/tmux/plugins/wan_ip.sh"
|
||||
timezones="~/.dotfiles/tmux/.config/tmux/plugins/timezones.sh"
|
||||
ifstat="~/.dotfiles/tmux/.config/tmux/plugins/ifstat.sh"
|
||||
|
||||
|
||||
set -g status on
|
||||
set -g status-interval 1
|
||||
set -g status-justify centre
|
||||
|
||||
set-window-option -g window-status-separator ''
|
||||
set-window-option -g window-status-current-format "#[fg=${active},bg=${dark_gray}]${right_sep}#[fg=${black},bg=${active}] #I #W #[fg=${active},bg=${dark_gray}]${left_sep}"
|
||||
set-window-option -g window-status-format "#[fg=${white},bg=${dark_gray}] #I #W "
|
||||
set-option -g status-bg ${dark_gray}
|
||||
# set-option -g status-fg white
|
||||
set -g status-left-length 50
|
||||
# set -g status-left-style default
|
||||
set -g status-left "#[fg=${black},bg=${light_purple}] #(${wanip}) #[fg=${light_purple},bg=${green}]${left_sep}#[fg=${black},bg=${green}] #(${ifstat})#[fg=${green},bg=${dark_gray}]${left_sep}"
|
||||
|
||||
set -g status-right-length 60
|
||||
set -g status-right "#[fg=${pink},bg=${dark_gray}]${right_sep}#[fg=${black},bg=${pink}]#(${timezones}) "
|
||||
set -g status-right-style default
|
||||
|
||||
|
||||
# Standard Plugins
|
||||
set -g @plugin 'tmux-plugins/tpm'
|
||||
set -g @plugin 'tmux-plugins/tmux-sensible'
|
||||
|
||||
# Continue Session on Startup
|
||||
set -g @plugin 'tmux-plugins/tmux-resurrect'
|
||||
set -g @plugin 'tmux-plugins/tmux-continuum'
|
||||
|
||||
# Search your Scrollback using fzf
|
||||
# set -g @plugin 'roosta/tmux-fuzzback'
|
||||
|
||||
|
||||
# Allow Focus Events
|
||||
set -g focus-events on
|
||||
|
||||
# enable mouse support
|
||||
set-option -g mouse on
|
||||
|
||||
# Open Pane in same working directory
|
||||
# Set the control character to Ctrl+Spacebar (instead of Ctrl+B)
|
||||
set -g prefix C-b
|
||||
unbind-key C-space
|
||||
bind-key C-b send-prefix
|
||||
|
||||
# Set new panes to open in current directory
|
||||
bind c new-window -c "#{pane_current_path}"
|
||||
bind '"' split-window -c "#{pane_current_path}"
|
||||
bind % split-window -h -c "#{pane_current_path}"
|
||||
|
||||
# Vim-Tmux-Navigator plugin/
|
||||
set -g @plugin 'christoomey/vim-tmux-navigator'
|
||||
|
||||
# Which Key for Tmux
|
||||
set -g @plugin 'alexwforsythe/tmux-which-key'
|
||||
|
||||
# Initialize TMUX plugin manager - kept at bottom of file
|
||||
run '~/.dotfiles/tmux/.config/tmux/plugins/tpm/tpm'
|
||||
@ -1 +0,0 @@
|
||||
69.120.56.29
|
||||
@ -1 +0,0 @@
|
||||
69.120.56.29
|
||||
@ -1,5 +0,0 @@
|
||||
local wezterm = require 'wezterm'
|
||||
local config = wezterm.config_builder()
|
||||
config.window_background_opacity = 0.9
|
||||
config.color_scheme = 'Rapture'
|
||||
return config
|
||||
1712
zsh/.p10k.zsh
1712
zsh/.p10k.zsh
File diff suppressed because it is too large
Load Diff
93
zsh/.zshrc
93
zsh/.zshrc
@ -1,93 +0,0 @@
|
||||
|
||||
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
|
||||
# Initialization code that may require console input (password prompts, [y/n]
|
||||
# confirmations, etc.) must go above this block; everything else may go below.
|
||||
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
|
||||
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
|
||||
fi
|
||||
|
||||
# autoload -Uz compinit
|
||||
# compinit
|
||||
export LC_ALL=en_US.UTF-8
|
||||
export LANG=en_US.UTF-8
|
||||
# autoload -Uz compinit; compinit; _comp_options+=(globdots);
|
||||
|
||||
# ssh using a new window when we are in TMUX
|
||||
ssh() {
|
||||
if [ -n "${TMUX:-}" ]; then
|
||||
# Extract the destination host from the command arguments
|
||||
local dest_user_host=$(
|
||||
printf "%s " "$@" | awk 'match($0, /[a-zA-Z0-9_.-]+@[a-zA-Z0-9_.-]+/) {print substr($0,RSTART,RLENGTH)}'
|
||||
)
|
||||
|
||||
# Rename tmux window and pane if possible
|
||||
(
|
||||
set +e # Continue even if rename fails
|
||||
tmux display-message -p "#{pane_id}" > /dev/null && tmux rename-window "$dest_user_host"
|
||||
tmux rename-pane "$dest_user_host" 2>/dev/null || true
|
||||
) &> /dev/null
|
||||
|
||||
command ssh "$@"
|
||||
|
||||
# Restore automatic renaming (if enabled)
|
||||
tmux set-window-option automatic-rename on > /dev/null 2>&1 || true
|
||||
else
|
||||
command ssh "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
# User configuration
|
||||
export DOT="~/.dotfiles"
|
||||
alias vim='vim -S ~/.vimrc'
|
||||
alias nvim='nvim'
|
||||
alias uvupdate='while read line; do [[ -n "$line" && ! "$line" =~ ^[[:space:]]*# ]] && uv pip install "$line" --upgrade; done < requirements.txt'
|
||||
# alias brew='env PATH="${PATH//$(pyenv root)\/shims:/}" brew'
|
||||
export CLICOLOR=1
|
||||
export LSCOLORS=ExGxBxDxCxEgEdxbxgxcxd
|
||||
|
||||
export EDITOR="$VISUAL"
|
||||
export VISUAL='nvim'
|
||||
export PYTHONPATH="/opt/homebrew/bin/python3:$PYTHONPATH"
|
||||
# export PYENV_ROOT="$HOME/.pyenv"
|
||||
# command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
|
||||
|
||||
# Function to Correctly Source $VIRTUAL_ENV for Neovim
|
||||
function nvimvenv {
|
||||
if [[ -e "$VIRTUAL_ENV" && -f "$VIRTUAL_ENV/bin/activate" ]]; then
|
||||
source "$VIRTUAL_ENV/bin/activate"
|
||||
command nvim "$@"
|
||||
deactivate
|
||||
else
|
||||
command nvim "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
export PATH="$PATH:$HOME/.rvm/bin"
|
||||
|
||||
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
|
||||
NPM_PACKAGES=/Users/$USERNAME/.npm-packages
|
||||
export PATH="/opt/homebrew/sbin:$PATH"
|
||||
export PATH="/opt/homebrew/bin:$PATH"
|
||||
export PATH="$NPM_PACKAGES/bin:$PATH"
|
||||
source /opt/homebrew/share/powerlevel10k/powerlevel10k.zsh-theme
|
||||
|
||||
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
|
||||
# [[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
|
||||
source ~/.dotfiles/zsh/zsh-autosuggestions/zsh-autosuggestions.zsh
|
||||
source ~/.dotfiles/zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
||||
. "$HOME/.cargo/env"
|
||||
export PATH="/usr/local/opt/openssl/bin:$PATH"
|
||||
. "$HOME/.local/bin/env"
|
||||
|
||||
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
|
||||
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
|
||||
|
||||
eval "$(uv generate-shell-completion zsh)"
|
||||
|
||||
# export NVM_DIR="$HOME/.nvm"
|
||||
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
|
||||
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
|
||||
|
||||
# To customize prompt, run `p10k configure` or edit ~/.dotfiles/zsh/.p10k.zsh.
|
||||
[[ ! -f ~/.dotfiles/zsh/.p10k.zsh ]] || source ~/.dotfiles/zsh/.p10k.zsh
|
||||
@ -1,8 +0,0 @@
|
||||
export LC_ALL=en_US.UTF-8
|
||||
export LANG=en_US.UTF-8
|
||||
|
||||
# User configuration
|
||||
export DOT="~/.dotfiles"
|
||||
alias vim='vim -S ~/.vimrc'
|
||||
alias nvim='nvim'
|
||||
source ~/.dotfiles/zsh/.zshrc
|
||||
Submodule zsh/zsh-autosuggestions deleted from 85919cd1ff
Submodule zsh/zsh-syntax-highlighting deleted from 1d85c69261
Reference in New Issue
Block a user