feat: add custom commands for commenting and uncommenting lines in C files

pull/1658/head
dvdgamer 3 months ago
parent 10ccea08ec
commit 7214203534

@ -2,4 +2,5 @@ local set = vim.opt_local
set.shiftwidth = 4
set.tabstop = 4
vim.g.sleuth_automatic = 0
set.commentstring = '/* %s */'

@ -1,4 +1,9 @@
-- local set = vim.opt_local
-- Import vim module
local set = vim.opt_local
set.shiftwidth = 4
set.tabstop = 4
set.commentstring = '/* %s */'
-- Define a custom command ':IntMain' that inserts int main() {} template
vim.api.nvim_create_user_command('IntMain', function()
@ -24,3 +29,35 @@ vim.api.nvim_create_user_command('Libft', function()
'#include "libft.h"',
})
end, {})
vim.api.nvim_create_user_command('CommentRestOfFile', function()
local current_line = vim.api.nvim_win_get_cursor(0)[1]
local last_line = vim.api.nvim_buf_line_count(0)
-- Get all lines from current to end of file
local lines = vim.api.nvim_buf_get_lines(0, current_line - 1, last_line, false)
-- Prefix each line with //
for i = 1, #lines do
lines[i] = '//' .. lines[i]
end
-- Set the modified lines back in the buffer
vim.api.nvim_buf_set_lines(0, current_line - 1, last_line, false, lines)
end, {})
vim.api.nvim_create_user_command('UncommentRestOfFile', function ()
local current_line = vim.api.nvim_win_get_cursor(0)[1]
local last_line = vim.api.nvim_buf_line_count(0)
-- Get all lines from current to end of file
local lines = vim.api.nvim_buf_get_lines(0, current_line - 1, last_line, false)
-- Remove leading // if present
for i = 1, #lines do
lines[i] = lines[i]:gsub("^%s*//", "")
end
-- Set the modified lines back in the buffer
vim.api.nvim_buf_set_lines(0, current_line - 1, last_line, false, lines)
end, {})

@ -1,38 +1,4 @@
--[[
What is Kickstart?
Kickstart.nvim is *not* a distribution.
Kickstart.nvim is a starting point for your own configuration.
The goal is that you can read every line of code, top-to-bottom, understand
what your configuration is doing, and modify it to suit your needs.
Once you've done that, you can start exploring, configuring and tinkering to
make Neovim your own! That might mean leaving Kickstart just the way it is for a while
or immediately breaking it into modular pieces. It's up to you!
If you don't know anything about Lua, I recommend taking some time to read through
a guide. One possible example which will only take 10-15 minutes:
- https://learnxinyminutes.com/docs/lua/
After understanding a bit more about Lua, you can use `:help lua-guide` as a
reference for how Neovim integrates Lua.
- :help lua-guide
- (or HTML version): https://neovim.io/doc/user/lua-guide.html
Kickstart Guide:
If you experience any errors while trying to install kickstart, run `:checkhealth` for more info.
I hope you enjoy your Neovim journey,
- TJ
P.S. You can delete this when you're done too. It's your config now! :)
--]]
-- Set <space> as the leader key
-- See `:help mapleader`
-- NOTE: Must happen before plugins are loaded (otherwise wrong leader will be used)
vim.g.mapleader = ' '
vim.g.maplocalleader = ' '
@ -793,7 +759,7 @@ require('lazy').setup({
filter = 'pro', -- classic | octagon | pro | machine | ristretto | spectrum
-- Enable this will disable filter option
day_night = {
enable = false, -- turn off by default
enable = true, -- turn off by default
day_filter = 'pro', -- classic | octagon | pro | machine | ristretto | spectrum
night_filter = 'spectrum', -- classic | octagon | pro | machine | ristretto | spectrum
},
@ -806,7 +772,7 @@ require('lazy').setup({
'renamer',
'notify',
'nvim-tree',
'neo-tree',
-- 'neo-tree',
'bufferline', -- better used if background of `neo-tree` or `nvim-tree` is cleared
}, -- "float_win", "toggleterm", "telescope", "which-key", "renamer", "neo-tree", "nvim-tree", "bufferline"
plugins = {

Loading…
Cancel
Save