Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 20 additions & 20 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,76 +10,76 @@ jobs:
format-check:
runs-on: ubuntu-latest
name: Format Check

steps:
- uses: actions/checkout@v6

- name: Setup Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
override: true

- name: Install stylua
run: cargo install stylua

- name: Check Lua formatting
run: make format-check

lint:
runs-on: ubuntu-latest
name: Lint

steps:
- uses: actions/checkout@v6

- name: Setup Lua
uses: leafo/gh-actions-lua@v12
with:
luaVersion: "5.1"

- name: Setup Luarocks
uses: leafo/gh-actions-luarocks@v6

- name: Install luacheck
run: luarocks install luacheck

- name: Lint Lua files
run: make lint

syntax-check:
runs-on: ubuntu-latest
name: Syntax Check

steps:
- uses: actions/checkout@v6

- name: Setup Lua
uses: leafo/gh-actions-lua@v12
with:
luaVersion: "5.1"

- name: Check Lua syntax
run: make check

neovim-test:
runs-on: ubuntu-latest
name: Neovim Config Test

steps:
- uses: actions/checkout@v6

- name: Setup Neovim
uses: rhysd/action-setup-vim@v1
with:
neovim: true
version: stable

- name: Test Neovim configuration
run: |
# Basic syntax check
nvim --headless -c "lua print('Configuration loaded successfully')" -c "qa!"

# Check for any immediate errors in plugin loading
timeout 30s nvim --headless -c "lua require('lazy').setup({})" -c "qa!" || echo "Plugin setup test completed"
timeout 30s nvim --headless -c "lua require('lazy').setup({})" -c "qa!" || echo "Plugin setup test completed"
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,4 @@ jobs:
# Optional: package name (defaults to repository name)
package-name: nvim-config
# Optional: changelog sections
changelog-sections: '[{"type":"feat","section":"Features","hidden":false},{"type":"fix","section":"Bug Fixes","hidden":false},{"type":"docs","section":"Documentation","hidden":false},{"type":"style","section":"Styles","hidden":false},{"type":"refactor","section":"Code Refactoring","hidden":false},{"type":"test","section":"Tests","hidden":false},{"type":"chore","section":"Miscellaneous","hidden":false}]'
changelog-sections: '[{"type":"feat","section":"Features","hidden":false},{"type":"fix","section":"Bug Fixes","hidden":false},{"type":"docs","section":"Documentation","hidden":false},{"type":"style","section":"Styles","hidden":false},{"type":"refactor","section":"Code Refactoring","hidden":false},{"type":"test","section":"Tests","hidden":false},{"type":"chore","section":"Miscellaneous","hidden":false}]'
5 changes: 5 additions & 0 deletions .luacheckrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
std = "luajit"
globals = {
"vim",
}
max_line_length = 160
18 changes: 18 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v6.0.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-merge-conflict
- id: check-toml
- id: check-yaml
- id: mixed-line-ending
- repo: local
hooks:
- id: stylua
name: stylua
entry: stylua
language: system
types: [lua]
args: [--config-path, .stylua.toml]
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -59,4 +59,4 @@ format-check:
stylua --check . || (echo "Files need formatting. Run 'make format' to fix." && exit 1); \
else \
echo "stylua not found, skipping format check"; \
fi
fi
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Distribution Alternatives:

### Installation

> **NOTE**
> **NOTE**
> [Backup](#FAQ) your previous configuration (if any exists)

Requirements:
Expand All @@ -46,7 +46,7 @@ git clone https://github.com/gamunu/coldboot.nvim.git "${XDG_CONFIG_HOME:-$HOME/

```
# on Windows
git clone https://github.com/gamunu/coldboot.nvim.git %userprofile%\AppData\Local\nvim\
git clone https://github.com/gamunu/coldboot.nvim.git %userprofile%\AppData\Local\nvim\
```

### Post Installation
Expand All @@ -61,7 +61,7 @@ nvim --headless "+Lazy! sync" +qa

[Fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo) this repo (so that you have your own copy that you can modify) and then installing you can install to your machine using the methods above.

> **NOTE**
> **NOTE**
> Your fork's url will be something like this: `https://github.com/<your_github_username>/coldboot.nvim.git`

### Configuration And Extension
Expand Down
1 change: 0 additions & 1 deletion doc/git.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,4 +59,3 @@ After resolving:
- Undo a conflict choice you just applied: `u`
- Discard file/hunk from Neogit status: `x`
- Abort an in-progress rebase/merge: use the `r`/`m` popup actions (Neogit will show “abort/continue” options when applicable).

3 changes: 3 additions & 0 deletions init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,9 @@ require('lazy').setup({
-- See `:help vim.o`
-- NOTE: You can change these options as you wish!

-- Prepend mason bin to PATH
vim.env.PATH = vim.fn.stdpath 'data' .. '/mason/bin' .. ':' .. vim.env.PATH

-- Set highlight on search
vim.o.hlsearch = false

Expand Down
2 changes: 1 addition & 1 deletion lazyvim.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@
"NEWS.md": "2123"
},
"version": 2
}
}
5 changes: 5 additions & 0 deletions lua/coldboot/plugins/coc_ale.lua
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ return {
'coc-pyright',
'coc-go',
'coc-rust-analyzer',
'coc-docker',
'coc-terraform',
}

