vim-template icon indicating copy to clipboard operation
vim-template copied to clipboard

Add a %PARENT% variable

Open Shadow53 opened this issue 7 years ago • 2 comments

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.

Shadow53 avatar Oct 09 '18 16:10 Shadow53

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 avatar Oct 09 '18 17:10 Shadow53

@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:

aperezdc avatar Oct 15 '18 00:10 aperezdc