aboutsummaryrefslogtreecommitdiff
path: root/autoload/repl/repl_modes.kak
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2026-06-21 21:57:54 +0530
committerAkshay Nair <phenax5@gmail.com>2026-06-21 21:57:54 +0530
commite254ac67272707644be53aa1eb296917651a1771 (patch)
tree8e99675ec69463b13788b200f40f88146143a1b4 /autoload/repl/repl_modes.kak
parent24bac5d317757ae3cb0f390869fceef58cae5fa8 (diff)
downloadkakoune-config-e254ac67272707644be53aa1eb296917651a1771.tar.gz
kakoune-config-e254ac67272707644be53aa1eb296917651a1771.zip
Add kcr support for repl + add makecmd repl mode
Diffstat (limited to '')
-rw-r--r--autoload/repl/repl_modes.kak37
1 files changed, 22 insertions, 15 deletions
diff --git a/autoload/repl/repl_modes.kak b/autoload/repl/repl_modes.kak
index 657f2a5..6b7550b 100644
--- a/autoload/repl/repl_modes.kak
+++ b/autoload/repl/repl_modes.kak
@@ -1,9 +1,16 @@
-define-repl-mode global s 'Shell' %{ set global xrepl_current_cmd '$SHELL' }
+define-repl-mode global s 'Shell' %{ set global xrepl_current_cmd 'kcr shell' }
define-repl-mode global n 'Node' %{ set global xrepl_current_cmd 'node' }
define-repl-mode global a 'AI: Claude' %{ set global xrepl_current_cmd 'claude' }
+# Send makecmd to shell
+define-repl-mode global M 'Makecmd' %{
+ set global xrepl_current_cmd 'kcr shell'
+ set global xrepl_current_transform 'cat > /dev/null; echo $kak_opt_makecmd'
+}
+
hook global BufSetOption filetype=haskell %{
define-repl-mode buffer h 'Haskell: cabal test' %{
+ # TODO: maybe use current test file path
set global xrepl_current_cmd 'cabal test'
set global xrepl_current_clear_screen true
}
@@ -14,7 +21,7 @@ hook global BufSetOption filetype=ruby %{
set global xrepl_current_cmd '${KAK_BUNDLE_EXEC:-"bundle exec"} rails console'
}
define-repl-mode buffer r 'Rspec' %{
- set global xrepl_current_cmd '$SHELL'
+ set global xrepl_current_cmd 'kcr shell'
set global xrepl_current_transform 'cat > /dev/null
path=$(realpath -s --relative-to="$PWD" "$kak_buffile")
if [ "$kak_cursor_line" -gt 5 ]; then path="$path:$kak_cursor_line"; fi
@@ -28,8 +35,8 @@ hook global BufSetOption filetype=(?:javascript|typescript|jsx|tsx) %{
# TODO: Search for root cypress config file and cd into it
# set global xrepl_current_cmd '(echo "::$kak_config::" | tee foob) && '
define-repl-mode buffer c 'Cypress' %{
- set global xrepl_current_cmd '$SHELL'
- set global xrepl_current_transform 'cat > /dev/null;
+ set global xrepl_current_cmd 'kcr shell'
+ set global xrepl_current_transform 'cat > /dev/null
cypress_config_files="cypress.config.json cypress.config.ts cypress.config.js"
project=$($kak_config/scripts/utils.sh find_closest "$kak_buffile" $cypress_config_files)
echo "npx cypress run --headless --e2e -P" "''$project''" "--spec ''$kak_buffile'';"
@@ -37,20 +44,20 @@ hook global BufSetOption filetype=(?:javascript|typescript|jsx|tsx) %{
set global xrepl_current_clear_screen true
}
define-repl-mode global j 'Jest' %{
- set global xrepl_current_cmd '$SHELL'
- set global xrepl_current_transform 'cat > /dev/null;
+ set global xrepl_current_cmd 'kcr shell'
+ set global xrepl_current_transform 'cat > /dev/null
echo "sh -c \\"cd ''$(dirname "$kak_buffile")''; npx jest --runTestsByPath ''$kak_buffile''\\";"
'
set global xrepl_current_clear_screen true
}
}
-hook global BufSetOption filetype=clojure %{
- # TODO: Just temporary for messing around. Remove module name
- map buffer repl r ': xrepl-send-text %{(require ''[pluribus.core :as p] :reload)}; xrepl-send-keys Enter<ret>' -docstring 'Cljs reload'
- define-repl-mode buffer j 'Clojurescript repl' %{
- set global xrepl_current_cmd 'clj -M -m cljs.main --repl-opts "{:launch-browser false}" --compile pluribus.core --repl'
- set global xrepl_current_split_size 30%%
- set global xrepl_current_split_vertical true
- }
-}
+# hook global BufSetOption filetype=clojure %{
+# # TODO: Just temporary for messing around. Remove module name
+# map buffer repl r ': xrepl-send-text %{(require ''[pluribus.core :as p] :reload)}; xrepl-send-keys Enter<ret>' -docstring 'Cljs reload'
+# define-repl-mode buffer j 'Clojurescript repl' %{
+# set global xrepl_current_cmd 'clj -M -m cljs.main --repl-opts "{:launch-browser false}" --compile pluribus.core --repl'
+# set global xrepl_current_split_size 30%%
+# set global xrepl_current_split_vertical true
+# }
+# }