From 48426854e158d62d99e4ea180c39be8102ff3ecd Mon Sep 17 00:00:00 2001
From: Steven Medeiros Melo <63684299+stevenmelo588@users.noreply.github.com>
Date: Fri, 23 Feb 2024 20:12:22 -0500
Subject: [PATCH] Initial Nvim Config Commit
---
.gitignore | 11 +++
README.md | 54 +++++++++++++
init.lua | 80 +++++++++++++++++++
lazy-lock.json | 32 ++++++++
lua/plugins/cmp.lua | 91 +++++++++++++++++++++
lua/plugins/harpoon.lua | 6 ++
lua/plugins/indent_blankline.lua | 5 ++
lua/plugins/lsp.lua | 44 +++++++++++
lua/plugins/lualine.lua | 108 +++++++++++++++++++++++++
lua/plugins/nvimtree.lua | 10 +++
lua/plugins/oxocarbon.lua | 12 +++
lua/plugins/telescope.lua | 11 +++
lua/plugins/treesitter.lua | 12 +++
lua/plugins/ui.lua | 20 +++++
lua/plugins/wichkey.lua | 14 ++++
lua/stevenmm/init.lua | 58 ++++++++++++++
lua/stevenmm/lazy/colors.lua | 30 +++++++
lua/stevenmm/lazy/init.lua | 10 +++
lua/stevenmm/lazy/lsp.lua | 101 +++++++++++++++++++++++
lua/stevenmm/lazy/lualine.lua | 132 +++++++++++++++++++++++++++++++
lua/stevenmm/lazy/mininvim.lua | 30 +++++++
lua/stevenmm/lazy/nvimtree.lua | 26 ++++++
lua/stevenmm/lazy/telescope.lua | 11 +++
lua/stevenmm/lazy/treesitter.lua | 12 +++
lua/stevenmm/lazy/wichkey.lua | 14 ++++
lua/stevenmm/lazy_init.lua | 17 ++++
lua/stevenmm/remap.lua | 7 ++
lua/stevenmm/set.lua | 34 ++++++++
style.css | 11 +++
29 files changed, 1003 insertions(+)
create mode 100644 .gitignore
create mode 100644 README.md
create mode 100644 init.lua
create mode 100644 lazy-lock.json
create mode 100644 lua/plugins/cmp.lua
create mode 100644 lua/plugins/harpoon.lua
create mode 100644 lua/plugins/indent_blankline.lua
create mode 100644 lua/plugins/lsp.lua
create mode 100644 lua/plugins/lualine.lua
create mode 100644 lua/plugins/nvimtree.lua
create mode 100644 lua/plugins/oxocarbon.lua
create mode 100644 lua/plugins/telescope.lua
create mode 100644 lua/plugins/treesitter.lua
create mode 100644 lua/plugins/ui.lua
create mode 100644 lua/plugins/wichkey.lua
create mode 100644 lua/stevenmm/init.lua
create mode 100644 lua/stevenmm/lazy/colors.lua
create mode 100644 lua/stevenmm/lazy/init.lua
create mode 100644 lua/stevenmm/lazy/lsp.lua
create mode 100644 lua/stevenmm/lazy/lualine.lua
create mode 100644 lua/stevenmm/lazy/mininvim.lua
create mode 100644 lua/stevenmm/lazy/nvimtree.lua
create mode 100644 lua/stevenmm/lazy/telescope.lua
create mode 100644 lua/stevenmm/lazy/treesitter.lua
create mode 100644 lua/stevenmm/lazy/wichkey.lua
create mode 100644 lua/stevenmm/lazy_init.lua
create mode 100644 lua/stevenmm/remap.lua
create mode 100644 lua/stevenmm/set.lua
create mode 100644 style.css
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..5c43bf7
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,11 @@
+.vscode/**
+lua/plugin-mappings/**
+lua/init.lua
+devicon-master/**
+plugged/**
+plugin/**
+after/plugint/**
+syntax/**
+TMP/**
+init-test.vim
+vimplug/**
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..cb330db
--- /dev/null
+++ b/README.md
@@ -0,0 +1,54 @@
+
+
+# README
+
+### Documentation on how my neovim install is configured
+
+- The File Structure of my configuration
+- Where my files are located, their purpose and how they're called
+
+---
+
+#### Files Extensions Found In This Repo
+
+| | | |
+| ------------------------------------------------------------------------------- | ------ | -------- |
+|  | `.vim` | Vim |
+|  | `.lua` | Lua |
+|  | `.md` | Markdown |
+
+## CURRENT FILE STRUCTURE
+
+```text
+📁 ~/.config/nvim
+├── 📁 after
+├── 📁 ftplugin
+├── 📁 lua
+│ ├── 📁 other_modules
+│ └── ⚙ init.lua
+├── 📁 plugin
+│ └── ⚙ init-vim-plug.vim
+├── 📁 syntax
+├── 📁 TMP
+├── 📁 vimplug
+├── ⚙ README.md
+└── ⚙ init.vim
+```
+
+## Function Equivalence
+
+| function | .lua | .vim | Vimscript Functions From Lua |
+| :-------------: | :---------: | :------: | :--------------------------: |
+| Sourcing a file | `require()` | `source` | `vim.cmd.source()` |
+
+[Vim Commands](https://neovim.io/doc/user/lua-guide.html#lua-guide-vim-commands)
+
+> Use **require()** when trying to source a `.lua` file inside a `.lua`, if you want to source `.vim` files use the lua vim interpretor `vim.cmd.source()`.
+
+[Vimscript Functions](https://neovim.io/doc/user/lua-guide.html#lua-guide-vim-functions)
+
+> If the `vim` function you're trying to call inside of a `.lua` file isn't a Vim command use the Vimscript Functions nomenclature instead.
+
+Use the `See also:`section for more information on which commands can be called
+
+[Function List](https://neovim.io/doc/user/usr_41.html#function-list)
diff --git a/init.lua b/init.lua
new file mode 100644
index 0000000..1014d07
--- /dev/null
+++ b/init.lua
@@ -0,0 +1,80 @@
+require("stevenmm")
+--vim.cmd.source('$XDG_CONFIG_HOME/nvim/lua/stevenmm/init.lua')
+
+--require("stevenmm")
+
+-- vim.wo.number = true
+-- vim.wo.relativenumber = true
+--
+-- vim.g.mapleader = ' '
+-- vim.g.maplocalleader = ' '
+--
+-- local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
+-- if not vim.loop.fs_stat(lazypath) then
+-- vim.fn.system({
+-- "git",
+-- "clone",
+-- "--filter=blob:none",
+-- "https://github.com/folke/lazy.nvim.git",
+-- "--branch=stable", -- latest stable release
+-- lazypath,
+-- })
+-- end
+-- vim.opt.rtp:prepend(lazypath)
+--
+-- vim.o.hlsearch = false
+--
+-- vim.o.mouse = 'a'
+--
+-- vim.o.breakindent = true
+--
+-- vim.o.ignorecase = true
+-- vim.o.smartcase = true
+--
+-- vim.wo.signcolumn = 'yes'
+
+-- vim.o.updatetime = 250
+
+-- vim.o.completeopt = 'menuone,noselect'
+
+-- vim.o.termguicolors = true
+
+--require('lazy').setup(
+---- {
+-- "plugins",
+---- },
+-- {
+-- -- root = vim.fn.stdpath("config") .. "/lazy/plugins",
+--
+-- }
+--)
+
+-- vim.cmd.colorscheme('flexoki-dark')
+
+-- vim.cmd.source('$XDG_CONFIG_HOME/nvim/lua/init.lua')
+
+-- require('init.lua')
+-- vim.cmd.colorscheme 'oxocarbon'
+
+-- require(vim.fn.expand('$XDG_CONFIG_HOME/nvim/lua/') .. 'init.lua')
+
+-- require('lazy').setup({
+ -- 'nyoom-engineering/oxocarbon.nvim', -- Colorscheme
+ -- 'nvim-lualine/lualine.nvim', -- Fancier statusline
+ -- Add indentation guides even on blank lines
+ -- 'lukas-reineke/indent-blankline.nvim',
+-- 'nvim-treesitter/nvim-treesitter',
+-- 'nvim-treesitter/nvim-treesitter-textobjects', -- Additional textobjects for treesitter
+ -- 'williamboman/mason.nvim',
+ -- 'williamboman/mason-lspconfig.nvim',
+ -- 'neovim/nvim-lspconfig',
+ -- {
+ -- 'hrsh7th/nvim-cmp',
+ -- dependencies = { 'hrsh7th/cmp-nvim-lsp', 'L3MON4D3/LuaSnip', 'saadparwaiz1/cmp_luasnip' },
+ -- },
+ -- 'nvim-tree/nvim-web-devicons',
+ -- 'nvim-tree/nvim-tree.lua',
+-- { 'nvim-telescope/telescope.nvim', version = '*', dependencies = { 'nvim-lua/plenary.nvim', } },
+-- 'nvim-telescope/telescope-file-browser.nvim',
+-- 'ThePrimeagen/harpoon',
+-- }, {})
diff --git a/lazy-lock.json b/lazy-lock.json
new file mode 100644
index 0000000..8507499
--- /dev/null
+++ b/lazy-lock.json
@@ -0,0 +1,32 @@
+{
+ "LuaSnip": { "branch": "master", "commit": "f3b3d3446bcbfa62d638b1903ff00a78b2b730a1" },
+ "cellular-automaton.nvim": { "branch": "main", "commit": "b7d056dab963b5d3f2c560d92937cb51db61cb5b" },
+ "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
+ "cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" },
+ "cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" },
+ "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
+ "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
+ "copilot.vim": { "branch": "release", "commit": "79e1a892ca9b4fa6234fd25f2930dba5201700bd" },
+ "editorconfig.nvim": { "branch": "master", "commit": "5b9e303e1d6f7abfe616ce4cc8d3fffc554790bf" },
+ "fidget.nvim": { "branch": "main", "commit": "60404ba67044c6ab01894dd5bf77bd64ea5e09aa" },
+ "lazy.nvim": { "branch": "main", "commit": "aedcd79811d491b60d0a6577a9c1701063c2a609" },
+ "lualine.nvim": { "branch": "master", "commit": "7d131a8d3ba5016229e8a1d08bf8782acea98852" },
+ "mason-lspconfig.nvim": { "branch": "main", "commit": "fe4cce44dec93c69be17dad79b21de867dde118a" },
+ "mason.nvim": { "branch": "main", "commit": "c43eeb5614a09dc17c03a7fb49de2e05de203924" },
+ "mini.comment": { "branch": "main", "commit": "a4b7e46deb9ad2feb8902cc5dbf087eced112ee5" },
+ "mini.indentscope": { "branch": "main", "commit": "cf07f19e718ebb0bcc5b00999083ce11c37b8d40" },
+ "mini.move": { "branch": "main", "commit": "251d541a8ab745e81295a53c128829cb2bff18e3" },
+ "mini.pairs": { "branch": "main", "commit": "04f58f2545ed80ac3b52dd4826e93f33e15b2af6" },
+ "mini.surround": { "branch": "main", "commit": "a1b590cc3b676512de507328d6bbab5e43794720" },
+ "nvim-cmp": { "branch": "main", "commit": "04e0ca376d6abdbfc8b52180f8ea236cbfddf782" },
+ "nvim-lspconfig": { "branch": "master", "commit": "d1bab4cf4b69e49d6058028fd933d8ef5e74e680" },
+ "nvim-tree.lua": { "branch": "master", "commit": "030defdb6522f5f716d8201d20ca1a2baa57ca66" },
+ "nvim-treesitter": { "branch": "master", "commit": "917d696592a34917a12208f579d5e72c1a904aee" },
+ "nvim-treesitter-textobjects": { "branch": "master", "commit": "7f00d94543f1fd37cab2afa2e9a6cd54e1c6b9ef" },
+ "nvim-web-devicons": { "branch": "master", "commit": "14ac5887110b06b89a96881d534230dac3ed134d" },
+ "plenary": { "branch": "master", "commit": "4f71c0c4a196ceb656c824a70792f3df3ce6bb6d" },
+ "rose-pine": { "branch": "main", "commit": "f977eeba34b030b37f93ece2fbd792477606203b" },
+ "telescope-file-browser.nvim": { "branch": "master", "commit": "48ffb8de688a22942940f50411d5928631368848" },
+ "telescope.nvim": { "branch": "master", "commit": "b744cf59752aaa01561afb4223006de26f3836fd" },
+ "which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }
+}
\ No newline at end of file
diff --git a/lua/plugins/cmp.lua b/lua/plugins/cmp.lua
new file mode 100644
index 0000000..daa408b
--- /dev/null
+++ b/lua/plugins/cmp.lua
@@ -0,0 +1,91 @@
+-- print('test')
+
+local enabled_lsps = {
+ "pyright",
+ "tsserver",
+ "clangd",
+ "gopls",
+ "rust_analyzer",
+ "taplo",
+ "graphql"
+}
+
+return {
+-- "L3MON4D3/LuaSnip",
+-- {
+ "hrsh7th/nvim-cmp",
+
+ event = 'InsertEnter',
+
+ dependencies = {
+ 'hrsh7th/cmp-nvim-lsp',
+ 'L3MON4D3/LuaSnip',
+ 'saadparwaiz1/cmp_luasnip',
+ },
+
+ config = function()
+ local cmp = require'cmp'
+ local ls = require('luasnip')
+
+ cmp.setup({
+ snippets = {
+ expand = function(args)
+ ls.lsp_expand(args.body)
+ end,
+ },
+ sources = {
+ { name = 'luasnip' },
+ },
+ })
+ end,
+-- },
+-- 'saadparwaiz1/cmp_luasnip',
+
+
+-- config = function()
+--
+-- end,
+--
+-- config = function()
+-- local cmp = require('cmp')
+--
+-- cmp.setup({
+-- snippet = {
+-- expand = function(args)
+-- vim.fn["luasnip#anonymous"](args.body)
+-- end,
+-- },
+-- window = {
+-- completion = cmp.config.window.bordered(),
+-- documentation = cmp.config.window.bordered(),
+-- },
+-- mapping = cmp.mapping.preset.insert({
+-- [''] = cmp.mapping.scroll_docs(-4),
+-- [''] = cmp.mapping.scroll_docs(4),
+-- [''] = cmp.mapping.complete(),
+-- [''] = cmp.config.disable,
+-- [''] = cmp.mapping({
+-- i = cmp.mapping.abort(),
+-- c = cmp.mapping.close(),
+-- }),
+-- [''] = cmp.mapping.confirm({ select = true }),
+-- }),
+-- sources = cmp.config.sources({
+-- { name = 'nvim_lsp' },
+-- { name = 'luasnip' },
+-- }, {
+-- { name = 'buffer' },
+-- })
+-- })
+--
+-- end,
+--
+-- build = function()
+-- local lspconfig = require('lspconfig')
+-- for i, lsp in ipairs(enabled_lsps) do
+-- lspconfig[lsp].setup({
+-- capabilities = capabilities
+-- })
+-- end
+-- end,
+}
diff --git a/lua/plugins/harpoon.lua b/lua/plugins/harpoon.lua
new file mode 100644
index 0000000..e67ebc6
--- /dev/null
+++ b/lua/plugins/harpoon.lua
@@ -0,0 +1,6 @@
+-- lua/plugins/harpoon.lua
+-- print('harpoon.lua loaded')
+
+return {
+ "ThePrimeagen/harpoon",
+}
diff --git a/lua/plugins/indent_blankline.lua b/lua/plugins/indent_blankline.lua
new file mode 100644
index 0000000..7b495d9
--- /dev/null
+++ b/lua/plugins/indent_blankline.lua
@@ -0,0 +1,5 @@
+-- lua/plugins/indent-blankline.lua
+
+return {
+ "lukas-reineke/indent-blankline.nvim",
+}
diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua
new file mode 100644
index 0000000..667f850
--- /dev/null
+++ b/lua/plugins/lsp.lua
@@ -0,0 +1,44 @@
+-- lua/plugins/lsp.lua
+-- print('lsp.lua loaded')
+
+return {
+ "neovim/nvim-lspconfig",
+ lazy = false,
+ priority = 900,
+
+ dependencies = {
+ "williamboman/mason.nvim",
+ "williamboman/mason-lspconfig.nvim",
+ },
+
+ config = function()
+ local lspconfig = require("lspconfig")
+ local mason = require("mason")
+ local masonlsp = require("mason-lspconfig")
+
+ mason.setup()
+ masonlsp.setup()
+-- lspconfig.setup({})
+
+ lspconfig.pyright.setup({})
+ lspconfig.tsserver.setup({})
+ lspconfig.clangd.setup({})
+ lspconfig.gopls.setup({})
+ lspconfig.rust_analyzer.setup({})
+ lspconfig.taplo.setup({})
+ lspconfig.graphql.setup({})
+ lspconfig.lua_ls.setup({
+ settings = {
+ diagnostics = {
+ global = {
+ 'vim',
+ 'require'
+ },
+ },
+ },
+ })
+ lspconfig.vimls.setup({})
+-- lspconfig.rust_analyzer.setup({})
+-- lspconfig.lua_ls.setup({})
+ end,
+}
diff --git a/lua/plugins/lualine.lua b/lua/plugins/lualine.lua
new file mode 100644
index 0000000..d81ce0b
--- /dev/null
+++ b/lua/plugins/lualine.lua
@@ -0,0 +1,108 @@
+-- lua/plugins/lualine.lua
+
+return {
+ "nvim-lualine/lualine.nvim",
+
+ dependencies = {
+ "nvim-tree/nvim-web-devicons",
+ },
+
+ config = function()
+ local lualine = require('lualine')
+ lualine.setup({
+ options = {
+ theme = 'auto',
+ -- fmt = default,
+ -- fmt = string.upper,
+
+ ignore_focus = {
+
+ },
+
+ refresh = {
+ statusline = 100,
+ tabline = 100,
+ winbar = 100,
+ },
+ },
+ sections = {
+ lualine_a = {
+-- {
+-- 'windows'
+-- },
+ {
+ 'diff',
+ colored = true,
+ diff_color = {
+ added = 'LuaLineDiffAdd',
+ modified = 'LuaLineDiffChange',
+ removed = 'LuaLineDiffDelete',
+ },
+ },
+-- {
+-- 'buffers',
+-- show_filename_only = true,
+-- show_modified_status = false,
+--
+-- mode = 4,
+--
+-- filetype_names = {
+-- NvimTree = 'NvimTree'
+-- },
+-- },
+ {
+ 'mode',
+ fmt = function(str) return '[' .. str:sub(1,1) .. ']' end,
+ },
+ },
+ lualine_b = {
+ { 'branch' }
+ },
+ lualine_c = {
+ {
+ 'filename',
+ file_status = true,
+ newfile_status = false,
+ path = 0,
+ fmt = string.lower,
+ shorting_target = 40,
+
+ symbols = {
+ modified = '[+]',
+ readonly = '[-]',
+ unamed = '[No Name]',
+ newfile = '[New]',
+ },
+ }
+ },
+ lualine_x = {
+ {
+ require("lazy.status").updates,
+ cond = require("lazy.status").has_updates,
+ color = { fg = "#ff9e64" },
+ },
+ {
+ 'encoding'
+ },
+ {
+ 'filetype',
+ colored = true,
+ icons_enabled = true,
+ icon_only = true,
+ icon = { align='center' }
+ }
+ },
+ lualine_y = {
+ {
+ 'progress',
+ },
+ },
+ lualine_z = {
+ {
+ 'location',
+ },
+ },
+ },
+ })
+ end,
+}
diff --git a/lua/plugins/nvimtree.lua b/lua/plugins/nvimtree.lua
new file mode 100644
index 0000000..83aaec8
--- /dev/null
+++ b/lua/plugins/nvimtree.lua
@@ -0,0 +1,10 @@
+-- lua/plugins/nvimtree.lua
+-- print('nvimtree.lua loaded')
+
+return {
+ "nvim-tree/nvim-tree.lua",
+
+ dependencies = {
+ "nvim-tree/nvim-web-devicons",
+ },
+}
diff --git a/lua/plugins/oxocarbon.lua b/lua/plugins/oxocarbon.lua
new file mode 100644
index 0000000..d428c1b
--- /dev/null
+++ b/lua/plugins/oxocarbon.lua
@@ -0,0 +1,12 @@
+-- lua/plugin/oxocarbon.lua
+-- print('oxocarbon.lua loaded')
+
+return {
+ "nyoom-engineering/oxocarbon.nvim",
+ "",
+ lazy = false,
+ priority = 1000,
+ config = function()
+ vim.cmd.colorscheme('oxocarbon')
+ end,
+}
diff --git a/lua/plugins/telescope.lua b/lua/plugins/telescope.lua
new file mode 100644
index 0000000..b238db2
--- /dev/null
+++ b/lua/plugins/telescope.lua
@@ -0,0 +1,11 @@
+-- lua/plugins/telescope.lua
+-- print('telescope.lua loaded')
+
+return {
+ "nvim-telescope/telescope-file-browser.nvim",
+
+ dependencies = {
+ "nvim-telescope/telescope.nvim",
+ "nvim-lua/plenary.nvim"
+ },
+}
diff --git a/lua/plugins/treesitter.lua b/lua/plugins/treesitter.lua
new file mode 100644
index 0000000..7b2bab3
--- /dev/null
+++ b/lua/plugins/treesitter.lua
@@ -0,0 +1,12 @@
+-- lua/plugins/treesitter.lua
+-- print('treesitter.lua loaded')
+
+return {
+ "nvim-treesitter/nvim-treesitter",
+
+ dependencies = {
+ "nvim-treesitter/nvim-treesitter-textobjects",
+ },
+
+ build = ":TSUpdate",
+}
diff --git a/lua/plugins/ui.lua b/lua/plugins/ui.lua
new file mode 100644
index 0000000..63781f0
--- /dev/null
+++ b/lua/plugins/ui.lua
@@ -0,0 +1,20 @@
+-- lua/plugin/oxocarbon.lua
+-- print('oxocarbon.lua loaded')
+
+return {
+ {
+ "nyoom-engineering/oxocarbon.nvim",
+ lazy = false,
+ priority = 1000,
+ },
+ {
+ 'kepano/flexoki-neovim',
+ name = 'flexoki',
+ lazy = false,
+ priority = 1000,
+ },
+
+-- config = function()
+-- vim.cmd.colorscheme('oxocarbon')
+-- end,
+}
diff --git a/lua/plugins/wichkey.lua b/lua/plugins/wichkey.lua
new file mode 100644
index 0000000..c7b01ad
--- /dev/null
+++ b/lua/plugins/wichkey.lua
@@ -0,0 +1,14 @@
+return {
+ "folke/which-key.nvim",
+ event = "VeryLazy",
+ init = function()
+ vim.o.timeout = true
+ vim.o.timeoutlen = 300
+ end,
+ opts = {
+
+ -- your configuration comes here
+ -- or leave it empty to use the default settings
+ -- refer to the configuration section below
+ }
+}
diff --git a/lua/stevenmm/init.lua b/lua/stevenmm/init.lua
new file mode 100644
index 0000000..1bdb75a
--- /dev/null
+++ b/lua/stevenmm/init.lua
@@ -0,0 +1,58 @@
+require("stevenmm.set")
+require("stevenmm.remap")
+
+require("stevenmm.lazy_init")
+
+local augroup = vim.api.nvim_create_augroup
+local StevenmmGroup = augroup('Stevenmm', {})
+
+local autocmd = vim.api.nvim_create_autocmd
+local yank_group = augroup('HighlightYank', {})
+
+function R(name)
+ require("plenary.reload").reload_module(name)
+end
+
+vim.filetype.add({
+ extension = {
+ templ = 'templ',
+ }
+})
+
+autocmd('TextYankPost', {
+ group = yank_group,
+ pattern = '*',
+ callback = function ()
+ vim.highlight.on_yank({
+ higroup = 'IncSearch',
+ timeout = 40,
+ })
+ end,
+})
+
+autocmd({"BufWritePre"}, {
+ group = StevenmmGroup,
+ pattern = "*",
+ command = [[%s/\s\+$//e]],
+})
+
+autocmd('LspAttach', {
+ group = StevenmmGroup,
+ callback = function (e)
+ local opts = { buffer = e.buf }
+ vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts)
+ vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, opts)
+ vim.keymap.set("n", "vws", function() vim.lsp.buf.workspace_symbol() end, opts)
+ vim.keymap.set("n", "vd", function() vim.diagnostic.open_float() end, opts)
+ vim.keymap.set("n", "vca", function() vim.lsp.buf.code_action() end, opts)
+ vim.keymap.set("n", "vrr", function() vim.lsp.buf.reference() end, opts)
+ vim.keymap.set("n", "vrn", function() vim.lsp.buf.rename() end, opts)
+ vim.keymap.set("i", "", function() vim.lsp.buf.signature_help() end, opts)
+ vim.keymap.set("n", "[d", function() vim.lsp.buf.goto_next() end, opts)
+ vim.keymap.set("n", "]d", function() vim.lsp.buf.goto_prev() end, opts)
+ end
+})
+
+vim.g.netrw_browse_split = 0
+vim.g.netrw_banner = 0
+vim.g.netrw_winsize = 25
diff --git a/lua/stevenmm/lazy/colors.lua b/lua/stevenmm/lazy/colors.lua
new file mode 100644
index 0000000..833905d
--- /dev/null
+++ b/lua/stevenmm/lazy/colors.lua
@@ -0,0 +1,30 @@
+function ColorMyPencils(color)
+ color = color or "rose-pine"
+ vim.cmd.colorscheme(color)
+
+ vim.api.nvim_set_hl(0, "Normal", {bg = "none" })
+ vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" })
+end
+
+return {
+ {
+ "rose-pine/neovim",
+ name = "rose-pine",
+ config = function()
+ require("rose-pine").setup({
+ variant = "main",
+
+ styles = {
+ bold = true,
+ italic = false,
+ transparency = true,
+ },
+ disable_background = true,
+ })
+
+ vim.cmd("colorscheme rose-pine")
+
+ ColorMyPencils()
+ end
+ },
+}
diff --git a/lua/stevenmm/lazy/init.lua b/lua/stevenmm/lazy/init.lua
new file mode 100644
index 0000000..5c535da
--- /dev/null
+++ b/lua/stevenmm/lazy/init.lua
@@ -0,0 +1,10 @@
+return {
+ {
+ "nvim-lua/plenary.nvim",
+ name = "plenary"
+ },
+
+ "github/copilot.vim",
+ "eandrju/cellular-automaton.nvim",
+ "gpanders/editorconfig.nvim",
+}
diff --git a/lua/stevenmm/lazy/lsp.lua b/lua/stevenmm/lazy/lsp.lua
new file mode 100644
index 0000000..1a04bab
--- /dev/null
+++ b/lua/stevenmm/lazy/lsp.lua
@@ -0,0 +1,101 @@
+return {
+ "neovim/nvim-lspconfig",
+ dependencies = {
+ "williamboman/mason.nvim",
+ "williamboman/mason-lspconfig.nvim",
+ "hrsh7th/cmp-nvim-lsp",
+ "hrsh7th/cmp-buffer",
+ "hrsh7th/cmp-path",
+ "hrsh7th/cmp-cmdline",
+ "hrsh7th/nvim-cmp",
+ "L3MON4D3/LuaSnip",
+ "saadparwaiz1/cmp_luasnip",
+ "j-hui/fidget.nvim",
+ },
+
+ config = function()
+ local cmp = require('cmp')
+ local cmp_lsp = require("cmp_nvim_lsp")
+ local capabilities = vim.tbl_deep_extend(
+ "force",
+ {},
+ vim.lsp.protocol.make_client_capabilities(),
+ cmp_lsp.default_capabilities())
+
+ require("fidget").setup({})
+ require("mason").setup()
+ require("mason-lspconfig").setup({
+ ensure_installed = {
+ "clangd",
+ "lua_ls",
+ "rust_analyzer",
+ "tsserver",
+ },
+ handlers = {
+ function(server_name) -- default handler (optional)
+
+ require("lspconfig")[server_name].setup {
+ capabilities = capabilities
+ }
+ end,
+
+ ["lua_ls"] = function()
+ local lspconfig = require("lspconfig")
+ lspconfig.lua_ls.setup {
+ capabilities = capabilities,
+ settings = {
+ Lua = {
+ diagnostics = {
+ globals = { "vim", "it", "describe", "before_each", "after_each" },
+ }
+ }
+ }
+ }
+ end,
+
+ ["clangd"] = function ()
+ local lspconfig = require("lspconfig")
+ lspconfig.clangd.setup({
+ capabilities = capabilities,
+ })
+ end,
+ }
+ })
+
+ local cmp_select = { behavior = cmp.SelectBehavior.Select }
+
+ cmp.setup({
+ snippet = {
+ expand = function(args)
+ require('luasnip').lsp_expand(args.body) -- For `luasnip` users.
+ end,
+ },
+ mapping = cmp.mapping.preset.insert({
+ [''] = cmp.mapping.select_prev_item(cmp_select),
+ [''] = cmp.mapping.select_next_item(cmp_select),
+ --[''] = cmp.mapping.confirm({ select = true }),
+ [''] = cmp.mapping.confirm({ select = true }),
+ [""] = cmp.mapping.complete(),
+ }),
+ sources = cmp.config.sources({
+ { name = 'nvim_lsp' },
+ { name = 'luasnip' }, -- For luasnip users.
+ }, {
+ { name = 'buffer' },
+ })
+ })
+
+ vim.diagnostic.config({
+ -- update_in_insert = true,
+ float = {
+ focusable = false,
+ style = "minimal",
+ border = "rounded",
+ source = "always",
+ header = "",
+ prefix = "",
+ },
+ })
+ end
+}
+
diff --git a/lua/stevenmm/lazy/lualine.lua b/lua/stevenmm/lazy/lualine.lua
new file mode 100644
index 0000000..0d7c73d
--- /dev/null
+++ b/lua/stevenmm/lazy/lualine.lua
@@ -0,0 +1,132 @@
+-- lua/plugins/lualine.lua
+local nvimtree = {
+ filetypes = { "NvimTree" },
+ sections = {
+ lualine_c = { "buffers" },
+ },
+}
+
+
+return {
+ "nvim-lualine/lualine.nvim",
+
+ dependencies = {
+ "nvim-tree/nvim-web-devicons",
+ },
+
+ config = function()
+ local lualine = require('lualine')
+ lualine.setup({
+ options = {
+ theme = 'rose-pine',
+ globalstatus = false,
+ -- fmt = default,
+ -- fmt = string.upper,
+-- disabled_filetypes = {
+-- "NvimTree"
+-- },
+ ignore_focus = {
+
+ },
+
+ refresh = {
+ statusline = 100,
+ tabline = 100,
+ winbar = 100,
+ },
+ },
+ sections = {
+ lualine_a = {
+-- {
+-- 'windows'
+-- },
+ {
+ 'diff',
+ colored = true,
+ diff_color = {
+ added = 'LuaLineDiffAdd',
+ modified = 'LuaLineDiffChange',
+ removed = 'LuaLineDiffDelete',
+ },
+ },
+-- {
+-- 'buffers',
+-- show_filename_only = true,
+-- show_modified_status = false,
+--
+-- mode = 4,
+--
+-- filetype_names = {
+-- NvimTree = 'NvimTree'
+-- },
+-- },
+ {
+ 'mode',
+-- fmt = function(str) return '[' .. str:sub(1,1) .. ']' end,
+ },
+ },
+ lualine_b = {
+ { 'branch' }
+ },
+ lualine_c = {
+ {
+ 'filetype',
+ icons_enabled = true,
+ icon_only = true,
+ icon = { align = 'center' },
+ separator = "",
+ },
+ {
+ 'filename',
+ file_status = true,
+ newfile_status = false,
+ path = 0,
+ fmt = string.lower,
+ shorting_target = 40,
+
+ symbols = {
+ modified = '[+]',
+ readonly = '[-]',
+ unamed = '[No Name]',
+ newfile = '[New]',
+ },
+ }
+ },
+ lualine_x = {
+ {
+ require("lazy.status").updates,
+ cond = require("lazy.status").has_updates,
+ color = { fg = "#ff9e64" },
+ },
+ {
+ 'diagnostics',
+
+ },
+-- {
+-- 'filetype',
+-- colored = true,
+-- icons_enabled = true,
+-- icon_only = true,
+-- icon = { align = 'center' }
+-- }
+ },
+ lualine_y = {
+ {
+ 'location',
+ },
+ },
+ lualine_z = {
+ {
+ 'datetime',
+ icons_enabled = true,
+ icon = { '' },
+ style = '%H:%M',
+ },
+ },
+ },
+ extensions = {
+ nvimtree
+ }
+ })
+ end,
+}
diff --git a/lua/stevenmm/lazy/mininvim.lua b/lua/stevenmm/lazy/mininvim.lua
new file mode 100644
index 0000000..935e585
--- /dev/null
+++ b/lua/stevenmm/lazy/mininvim.lua
@@ -0,0 +1,30 @@
+return {
+ {
+ 'echasnovski/mini.pairs',
+ version = false,
+ },
+ {
+ 'echasnovski/mini.move',
+ version = false,
+ },
+ {
+ 'echasnovski/mini.surround',
+ version = false,
+ },
+ {
+ 'echasnovski/mini.indentscope',
+ version = false,
+ },
+ {
+ 'echasnovski/mini.comment',
+ version = false,
+ },
+
+ config = function ()
+ require('mini.pairs').setup()
+ require('mini.move').setup()
+ require('mini.surround').setup()
+ require('mini.indentscope').setup()
+ require('mini.comment').setup()
+ end
+}
diff --git a/lua/stevenmm/lazy/nvimtree.lua b/lua/stevenmm/lazy/nvimtree.lua
new file mode 100644
index 0000000..a1d52d5
--- /dev/null
+++ b/lua/stevenmm/lazy/nvimtree.lua
@@ -0,0 +1,26 @@
+return {
+ "nvim-tree/nvim-tree.lua",
+ lazy = false,
+ dependencies = {
+ "nvim-tree/nvim-web-devicons",
+ },
+
+ config = function()
+ require("nvim-tree").setup({
+ renderer = {
+ icons = {
+ web_devicons = {
+ file = {
+ enable = true,
+ color = true,
+ },
+ folder = {
+ enable = true,
+ color = true,
+ },
+ },
+ },
+ },
+ })
+ end,
+}
diff --git a/lua/stevenmm/lazy/telescope.lua b/lua/stevenmm/lazy/telescope.lua
new file mode 100644
index 0000000..ed7dab9
--- /dev/null
+++ b/lua/stevenmm/lazy/telescope.lua
@@ -0,0 +1,11 @@
+-- lua/plugins/telescope.lua
+-- print('telescope.lua loaded')
+
+return {
+ "nvim-telescope/telescope-file-browser.nvim",
+
+ dependencies = {
+ "nvim-telescope/telescope.nvim",
+-- "nvim-lua/plenary.nvim"
+ },
+}
diff --git a/lua/stevenmm/lazy/treesitter.lua b/lua/stevenmm/lazy/treesitter.lua
new file mode 100644
index 0000000..7b2bab3
--- /dev/null
+++ b/lua/stevenmm/lazy/treesitter.lua
@@ -0,0 +1,12 @@
+-- lua/plugins/treesitter.lua
+-- print('treesitter.lua loaded')
+
+return {
+ "nvim-treesitter/nvim-treesitter",
+
+ dependencies = {
+ "nvim-treesitter/nvim-treesitter-textobjects",
+ },
+
+ build = ":TSUpdate",
+}
diff --git a/lua/stevenmm/lazy/wichkey.lua b/lua/stevenmm/lazy/wichkey.lua
new file mode 100644
index 0000000..c7b01ad
--- /dev/null
+++ b/lua/stevenmm/lazy/wichkey.lua
@@ -0,0 +1,14 @@
+return {
+ "folke/which-key.nvim",
+ event = "VeryLazy",
+ init = function()
+ vim.o.timeout = true
+ vim.o.timeoutlen = 300
+ end,
+ opts = {
+
+ -- your configuration comes here
+ -- or leave it empty to use the default settings
+ -- refer to the configuration section below
+ }
+}
diff --git a/lua/stevenmm/lazy_init.lua b/lua/stevenmm/lazy_init.lua
new file mode 100644
index 0000000..9d4b60b
--- /dev/null
+++ b/lua/stevenmm/lazy_init.lua
@@ -0,0 +1,17 @@
+local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
+if not vim.loop.fs_stat(lazypath) then
+ vim.fn.system({
+ "git",
+ "clone",
+ "--filter=blob:none",
+ "https://github.com/folke/lazy.nvim.git",
+ "--branch=stable", -- latest stable release
+ lazypath,
+ })
+end
+vim.opt.rtp:prepend(lazypath)
+
+require("lazy").setup({
+ spec = "stevenmm.lazy",
+ change_detection = { notify = false }
+})
diff --git a/lua/stevenmm/remap.lua b/lua/stevenmm/remap.lua
new file mode 100644
index 0000000..7ab02d4
--- /dev/null
+++ b/lua/stevenmm/remap.lua
@@ -0,0 +1,7 @@
+vim.g.mapleader = " "
+
+local keyset = vim.keymap.set
+
+keyset("n", "ma", ":Mason", { silent = true })
+keyset("n", "na", ":NvimTreeToggle", { silent = true })
+keyset("n", "fb", ":Telescope file_browser path=%:p:h", { noremap = true, silent = true })
diff --git a/lua/stevenmm/set.lua b/lua/stevenmm/set.lua
new file mode 100644
index 0000000..6e1c25b
--- /dev/null
+++ b/lua/stevenmm/set.lua
@@ -0,0 +1,34 @@
+-- vim.opt.guicursor = "n-v-c:block,i-ci-ve:ver25,r-cr:hor20,o:hor50/,a:blinkwait700-blinkoff400-blinkon250-Cursor/lCursor/,sm:block-blinkwait175-blinkoff150-blinkon175"
+
+vim.opt.number = true
+vim.opt.relativenumber = true
+
+vim.opt.encoding = 'UTF-8'
+vim.opt.guifont = 'monospace'
+
+vim.opt.tabstop = 4
+vim.opt.softtabstop = 4
+vim.shiftwidth = 4
+vim.opt.expandtab = true
+
+vim.opt.smartindent = true
+
+vim.opt.wrap = false
+
+vim.opt.swapfile = false
+vim.opt.backup = false
+vim.opt.undodir = os.getenv("XDG_CONFIG_HOME") .. "/.vim/undodir"
+vim.opt.undofile = true
+
+vim.opt.hlsearch = false
+vim.opt.incsearch = true
+
+vim.opt.termguicolors = true
+
+vim.opt.scrolloff = 8
+vim.opt.signcolumn = "yes"
+vim.opt.isfname:append("@-@")
+
+vim.opt.updatetime = 50
+
+vim.opt.colorcolumn = "80"
diff --git a/style.css b/style.css
new file mode 100644
index 0000000..2a48bed
--- /dev/null
+++ b/style.css
@@ -0,0 +1,11 @@
+:root {
+ --favicon-dimensions-width: 32px;
+ --favicon-dimensions-height: auto;
+ --markdown-devicon-color: white;
+}
+
+img[alt$="file_ext"] {
+ width: var(--favicon-dimensions-width);
+ height: var(--favicon-dimensions-height);
+ vertical-align: middle;
+}