local map = function(mode, lhs, rhs, desc, opts)
Expand Down Expand Up @@ -144,6 +146,7 @@ return {
typescriptreact = { 'eslint', 'prettier' },
rust = { 'rustfmt' },
python = { 'isort', 'black' },
terraform = { 'terraform' },
}

vim.g.ale_linters = {
Expand All @@ -154,6 +157,8 @@ return {
typescriptreact = { 'eslint' },
rust = { 'clippy' },
python = { 'ruff' },
dockerfile = { 'hadolint' },
terraform = { 'tflint' },
}

local format_is_enabled = vim.g.ale_fix_on_save == 1
Expand Down
44 changes: 41 additions & 3 deletions lua/coldboot/plugins/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,42 @@ return { -- Git related plugins
{ '<leader>gD', '<cmd>DiffviewClose<cr>', desc = '[G]it [D]iff close' },
{ '<leader>gh', '<cmd>DiffviewFileHistory<cr>', desc = '[G]it file [H]istory' },
},
opts = {},
opts = function()
local actions = require 'diffview.actions'
local fold_descs = {
za = 'Toggle fold',
zA = 'Toggle fold recursively',
ze = 'Eliminate all folds',
zE = 'Eliminate all folds',
zo = 'Open fold',
zc = 'Close fold',
zO = 'Open fold recursively',
zC = 'Close fold recursively',
zr = 'Reduce folding',
zm = 'Fold more',
zR = 'Open all folds',
zM = 'Close all folds',
zv = 'Open folds to reveal cursor',
zx = 'Reapply foldlevel and open to cursor',
zX = 'Reapply foldlevel',
zn = 'Disable folding',
zN = 'Enable folding',
zi = 'Toggle foldenable',
}

local fold_keymaps = {}
for _, map in ipairs(actions.compat.fold_cmds) do
local mode, lhs, rhs = map[1], map[2], map[3]
local desc = fold_descs[lhs] or 'Fold command'
fold_keymaps[#fold_keymaps + 1] = { mode, lhs, rhs, { desc = desc } }
end

return {
keymaps = {
view = fold_keymaps,
},
}
end,
},
'tpope/vim-sleuth', -- NOTE: This is where your plugins related to LSP can be installed.
-- The configuration is done below. Search for lspconfig to find it below.
Expand Down Expand Up @@ -102,10 +137,13 @@ return { -- Git related plugins
},
},
{
'ellisonleao/gruvbox.nvim',
'sainnhe/gruvbox-material',
lazy = false,
priority = 1000,
config = function()
vim.cmd [[colorscheme gruvbox]]
vim.g.gruvbox_material_enable_italic = true
vim.g.ruvbox_material_background = 'hard'
vim.cmd.colorscheme 'gruvbox-material'
end,
},
{
Expand Down
15 changes: 15 additions & 0 deletions lua/coldboot/plugins/mason.lua
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,24 @@ return {

-- Keep this list small: just the server binaries Coc commonly uses.
local ensure_installed = {
-- LSP Servers
'gopls',
'rust-analyzer',
'pyright',
'typescript-language-server',
'eslint-lsp',
'dockerfile-language-server',
'terraform-ls',

-- Linters & Formatters
'black',
'isort',
'ruff',
'goimports',
'golangci-lint',
'prettier',
'hadolint',
'tflint',
}

local function install(pkg_name)
Expand Down
Loading