Re: [PATCH] Alternative filename for local configuration.

Shigio YAMAGUCHI <[email protected]>
Newsgroups gmane.comp.gnu.global.bugs
Message-ID <CADJmJYpZY7hGNdc_gLRE1wYK9_jgaVhP54cFyrxasWBDvNH15A@mail.gmail.com>
> I'm aware of XDG recommendations, but it was not my point.
> I was just thinking of checking for alternative name (like DOS_GTAGSRC
> is checked if GTAGSRC is not found).
> The purpose I see a way to hide (using dot-prefix) global configuration
> from clients who don't use and don't care about global.
> That's it.

Sorry, I cannot understand what you are saying.
Would you please explain it by example?

> The problem is, I have to provide whole configuration per project
(directory),
> so effectively I would copy SYSCONF to project directory and make that
change
> (add .IPP to the cpp parser).
> $ cp /etc/gtags.conf MYPROJ/ (and edit local copy)
>
> Instead I would like to append that entry; using some imaginary termcap
notation:
> builtin-parser:langmap:cpp:+.IPP

Is it insufficient with 'tc' variable?
(man gtags.conf)

Regards,
Shigio


2017-03-07 23:53 GMT+09:00 Jacek Migacz <[email protected]>:

> Hi.
>
> I'm aware of XDG recommendations, but it was not my point.
> I was just thinking of checking for alternative name (like DOS_GTAGSRC is
> checked if GTAGSRC is not found).
> The purpose I see a way to hide (using dot-prefix) global configuration
> from clients who don't use and don't care about global.
> That's it.
>
> ----
>
> However there is another story. You have listed *1*-*8* strategies of
> providing global configuration.
> I would divide it into 3 categories:
>
>    - System configuration: *SYSCONF*
>    - User configuration: *USERCONF*
>    Directory configuration: *DIRCONF*
>
> I would have:
>
>    - *DIRCONF*: Inherits and shadows *USERCONF* (if *USERCONF* is
>    defined, if not ihnerits and shadows *SYSCONF* if *SYSCONF* is defined)
>    - *USERCONF*: Inherits and shadows *SYSCONF* (if *SYSCONF* is defined)
>
> For example:
> There is some C++ project that is using some non-standard files extensions
> like .IPP to indicate interface headers.
> For this particular project I would have to define *GTAGSCONF* as follows:
> ...
> builtin-parser:\
>     :langmap=c\:.c.h,yacc\:.y,asm\:.s.S,java\:.java,cpp\:.c++.cc
> .hh.cpp.cxx.hxx.hpp.C.H*.IPP*,php\:.php.php3.phtml:
> ...
> The problem is, I have to provide whole configuration per project
> (directory), so effectively I would copy *SYSCONF* to project directory
> and make that change (add *.IPP* to the *cpp parser*).
> $ cp /etc/gtags.conf MYPROJ/ (and edit local copy)
>
> Instead I would like to append that entry; using some imaginary *termcap*
> notation:
> *builtin-parser:langmap:cpp:+.IPP*
>
>
> Or let's say I'm working on several projects and it's common for my
> organization to have *BUILD* directory in project root path (like
> MYPROJ/BUILD) and one of these projects is using special extensions for C
> source files to indicate code standard, like *.c98* and *.c99*.
> For every single project I would have to copy *GTAGSCONF* to its root
> patch.
> I would have to change the *skip entry* in every configuration to ignore
> *BUILD* directory as follows:
> ...
> common:\
>     :skip=HTML/,HTML.pub/,tags,TAGS,ID,y.tab.c,y.tab.h,gtags.
> files,cscope.files,cscope.out,cscope.po.out,cscope.in.out,
> SCCS/,RCS/,CVS/,CVSROOT/,{arch}/,autom4te.cache/,*.orig,
> *.rej,*.bak,*~,#*#,*.swp,*.tmp,*_flymake.*,*_flymake*,**BUILD/*:
> ...
> And I would have edit* langmap for buildin-parser *only for one project
> with non-standard extensions (*.c89* and *.c99*) as follows:
> ...
> builtin-parser:\
>     :langmap=c\:.c.h*.c89.c99*,yacc\:.y,asm\:.s.S,java\:.java,cpp\
> :.c++.cc.hh.cpp.cxx.hxx.hpp.C.H,php\:.php.php3.phtml:
> ...
>
> Instead, I'd like to append *BUILD/* to skip list for my user, by editing
> *USERCONF** using *some imaginary *termcap* notation:
>
> *common:skip:+BUILD/*
> And I'd like to append non-standard suffixes to project's *DIRCONF* only *using
> *some imaginary *termcap* notation:
>
> *builtin-parser:langmap:c:+.c89.c99*
>
> This way my *"single** USERCONF*" and "single *DIRCONF*" would contain
> few lines of information instead of hard copy of whole *GTAGSCONF*.
>
> *What do you think about that Shigio-san?*
>
>
> Regards,
> Jacek Migacz
>
>
> 2017-03-07 0:32 GMT+01:00 Shigio YAMAGUCHI <[email protected]>:
>
>> Hi,
>> > would you consider checking for alternative local
>> > configuration filename: ".gtags.conf"?
>>
>> OK. I also dislike a name '.globalrc'.
>> But it may be also undesirable to create a new dot file.
>> The XDG guidelines recommend that applications store their configuration
>> in $XDG_CONFIG_HOME/<app>. How about following this?
>>
>> XDG Base Directory Specification
>> [https://specifications.freedesktop.org/basedir-spec/latest/index.html]
>>
>> According to this specification, the configuration priority of GLOBAL
>> seems to
>> become like follows:
>>
>>        (1) --gtagsconf file
>>
>>        (2) $GTAGSCONF
>>
>>        (3) [project root]/gtags.conf
>>
>>        (4) $HOME/.globalrc
>>
>>        (5) $XDG_CONFIG_HOME/gtags/gtags.conf          <= New
>>
>>        (6) $HOME/.config/gtags/gtags.conf             <= New
>>
>>        (7) /etc/gtags.conf
>>
>>        (8) [sysconfdir]/gtags.conf
>>
>> What do you think?
>>
>> Regards,
>> Shigio
>>
>>
>> 2017-03-07 2:07 GMT+09:00 Jacek Migacz <[email protected]>:
>>
>>> Hi Shiyao-san,
>>>
>>> would you consider checking for alternative local configuration
>>> filename: ".gtags.conf"?
>>>
>>> Regards,
>>> --
>>> Jacek Migacz
>>>
>>> _______________________________________________
>>> Bug-global mailing list
>>> [email protected]
>>> https://lists.gnu.org/mailman/listinfo/bug-global
>>>
>>>
>>
>>
>> --
>> Shigio YAMAGUCHI <[email protected]>
>> PGP fingerprint:
>> 26F6 31B4 3D62 4A92 7E6F  1C33 969C 3BE3 89DD A6EB (Currently in use)
>> D1CB 0B89 B346 4AB6 5663  C4B6 3CA5 BBB3 57BE DDA3 (Used until 2017/2)
>>
>
>
>
> --
> Jacek Migacz
>



-- 
Shigio YAMAGUCHI <[email protected]>
PGP fingerprint:
26F6 31B4 3D62 4A92 7E6F  1C33 969C 3BE3 89DD A6EB (Currently in use)
D1CB 0B89 B346 4AB6 5663  C4B6 3CA5 BBB3 57BE DDA3 (Used until 2017/2)

_______________________________________________
Bug-global mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-global
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.