> that's actually a good idea for extending snippets in my IDE (yasnippet/Emacs) ¹
for the records some trivial templates for yasnippet, which is derived from textmates standard and is similar to snippMate for vim.
Not too far away from Abbrevations in Komodo.
# -*- mode: snippet -*-
# name: caller;
# key: caller
# --
my (${1:$package}, ${2:$filename}, ${3:$line}) = caller;
$0
# -*- mode: snippet -*-
# name: caller(LEVEL)
# key: caller
# --
my (${2:$package}, ${3:$filename}, ${4:$line}, ${5:$subroutine}, ${6:$
+hasargs},
${7:$wantarray}, ${8:$evaltext}, ${9:$is}_require, ${10:$hints}, ${11:
+$bitmask},
${12:$hinthash}) = caller(${1:$LEVEL});
$0
please note that both versions of caller are expanded with the same keyword + TAB and you can chose from a dropdown between both versions.
here the example for splice
# -*- mode: snippet -*-
# name: splice @ARR ,OFFSET ,LENGTH ,LIST
# key: splice
# --
splice @${1:ARR} ,${2:OFFSET} ,${3:LENGTH} , ${4:LIST...};
since I can include code (elisp but also bash or Perl) I'd like to find a way to delete the commas of skipped arguments instead of creating 4 versions for drop down... but I'm still at the beginning.
Vision: Ideally these snippets could be generated from POD-examples and show the documentation¹, I think DBI is a good candidate.
PS: thanks to Tux for suggesting the return values for stat, (local)time, and caller (with or without args)
¹) probably best realized in combination with autocomplete-mode ... unfortunately emacs-wiki seems to be down at the moment... |