diff --git a/after/ftplugin/cpp.vim b/after/ftplugin/cpp.vim index c963dd6..8133b06 100644 --- a/after/ftplugin/cpp.vim +++ b/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() diff --git a/after/ftplugin/python.vim b/after/ftplugin/python.vim index 4b56a40..4c63f32 100644 --- a/after/ftplugin/python.vim +++ b/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'] + \ } diff --git a/vimrc b/vimrc index bef2fc0..0139952 100644 --- a/vimrc +++ b/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()