Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re^2: When does programming become automatic (if ever)? (IDE support)

by LanX (Cardinal)
on Apr 13, 2016 at 09:07 UTC ( #1160299=note: print w/replies, xml ) Need Help??


in reply to Re: When does programming become automatic (if ever)?
in thread When does programming become automatic (if ever)?

Talking about "automatisms" ...

> I still don't always remember the order of arguments to substr or splice,

that's actually a good idea for extending snippets in my IDE (yasnippet/Emacs) ╣

> what I can do is type perldoc -f splice at lighting speed

actually I could also expand the embedded documentation to reflect this in my IDE

> at lighting speed...

unfortunately not at light speed, often you are redirected to other perldocs

like in

perldoc -f m m// The match operator. See perlop.

Cheers Rolf
(addicted to the Perl Programming Language and ☆☆☆☆ :)
Je suis Charlie!

╣) other suggestions for not memorable interfaces? caller ? what else ?

  • Comment on Re^2: When does programming become automatic (if ever)? (IDE support)
  • Download Code

Replies are listed 'Best First'.
Re^3: When does programming become automatic (if ever)? (IDE support)
by Anonymous Monk on Apr 13, 2016 at 09:19 UTC
    often you are redirected to other perldocs

    That was kind of the point: Knowing when to look in perlre, perlop etc. helps!

Re^3: When does programming become automatic (if ever)? (IDE snippets)
by LanX (Cardinal) on Apr 13, 2016 at 22:16 UTC
    > 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.

    Cheers Rolf
    (addicted to the Perl Programming Language and ☆☆☆☆ :)
    Je suis Charlie!

    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...

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1160299]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (5)
As of 2021-05-16 15:38 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Perl 7 will be out ...





    Results (152 votes). Check out past polls.

    Notices?