scripts/tags.sh | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)
The Kconfig language has already been built-in in the latest ctags, so
it would error exit if we try to define it as an user-defined language
via '--langdef=kconfig'. This results that there is no Kconfig tags in
the final tag file. Fix this by skipping the user Kconfig definition for
the latest ctags.
Signed-off-by: Kevin Hao <haokexin@gmail.com>
---
scripts/tags.sh | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/scripts/tags.sh b/scripts/tags.sh
index e137cf15aae9..c56b13ae3fdf 100755
--- a/scripts/tags.sh
+++ b/scripts/tags.sh
@@ -264,10 +264,12 @@ exuberant()
--$CTAGS_EXTRA=+fq --c-kinds=+px --fields=+iaS --langmap=c:+.h \
"${regex[@]}"
- setup_regex exuberant kconfig
- all_kconfigs | xargs $1 -a \
- --langdef=kconfig --language-force=kconfig "${regex[@]}"
-
+ KCONFIG_ARGS=""
+ if ! $1 --list-languages | grep -iq kconfig; then
+ setup_regex exuberant kconfig
+ KCONFIG_ARGS="--langdef=kconfig --language-force=kconfig ${regex[@]}"
+ fi
+ all_kconfigs | xargs $1 -a $KCONFIG_ARGS
}
emacs()
--
2.38.1
On 12/29/22 07:54, Kevin Hao wrote: > The Kconfig language has already been built-in in the latest ctags, so > it would error exit if we try to define it as an user-defined language > via '--langdef=kconfig'. This results that there is no Kconfig tags in > the final tag file. Fix this by skipping the user Kconfig definition for > the latest ctags. > > Signed-off-by: Kevin Hao <haokexin@gmail.com> > --- > scripts/tags.sh | 10 ++++++---- > 1 file changed, 6 insertions(+), 4 deletions(-) > > diff --git a/scripts/tags.sh b/scripts/tags.sh > index e137cf15aae9..c56b13ae3fdf 100755 > --- a/scripts/tags.sh > +++ b/scripts/tags.sh > @@ -264,10 +264,12 @@ exuberant() > --$CTAGS_EXTRA=+fq --c-kinds=+px --fields=+iaS --langmap=c:+.h \ > "${regex[@]}" > > - setup_regex exuberant kconfig > - all_kconfigs | xargs $1 -a \ > - --langdef=kconfig --language-force=kconfig "${regex[@]}" > - > + KCONFIG_ARGS="" > + if ! $1 --list-languages | grep -iq kconfig; then > + setup_regex exuberant kconfig > + KCONFIG_ARGS="--langdef=kconfig --language-force=kconfig ${regex[@]}" > + fi > + all_kconfigs | xargs $1 -a $KCONFIG_ARGS > } The 'regex' array needs quoting to prevent word splitting/globbing. I would suggest to transform 'KCONFIG_ARGS' into an array as well: KCONFIG_ARGS=() if ! $1 --list-languages | grep -iq kconfig; then setup_regex exuberant kconfig KCONFIG_ARGS=(--langdef=kconfig --language-force=kconfig "${regex[@]}") fi all_kconfigs | xargs $1 -a "${KCONFIG_ARGS[@]}" > emacs()
On Thu, Dec 29, 2022 at 02:33:15PM +0200, Cristian Ciocaltea wrote: > > On 12/29/22 07:54, Kevin Hao wrote: > > The Kconfig language has already been built-in in the latest ctags, so > > it would error exit if we try to define it as an user-defined language > > via '--langdef=kconfig'. This results that there is no Kconfig tags in > > the final tag file. Fix this by skipping the user Kconfig definition for > > the latest ctags. > > > > Signed-off-by: Kevin Hao <haokexin@gmail.com> > > --- > > scripts/tags.sh | 10 ++++++---- > > 1 file changed, 6 insertions(+), 4 deletions(-) > > > > diff --git a/scripts/tags.sh b/scripts/tags.sh > > index e137cf15aae9..c56b13ae3fdf 100755 > > --- a/scripts/tags.sh > > +++ b/scripts/tags.sh > > @@ -264,10 +264,12 @@ exuberant() > > --$CTAGS_EXTRA=+fq --c-kinds=+px --fields=+iaS --langmap=c:+.h \ > > "${regex[@]}" > > - setup_regex exuberant kconfig > > - all_kconfigs | xargs $1 -a \ > > - --langdef=kconfig --language-force=kconfig "${regex[@]}" > > - > > + KCONFIG_ARGS="" > > + if ! $1 --list-languages | grep -iq kconfig; then > > + setup_regex exuberant kconfig > > + KCONFIG_ARGS="--langdef=kconfig --language-force=kconfig ${regex[@]}" > > + fi > > + all_kconfigs | xargs $1 -a $KCONFIG_ARGS > > } > > The 'regex' array needs quoting to prevent word splitting/globbing. Fair enough. > I would > suggest to transform 'KCONFIG_ARGS' into an array as well: Sounds great. V2 is coming. Thanks, Kevin > > KCONFIG_ARGS=() > if ! $1 --list-languages | grep -iq kconfig; then > setup_regex exuberant kconfig > KCONFIG_ARGS=(--langdef=kconfig --language-force=kconfig "${regex[@]}") > fi > all_kconfigs | xargs $1 -a "${KCONFIG_ARGS[@]}" > > > > emacs()
© 2016 - 2025 Red Hat, Inc.