1diff --git a/init.lua b/init.lua
2index c3db08691a9807ab1b1773bad06a3a3c9a753f84..31169fc2c9c763e11860260011dac1f413e5c4cd 100644
3--- a/init.lua
4+++ b/init.lua
5@@ -39,13 +39,14 @@ "mfussenegger/nvim-lint", -- general linter
6 "nvim-treesitter/nvim-treesitter-context", -- show context of where it is at the code
7 "mbbill/undotree", -- keep track of undos
8 "simrat39/symbols-outline.nvim", -- symbols tree (lsp aware)
9- "caenrique/nvim-toggle-terminal", -- help with toggle from and to terminals [DEPRECATED]
10+ "akinsho/toggleterm.nvim", -- terminal
11 "RRethy/vim-illuminate", -- hightlight use of the same word (lsp aware)
12 "sainnhe/edge", -- light theme
13 "ellisonleao/gruvbox.nvim", -- light theme
14 "williamboman/mason.nvim", -- manages many things
15 "williamboman/mason-lspconfig.nvim", -- glue mason and lspconfig
16 "neovim/nvim-lspconfig", -- lsp support
17+
18 }
19 -- stylua: ignore end
20
21diff --git a/lua/gabrielgio/lsp.lua b/lua/gabrielgio/lsp.lua
22index 5eb3908c707337fbbfcfce25f7c9a9e4c59d50d8..6857b5dfe8bdc208efd31f8c298815bcadff7beb 100644
23--- a/lua/gabrielgio/lsp.lua
24+++ b/lua/gabrielgio/lsp.lua
25@@ -44,6 +44,16 @@ cmd_env = { GOFLAGS = "-tags=unit,integration,e2e" },
26 on_attach = on_attach,
27 })
28
29+lsp_config.yamlls.setup({
30+ settings = {
31+ yaml = {
32+ schemas = {
33+ ["https://raw.githubusercontent.com/OAI/OpenAPI-Specification/refs/heads/main/schemas/v3.0/schema.yaml"] = "/api-specs/v2/*",
34+ },
35+ },
36+ },
37+})
38+
39 lsp_config.lua_ls.setup({
40 on_attach = on_attach,
41 settings = {
42diff --git a/lua/gabrielgio/settable.lua b/lua/gabrielgio/settable.lua
43index 9aaeb43fe0eb4457e514a277f93e74a1a1be35bb..fad3f80836750fb4c7c8d9e804d3bbf1f8cbc77e 100644
44--- a/lua/gabrielgio/settable.lua
45+++ b/lua/gabrielgio/settable.lua
46@@ -26,6 +26,7 @@ vim.opt.showmode = false
47 vim.opt.colorcolumn = "80"
48 vim.opt.signcolumn = "yes"
49 vim.opt.background = "light"
50+vim.g.terminal_emulator = "/usr/bin/fish"
51 vim.opt.completeopt = { "menu", "menuone", "noselect" }
52 vim.opt.clipboard = (vim.opt.clipboard + "unnamedplus")
53 vim.opt.spelllang = { "en", "pt_br", "de" }
54diff --git a/lua/gabrielgio/term.lua b/lua/gabrielgio/term.lua
55index 0172fbe9ef95fd557e5be61b57f0f245b7ec9f5c..6e44240e1aeed696831ba28fd0d12914c3605f43 100644
56--- a/lua/gabrielgio/term.lua
57+++ b/lua/gabrielgio/term.lua
58@@ -1,7 +1,19 @@
59 local key = require("gabrielgio.key")
60
61+require("toggleterm").setup()
62+
63+local function isempty(s)
64+ return s == nil or s == ""
65+end
66+
67 key.nnoremap("<C-n>", ":Neogit kind=replace<cr>")
68-key.nnoremap("<C-p>", ":ToggleTerminal<cr>")
69-key.tnoremap("<C-p>", "<C-\\><C-n>:ToggleTerminal<cr>")
70+key.nnoremap("<C-p>", ":ToggleTerm size=40 direction=float<cr>")
71+key.nnoremap("<C-u>", ":ToggleTerm size=80 direction=vertical<cr>")
72+key.nnoremap("<C-y>", function()
73+ local user_input = vim.fn.input("$ ")
74+ if not isempty(user_input) then
75+ vim.cmd(string.format("TermExec cmd='%s'", user_input))
76+ end
77+end)
78 key.tnoremap("<Esc>", "<C-\\><C-n>")
79-key.tnoremap("<C-n>", "<C-\\><C-n>:Neogit kind=replace<cr>")
80+key.tnoremap("<C-p>", "<C-\\><C-n>:ToggleTerm<cr>")