You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+25-15Lines changed: 25 additions & 15 deletions
Original file line number
Diff line number
Diff line change
@@ -12,18 +12,18 @@ A Neovim plugin that integrates with Claude Code CLI to provide a seamless AI co
12
12
- 🔍 Selection tracking to provide context to Claude
13
13
- 🛠️ Integration with Neovim's buffer and window management
14
14
- 📝 Support for file operations and diagnostics
15
-
- 🖥️ Interactive vertical split terminal for Claude sessions (via`folke/snacks.nvim`)
15
+
- 🖥️ Interactive vertical split terminal for Claude sessions (supports`folke/snacks.nvim` or native Neovim terminal)
16
16
- 🔒 Automatic cleanup on exit - server shutdown and lockfile removal
17
17
18
18
## Requirements
19
19
20
20
- Neovim >= 0.8.0
21
21
- Claude Code CLI installed and in your PATH
22
22
- Lua >= 5.1
23
-
-**Required for terminal integration:**[folke/snacks.nvim](https://github.com/folke/snacks.nvim) - Terminal management plugin
23
+
-**Optional for terminal integration:**[folke/snacks.nvim](https://github.com/folke/snacks.nvim) - Terminal management plugin (can use native Neovim terminal as an alternative).
24
24
- Optional: plenary.nvim for additional utilities
25
25
26
-
Note: The terminal feature requires Snacks.nvim to be installed and available. If not available, the terminal commands will display an error message, but the core Claude Code integration will still function.
26
+
Note: The terminal feature can use `Snacks.nvim` or the native Neovim terminal. If `Snacks.nvim` is configured as the provider but is not available, it will fall back to the native terminal.
27
27
28
28
## Installation
29
29
@@ -84,15 +84,16 @@ return {
84
84
terminal= {
85
85
split_side="left", -- "left" or "right"
86
86
split_width_percentage=0.4, -- 0.0 to 1.0
87
+
provider="snacks", -- "snacks" or "native" (defaults to "snacks")
88
+
show_native_term_exit_tip=true, -- Show tip for Ctrl-\\ Ctrl-N (defaults to true)
87
89
},
88
90
},
89
91
-- The main require("claudecode").setup(opts) will handle passing
90
92
-- opts.terminal to the terminal module's setup.
91
93
config=true, -- or function(_, opts) require("claudecode").setup(opts) end
92
94
keys= {
93
-
{ "<leader>cc", "<cmd>ClaudeCodeStart<cr>", desc="Start Claude Code" },
95
+
{ "<leader>cc", "<cmd>ClaudeCode<cr>", desc="Toggle Claude Terminal" },
94
96
{ "<leader>cs", "<cmd>ClaudeCodeSend<cr>", desc="Send to Claude Code" },
95
-
{ "<leader>ct", "<cmd>ClaudeCode<cr>", desc="Toggle Claude Terminal" },
96
97
{ "<leader>co", "<cmd>ClaudeCodeOpen<cr>", desc="Open Claude Terminal" },
97
98
{ "<leader>cx", "<cmd>ClaudeCodeClose<cr>", desc="Close Claude Terminal" },
98
99
},
@@ -117,19 +118,20 @@ return {
117
118
opts= {
118
119
-- Development configuration for claudecode main
119
120
log_level="debug",
120
-
auto_start=true,-- Optional: auto-start the server
121
+
auto_start=true,
121
122
122
123
-- Example terminal configuration for dev:
123
124
terminal= {
124
125
split_side="right",
125
126
split_width_percentage=0.25,
127
+
provider="native",
128
+
show_native_term_exit_tip=false,
126
129
},
127
130
},
128
131
config=true,
129
132
keys= {
130
-
{ "<leader>cc", "<cmd>ClaudeCodeStart<cr>", desc="Start Claude Code" },
133
+
{ "<leader>cc", "<cmd>ClaudeCode<cr>", desc="Toggle Claude Terminal" },
131
134
{ "<leader>cs", "<cmd>ClaudeCodeSend<cr>", desc="Send to Claude Code" },
132
-
{ "<leader>ct", "<cmd>ClaudeCode<cr>", desc="Toggle Claude Terminal" },
133
135
{ "<leader>co", "<cmd>ClaudeCodeOpen<cr>", desc="Open Claude Terminal" },
134
136
{ "<leader>cx", "<cmd>ClaudeCodeClose<cr>", desc="Close Claude Terminal" },
135
137
},
@@ -151,8 +153,9 @@ require("claudecode").setup({
151
153
-- Port range for WebSocket server (default: 10000-65535)
152
154
port_range= { min=10000, max=65535 },
153
155
154
-
-- Auto-start WebSocket server on Neovim startup
155
-
auto_start=false,
156
+
-- Auto-start WebSocket server when the plugin is loaded.
157
+
-- Note: With lazy-loading (e.g., LazyVim), this means the server starts when a plugin command is first used.
158
+
auto_start=true,
156
159
157
160
-- Custom terminal command to use when launching Claude
158
161
-- This command is used by the new interactive terminal feature.
0 commit comments