diff --git a/.envrc b/.envrc index d522e34..3550a30 100644 --- a/.envrc +++ b/.envrc @@ -1,3 +1 @@ -export VIRTUAL_ENV=venv -layout python -python -c 'import pyparsing' 2>/dev/null || pip install -r scripts/requirements.txt +use flake diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 462bb8f..8b1cc58 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -10,21 +10,14 @@ on: - main jobs: - luacheck: - name: Luacheck + selene: + name: Selene runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - - - name: Prepare - run: | - sudo apt-get update - sudo add-apt-repository universe - sudo apt install luarocks -y - sudo luarocks install luacheck - - - name: Run Luacheck - run: luacheck lua tests + - uses: NTBBloodbath/selene-action@v1.0.0 + with: + args: --display-style quiet . stylua: name: StyLua diff --git a/.luacheckrc b/.luacheckrc deleted file mode 100644 index 7efefde..0000000 --- a/.luacheckrc +++ /dev/null @@ -1,19 +0,0 @@ -max_comment_line_length = false -codes = true - -exclude_files = { - "tests/treesitter", -} - -ignore = { - "212", -- Unused argument - "631", -- Line is too long - "122", -- Setting a readonly global - "542", -- Empty if branch -} - -read_globals = { - "vim", - "a", - "assert", -} diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..5d1f13f --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,17 @@ +minimum_pre_commit_version: '3.5.0' + +repos: + - repo: https://github.com/JohnnyMorganz/StyLua + rev: v2.3.1 + hooks: + - id: stylua-github + name: stylua (Lua formatter) + files: \.lua$ + pass_filenames: true + + - repo: https://github.com/pre-commit/mirrors-prettier + rev: v4.0.0-alpha.8 + hooks: + - id: prettier + name: prettier + files: \.(md|toml|yaml|yml|sh)$ diff --git a/Makefile b/Makefile index 897b281..db15dd5 100644 --- a/Makefile +++ b/Makefile @@ -17,7 +17,7 @@ test: .PHONY: lint lint: scripts/nvim-typecheck-action ./scripts/nvim-typecheck-action/typecheck.sh --workdir scripts/nvim-typecheck-action lua - luacheck lua tests --formatter plain + selene --display-style quiet . stylua --check lua tests ## profile: use LuaJIT profiler to profile the plugin @@ -45,4 +45,4 @@ scripts/benchmark.nvim: ## clean: reset the repository to a clean state .PHONY: clean clean: - rm -rf scripts/nvim-typecheck-action venv .testenv perf/tmp profile.json + rm -rf scripts/nvim-typecheck-action .testenv perf/tmp profile.json diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..7501bfa --- /dev/null +++ b/flake.lock @@ -0,0 +1,43 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1771207753, + "narHash": "sha256-b9uG8yN50DRQ6A7JdZBfzq718ryYrlmGgqkRm9OOwCE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "d1c15b7d5806069da59e819999d70e1cec0760bf", + "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 new file mode 100644 index 0000000..5670f55 --- /dev/null +++ b/flake.nix @@ -0,0 +1,29 @@ +{ + description = "oil.nvim — Neovim file explorer: edit your filesystem like a buffer"; + + 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 + { + devShells = forEachSystem (pkgs: { + default = pkgs.mkShell { + packages = [ + pkgs.prettier + pkgs.stylua + pkgs.selene + ]; + }; + }); + }; +} diff --git a/selene.toml b/selene.toml new file mode 100644 index 0000000..96cf5ab --- /dev/null +++ b/selene.toml @@ -0,0 +1 @@ +std = 'vim'