├── .github ├── FUNDING.yml └── workflows │ └── main.yml ├── .gitignore ├── .stylua.toml ├── LICENSE ├── Makefile ├── README.md ├── lua ├── regexplainer.lua └── regexplainer │ ├── buffers │ ├── init.lua │ ├── popup.lua │ ├── register.lua │ ├── shared.lua │ └── split.lua │ ├── cache.lua │ ├── component │ ├── descriptions.lua │ ├── init.lua │ └── predicates.lua │ ├── deps │ └── init.lua │ ├── graphics │ ├── hologram.lua │ └── init.lua │ ├── health.lua │ ├── python │ ├── __pycache__ │ │ └── railroad_generator.cpython-313.pyc │ └── railroad_generator.py │ ├── renderers │ ├── debug │ │ └── init.lua │ ├── graphical │ │ └── init.lua │ ├── init.lua │ └── narrative │ │ ├── init.lua │ │ └── narrative.lua │ └── utils │ ├── init.lua │ └── treesitter.lua ├── plugin └── nvim-regexplainer.lua ├── queries ├── ecma │ └── regexplainer.scm ├── javascript │ └── regexplainer.scm ├── regex │ └── regexplainer.scm └── typescript │ └── regexplainer.scm └── tests ├── fixtures └── narrative │ ├── 01 Simple Patterns.js │ ├── 02 Modifiers.js │ ├── 03 Ranges and Quantifiers.js │ ├── 04 Negated Ranges.js │ ├── 05 Capture Groups.js │ ├── 06 Named Capture Groups.js │ ├── 07 Non-Capturing Groups.js │ ├── 08 Alternations.js │ ├── 09 Lookaround.js │ ├── 10 Special Characters.js │ ├── 11 Practical Examples.js │ ├── 12 Regex Sudoku.js │ ├── 13 Errors.js │ └── 14 Graphical.js ├── helpers └── util.lua ├── lua └── ansicolors.lua ├── mininit.lua ├── queries └── javascript │ └── regexplainer_test.scm └── regexplainer ├── deps_spec.lua ├── graphical_spec.lua └── nvim-regexplainer_spec.lua /.github/FUNDING.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/.github/FUNDING.yml -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/.github/workflows/main.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | vendor 2 | .tests 3 | 4 | -------------------------------------------------------------------------------- /.stylua.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/.stylua.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/README.md -------------------------------------------------------------------------------- /lua/regexplainer.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/lua/regexplainer.lua -------------------------------------------------------------------------------- /lua/regexplainer/buffers/init.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/lua/regexplainer/buffers/init.lua -------------------------------------------------------------------------------- /lua/regexplainer/buffers/popup.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/lua/regexplainer/buffers/popup.lua -------------------------------------------------------------------------------- /lua/regexplainer/buffers/register.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/lua/regexplainer/buffers/register.lua -------------------------------------------------------------------------------- /lua/regexplainer/buffers/shared.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/lua/regexplainer/buffers/shared.lua -------------------------------------------------------------------------------- /lua/regexplainer/buffers/split.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/lua/regexplainer/buffers/split.lua -------------------------------------------------------------------------------- /lua/regexplainer/cache.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/lua/regexplainer/cache.lua -------------------------------------------------------------------------------- /lua/regexplainer/component/descriptions.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/lua/regexplainer/component/descriptions.lua -------------------------------------------------------------------------------- /lua/regexplainer/component/init.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/lua/regexplainer/component/init.lua -------------------------------------------------------------------------------- /lua/regexplainer/component/predicates.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/lua/regexplainer/component/predicates.lua -------------------------------------------------------------------------------- /lua/regexplainer/deps/init.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/lua/regexplainer/deps/init.lua -------------------------------------------------------------------------------- /lua/regexplainer/graphics/hologram.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/lua/regexplainer/graphics/hologram.lua -------------------------------------------------------------------------------- /lua/regexplainer/graphics/init.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/lua/regexplainer/graphics/init.lua -------------------------------------------------------------------------------- /lua/regexplainer/health.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/lua/regexplainer/health.lua -------------------------------------------------------------------------------- /lua/regexplainer/python/__pycache__/railroad_generator.cpython-313.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/lua/regexplainer/python/__pycache__/railroad_generator.cpython-313.pyc -------------------------------------------------------------------------------- /lua/regexplainer/python/railroad_generator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/lua/regexplainer/python/railroad_generator.py -------------------------------------------------------------------------------- /lua/regexplainer/renderers/debug/init.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/lua/regexplainer/renderers/debug/init.lua -------------------------------------------------------------------------------- /lua/regexplainer/renderers/graphical/init.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/lua/regexplainer/renderers/graphical/init.lua -------------------------------------------------------------------------------- /lua/regexplainer/renderers/init.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/lua/regexplainer/renderers/init.lua -------------------------------------------------------------------------------- /lua/regexplainer/renderers/narrative/init.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/lua/regexplainer/renderers/narrative/init.lua -------------------------------------------------------------------------------- /lua/regexplainer/renderers/narrative/narrative.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/lua/regexplainer/renderers/narrative/narrative.lua -------------------------------------------------------------------------------- /lua/regexplainer/utils/init.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/lua/regexplainer/utils/init.lua -------------------------------------------------------------------------------- /lua/regexplainer/utils/treesitter.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/lua/regexplainer/utils/treesitter.lua -------------------------------------------------------------------------------- /plugin/nvim-regexplainer.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/plugin/nvim-regexplainer.lua -------------------------------------------------------------------------------- /queries/ecma/regexplainer.scm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/queries/ecma/regexplainer.scm -------------------------------------------------------------------------------- /queries/javascript/regexplainer.scm: -------------------------------------------------------------------------------- 1 | ;; inherits: ecma 2 | -------------------------------------------------------------------------------- /queries/regex/regexplainer.scm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/queries/regex/regexplainer.scm -------------------------------------------------------------------------------- /queries/typescript/regexplainer.scm: -------------------------------------------------------------------------------- 1 | ;; inherits: ecma 2 | -------------------------------------------------------------------------------- /tests/fixtures/narrative/01 Simple Patterns.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/tests/fixtures/narrative/01 Simple Patterns.js -------------------------------------------------------------------------------- /tests/fixtures/narrative/02 Modifiers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/tests/fixtures/narrative/02 Modifiers.js -------------------------------------------------------------------------------- /tests/fixtures/narrative/03 Ranges and Quantifiers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/tests/fixtures/narrative/03 Ranges and Quantifiers.js -------------------------------------------------------------------------------- /tests/fixtures/narrative/04 Negated Ranges.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/tests/fixtures/narrative/04 Negated Ranges.js -------------------------------------------------------------------------------- /tests/fixtures/narrative/05 Capture Groups.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/tests/fixtures/narrative/05 Capture Groups.js -------------------------------------------------------------------------------- /tests/fixtures/narrative/06 Named Capture Groups.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/tests/fixtures/narrative/06 Named Capture Groups.js -------------------------------------------------------------------------------- /tests/fixtures/narrative/07 Non-Capturing Groups.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/tests/fixtures/narrative/07 Non-Capturing Groups.js -------------------------------------------------------------------------------- /tests/fixtures/narrative/08 Alternations.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/tests/fixtures/narrative/08 Alternations.js -------------------------------------------------------------------------------- /tests/fixtures/narrative/09 Lookaround.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/tests/fixtures/narrative/09 Lookaround.js -------------------------------------------------------------------------------- /tests/fixtures/narrative/10 Special Characters.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/tests/fixtures/narrative/10 Special Characters.js -------------------------------------------------------------------------------- /tests/fixtures/narrative/11 Practical Examples.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/tests/fixtures/narrative/11 Practical Examples.js -------------------------------------------------------------------------------- /tests/fixtures/narrative/12 Regex Sudoku.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/tests/fixtures/narrative/12 Regex Sudoku.js -------------------------------------------------------------------------------- /tests/fixtures/narrative/13 Errors.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/tests/fixtures/narrative/13 Errors.js -------------------------------------------------------------------------------- /tests/fixtures/narrative/14 Graphical.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/tests/fixtures/narrative/14 Graphical.js -------------------------------------------------------------------------------- /tests/helpers/util.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/tests/helpers/util.lua -------------------------------------------------------------------------------- /tests/lua/ansicolors.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/tests/lua/ansicolors.lua -------------------------------------------------------------------------------- /tests/mininit.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/tests/mininit.lua -------------------------------------------------------------------------------- /tests/queries/javascript/regexplainer_test.scm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/tests/queries/javascript/regexplainer_test.scm -------------------------------------------------------------------------------- /tests/regexplainer/deps_spec.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/tests/regexplainer/deps_spec.lua -------------------------------------------------------------------------------- /tests/regexplainer/graphical_spec.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/tests/regexplainer/graphical_spec.lua -------------------------------------------------------------------------------- /tests/regexplainer/nvim-regexplainer_spec.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennypowers/nvim-regexplainer/HEAD/tests/regexplainer/nvim-regexplainer_spec.lua --------------------------------------------------------------------------------