@@ -29,16 +29,51 @@ Note: The terminal feature can use `Snacks.nvim` or the native Neovim terminal.
29
29
30
30
### Using [ lazy.nvim] ( https://github.com/folke/lazy.nvim )
31
31
32
+ Add the following to your plugins configuration:
33
+
32
34
``` lua
33
35
{
34
36
" coder/claudecode.nvim" ,
35
37
dependencies = {
36
38
" nvim-lua/plenary.nvim" ,
37
- " folke/snacks.nvim" , -- Added dependency
39
+ " folke/snacks.nvim" , -- Optional dependency for enhanced terminal
40
+ },
41
+ opts = {
42
+ -- Configuration for claudecode main
43
+ -- Optional: terminal_cmd = "claude --magic-flag",
44
+
45
+ -- Configuration for the interactive terminal:
46
+ terminal = {
47
+ split_side = " right" , -- "left" or "right"
48
+ split_width_percentage = 0.3 , -- 0.0 to 1.0
49
+ provider = " snacks" , -- "snacks" or "native"
50
+ show_native_term_exit_tip = true , -- Show tip for Ctrl-\\ Ctrl-N
51
+ },
52
+ },
53
+ -- The plugin will call require("claudecode").setup(opts)
54
+ config = true ,
55
+ -- Optional: Add convenient keymaps
56
+ keys = {
57
+ { " <leader>cc" , " <cmd>ClaudeCode<cr>" , desc = " Toggle Claude Terminal" },
58
+ { " <leader>ck" , " <cmd>ClaudeCodeSend<cr>" , desc = " Send to Claude Code" },
59
+ { " <leader>co" , " <cmd>ClaudeCodeOpen<cr>" , desc = " Open Claude Terminal" },
60
+ { " <leader>cx" , " <cmd>ClaudeCodeClose<cr>" , desc = " Close Claude Terminal" },
61
+ },
62
+ }
63
+ ```
64
+
65
+ For those who prefer a function-style config:
66
+
67
+ ``` lua
68
+ {
69
+ " coder/claudecode.nvim" ,
70
+ dependencies = {
71
+ " nvim-lua/plenary.nvim" ,
72
+ " folke/snacks.nvim" , -- Optional dependency
38
73
},
39
74
config = function ()
40
- -- Ensure snacks is loaded if you want to use the terminal immediately
41
- -- require("snacks") -- Or handle this in your init.lua
75
+ -- If using snacks, ensure it's loaded
76
+ -- require("snacks")
42
77
require (" claudecode" ).setup ({
43
78
-- Optional configuration
44
79
})
53
88
" coder/claudecode.nvim" ,
54
89
requires = {
55
90
" nvim-lua/plenary.nvim" ,
56
- " folke/snacks.nvim" , -- Added dependency
91
+ " folke/snacks.nvim" , -- Optional dependency
57
92
},
58
93
config = function ()
59
94
require (" claudecode" ).setup ({
63
98
}
64
99
```
65
100
66
- ### Using [ LazyVim] ( https://github.com/LazyVim/LazyVim )
67
-
68
- Add the following to your ` lua/plugins/claudecode.lua ` :
69
-
70
- ``` lua
71
- return {
72
- {
73
- " coder/claudecode.nvim" ,
74
- dependencies = {
75
- " nvim-lua/plenary.nvim" ,
76
- " folke/snacks.nvim" , -- Added dependency
77
- },
78
- opts = {
79
- -- Optional configuration for claudecode main
80
- -- Example:
81
- -- terminal_cmd = "claude --magic-flag",
82
-
83
- -- Configuration for the interactive terminal can also be nested here:
84
- terminal = {
85
- split_side = " left" , -- "left" or "right"
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)
89
- },
90
- },
91
- -- The main require("claudecode").setup(opts) will handle passing
92
- -- opts.terminal to the terminal module's setup.
93
- config = true , -- or function(_, opts) require("claudecode").setup(opts) end
94
- keys = {
95
- { " <leader>cc" , " <cmd>ClaudeCode<cr>" , desc = " Toggle Claude Terminal" },
96
- { " <leader>ck" , " <cmd>ClaudeCodeSend<cr>" , desc = " Send to Claude Code" },
97
- { " <leader>co" , " <cmd>ClaudeCodeOpen<cr>" , desc = " Open Claude Terminal" },
98
- { " <leader>cx" , " <cmd>ClaudeCodeClose<cr>" , desc = " Close Claude Terminal" },
99
- },
100
- },
101
- }
102
- ```
103
-
104
101
### Local Development with LazyVim
105
102
106
103
For local development with LazyVim, create a ` lua/plugins/claudecode.lua ` file with the following content:
0 commit comments