mirror of
https://github.com/ivuorinen/nvim-shellspec.git
synced 2026-01-26 03:24:00 +00:00
- Add modern Lua implementation with modular architecture - Implement HEREDOC preservation and smart comment indentation - Create dual implementation (Neovim Lua + VimScript fallback) - Add comprehensive health check and configuration system - Enhance formatting engine with state machine for context awareness - Update documentation with Lua configuration examples - Add memory files for development workflow and conventions
45 lines
1.4 KiB
VimL
45 lines
1.4 KiB
VimL
" ShellSpec DSL plugin
|
|
" Neovim language support for ShellSpec testing framework
|
|
" Repository: https://github.com/ivuorinen/nvim-shellspec
|
|
" Author: Ismo Vuorinen
|
|
|
|
if exists('g:loaded_shellspec')
|
|
finish
|
|
endif
|
|
let g:loaded_shellspec = 1
|
|
|
|
" Detect Neovim and use appropriate implementation
|
|
if has('nvim-0.7')
|
|
" Use modern Neovim Lua implementation
|
|
lua require('shellspec.autocmds').setup()
|
|
|
|
" Create commands that delegate to Lua
|
|
command! ShellSpecFormat lua require('shellspec').format_buffer()
|
|
command! -range ShellSpecFormatRange lua require('shellspec').format_selection(0, <line1>, <line2>)
|
|
|
|
" Optional: Auto-format on save (handled in Lua)
|
|
" This is now managed by the Lua autocmds module based on configuration
|
|
|
|
else
|
|
" Fallback to VimScript implementation for older Vim
|
|
" Commands
|
|
command! ShellSpecFormat call shellspec#format_buffer()
|
|
command! -range ShellSpecFormatRange call shellspec#format_selection()
|
|
|
|
" Auto commands
|
|
augroup ShellSpec
|
|
autocmd!
|
|
autocmd FileType shellspec setlocal commentstring=#\ %s
|
|
autocmd FileType shellspec setlocal foldmethod=indent
|
|
autocmd FileType shellspec setlocal shiftwidth=2 tabstop=2 expandtab
|
|
augroup END
|
|
|
|
" Optional: Auto-format on save
|
|
if get(g:, 'shellspec_auto_format', 0)
|
|
augroup ShellSpecAutoFormat
|
|
autocmd!
|
|
autocmd BufWritePre *.spec.sh,*_spec.sh ShellSpecFormat
|
|
augroup END
|
|
endif
|
|
endif
|