mirror of
https://github.com/cursorless-dev/cursorless.git
synced 2024-10-03 20:37:50 +03:00
0ec5e3c4bc
![neovim_take](https://github.com/cursorless-dev/cursorless/assets/387346/e72acd0d-fee2-4bae-a8b1-0cf8644c0ecf) ![neovim_clone_cut_post_drink](https://github.com/cursorless-dev/cursorless/assets/387346/20041f0d-8ff1-41b8-a2bd-02bc353ad8c5) ![neovim_terminal](https://github.com/cursorless-dev/cursorless/assets/387346/423b6d29-a1e4-4910-8a4e-32acd5dd3c5b) # Repositories This currently relies on: * https://github.com/saidelike/cursorless/tree/nvim-talon (this PR) * compiled and pushed to https://github.com/hands-free-vim/cursorless.nvim (neovim cursorless plugin) * https://github.com/saidelike/command-server/tree/neovim * compiled and pushed to cursorless mono repo * https://github.com/hands-free-vim/talon.nvim (neovim talon plugin) * https://github.com/hands-free-vim/neovim-talon (talon commands for neovim: command-client, commands for navigating/editing/split/tabs in editor. Deprecates https://github.com/fidgetingbits/talon-vim) # Todo - [x] https://github.com/hands-free-vim/neovim-talon/issues/20 - [x] https://github.com/hands-free-vim/neovim-talon/pull/24 # Checklist for pokey The below list can be useful to review the code since some files are based on vscode similar files. - packages\cursorless-neovim-e2e\src\suite\recorded.neovim.test.ts versus packages\cursorless-vscode-e2e\src\suite\recorded.vscode.test.ts - packages\cursorless-neovim-e2e\src\endToEndTestSetup.ts versus packages\cursorless-vscode-e2e\src\endToEndTestSetup.ts - packages\cursorless-neovim\src\constructTestHelpers.ts versus packages\cursorless-vscode\src\constructTestHelpers.ts - packages\cursorless-neovim\src\extension.ts versus packages\cursorless-vscode\src\extension.ts - packages/cursorless-neovim/src/NeovimCommandServerApi.ts versus https://github.com/pokey/command-server/blob/main/src/extension.ts#L32 - packages/cursorless-neovim/src/registerCommands.ts versus packages/cursorless-vscode/src/registerCommands.ts - packages\neovim-common\src\TestHelpers.ts versus packages\vscode-common\src\TestHelpers.ts - packages\neovim-common\src\getExtensionApi.ts versus packages\vscode-common\src\getExtensionApi.ts - packages\neovim-common\src\ide\neovim\NeovimCapabilities.ts vs packages\cursorless-vscode\src\ide\vscode\VscodeCapabilities.ts - packages/neovim-common/src/ide/neovim/NeovimClipboard.ts vs packages\cursorless-vscode\src\ide\vscode\VscodeClipboard.ts - packages\neovim-common\src\ide\neovim\NeovimEdit.ts vs packages\cursorless-vscode\src\ide\vscode\VscodeEdit.ts - packages\neovim-common\src\ide\neovim\NeovimEvents.ts vs packages\cursorless-vscode\src\ide\vscode\VscodeEvents.ts - packages\neovim-common\src\ide\neovim\NeovimFileSystem.ts vs packages\cursorless-vscode\src\ide\vscode\VscodeFileSystem.ts - packages\neovim-common\src\ide\neovim\NeovimGlobalState.ts vs packages\cursorless-vscode\src\ide\vscode\VscodeGlobalState.ts - packages\neovim-common\src\ide\neovim\NeovimIDE.ts vs packages\cursorless-vscode\src\ide\vscode\VscodeIDE.ts - packages\neovim-common\src\ide\neovim\NeovimMessages.ts vs packages\cursorless-vscode\src\ide\vscode\VscodeMessages.ts - packages\neovim-common\src\ide\neovim\NeovimTextDocumentImpl.ts vs packages\cursorless-vscode\src\ide\vscode\VscodeTextDocumentImpl.ts - packages\neovim-common\src\ide\neovim\NeovimTextEditorImpl.ts vs packages\cursorless-vscode\src\ide\vscode\VscodeTextEditorImpl.ts - packages\neovim-common\src\ide\neovim\NeovimTextLineImpl.ts vs packages\cursorless-vscode\src\ide\vscode\VscodeTextLineImpl.ts - packages\neovim-common\src\ide\neovim\hats\NeovimHats.ts vs - packages\neovim-common\src\{neovimApi,neovimHelpers}.ts vs https://code.visualstudio.com/api/references/vscode-api - packages\neovim-common\src\runCommand.ts vs packages\vscode-common\src\runCommand.ts - packages\neovim-common\src\testUtil\openNewEditor.ts vs packages\vscode-common\src\testUtil\openNewEditor.ts - packages\test-harness\src\index.ts vs packages\test-harness\src\runners\extensionTestsVscode.ts - packages/test-harness/src/launchNeovimAndRunTests.ts vs packages/test-harness/src/launchVscodeAndRunTests.ts - packages/test-harness/src/scripts/runNeovimTestsCI.ts vs packages/test-harness/src/scripts/runVscodeTestsCI.ts - docs\contributing\cursorless-in-neovim.md vs docs\contributing\CONTRIBUTING.md --------- Co-authored-by: Cedric Halbronn <cedric.halbronn@nccgroup.com> Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Co-authored-by: fidgetingbits <fidgetingbits@users.noreply.github.com> Co-authored-by: Pokey Rule <755842+pokey@users.noreply.github.com>
34 lines
1.1 KiB
Lua
34 lines
1.1 KiB
Lua
-- This config file is used for local development and testing.
|
|
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
|
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
|
vim.fn.system({
|
|
"git",
|
|
"clone",
|
|
"--filter=blob:none",
|
|
"https://github.com/folke/lazy.nvim.git",
|
|
"--branch=stable", -- latest stable release
|
|
lazypath,
|
|
})
|
|
end
|
|
vim.opt.runtimepath:prepend(lazypath)
|
|
require("lazy").setup({
|
|
-- Allows title detection by neovim-talon while testing
|
|
"hands-free-vim/talon.nvim",
|
|
-- Provides concise mode display while testing. This is useful because talon.nvim sets cmdheight = 0
|
|
"nvim-lualine/lualine.nvim",
|
|
dependencies = { "nvim-tree/nvim-web-devicons" },
|
|
})
|
|
|
|
-- Allows better range selection debugging - it allows us to see single character ranges.
|
|
vim.o.guicursor = "a:hor20-blink100"
|
|
|
|
local repo_root = os.getenv("CURSORLESS_REPO_ROOT")
|
|
if not repo_root then
|
|
error("CURSORLESS_REPO_ROOT is not set. Run via debug-neovim.sh script.")
|
|
end
|
|
vim.opt.runtimepath:append(repo_root .. "/cursorless.nvim")
|
|
|
|
require("talon").setup()
|
|
require("cursorless").setup()
|
|
require("lualine").setup()
|