First-mate and v1.8.0 of Atom causing issues with language-archlinux syntax-highlighting


#1

Hi,

My language-archlinux package was working just fine with v1.7.4 of Atom, but since I upgraded to v1.8.0 I am getting syntax-highlighting like:

as opposed to what it’s supposed to give namely:

and my developer’s console has the errors:

Window load time: 463ms
::shadow pseudo-element is deprecated. See https://www.chromestatus.com/features/6750456638341120 for more details.
/deep/ combinator is deprecated. See https://www.chromestatus.com/features/6750456638341120 for more details.
Uncaught (in promise) TypeError: Cannot read property 'red' of undefined(…)
Popping rule because it loops at column 0 of line '_pkgname=atom' Array[1]
Popping rule because it loops at column 0 of line '_version=arch' Array[1]
Popping rule because it loops at column 0 of line '_about_arch_url="https://github.com/fusion809/about"' Array[1]
Popping rule because it loops at column 0 of line '_about_arch_ver=1.5.17' Array[1]
Popping rule because it loops at column 0 of line '_dark_bint_syntax_ver=0.8.6' Array[1]
Popping rule because it loops at column 0 of line '_fusion_ui_ver=0.10.5' Array[1]
Popping rule because it loops at column 0 of line '_language_archlinux_ver=0.2.1' Array[1]
Popping rule because it loops at column 0 of line '_language_gfm2_ver=0.90.3' Array[1]
Popping rule because it loops at column 0 of line '_language_ini_desktop_ver=1.18.0' Array[1]
Popping rule because it loops at column 0 of line '_language_liquid_ver=0.5.1' Array[1]
Popping rule because it loops at column 0 of line '_language_patch2_url="fusion809/language-patch2"' Array[1]
Popping rule because it loops at column 0 of line '_language_patch2_ver=0.1.3' Array[1]
Popping rule because it loops at column 0 of line '_language_unix_shell_ver=0.28.1' Array[1]
Popping rule because it loops at column 0 of line '_electron_ver=0.36.12' Array[1]
Popping rule because it loops at column 0 of line '_tree_view_url="https://github.com/atom/tree-view"' Array[1]
Popping rule because it loops at column 0 of line '_tree_view_ver=0.205.0' Array[1]
Popping rule because it loops at column 0 of line 'pkgname=${_pkgname}-editor-${_version}' Array[1]
Popping rule because it loops at column 0 of line '_atomver=1.8.0' Array[1]
Popping rule because it loops at column 0 of line 'pkgver=${_atomver}.arch${_language_archlinux_ver}' Array[1]
Popping rule because it loops at column 0 of line 'pkgrel=2' Array[1]
Popping rule because it loops at column 0 of line 'pkgdesc='Hackable text editor for the 21st Century, built using web technologies, with some extra packages for Arch Linux package development pre-installed.'' Array[1]
Popping rule because it loops at column 0 of line 'arch=('x86_64' 'i686')' Array[1]
Popping rule because it loops at column 0 of line 'url='https://github.com/atom/atom'' Array[1]
Popping rule because it loops at column 0 of line 'license=('MIT')' Array[1]
Popping rule because it loops at column 0 of line 'depends=('namcap' 'pkgbuild-introspection' 'alsa-lib' 'desktop-file-utils' 'gconf' 'gtk2' 'libgnome-keyring' 'libnotify' 'libxtst' 'nodejs' 'nss' 'python2')' Array[1]
Popping rule because it loops at column 0 of line 'optdepends=('gvfs: file deletion support')' Array[1]
Popping rule because it loops at column 0 of line 'makedepends=('git' 'npm')' Array[1]
Popping rule because it loops at column 0 of line 'conflicts=('atom-editor-bin' 'atom-editor-beta')' Array[1]
Popping rule because it loops at column 0 of line 'install=${_pkgname}-${_version}.install' Array[1]
Popping rule because it loops at column 0 of line 'source=("${_pkgname}-${_atomver}.tar.gz::${_url}/archive/v${_atomver}.tar.gz"' Array[1]
Popping rule because it loops at column 0 of line 'md5sums=('158c18d35d071403db18bdd85fa2e738'' Array[1]
Popping rule because it loops at column 4 of line '  cd "$srcdir/${_pkgname}-${_atomver}"' Array[3]
Popping rule because it loops at column 4 of line '  cd "$srcdir/${_pkgname}-${_atomver}"' Array[2]
Popping rule because it loops at column 4 of line '  cd "$srcdir/${_pkgname}-${_atomver}"' Array[1]
Popping rule because it loops at column 2 of line '  sed -i -e "/exception-reporting/d" \' Array[1]
Popping rule because it loops at column 11 of line '         -e "/metrics/d" \' Array[1]
Popping rule because it loops at column 11 of line '         -e "s/0.36.8/${_electron_ver}/g" \' Array[1]
Popping rule because it loops at column 11 of line '         -e "s/\"language-gfm\": \".*\",/\"language-gfm2\": \"${_language_gfm2_ver}\",\n    \"language-ini-desktop\": \"${_language_ini_desktop_ver}\",\n    \"language-liquid\": \"${_language_liquid_ver}\",\n    \"language-patch2\": \"${_language_patch2_ver}\",/g" \' Array[1]
Popping rule because it loops at column 11 of line '         -e "/\"dependencies\": {/a \' Array[1]
Popping rule because it loops at column 108 of line '         -e "s/\"language-shellscript\": \".*\",/\"language-unix-shell\": \"${_language_unix_shell_ver}\",\n    \"language-archlinux\": \"${_language_archlinux_ver}\",/g" \' Array[1]
Popping rule because it loops at column 11 of line '         -e "s/\"about\": \".*\"/\"about-arch\": \"${_about_arch_ver}\"/g" \' Array[1]
Popping rule because it loops at column 11 of line '         -e "/\"packageDependencies\": {/a \' Array[1]
Popping rule because it loops at column 29 of line '  ./script/build || die "Fail fixing verbosity of script/build"' Array[1]
Popping rule because it loops at column 2 of line '  mv $srcdir/about-${_about_arch_ver} $srcdir/about-arch' Array[1]
Popping rule because it loops at column 2 of line '  mv $srcdir/about-arch node_modules' Array[1]
Popping rule because it loops at column 2 of line '  sed -i -e "s/atom-editor/atom-editor-${_version}/g" node_modules/about-arch/lib/about-view.coffee' Array[1]
Popping rule because it loops at column 2 of line '  sed -i -e "s/<%=Desc=%>/$pkgdesc/g" ${srcdir}/${_pkgname}.desktop' Array[1]
Popping rule because it loops at column 4 of line '  cd "$srcdir/${_pkgname}-${_atomver}"' Array[3]
Popping rule because it loops at column 4 of line '  cd "$srcdir/${_pkgname}-${_atomver}"' Array[2]
Popping rule because it loops at column 4 of line '  cd "$srcdir/${_pkgname}-${_atomver}"' Array[1]
Popping rule because it loops at column 8 of line '  export PYTHON=/usr/bin/python2' Array[1]
Popping rule because it loops at column 7 of line '  until ./script/build --build-dir "$srcdir/atom-build"; do :; done' Array[2]
Popping rule because it loops at column 7 of line '  until ./script/build --build-dir "$srcdir/atom-build"; do :; done' Array[1]
Popping rule because it loops at column 4 of line '  cd "$srcdir/${_pkgname}-${_atomver}"' Array[3]
Popping rule because it loops at column 4 of line '  cd "$srcdir/${_pkgname}-${_atomver}"' Array[2]
Popping rule because it loops at column 4 of line '  cd "$srcdir/${_pkgname}-${_atomver}"' Array[1]
Popping rule because it loops at column 2 of line '  script/grunt install --build-dir "$srcdir/atom-build" --install-dir "$pkgdir/usr"' Array[1]
Popping rule because it loops at column 2 of line '  install -Dm755 $srcdir/${_pkgname} "$pkgdir/usr/bin/${_pkgname}"' Array[1]
Popping rule because it loops at column 2 of line '  install -Dm644 $srcdir/${_pkgname}.desktop "$pkgdir/usr/share/applications/${_pkgname}.desktop"' Array[1]
Popping rule because it loops at column 2 of line '  install -Dm644 resources/app-icons/stable/png/1024.png "$pkgdir/usr/share/pixmaps/atom.png"' Array[1]
Popping rule because it loops at column 2 of line '  install -Dm644 LICENSE.md "$pkgdir/usr/share/licenses/$pkgname/LICENSE.md"' Array[1]

I haven’t the foggiest why this is. Please help me, otherwise this still new package is likely to die.

Thanks for your time,
Brenton


#2

Well this is embarrassing on a Debian 8 VM I tested out previous versions of language-unix-shell, my fork of language-shellscript that works with language-archlinux to syntax-highlight PKGBUILDs and it turns out that v0.28.0 was the release when everything went to hell. Reverting the changes I made in that edit fixed the problem. See https://github.com/fusion809/language-shellscript/compare/v0.27.8...fusion809:v0.28.1 for a comparison


Better debugging information for Atom packages and themes