atom / language-puppet

Puppet package for Atom
Other
36 stars 31 forks source link

Make goto definition understand classes like class::subbclass1::subclass2 #20

Open cleonte opened 8 years ago

cleonte commented 8 years ago

Hi All,

its there any way to make language-puppet understand classes like

class:subbclass1::subclass2 and goto defintion to work?

for vim-cgats i found something like this on the interent

--langdef=puppet --langmap=puppet:.pp --regex-puppet=/^class[ \t ]([:a-zA-Z0-9-]+)[ \t ]/\1/c,class/ --regex-puppet=/^site[ \t ]([a-zA-Z0-9-]+)[ \t ]/\1/s,site/ --regex-puppet=/^node[ \t ]([a-zA-Z0-9-]+)[ \t ]/\1/n,node/ --regex-puppet=/^define[ \t ]([:a-zA-Z0-9-]+)[ \t ]/\1/d,definition/ --regex-puppet=/^ ([a-zA-Zi:]+) { (.) :/\1[\2]/r,resource/ --regex-puppet=/^ ([A-Z][a-zA-Z0-9:]+) *{/\1/f,default/

ghost commented 8 years ago

Hi @cleonte, I had the same issue and found out that you must change the 'non-word characters' config of language-puppet (and perhaps default IDE settings).

non-word characters: /\()"',.;<>~!@#$%^&*|+=[]{}`?-

The trick is to remove : as a delimiter ; which then have the IDE search ctags using full string.

I'm using package atom-ctags with default options and it works ok.

There is a snippet of my config.cson

"*":
  "atom-ctags":
    GotoSymbolKey: [
      "ctrl"
    ]
    autoBuildTagsWhenActive: true
  core:
    disabledPackages: [
      "symbols-view"
    ]
  editor:
    nonWordCharacters: "/\\()\"',.;<>~!@#$%^&*|+=[]{}`?-"
".puppet.source":
  editor:
    nonWordCharacters: "/\\()\"',.;<>~!@#$%^&*|+=[]{}`?-"

Might it be good to set this as default for language puppet?