Browse Source

lazygit

dev
Gregory Leeman 8 months ago
parent
commit
ce4c4572f0
  1. 138
      after/ftplugin/cpp.vim
  2. 11
      after/ftplugin/python.vim
  3. 1
      vimrc

138
after/ftplugin/cpp.vim

@ -1,83 +1,95 @@
let b:ale_fixers = ['clangtidy', 'clang-format', 'remove_trailing_lines', 'trim_whitespace']
let b:ale_linters = ['cc', 'ccls', 'clangcheck', 'clangd', 'clangtidy', 'clazy', 'cppcheck', 'cpplint', 'cquery', 'cspell', 'flawfinder']
let b:ale_fixers = {
\ 'cpp' : [
\ 'clangtidy',
\ 'clang-format',
\ 'remove_trailing_lines',
\ 'trim_whitespace'
\ ]
\ }
let b:ale_linters = {
\ 'cpp' : [
\ 'cc',
\ 'ccls',
\ 'clangcheck',
\ 'clangd',
\ 'clangtidy',
\ 'clazy',
\ 'cppcheck',
\ 'cpplint',
\ 'cquery',
\ 'cspell',
\ 'flawfinder'
\ ]
\ }
" Function to find the project root
function! FindProjectRoot()
let l:current_dir = expand('%:p:h')
while l:current_dir != "/"
if filereadable(l:current_dir . "/main.cpp")
return l:current_dir
endif
let l:current_dir = fnamemodify(l:current_dir, ':h')
endwhile
return ""
let l:current_dir = expand('%:p:h')
while l:current_dir != "/"
if filereadable(l:current_dir . "/main.cpp")
return l:current_dir
endif
let l:current_dir = fnamemodify(l:current_dir, ':h')
endwhile
return ""
endfunction
" Function to compile the project
function! CompileProject(debug)
let l:project_root = FindProjectRoot()
if l:project_root == ""
echo "main.cpp not found in any parent directory."
return
endif
let l:main_file = l:project_root . "/main.cpp"
let l:project_root = FindProjectRoot()
if l:project_root == ""
echo "main.cpp not found in any parent directory."
return
endif
let l:main_file = l:project_root . "/main.cpp"
" Extract the project directory name
let l:project_name = fnamemodify(l:project_root, ':t')
let l:output_file = l:project_root . "/" . l:project_name
let l:project_name = fnamemodify(l:project_root, ':t')
let l:output_file = l:project_root . "/" . l:project_name
let l:warning_flags = "-Wall -Weffc++ -Wextra -Wconversion -Wsign-conversion"
let l:disable_extension_flags = "-pedantic-errors"
let l:debug_flags = a:debug ? "-ggdb" : "-O2 -DNDEBUG"
let l:standard_flag = "-std=c++20"
let l:warning_flags = "-Wall -Weffc++ -Wextra -Wconversion -Wsign-conversion"
let l:disable_extension_flags = "-pedantic-errors"
let l:debug_flags = a:debug ? "-ggdb" : "-O2 -DNDEBUG"
let l:standard_flag = "-std=c++20"
let l:compile_cmd =
\ "g++" . " " .
\ l:standard_flag . " " .
\ l:warning_flags . " " .
\ l:disable_extension_flags . " " .
\ l:debug_flags . " " .
\ l:main_file . " " .
\ "-o" . " " . l:output_file
let l:compile_cmd =
\ "g++" . " " .
\ l:standard_flag . " " .
\ l:warning_flags . " " .
\ l:disable_extension_flags . " " .
\ l:debug_flags . " " .
\ l:main_file . " " .
\ "-o" . " " . l:output_file
" Run the compile command and capture the output
let l:output = system(l:compile_cmd)
" Run the compile command and capture the output
let l:output = system(l:compile_cmd)
" Check if the compilation was successful
if v:shell_error
echo "Compilation failed:"
echo l:output
else
echo "Compilation successful. Output: " . l:output_file
endif
" Check if the compilation was successful
if v:shell_error
echo "Compilation failed:"
echo l:output
else
echo "Compilation successful. Output: " . l:output_file
endif
endfunction
" Function to run the compiled project
function! RunProject()
let l:project_root = FindProjectRoot()
if l:project_root == ""
echo "Project root not found."
return
endif
let l:project_root = FindProjectRoot()
if l:project_root == ""
echo "Project root not found."
return
endif
" Extract the project directory name
let l:project_name = fnamemodify(l:project_root, ':t')
let l:output_file = l:project_root . "/" . l:project_name
let l:project_name = fnamemodify(l:project_root, ':t')
let l:output_file = l:project_root . "/" . l:project_name
" Check if the output file exists
if !filereadable(l:output_file)
echo "Output file not found. Please compile the project first."
return
endif
if !filereadable(l:output_file)
echo "Output file not found. Please compile the project first."
return
endif
" Run the compiled output file
let l:run_cmd = "!" . l:output_file
execute l:run_cmd
let l:run_cmd = "!" . l:output_file
execute l:run_cmd
endfunction
" Create the Compile command
command! -nargs=0 Compile call CompileProject(1)
command! -nargs=0 CompileRelease call CompileProject(0)
" Create the Run command
command! Run call RunProject()
command! -nargs=0 Run call RunProject()

11
after/ftplugin/python.vim

@ -1,2 +1,9 @@
set foldmethod=expr
set foldexpr=nvim_treesitter#foldexpr()
let g:ale_python_flake8_options = '--ignore=E501,E402'
let g:ale_linters = {
\ 'python': ['flake8'],
\ }
let g:ale_fixers = {
\ 'python': ['black']
\ }

1
vimrc

@ -30,6 +30,7 @@ Plug 'ncm2/ncm2-bufword'
Plug 'ncm2/ncm2-path'
Plug 'ncm2/ncm2-jedi'
Plug 'dense-analysis/ale'
Plug 'dhruvasagar/vim-table-mode'
call plug#end()

Loading…
Cancel
Save