From 2fcc21dd42c7c20ca6112f0edfafc56922948217 Mon Sep 17 00:00:00 2001 From: "David T. Sadler" Date: Fri, 6 Mar 2026 22:51:10 +0000 Subject: Add PHP script to generate the markdown table of Neovim keymaps --- .php-cs-fixer.dist.php | 18 ++++++++++++ scripts/generate-readme-neovim-keymaps.php | 44 ++++++++++++++++++++++++++++++ shell.nix | 13 +++++++++ 3 files changed, 75 insertions(+) create mode 100644 .php-cs-fixer.dist.php create mode 100644 scripts/generate-readme-neovim-keymaps.php create mode 100644 shell.nix diff --git a/.php-cs-fixer.dist.php b/.php-cs-fixer.dist.php new file mode 100644 index 0000000..6e89bee --- /dev/null +++ b/.php-cs-fixer.dist.php @@ -0,0 +1,18 @@ +in(__DIR__); + +return (new PhpCsFixer\Config()) + ->setRules([ + '@PSR12' => true, +# 'strict_param' => true, + 'array_syntax' => ['syntax' => 'short'], +# 'declare_strict_types' => true, + ]) + ->setFinder($finder); diff --git a/scripts/generate-readme-neovim-keymaps.php b/scripts/generate-readme-neovim-keymaps.php new file mode 100644 index 0000000..4dbe1e1 --- /dev/null +++ b/scripts/generate-readme-neovim-keymaps.php @@ -0,0 +1,44 @@ +'], ["\<", "\>"], $match[2]); + $description = $match[3]; + $mode = str_replace(['{ ', ' }', '"'], '', $match[1]); + + $carry[] = "| $key | $description | $mode |"; + + return $carry; + }, + $table +); + +$readme = file_get_contents($target); +$pattern = '/().*()/s'; +$replacement = "$1\n" . implode("\n", $table) . "\n$2"; +file_put_contents($target, preg_replace($pattern, $replacement, $readme)); diff --git a/shell.nix b/shell.nix new file mode 100644 index 0000000..a57f451 --- /dev/null +++ b/shell.nix @@ -0,0 +1,13 @@ +let + nixpkgs = fetchTarball "https://github.com/NixOS/nixpkgs/tarball/nixos-unstable"; + pkgs = import nixpkgs { config = {}; overlays = []; }; +in + +pkgs.mkShellNoCC { + packages = with pkgs; [ + php84 + php84Packages.composer + php84Packages.php-cs-fixer + php84Packages.php-codesniffer + ]; +} -- cgit v1.2.3-13-gbd6f