Add a %PARENT% variable
This is particularly for the Go template, since it currently assumes that all files are part of a main package. In most cases, the parent folder of the file has the same name as the package for its containing files. With a %PARENT% variable, the line in the Go template could be changed from
package main
to
package %PARENT%
which will be correct more often.
As a side note, I'm proposing the name %PARENT% instead of something like %FOLDER% since the latter could be understood to expand to the absolute path of the containing folder.
I somehow missed the bit of documentation about user-defined variables. I've added the following to my NeoVim init.vim, which implements the above.
let g:templates_user_variables = [
\ ['PARENT', 'GetParentDir']
\ ]
function! GetParentDir()
return expand('%:p:h:t')
endfunction
@Shadow53 I guess it wouldn't hurt to have %PARENT% added, maybe with a more descriptive name like %PARENT_DIR_NAME% — but as you have discovered it's possible to add it anyway as an user variable so I won't be in a hurry to implement it myself. It's not difficult to add it, so for now I will leave it marked as “good first bug” so it can be picked by anyone willing to start contributing to the project :wink: