Compare commits

..

No commits in common. "main" and "v0.1.1" have entirely different histories.
main ... v0.1.1

13 changed files with 125 additions and 170 deletions

View file

@ -11,6 +11,7 @@ jobs:
runs-on: ubuntu-latest
outputs:
lua: ${{ steps.changes.outputs.lua }}
python: ${{ steps.changes.outputs.python }}
markdown: ${{ steps.changes.outputs.markdown }}
steps:
- uses: actions/checkout@v4
@ -24,7 +25,10 @@ jobs:
- '*.lua'
- '.luarc.json'
- '*.toml'
- 'vim.yaml'
python:
- 'scripts/**/*.py'
- 'pyproject.toml'
- 'uv.lock'
markdown:
- '*.md'
@ -35,8 +39,11 @@ jobs:
if: ${{ needs.changes.outputs.lua == 'true' }}
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v31
- run: nix develop --command stylua --check .
- uses: JohnnyMorganz/stylua-action@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
version: 2.1.0
args: --check .
lua-lint:
name: Lua Lint Check
@ -45,8 +52,11 @@ jobs:
if: ${{ needs.changes.outputs.lua == 'true' }}
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v31
- run: nix develop --command selene --display-style quiet .
- name: Lint with Selene
uses: NTBBloodbath/selene-action@v1.0.0
with:
token: ${{ secrets.GITHUB_TOKEN }}
args: --display-style quiet .
lua-typecheck:
name: Lua Type Check
@ -62,6 +72,48 @@ jobs:
directories: lua
configpath: .luarc.json
python-format:
name: Python Format Check
runs-on: ubuntu-latest
needs: changes
if: ${{ needs.changes.outputs.python == 'true' }}
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v4
- name: Install ruff
run: uv tool install ruff
- name: Check Python formatting with ruff
run: ruff format --check .
python-lint:
name: Python Lint Check
runs-on: ubuntu-latest
needs: changes
if: ${{ needs.changes.outputs.python == 'true' }}
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v4
- name: Install ruff
run: uv tool install ruff
- name: Lint Python files with ruff
run: ruff check .
python-typecheck:
name: Python Type Check
runs-on: ubuntu-latest
needs: changes
if: ${{ needs.changes.outputs.python == 'true' }}
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v4
- name: Install dependencies with mypy
run: uv sync --dev
- name: Type check Python files with mypy
run: uv run mypy .
markdown-format:
name: Markdown Format Check
runs-on: ubuntu-latest
@ -69,5 +121,15 @@ jobs:
if: ${{ needs.changes.outputs.markdown == 'true' }}
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v31
- run: nix develop --command prettier --check .
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 8
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install prettier
run: pnpm add -g prettier@3.1.0
- name: Check markdown formatting with prettier
run: prettier --check .

3
.gitignore vendored
View file

@ -8,6 +8,3 @@ venv/
CLAUDE.md
__pycache__
node_modules/
.direnv/
.envrc

View file

@ -1,9 +1,8 @@
{
"runtime.version": "LuaJIT",
"runtime.version": "Lua 5.1",
"runtime.path": ["lua/?.lua", "lua/?/init.lua"],
"diagnostics.globals": ["vim"],
"workspace.library": ["$VIMRUNTIME/lua", "${3rd}/luv/library"],
"workspace.checkThirdParty": false,
"workspace.ignoreDir": [".direnv"],
"completion.callSnippet": "Replace"
}

View file

@ -9,6 +9,26 @@ repos:
files: \.lua$
pass_filenames: true
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.14.3
hooks:
- id: ruff-format
name: ruff (format)
files: \.py$
- id: ruff
name: ruff (lint imports)
args: ['--fix', '--select=I']
files: \.py$
- repo: local
hooks:
- id: mypy
name: mypy (type check)
entry: uv run mypy
language: system
args: ['.']
pass_filenames: false
- repo: https://github.com/pre-commit/mirrors-prettier
rev: v4.0.0-alpha.8
hooks:

View file

@ -1 +0,0 @@
.direnv/

43
flake.lock generated
View file

@ -1,43 +0,0 @@
{
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1771423170,
"narHash": "sha256-K7Dg9TQ0mOcAtWTO/FX/FaprtWQ8BmEXTpLIaNRhEwU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "bcc4a9d9533c033d806a46b37dc444f9b0da49dd",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"nixpkgs": "nixpkgs",
"systems": "systems"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

View file

@ -1,33 +0,0 @@
{
description = "midnight.nvim a dark colorscheme for Neovim";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
systems.url = "github:nix-systems/default";
};
outputs =
{
nixpkgs,
systems,
...
}:
let
forEachSystem =
f: nixpkgs.lib.genAttrs (import systems) (system: f nixpkgs.legacyPackages.${system});
in
{
formatter = forEachSystem (pkgs: pkgs.nixfmt-tree);
devShells = forEachSystem (pkgs: {
default = pkgs.mkShell {
packages = [
pkgs.prettier
pkgs.stylua
pkgs.selene
pkgs.lua-language-server
];
};
});
};
}

View file

@ -1,14 +1,7 @@
local M = {}
local loading = false
---@return nil
function M.load()
if loading then
return
end
loading = true
if vim.g.colors_name then
vim.cmd('hi clear')
end
@ -22,8 +15,6 @@ function M.load()
local theme = require('midnight.theme')
theme.apply()
loading = false
end
---@deprecated Use `vim.cmd('colorscheme midnight')` instead

