From 7b4a835df4df3e9ffdc42abc9764a72e59ea66b8 Mon Sep 17 00:00:00 2001 From: David Michael Date: Mon, 21 Jun 2021 11:15:06 -0400 Subject: [PATCH] syntax: gentoo: remove some obsolete keywords and add some new ones Removals: - All eblits were dropped from Gentoo years ago. - HDEPEND was never fully approved, superseded by BDEPEND. - Keywords 'dohard' and 'dosed' have been banned since EAPI 4: https://projects.gentoo.org/pms/5/pms.html#x1-130001r8 - Several arches are dead. For the currently supported list: https://gitweb.gentoo.org/repo/gentoo.git/tree/profiles/arch.list Additions: - Two eapply functions replace the epatch functions, but epatch is still supported until EAPI 6 is banned. - Modern build systems (ninja and qmake5) have new functions. - EAPI 7 added more builtins: dostrip, get_libdir, ver_* - Highlight the cross-compiler boolean function. (There are too many toolchain functions to add them all, but this one is very common and has a long name, so highlighting it is useful for catching typos early.) The EAPI documentation: https://projects.gentoo.org/pms/8/pms.html#x1-590007 An extensive write-up on EAPI 7: https://mgorny.pl/articles/the-ultimate-guide-to-eapi-7.html Signed-off-by: David Michael --- syntax/extra/gentoo.nanorc | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/syntax/extra/gentoo.nanorc b/syntax/extra/gentoo.nanorc index 3edc1359..e03f2e24 100644 --- a/syntax/extra/gentoo.nanorc +++ b/syntax/extra/gentoo.nanorc @@ -1,7 +1,7 @@ ## Syntax highlighting for Gentoo ebuilds/eclasses, ## and (further down) for Portage control files. -syntax ebuild "\.e(build|class|blit)$" +syntax ebuild "\.e(build|class)$" comment "#" ## All the standard portage functions: @@ -17,7 +17,7 @@ color green "-(eq|ne|gt|lt|ge|le)\>" ## Variables... official portage ones in red, all others in bright red: color brightred "\$[-0-9@*#?$!]" "\$[[:alpha:]_][[:alnum:]_]*" color brightred "\$\{[#!]?([-@*#?$!]|[0-9]+|[[:alpha:]_][[:alnum:]_]*)(\[([[:digit:]]|@)+\])?(([#%/]|:?[-=?+])[^}]*\}|\[|\})" -color red "\<(EAPI|ARCH|HOMEPAGE|DESCRIPTION|IUSE|SRC_URI|LICENSE|SLOT|KEYWORDS|[BHIPR]?DEPEND|PROVIDE|PROPERTIES|REQUIRED_USE|RESTRICT|USERLAND)\>" +color red "\<(EAPI|ARCH|HOMEPAGE|DESCRIPTION|IUSE|SRC_URI|LICENSE|SLOT|KEYWORDS|[BIPR]?DEPEND|PROVIDE|PROPERTIES|REQUIRED_USE|RESTRICT|USERLAND)\>" color red "\<(S|E?D|T|PV|PF|P|PN|PR|PVR|A|CATEGORY|DISTDIR|FILESDIR|EPREFIX|(B|E|E?SYS)?ROOT|WORKDIR)\>" color red "\<(AS|C(PP|XX)?|LD)FLAGS\>" "\" "\<(MERGE_TYPE|REPLACING_VERSIONS|REPLACED_BY_VERSION)\>" color red "\" @@ -25,17 +25,17 @@ color red "\" "\" "\" ## Portage commands: color magenta "\<(use(_(with|enable|if_iuse)|x)?|in_iuse) [!a-zA-Z0-9_+ -]*" "inherit.*" -color brightblue "\" +color brightblue "\" color brightblue "\" "\" -color brightblue "\" "\" +color brightblue "\" "\" "\" "\" color brightblue "\" "\" color brightblue "\<(die|hasv?|inherit|nonfatal)\>" "\<(use(_(with|enable|if_iuse)|x)?|in_iuse)\>" "\<(has|best)_version\>" -color brightblue "\<(do|new)(ins|(games)?s?bin|doc|lib(\.so|\.a)?|man|info|exe|initd|confd|envd|pam|menu|icon)\>" -color brightblue "\" "\" -color brightblue "\" "\" -color brightblue "\<(doc|ins|exe)?into\>" "\<(f|games)(owners|perms)\>" "\<(exe|ins|dir)opts\>" +color brightblue "\<(do|new)(ins|s?bin|doc|header|lib(\.so|\.a)?|man|info|exe|initd|confd|envd|pam|menu|icon)\>" +color brightblue "\" "\" +color brightblue "\" "\" +color brightblue "\<(doc|ins|exe)?into\>" "\" "\<(exe|ins|dir)opts\>" color brightblue "\" -color brightblue "\" +color brightblue "\" ## Common commands used in ebuilds: color blue "\<(awk|cat|cd|chmod|chown|cp|echo|env|find|e?grep|ln|make|mkdir|mv|popd|printf|pushd|rm|rmdir|sed|set|tar|touch|unset|xargs)\>" ## Comments (doesn't work that well): @@ -60,7 +60,7 @@ color magenta ":[^[:space:]]+([[:space:]]|$)" color brightred "[[:space:]]+\+?[A-Za-z0-9+_@-]+" color brightblue "[[:space:]]+-[A-Za-z0-9+_@-]+" ## Accepted arches: -color white "[~-]?\<(alpha|amd64|arm(64)?|hppa|ia64|m68k|mips|nios2|ppc(64)?|riscv|s390|sh|sparc|x86)(-(aix|(f|free|net|open)bsd|cygwin|hpux|interix|linux|macos|mint|solaris|winnt))?\>" +color white "[~-]?\<(alpha|amd64|arm(64)?|hppa|ia64|m68k|mips|ppc(64)?|riscv|s390|sparc|x86)(-(cygwin|linux|macos|solaris|winnt))?\>" color white "[[:space:]][*~-]?\*" ## Categories: color cyan "^[[:space:]]*[^/]*/"