From ab1a45d4214063cd04248e3c6620da6aae55ca83 Mon Sep 17 00:00:00 2001 From: Michael Housh Date: Sat, 23 Sep 2023 23:58:42 -0400 Subject: [PATCH] Added toggle-term plugin for neovim --- nvim/m-housh/ftplugin/swift.lua | 41 +++++++++++++++++++------ nvim/m-housh/lua/autocmd.lua | 7 ----- nvim/m-housh/lua/plugin-config/init.lua | 4 +++ 3 files changed, 35 insertions(+), 17 deletions(-) diff --git a/nvim/m-housh/ftplugin/swift.lua b/nvim/m-housh/ftplugin/swift.lua index 252afed..e47c5ef 100644 --- a/nvim/m-housh/ftplugin/swift.lua +++ b/nvim/m-housh/ftplugin/swift.lua @@ -1,23 +1,44 @@ local o = vim.opt local keymap = vim.api.nvim_set_keymap local default_options = {noremap = true, silent = true} +local Terminal = require("toggleterm.terminal").Terminal +local autocmd = vim.api.nvim_create_autocmd o.tabstop = 2 o.softtabstop = 2 o.shiftwidth = 2 -local Terminal = require("toggleterm.terminal").Terminal -local swifttest = Terminal:new({ - cmd = "swift test", - hidden = true, - close_on_exit = false, -}) - -function _SWIFT_TEST_TOGGLE() +function SWIFT_TEST() + local swifttest = Terminal:new({ + cmd = "swift test", + hidden = true, + close_on_exit = false, + auto_scroll = true, + }) swifttest:toggle() end -keymap('n', '', '!swift build', default_options) -keymap('n', '', ':lua _SWIFT_TEST_TOGGLE()', default_options) +function SWIFT_BUILD() + local swiftbuild = Terminal:new({ + cmd = "swift build", + hidden = true, + close_on_exit = false, + auto_scroll = true, + }) + swiftbuild:toggle() +end +-- Key map -b to build swift package in terminal window. +keymap('n', '', 'lua SWIFT_BUILD()', default_options) +-- Key map -b to build swift package in terminal window. +keymap('n', '', 'lua SWIFT_TEST()', default_options) + +-- Format swift files when buffer is written +autocmd( + "BufWritePost", + { + pattern = { "*.swift" }, + command=":silent exec '!swift-format --in-place %'" + } +) diff --git a/nvim/m-housh/lua/autocmd.lua b/nvim/m-housh/lua/autocmd.lua index 5f90782..88dd294 100644 --- a/nvim/m-housh/lua/autocmd.lua +++ b/nvim/m-housh/lua/autocmd.lua @@ -14,10 +14,3 @@ vim.api.nvim_exec([[ augroup END ]], false) -vim.api.nvim_create_autocmd( - "BufWritePost", - { - pattern = { "*.swift" }, - command=":silent exec '!swift-format --in-place %'" - } -) diff --git a/nvim/m-housh/lua/plugin-config/init.lua b/nvim/m-housh/lua/plugin-config/init.lua index fdda59a..47b2e0f 100644 --- a/nvim/m-housh/lua/plugin-config/init.lua +++ b/nvim/m-housh/lua/plugin-config/init.lua @@ -6,4 +6,8 @@ return { vim.g.vsnip_snippet_dir = os.getenv('HOME') .. '/.config/nvim/snippets/' end }, + -- Local development plugin for swift. + { + dir = "~/LocalProjects/swift.nvim" + } }