View file

@ -121,13 +121,9 @@ function M.apply()
hi('@variable', { none = true })
hi('Pmenu', { fg = cs.background, bg = cs.foreground }, { 'PmenuSbar' })
hi('Pmenu', { bg = cs.dark_grey }, { 'PmenuSbar' })
hi('PmenuSel', { bg = cs.med_grey })
hi('PmenuThumb', { bg = cs.grey })
hi('BlinkCmpMenu', { fg = cs.background, bg = cs.foreground })
hi('BlinkCmpMenuBorder', { fg = cs.background, bg = cs.foreground })
hi('BlinkCmpDoc', { fg = cs.background, bg = cs.foreground })
hi('BlinkCmpDocBorder', { fg = cs.background, bg = cs.foreground })
hi('LspInlayHint', { fg = cs.light_black })
hi('LspSignatureActiveParameter', { underline = true, italic = true })
@ -149,13 +145,7 @@ function M.apply()
hi('gitCommitSummary', { fg = cs.background })
hi('@attribute.diff', { fg = cs.blue })
hi('@diff.minus', { fg = cs.red })
hi('@diff.plus', { fg = cs.green })
hi('@diff.delta', { fg = cs.blue })
hi('@punctuation.special.diff', { fg = cs.blue })
link('Normal', { '@string.special.path', '@variable.parameter' })
hi('@attribute.diff', { fg = cs.background })
hi('DiffAdd', { bg = cs.diff_add, fg = cs.green }, { '@text.diff.add', 'diffAdded' })
hi('DiffDelete', { bg = cs.diff_delete, fg = cs.red }, { '@text.diff.delete', 'diffRemoved' })
hi('DiffChange', { bg = cs.diff_change, fg = cs.blue })
@ -169,12 +159,10 @@ function M.apply()
hi('@constructor.lua', { fg = cs.background })
hi('@markup.heading.gitcommit', { none = true })
hi('@function.latex', { fg = cs.blue })
hi('GitSignsCurrentLineBlame', { italic = true, fg = cs.light_black })
hi('GitSignsAdd', { fg = cs.green })
hi('GitSignsChange', { fg = cs.blue })
hi('GitSignsDelete', { fg = cs.red })
link('DiffAdd', 'GitSignsAdd')
link('DiffChange', 'GitSignsChange')
link('DiffDelete', 'GitSignsDelete')
link('Search', 'HighlightUndo')
@ -183,23 +171,6 @@ function M.apply()
hi('CmpItemAbbr', { fg = cs.background })
hi('CmpItemAbbrMatch', { fg = cs.background, bold = true })
hi('CmpItemAbbrMatchFuzzy', { fg = cs.background, bold = true })
hi('BlinkCmpLabelMatch', { fg = cs.green })
hi('BlinkCmpGhostText', { fg = cs.light_black })
hi('BlinkCmpGitKindMR', { fg = cs.magenta })
hi('BlinkCmpGitKindPR', { fg = cs.magenta })
hi('BlinkCmpGitKindIssue', { fg = cs.magenta })
hi('BlinkCmpGitKindCommit', { fg = cs.magenta })
hi('BlinkCmpGitKindMention', { fg = cs.magenta })
hi('BlinkCmpGitKindIconMR', { fg = cs.magenta })
hi('BlinkCmpGitKindIconPR', { fg = cs.magenta })
hi('BlinkCmpGitKindIconIssue', { fg = cs.magenta })
hi('BlinkCmpGitKindIconCommit', { fg = cs.magenta })
hi('BlinkCmpGitKindIconMention', { fg = cs.magenta })
hi('BlinkCmpGitLabelMRId', { fg = cs.magenta })
hi('BlinkCmpGitLabelPRId', { fg = cs.magenta })
hi('BlinkCmpGitLabelIssueId', { fg = cs.magenta })
hi('BlinkCmpGitLabelCommitId', { fg = cs.magenta })
hi('BlinkCmpGitLabelMentionId', { fg = cs.magenta })
hi('CmpItemAbbrDeprecated', { fg = cs.light_black, strikethrough = true })
hi('CmpItemMenu', { fg = cs.light_black })

View file

@ -1,9 +0,0 @@
#!/bin/sh
set -eu
nix develop --command stylua --check .
git ls-files '*.lua' | xargs nix develop --command selene --display-style quiet
nix develop --command prettier --check .
nix fmt
git diff --exit-code -- '*.nix'
nix develop --command lua-language-server --check . --checklevel=Warning

View file

@ -1,4 +1 @@
std = 'vim'
[lints]
bad_string_escape = 'allow'

30
vim.toml Normal file
View file

@ -0,0 +1,30 @@
[selene]
base = "lua51"
name = "vim"
[vim]
any = true
[jit]
any = true
[assert]
any = true
[describe]
any = true
[it]
any = true
[before_each]
any = true
[after_each]
any = true
[spy]
any = true
[stub]
any = true

View file

@ -1,26 +0,0 @@
---
base: lua51
name: vim
lua_versions:
- luajit
globals:
vim:
any: true
jit:
any: true
assert:
any: true
describe:
any: true
it:
any: true
before_each:
any: true
after_each:
any: true
spy:
any: true
stub:
any: true
bit:
any: true