aboutsummaryrefslogtreecommitdiffstats
path: root/after/plugin/iron.lua
blob: 972ccbc553f56075b3af7d3b890ada4a8750c5ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
local ok, iron = pcall(require, "iron.core")

if not ok then
    return
end

iron.setup({
    config = {
        should_map_plug = false,
        -- Whether a repl should be discarded or not
        scratch_repl = true,
        close_window_on_exit = true,
        -- Your repl definitions come here
        repl_definition = {
            sh = {
                command = { "zsh" },
            },
            javascript = {
                command = { "node" },
            },
            php = {
                command = { "psysh" },
            },
            tinker = {
                command = { "php", "artisan", "tinker" },
            },
            sail = {
                command = { "sail", "tinker" },
            },
        },
        repl_open_cmd = "rightbelow vertical 100 split",
        -- how the REPL window will be opened, the default is opening
        -- a float window of height 40 at the bottom.
    },
    keymaps = {
        send_motion = "<space>sc",
        visual_send = "<space>sc",
        send_file = "<space>sf",
        send_line = "<space>sl",
        send_mark = "<space>sm",
        mark_motion = "<space>mc",
        mark_visual = "<space>mc",
        remove_mark = "<space>md",
        cr = "<space>s<cr>",
        interrupt = "<space>s<space>",
        exit = "<space>sq",
        clear = "<space>cl",
    },
    highlight = {
        italic = true,
    },
})

-- Idea
-- create a menu to ask which console wants to start
-- for php example we have
-- psysh | tinker | tinker on sail
-- base on that save the expected filetype on a buffer variable
-- add the parameter to the command for the IronRepl and all commands to send
-- or beter use my own functions useing the core.* functions
-- not all functions takes the ft as parameter