diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml deleted file mode 100644 index 4759413..0000000 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ /dev/null @@ -1,78 +0,0 @@ -name: Bug Report -description: Report a bug -title: 'bug: ' -labels: [bug] -body: - - type: checkboxes - attributes: - label: Prerequisites - options: - - label: - I have searched [existing - issues](https://github.com/barrettruth/midnight.nvim/issues) - required: true - - label: I have updated to the latest version - required: true - - - type: textarea - attributes: - label: 'Neovim version' - description: 'Output of `nvim --version`' - render: text - validations: - required: true - - - type: input - attributes: - label: 'Operating system' - placeholder: 'e.g. Arch Linux, macOS 15, Ubuntu 24.04' - validations: - required: true - - - type: textarea - attributes: - label: Description - description: What happened? What did you expect? - validations: - required: true - - - type: textarea - attributes: - label: Steps to reproduce - description: Minimal steps to trigger the bug - value: | - 1. - 2. - 3. - validations: - required: true - - - type: textarea - attributes: - label: 'Health check' - description: 'Output of `:checkhealth midnight`' - render: text - - - type: textarea - attributes: - label: Minimal reproduction - description: | - Save the script below as `repro.lua`, edit if needed, and run: - ``` - nvim -u repro.lua - ``` - Confirm the bug reproduces with this config before submitting. - render: lua - value: | - vim.env.LAZY_STDPATH = '.repro' - load(vim.fn.system('curl -s https://raw.githubusercontent.com/folke/lazy.nvim/main/bootstrap.lua'))() - require('lazy.nvim').setup({ - spec = { - { - 'barrett-ruth/midnight.nvim', - opts = {}, - }, - }, - }) - validations: - required: true diff --git a/.github/ISSUE_TEMPLATE/config.yaml b/.github/ISSUE_TEMPLATE/config.yaml deleted file mode 100644 index 92bd099..0000000 --- a/.github/ISSUE_TEMPLATE/config.yaml +++ /dev/null @@ -1,5 +0,0 @@ -blank_issues_enabled: false -contact_links: - - name: Questions - url: https://github.com/barrettruth/midnight.nvim/discussions - about: Ask questions and discuss ideas diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml deleted file mode 100644 index 77998c2..0000000 --- a/.github/ISSUE_TEMPLATE/feature_request.yaml +++ /dev/null @@ -1,30 +0,0 @@ -name: Feature Request -description: Suggest a feature -title: 'feat: ' -labels: [enhancement] -body: - - type: checkboxes - attributes: - label: Prerequisites - options: - - label: - I have searched [existing - issues](https://github.com/barrettruth/midnight.nvim/issues) - required: true - - - type: textarea - attributes: - label: Problem - description: What problem does this solve? - validations: - required: true - - - type: textarea - attributes: - label: Proposed solution - validations: - required: true - - - type: textarea - attributes: - label: Alternatives considered diff --git a/.github/workflows/quality.yaml b/.github/workflows/quality.yaml index e43f71c..d7be890 100644 --- a/.github/workflows/quality.yaml +++ b/.github/workflows/quality.yaml @@ -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 . diff --git a/.gitignore b/.gitignore index d13bcc9..7451084 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,3 @@ venv/ CLAUDE.md __pycache__ node_modules/ - -.direnv/ -.envrc diff --git a/.luarc.json b/.luarc.json index e240dd5..3ccfeda 100644 --- a/.luarc.json +++ b/.luarc.json @@ -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" } diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 3477598..4706ce4 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -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: diff --git a/.styluaignore b/.styluaignore deleted file mode 100644 index 9b42106..0000000 --- a/.styluaignore +++ /dev/null @@ -1 +0,0 @@ -.direnv/ diff --git a/README.md b/README.md index 234d9d9..ea19f09 100644 --- a/README.md +++ b/README.md @@ -1,25 +1,24 @@ # midnight.nvim -Neovim theme for code, not colors. +neovim theme for code, not colors. ![Image](https://github.com/user-attachments/assets/9abb5126-15d7-4de4-ad6d-ec35975fec03) ## Installation -Install using your package manager of choice or via -[luarocks](https://luarocks.org/modules/barrettruth/midnight.nvim): - -``` -luarocks install midnight.nvim -``` - -Then set the colorscheme: +Install with any package manager of your choice. For example, with +[lazy.nvim](https://github.com/folke/lazy.nvim): ```lua -vim.cmd.colorscheme('midnight') +{ + 'barrett-ruth/midnight.nvim', + config = function() + vim.cmd.colorscheme('midnight') + end, +} ``` -## Plugin Integrations +## Plugin Integration - [treesitter](https://github.com/nvim-treesitter/nvim-treesitter) - [fzf-lua](https://github.com/ibhagwan/fzf-lua) @@ -30,7 +29,7 @@ vim.cmd.colorscheme('midnight') ## Motivation I find existing colorschemes to generally be excessively colorful and -distracting rather than informative. I wrote midnight.nvim to focus on code +distracting, rather than informative. I wrote midnight.nvim to focus on code structure, specifically for competitive programming and workplace software development environments. I included highlighting of constants (e.g. strings, numbers, booleans) and language keywords to emphasize the maximally important diff --git a/colors/daylight.lua b/colors/daylight.lua index 605553d..daa37f0 100644 --- a/colors/daylight.lua +++ b/colors/daylight.lua @@ -1 +1,2 @@ +vim.o.background = 'light' require('midnight').load() diff --git a/colors/midnight.lua b/colors/midnight.lua index 605553d..dfd2424 100644 --- a/colors/midnight.lua +++ b/colors/midnight.lua @@ -1 +1,2 @@ +vim.o.background = 'dark' require('midnight').load() diff --git a/doc/midnight.nvim.txt b/doc/midnight.nvim.txt index 9ec58e7..459f571 100644 --- a/doc/midnight.nvim.txt +++ b/doc/midnight.nvim.txt @@ -16,7 +16,7 @@ INSTALLATION *midnight-installation* >lua { - 'barrettruth/midnight.nvim', + 'barrett-ruth/midnight.nvim', config = function() vim.cmd.colorscheme('midnight') end, diff --git a/flake.lock b/flake.lock deleted file mode 100644 index b6f667a..0000000 --- a/flake.lock +++ /dev/null @@ -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 -} diff --git a/flake.nix b/flake.nix deleted file mode 100644 index 18752aa..0000000 --- a/flake.nix +++ /dev/null @@ -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 - ]; - }; - }); - }; -} diff --git a/lua/midnight/init.lua b/lua/midnight/init.lua index 41d066f..7d03715 100644 --- a/lua/midnight/init.lua +++ b/lua/midnight/init.lua @@ -1,14 +1,16 @@ local M = {} -local loading = false +---@class MidnightConfig +---@field [string] any + +---@param opts? MidnightConfig +---@return nil +function M.setup(opts) + opts = opts or {} +end ---@return nil function M.load() - if loading then - return - end - loading = true - if vim.g.colors_name then vim.cmd('hi clear') end @@ -22,21 +24,6 @@ function M.load() local theme = require('midnight.theme') theme.apply() - - loading = false -end - ----@deprecated Use `vim.cmd('colorscheme midnight')` instead -function M.setup(_opts) - vim.deprecate( - 'require("midnight").setup()', - 'vim.cmd("colorscheme midnight")', - 'v0.1.0', - 'midnight.nvim', - false - ) - - M.load() end return M diff --git a/lua/midnight/palette.lua b/lua/midnight/palette.lua index c531133..273f371 100644 --- a/lua/midnight/palette.lua +++ b/lua/midnight/palette.lua @@ -1,24 +1,7 @@ local M = {} ----@param hex string ----@param bg_hex string ----@param alpha number ----@return string -function M.blend(hex, bg_hex, alpha) - local function parse(h) - h = h:gsub('#', '') - return tonumber(h:sub(1, 2), 16), tonumber(h:sub(3, 4), 16), tonumber(h:sub(5, 6), 16) - end - local r, g, b = parse(hex) - local bg_r, bg_g, bg_b = parse(bg_hex) - local blend_r = math.floor(r * alpha + bg_r * (1 - alpha)) - local blend_g = math.floor(g * alpha + bg_g * (1 - alpha)) - local blend_b = math.floor(b * alpha + bg_b * (1 - alpha)) - return string.format('#%02x%02x%02x', blend_r, blend_g, blend_b) -end - ---@class Palette ----@field foreground string +---@field black string ---@field red string ---@field green string ---@field yellow string @@ -26,7 +9,7 @@ end ---@field magenta string ---@field cyan string ---@field orange? string ----@field background string +---@field white string ---@field bright_black string ---@field bright_red string ---@field bright_green string @@ -48,13 +31,10 @@ end ---@field light_cyan? string ---@field light_white? string ---@field medium_emphasis? string ----@field diff_add? string ----@field diff_delete? string ----@field diff_change? string ---@type Palette M.midnight = { - foreground = '#121212', + black = '#121212', red = '#ff6b6b', green = '#98c379', yellow = '#e5c07b', @@ -62,7 +42,7 @@ M.midnight = { magenta = '#c678dd', cyan = '#56b6c2', orange = '#e5a56b', - background = '#e0e0e0', + white = '#e0e0e0', bright_black = '#666666', bright_red = '#f48771', @@ -79,20 +59,11 @@ M.midnight = { dark_grey = '#222222', medium_emphasis = '#999999', - - -- Diff backgrounds: base color blended at 40% with visual bg (#121212) - -- Generated via: M.blend(base_color, '#121212', 0.4) - -- diff_add = M.blend('#98c379', '#121212', 0.4) -- green - -- diff_delete = M.blend('#ff6b6b', '#121212', 0.4) -- red - -- diff_change = M.blend('#7aa2f7', '#121212', 0.4) -- blue - diff_add = '#0c2f1e', - diff_delete = '#291f27', - diff_change = '#3a4a6d', } ---@type Palette M.daylight = { - foreground = '#f5f5f5', + black = '#f5f5f5', red = '#c7254e', green = '#2d7f3e', yellow = '#996800', @@ -100,7 +71,7 @@ M.daylight = { magenta = '#ae3ec9', cyan = '#1098ad', orange = '#d9730d', - background = '#1a1a1a', + white = '#1a1a1a', bright_black = '#999999', bright_red = '#e03e52', @@ -117,12 +88,6 @@ M.daylight = { dark_grey = '#ebebeb', medium_emphasis = '#666666', - - -- Diff backgrounds: base color blended at 40% with visual bg (#f5f5f5) - -- Generated via: M.blend(base_color, '#f5f5f5', 0.4) - diff_add = '#a5c5ab', - diff_delete = '#e2a1b2', - diff_change = '#a9b7e5', } ---@return Palette diff --git a/lua/midnight/theme.lua b/lua/midnight/theme.lua index 1fbfa02..6c275fd 100644 --- a/lua/midnight/theme.lua +++ b/lua/midnight/theme.lua @@ -59,22 +59,22 @@ function M.apply() hi( 'Normal', - { fg = cs.background, bg = cs.foreground }, + { fg = cs.white, bg = cs.black }, { 'Identifier', 'Special', 'StatusLine', 'StatusLineNC', 'Winbar', 'WinbarNC' } ) hi('NonText', { fg = cs.grey }, { 'SpecialKey' }) hi('LineNr', { fg = cs.light_black }, { 'SignColumn' }) - hi('CursorLine', { bg = cs.dark_grey, underline = false }, { 'ColorColumn', 'Folded', 'Visual' }) + hi('CursorLine', { bg = cs.dark_grey }, { 'ColorColumn', 'Folded', 'Visual' }) hi('CursorLineNr', { fg = cs.medium_emphasis }) - hi('Conceal', { fg = cs.light_black, bg = cs.foreground }) + hi('Conceal', { fg = cs.light_black, bg = cs.black }) hi('Directory', { fg = cs.blue }) hi('Error', { fg = cs.red }) hi('ErrorMsg', { bold = true, underline = true, fg = cs.red }) hi('MoreMsg', { fg = cs.yellow }, { 'WarningMsg' }) hi('MatchParen', { bg = cs.med_grey }) - hi('NormalFloat', { bg = cs.foreground }, { + hi('NormalFloat', { bg = cs.black }, { 'LspInfoBorder', 'FloatBorder', 'FloatShadow', @@ -87,47 +87,43 @@ function M.apply() tshi('Comment', { fg = cs.light_black }) tshi('Constant', { fg = cs.green }) tshi('Define', { fg = cs.blue }) - tshi('Function', { fg = cs.background }, { '@function.builtin', '@function.macro' }) + tshi('Function', { fg = cs.white }, { '@function.builtin', '@function.macro' }) tshi('Include', { fg = cs.blue }) tshi('Keyword', { fg = cs.blue }, { 'Statement' }) - tshi('Namespace', { fg = cs.background }) + tshi('Namespace', { fg = cs.white }) tshi('Number', { fg = cs.green }) - tshi('Operator', { fg = cs.background }, { '@keyword.operator', '@conditional.ternary' }) + tshi('Operator', { fg = cs.white }, { '@keyword.operator', '@conditional.ternary' }) hi('Delimiter', { none = true }) - hi('@punctuation.delimiter', { fg = cs.background }) + hi('@punctuation.delimiter', { fg = cs.white }) tshi('PreProc', { fg = cs.blue }) tshi('String', { fg = cs.green }, { '@character' }) hi('@string.escape', { fg = cs.green }) - tshi('Title', { bold = true, fg = cs.background }) + tshi('Title', { bold = true, fg = cs.white }) - hi('@tag', { fg = cs.background }) - hi('@tag.attribute', { fg = cs.background }) - hi('@tag.delimiter', { fg = cs.background }) + hi('@tag', { fg = cs.white }) + hi('@tag.attribute', { fg = cs.white }) + hi('@tag.delimiter', { fg = cs.white }) - tshi('Type', { fg = cs.background }) - hi('@type.qualifier', { fg = cs.background }, { '@storageclass' }) - hi('@lsp.type.enum', { fg = cs.background }, { '@lsp.type.class' }) + tshi('Type', { fg = cs.white }) + hi('@type.qualifier', { fg = cs.white }, { '@storageclass' }) + hi('@lsp.type.enum', { fg = cs.white }, { '@lsp.type.class' }) hi('@lsp.type.comment', { none = true }, { '@lsp.type.macro' }) hi('@text.emphasis', { italic = true }) hi('@text.strong', { bold = true }) hi('@text.underline', { underline = true }) - hi('@text.uri', { fg = cs.background, underline = true }, { '@text.reference' }) + hi('@text.uri', { fg = cs.white, underline = true }, { '@text.reference' }) - hi('@comment.danger', { fg = cs.red, bold = true, italic = true }) - hi('@comment.note', { fg = cs.blue, bold = true, italic = true }) - hi('@comment.todo', { fg = cs.yellow, bold = true, italic = true }, { 'Todo' }) - hi('@comment.warning', { fg = cs.yellow, bold = true, italic = true }) + hi('@text.danger', { fg = cs.red, bold = true, italic = true }) + hi('@text.note', { fg = cs.green, bold = true, italic = true }) + hi('@text.todo', { fg = cs.yellow, bold = true, italic = true }, { 'Todo' }) + hi('@text.warning', { fg = cs.yellow, bold = true, italic = true }) 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 }) @@ -143,63 +139,32 @@ function M.apply() hi('DiagnosticUnderlineInfo', { undercurl = true, special = cs.light_black }) hi('SpellBad', { underline = true, special = cs.red }) - hi('SpellRare', { underline = true, special = cs.background }) - hi('SpellCap', { underline = true, special = cs.background }) - hi('SpellLocal', { underline = true, special = cs.background }) + hi('SpellRare', { underline = true, special = cs.white }) + hi('SpellCap', { underline = true, special = cs.white }) + hi('SpellLocal', { underline = true, special = cs.white }) - hi('gitCommitSummary', { fg = cs.background }) + hi('gitCommitSummary', { fg = cs.white }) - 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 }) + hi('@attribute.diff', { fg = cs.white }) + hi('DiffAdd', { fg = cs.green }, { '@text.diff.add', 'diffAdded' }) + hi('DiffDelete', { fg = cs.red }, { '@text.diff.delete', 'diffRemoved' }) + hi('DiffChange', { fg = cs.yellow }) - link('Normal', { '@string.special.path', '@variable.parameter' }) - 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 }) - hi('DiffText', { bg = cs.blue, fg = cs.foreground }) - - hi('DiffsDiffAdd', { bg = cs.diff_add }) - hi('DiffsDiffDelete', { bg = cs.diff_delete }) - hi('DiffsDiffChange', { bg = cs.diff_change }) - hi('DiffsDiffText', { bg = cs.blue }) - - hi('@constructor.lua', { fg = cs.background }) + hi('@constructor.lua', { fg = cs.white }) 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') link('Pmenu', 'CmpPmenu') link('PmenuSel', 'CmpPmenuSel') - 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('CmpItemAbbr', { fg = cs.white }) + hi('CmpItemAbbrMatch', { fg = cs.white, bold = true }) + hi('CmpItemAbbrMatchFuzzy', { fg = cs.white, bold = true }) hi('CmpItemAbbrDeprecated', { fg = cs.light_black, strikethrough = true }) hi('CmpItemMenu', { fg = cs.light_black }) @@ -250,18 +215,18 @@ function M.apply() link('Directory', 'OilDir') link('NormalFloat', 'FzfLuaBorder') - hi('FzfLuaHeaderText', { fg = cs.background }, { 'FzfLuaBufFlagCur' }) - hi('FzfLuaBufFlagAlt', { fg = cs.background }) + hi('FzfLuaHeaderText', { fg = cs.white }, { 'FzfLuaBufFlagCur' }) + hi('FzfLuaBufFlagAlt', { fg = cs.white }) link('Normal', 'FzfLuaLivePrompt') - vim.g.terminal_color_0 = cs.foreground + vim.g.terminal_color_0 = cs.black vim.g.terminal_color_1 = cs.red vim.g.terminal_color_2 = cs.green vim.g.terminal_color_3 = cs.yellow vim.g.terminal_color_4 = cs.blue vim.g.terminal_color_5 = cs.magenta vim.g.terminal_color_6 = cs.cyan - vim.g.terminal_color_7 = cs.background + vim.g.terminal_color_7 = cs.white vim.g.terminal_color_8 = cs.bright_black vim.g.terminal_color_9 = cs.bright_red vim.g.terminal_color_10 = cs.bright_green diff --git a/midnight.nvim-scm-1.rockspec b/midnight.nvim-scm-1.rockspec index 5f8d9a5..95763a9 100644 --- a/midnight.nvim-scm-1.rockspec +++ b/midnight.nvim-scm-1.rockspec @@ -2,5 +2,5 @@ rockspec_format = '3.0' package = 'midnight.nvim' version = 'scm-1' -source = { url = 'git://github.com/barrettruth/midnight.nvim' } +source = { url = 'git://github.com/barrett-ruth/midnight.nvim' } build = { type = 'builtin' } diff --git a/scripts/ci.sh b/scripts/ci.sh deleted file mode 100755 index 18dc321..0000000 --- a/scripts/ci.sh +++ /dev/null @@ -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 diff --git a/selene.toml b/selene.toml index f2ada4b..96cf5ab 100644 --- a/selene.toml +++ b/selene.toml @@ -1,4 +1 @@ std = 'vim' - -[lints] -bad_string_escape = 'allow' diff --git a/vim.toml b/vim.toml new file mode 100644 index 0000000..8bf26ea --- /dev/null +++ b/vim.toml @@ -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 diff --git a/vim.yaml b/vim.yaml deleted file mode 100644 index 3821d25..0000000 --- a/vim.yaml +++ /dev/null @@ -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