Giter VIP home page Giter VIP logo

emmet-atom-simplified's Introduction

Simplified Emmet plugin Atom editor

This is a fork of the emmet-atom package, and its main goal is to solve the keybinding conflicts with Atom itself that existed in the original package. The original package overwrote keybindings such as the ctrl + shift + M for toggling the Markdown preview, the ctrl + , for opening the Settings View, and tab for Atom's autocomplete

To solve these keybinding conflicts, the number of default keybindings is reduced to one, keeping the most important feature: expanding Emmet-style abbreviations. This feature is given a new unique key binding. For example:

ul>li.item$@-3*5

is transformed into

<ul>
    <li class="item7"></li>
    <li class="item6"></li>
    <li class="item5"></li>
    <li class="item4"></li>
    <li class="item3"></li>
</ul>

using the shift + space key combination.

This plugin will occasionally be synced with its upstream repository when new updates arrive. Furthermore, as a bonus, emmet expanding can also be triggered inside files with PHP, JS and JSX files. For JSX files, the package language-babel must be installed too, to make Atom recognize .jsx files.

All functionality of the emmet-atom package is still here, which means that you have the freedom to manually add any other Emmet triggers you want. To do so, go to Edit > Keymap... (or Settings > Keybindings > your keymap file) and refer to the original default emmet-atom keymap for a complete list of commands.

Note that you could also just enable emmet expanding everywhere, by opening your keymap (Edit > Open Your Keymap) and adding the following piece of text:

'atom-text-editor:not([mini])':
   'shift-space': 'emmet:expand-abbreviation-with-tab'

Installation

In Atom, open Preferences > Packages, search for the emmet-simplified package. Once found, click install to install package. Alternatively, you could run apm install emmet-simplified.

Manual installation

You can install the latest emmet-simplified version manually from console:

cd ~/.atom/packages
git clone https://github.com/Yatoom/emmet-atom-simplified emmet-simplified
cd emmet-simplified
npm install

Then restart Atom editor.

Features:

  • Expand abbreviations with shift + space.

Default Keybindings

You can disable these in Preferences > Emmet.

Command Darwin Linux/Windows
Expand Abbreviation shift + space shift + space

emmet-atom-simplified's People

Contributors

angelbotto avatar arusakov avatar baw avatar benogle avatar casesandberg avatar cobyism avatar d4rkr00t avatar deveedutta avatar diogodoreto avatar doingweb avatar everdimension avatar gjtorikian avatar hmps avatar jdsimcoe avatar kebot avatar kevinsawicki avatar knpwrs avatar leny avatar lucas-clemente avatar mat-b- avatar peterjeliot avatar postcasio avatar rkmax avatar ruedap avatar sergeche avatar shakib609 avatar skalnik avatar talater avatar tcarlsen avatar yatoom avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

emmet-atom-simplified's Issues

Failed to load the emmet-simplified package

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 1.12.7
Electron Version: 1.3.13
System: Mac OS X 10.11.6
Thrown From: emmet-simplified package, v2.5.0

Stack Trace

Failed to load the emmet-simplified package

At Cannot find module 'emmet'

Error: Cannot find module 'emmet'
    at Module._resolveFilename (module.js:455:15)
    at Module._resolveFilename (/Users/angeloorantes/Downloads/Proxima Nova Font Free 2/Atom.app/Contents/Resources/electron.asar/common/reset-search-paths.js:35:12)
    at Function.Module._resolveFilename (/Users/angeloorantes/Downloads/Proxima Nova Font Free 2/Atom.app/Contents/Resources/app.asar/src/module-cache.js:383:52)
    at Function.Module._load (module.js:403:25)
    at Module.require (module.js:483:17)
    at require (/Users/angeloorantes/Downloads/Proxima Nova Font Free 2/Atom.app/Contents/Resources/app.asar/src/native-compile-cache.js:50:27)
    at Object.<anonymous> (/Users/angeloorantes/.atom/packages/emmet-simplifie/lib/emmet.coffee:5:9)
    at Object.<anonymous> (/Users/angeloorantes/.atom/packages/emmet-simplifie/lib/emmet.coffee:1:1)
    at Module._compile (/Users/angeloorantes/Downloads/Proxima Nova Font Free 2/Atom.app/Contents/Resources/app.asar/src/native-compile-cache.js:103:30)
    at Object.value [as .coffee] (/Users/angeloorantes/Downloads/Proxima Nova Font Free 2/Atom.app/Contents/Resources/app.asar/src/compile-cache.js:201:21)
    at Module.load (module.js:473:32)
    at tryModuleLoad (module.js:432:12)
    at Function.Module._load (module.js:424:3)
    at Module.require (module.js:483:17)
    at require (/Users/angeloorantes/Downloads/Proxima Nova Font Free 2/Atom.app/Contents/Resources/app.asar/src/native-compile-cache.js:50:27)
    at Package.module.exports.Package.requireMainModule (/Users/angeloorantes/Downloads/Proxima Nova Font Free 2/Atom.app/Contents/Resources/app.asar/src/package.js:747:27)
    at /Users/angeloorantes/Downloads/Proxima Nova Font Free 2/Atom.app/Contents/Resources/app.asar/src/package.js:118:28
    at Package.module.exports.Package.measure (/Users/angeloorantes/Downloads/Proxima Nova Font Free 2/Atom.app/Contents/Resources/app.asar/src/package.js:92:15)
    at Package.module.exports.Package.load (/Users/angeloorantes/Downloads/Proxima Nova Font Free 2/Atom.app/Contents/Resources/app.asar/src/package.js:106:12)
    at PackageManager.module.exports.PackageManager.loadPackage (/Users/angeloorantes/Downloads/Proxima Nova Font Free 2/Atom.app/Contents/Resources/app.asar/src/package-manager.js:468:14)
    at /Users/angeloorantes/Downloads/Proxima Nova Font Free 2/Atom.app/Contents/Resources/app.asar/src/package-manager.js:412:19
    at Config.module.exports.Config.transact (/Users/angeloorantes/Downloads/Proxima Nova Font Free 2/Atom.app/Contents/Resources/app.asar/src/config.js:312:16)
    at PackageManager.module.exports.PackageManager.loadPackages (/Users/angeloorantes/Downloads/Proxima Nova Font Free 2/Atom.app/Contents/Resources/app.asar/src/package-manager.js:407:19)
    at /Users/angeloorantes/Downloads/Proxima Nova Font Free 2/Atom.app/Contents/Resources/app.asar/src/atom-environment.js:772:28

Commands

Config

{
  "core": {
    "telemetryConsent": "no"
  }
}

Installed Packages

# User
emmet-simplified, v2.5.0 (inactive)
Remote-FTP, v0.9.4 (inactive)
atom-dark-syntax, v0.27.0 (inactive)
atom-dark-ui, v0.52.0 (inactive)
atom-light-syntax, v0.28.0 (inactive)
atom-light-ui, v0.45.0 (inactive)
base16-tomorrow-dark-theme, v1.3.0 (inactive)
base16-tomorrow-light-theme, v1.3.0 (inactive)
one-dark-ui, v1.6.2 (inactive)
one-light-ui, v1.6.2 (inactive)
one-dark-syntax, v1.5.0 (inactive)
one-light-syntax, v1.5.0 (inactive)
solarized-dark-syntax, v1.0.5 (inactive)
solarized-light-syntax, v1.0.5 (inactive)
about, v1.7.0 (inactive)
archive-view, v0.62.0 (inactive)
autocomplete-atom-api, v0.10.0 (inactive)
autocomplete-css, v0.13.1 (inactive)
autocomplete-html, v0.7.2 (inactive)
autocomplete-plus, v2.31.4 (inactive)
autocomplete-snippets, v1.11.0 (inactive)
autoflow, v0.27.0 (inactive)
autosave, v0.23.1 (inactive)
background-tips, v0.26.1 (inactive)
bookmarks, v0.42.0 (inactive)
bracket-matcher, v0.82.2 (inactive)
command-palette, v0.39.0 (inactive)
deprecation-cop, v0.54.1 (inactive)
dev-live-reload, v0.47.0 (inactive)
encoding-selector, v0.22.0 (inactive)
exception-reporting, v0.40.0 (inactive)
find-and-replace, v0.202.2 (inactive)
fuzzy-finder, v1.4.0 (inactive)
git-diff, v1.1.0 (inactive)
go-to-line, v0.31.0 (inactive)
grammar-selector, v0.48.2 (inactive)
image-view, v0.60.0 (inactive)
incompatible-packages, v0.26.1 (inactive)
keybinding-resolver, v0.35.0 (inactive)
line-ending-selector, v0.5.0 (inactive)
link, v0.31.2 (inactive)
markdown-preview, v0.158.8 (inactive)
metrics, v1.1.2 (inactive)
notifications, v0.65.1 (inactive)
open-on-github, v1.2.1 (inactive)
package-generator, v1.0.1 (inactive)
settings-view, v0.243.1 (inactive)
snippets, v1.0.4 (inactive)
spell-check, v0.68.4 (inactive)
status-bar, v1.4.1 (inactive)
styleguide, v0.47.2 (inactive)
symbols-view, v0.113.1 (inactive)
tabs, v0.103.0 (inactive)
timecop, v0.33.2 (inactive)
tree-view, v0.210.0 (inactive)
update-package-dependencies, v0.10.0 (inactive)
welcome, v0.35.1 (inactive)
whitespace, v0.35.0 (inactive)
wrap-guide, v0.38.2 (inactive)
language-c, v0.54.0 (inactive)
language-clojure, v0.22.1 (inactive)
language-coffee-script, v0.48.0 (inactive)
language-csharp, v0.13.0 (inactive)
language-css, v0.40.1 (inactive)
language-gfm, v0.88.0 (inactive)
language-git, v0.15.0 (inactive)
language-go, v0.43.0 (inactive)
language-html, v0.47.1 (inactive)
language-hyperlink, v0.16.1 (inactive)
language-java, v0.24.0 (inactive)
language-javascript, v0.122.0 (inactive)
language-json, v0.18.3 (inactive)
language-less, v0.29.6 (inactive)
language-make, v0.22.2 (inactive)
language-mustache, v0.13.0 (inactive)
language-objective-c, v0.15.1 (inactive)
language-perl, v0.37.0 (inactive)
language-php, v0.37.3 (inactive)
language-property-list, v0.8.0 (inactive)
language-python, v0.45.1 (inactive)
language-ruby, v0.70.2 (inactive)
language-ruby-on-rails, v0.25.1 (inactive)
language-sass, v0.57.0 (inactive)
language-shellscript, v0.23.0 (inactive)
language-source, v0.9.0 (inactive)
language-sql, v0.25.0 (inactive)
language-text, v0.7.1 (inactive)
language-todo, v0.29.1 (inactive)
language-toml, v0.18.1 (inactive)
language-xml, v0.34.12 (inactive)
language-yaml, v0.27.1 (inactive)

# Dev
No dev packages

shift+space does not expand abbreviation

emmet-simplified is the only community package I have installed. When I try to use the shortcut of shift+space, the abbreviation does not expand. Using expand abbreviation in the menu does work, however.

Uncaught TypeError: str.charAt is not a function

[Enter steps to reproduce:]

  1. ...
  2. ...

Atom: 1.34.0 x64
Electron: 2.0.16
OS: Debian GNU/Linux
Thrown From: emmet-simplified package 2.6.0

Stack Trace

Uncaught TypeError: str.charAt is not a function

At /usr/share/atom/resources/app/static/<embedded>:11

TypeError: str.charAt is not a function
    at Object.replaceUnescapedSymbol (/packages/emmet-simplified/node_modules/emmet/lib/utils/common.js:197:13)
    at normalizeCaretPlaceholder (/packages/emmet-simplified/node_modules/emmet/lib/assets/resources.js:54:16)
    at parseItem (/packages/emmet-simplified/node_modules/emmet/lib/assets/resources.js:58:11)
    at /packages/emmet-simplified/node_modules/emmet/lib/assets/resources.js:284:29
    at Array.some (<anonymous>)
    at /packages/emmet-simplified/node_modules/emmet/lib/assets/resources.js:282:19)
    at Array.some (<anonymous>)
    at Object.findSnippet (/packages/emmet-simplified/node_modules/emmet/lib/assets/resources.js:279:34)
    at Object.findSnippet (/packages/emmet-simplified/node_modules/emmet/lib/assets/resources.js:293:17)
    at Object.getMatchedResource (/packages/emmet-simplified/node_modules/emmet/lib/assets/resources.js:161:13)
    at /packages/emmet-simplified/node_modules/emmet/lib/parser/processor/resourceMatcher.js:28:22
    at Array.forEach (<anonymous>)
    at matchResources (/packages/emmet-simplified/node_modules/emmet/lib/parser/processor/resourceMatcher.js:27:26)
    at Object.preprocessor (/packages/emmet-simplified/node_modules/emmet/lib/parser/processor/resourceMatcher.js:100:4)
    at /packages/emmet-simplified/node_modules/emmet/lib/parser/abbreviation.js:916:5
    at Array.forEach (<anonymous>)
    at Object.parse (/packages/emmet-simplified/node_modules/emmet/lib/parser/abbreviation.js:915:18)
    at Object.expand (/packages/emmet-simplified/node_modules/emmet/lib/parser/abbreviation.js:957:26)
    at /packages/emmet-simplified/node_modules/emmet/lib/action/expandAbbreviation.js:65:25)
    at /packages/emmet-simplified/node_modules/emmet/lib/assets/handlerList.js:93:19
    at /packages/emmet-simplified/node_modules/emmet/lib/utils/common.js:600:10
    at Array.some (<anonymous>)
    at Object.find (/packages/emmet-simplified/node_modules/emmet/lib/utils/common.js:599:9)
    at HandlerList.exec (/packages/emmet-simplified/node_modules/emmet/lib/assets/handlerList.js:92:10)
    at Object.expandAbbreviationAction (/packages/emmet-simplified/node_modules/emmet/lib/action/expandAbbreviation.js:110:20)
    at Object.expandAbbreviationWithTabAction (/packages/emmet-simplified/node_modules/emmet/lib/action/expandAbbreviation.js:140:14)
    at Object.run (/packages/emmet-simplified/node_modules/emmet/lib/action/main.js:150:21)
    at Object.run (/packages/emmet-simplified/node_modules/emmet/lib/emmet.js:81:23)
    at runAction (/packages/emmet-simplified/lib/emmet.coffee:94:9)
    at /packages/emmet-simplified/lib/emmet.coffee:62:9

Commands

  2x -1:48.6.0 core:move-down (input.hidden-input)
     -1:41.9.0 core:backspace (input.hidden-input)
  2x -1:41.6.0 editor:newline (input.hidden-input)
  2x -1:33.4.0 core:move-down (input.hidden-input)
  2x -1:32.9.0 core:move-left (input.hidden-input)
     -1:31.5.0 core:move-right (input.hidden-input)
  2x -1:23.1.0 core:move-down (input.hidden-input)
  2x -1:20.6.0 editor:newline (input.hidden-input)
     -0:16.7.0 emmet:expand-abbreviation-with-tab (input.hidden-input)
  4x -0:15.4.0 core:move-left (input.hidden-input)
     -0:14.5.0 editor:select-to-end-of-line (input.hidden-input)
     -0:14.2.0 core:delete (input.hidden-input)
     -0:10.3.0 editor:newline (input.hidden-input)
     -0:07.0 autocomplete-plus:confirm (input.hidden-input)
     -0:03.8.0 emmet:expand-abbreviation-with-tab (input.hidden-input)
     -0:02.5.0 editor:newline (input.hidden-input)

Non-Core Packages

atom-live-server 2.3.0 
emmet-simplified 2.6.0 

Uncaught Error: Invalid abbreviation

[Enter steps to reproduce:]

  1. Editing a markdown file, with the markdown preview open
  2. ?

Atom: 1.16.0-beta0 x64
Electron: 1.3.13
OS: Ubuntu 16.04.2
Thrown From: emmet-simplified package 2.5.0

Stack Trace

Uncaught Error: Invalid abbreviation

At /usr/share/atom-beta/resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:833

Error: Invalid abbreviation
    at Object.setAbbreviation (/packages/emmet-simplified/node_modules/emmet/lib/parser/abbreviation.js:344:11)
    at parseAbbreviation (/packages/emmet-simplified/node_modules/emmet/lib/parser/abbreviation.js:560:14)
    at Object.parse (/packages/emmet-simplified/node_modules/emmet/lib/parser/abbreviation.js:890:15)
    at Object.expand (/packages/emmet-simplified/node_modules/emmet/lib/parser/abbreviation.js:957:26)
    at /packages/emmet-simplified/node_modules/emmet/lib/action/expandAbbreviation.js:65:25)
    at /packages/emmet-simplified/node_modules/emmet/lib/assets/handlerList.js:93:19
    at /packages/emmet-simplified/node_modules/emmet/lib/utils/common.js:600:10
    at Array.some (native)
    at Object.find (/packages/emmet-simplified/node_modules/emmet/lib/utils/common.js:599:9)
    at Object.exec (/packages/emmet-simplified/node_modules/emmet/lib/assets/handlerList.js:92:10)
    at Object.expandAbbreviationAction (/packages/emmet-simplified/node_modules/emmet/lib/action/expandAbbreviation.js:110:20)
    at Object.expandAbbreviationWithTabAction (/packages/emmet-simplified/node_modules/emmet/lib/action/expandAbbreviation.js:140:14)
    at Object.run (/packages/emmet-simplified/node_modules/emmet/lib/action/main.js:150:21)
    at Object.run (/packages/emmet-simplified/node_modules/emmet/lib/emmet.js:81:23)
    at runAction (/packages/emmet-simplified/lib/emmet.coffee:91:9)
    at /packages/emmet-simplified/lib/emmet.coffee:59:9
    at Object.exec (/packages/emmet-simplified/lib/editor-proxy.coffee:80:10)
    at /packages/emmet-simplified/lib/emmet.coffee:58:19
    at TextBuffer.module.exports.TextBuffer.transact (/app.asar/node_modules/text-buffer/lib/text-buffer.js:828:18)
    at TextEditor.module.exports.TextEditor.transact (/app.asar/src/text-editor.js:1594:26)
    at /packages/emmet-simplified/lib/emmet.coffee:57:24)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/app.asar/src/command-registry.js:259:29)
    at /app.asar/src/command-registry.js:3:59
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:599:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:390:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (/app.asar/src/window-event-handler.js:106:36)
    at /app.asar/src/window-event-handler.js:3:59)

Commands

     -1:23.9.0 core:backspace (input.hidden-input)
     -1:20.2.0 intentions:highlight (input.hidden-input)
     -1:19.9.0 core:save (input.hidden-input)
     -1:05.6.0 autocomplete-plus:cancel (input.hidden-input)
  6x -1:03.9.0 core:move-down (input.hidden-input)
     -1:02.6.0 intentions:highlight (input.hidden-input)
     -1:02.3.0 core:save (input.hidden-input)
     -0:27.1.0 intentions:highlight (input.hidden-input)
     -0:27 editor:duplicate-lines (input.hidden-input)
  5x -0:26 core:move-left (input.hidden-input)
  6x -0:25.2.0 core:backspace (input.hidden-input)
     -0:14.7.0 emmet:expand-abbreviation-with-tab (input.hidden-input)
  6x -0:11.9.0 core:move-left (input.hidden-input)
  3x -0:10.8.0 core:move-down (input.hidden-input)
     -0:10.1.0 intentions:highlight (input.hidden-input)
     -0:10 core:save (input.hidden-input)

Non-Core Packages

advanced-open-file 0.16.6 
ansible-snippets 0.2.0 
ariake-dark-syntax 0.1.3 
asciidoc-assistant 0.2.2 
asciidoc-image-helper 1.0.0 
asciidoc-preview 2.9.0 
atom-alignment 0.12.1 
Atom-Bash-Snippets 0.0.3 
atom-beautify 0.29.17 
atom-dark-fusion-syntax 2.0.3 
atom-jade 0.3.0 
atom-jinja2 0.6.0 
atom-material-syntax 1.0.2 
atom-material-syntax-dark 0.2.7 
atom-material-ui 1.3.9 
atom-mermaid 3.0.0 
atom-monokai 0.10.9 
atom-special-char-highlighter 0.1.0 
atomatigit 1.5.5 
autocomplete-asciidoc 0.1.2 
autocomplete-bash-builtins 0.3.5 
autocomplete-html-entities 0.1.0 
autocomplete-modules 1.6.8 
autocomplete-project-paths 2.2.0 
autocomplete-python 1.8.60 
busy-signal 1.3.0 
character-table 0.4.3 
color-picker 2.2.5 
copy-as-rtf 0.9.3 
docblockr 0.9.1 
duotone-dark-earth-syntax 2.1.0 
duotone-dark-forest-syntax 2.1.0 
duotone-dark-sea-syntax 2.1.0 
duotone-dark-space-syntax 2.1.0 
duotone-dark-syntax 2.1.0 
editorconfig 2.2.2 
emmet-simplified 2.5.0 
file-icons 2.0.17 
file-templates 0.2.0 
file-types 0.5.5 
file-watcher 1.1.0 
flatwhite-syntax 0.8.0 
genesis-syntax 1.0.9 
git-blame 0.4.12 
git-control 0.8.2 
git-hide 1.0.0 
git-history 3.2.0 
git-plus 7.3.3 
git-time-machine 1.5.6 
hard-wrap 1.1.0 
indent-guide-improved 1.4.12 
intentions 1.1.2 
json-converter 0.2.4 
language-ansible 0.2.1 
language-asciidoc 1.8.0 
language-babel 2.56.2 
language-diff 0.7.0 
language-docker 1.1.7 
language-dotfiles 1.0.0 
language-dots 0.0.4 
language-generic-config 1.3.0 
language-gradle 0.0.3 
language-groovy 0.6.0 
language-hosts 0.1.2 
language-ini 1.19.0 
language-latex 1.0.0 
language-log 1.8.0 
language-mermaid 0.6.0 
language-mongodb 0.3.1 
language-nginx 0.6.2 
language-pug 0.0.21 
language-restructuredtext 1.0.2 
language-robot-framework 2.2.0 
language-svg 0.9.2 
language-vue 0.21.2 
last-cursor-position 0.9.0 
less-than-slash 0.16.0 
linter 2.1.0 
linter-alex 3.2.0 
linter-ansible-syntax 1.1.3 
linter-csslint 1.3.4 
linter-docker 0.1.4 
linter-js-standard 3.9.0 
linter-js-yaml 1.2.7 
linter-jscs 4.1.2 
linter-jshint 3.0.3 
linter-jsonlint 1.3.0 
linter-less 2.6.0 
linter-markdown 3.1.0 
linter-pug 1.3.0 
linter-pycodestyle 2.0.0 
linter-pydocstyle 0.4.5 
linter-sass-lint 1.7.4 
linter-shellcheck 1.4.3 
linter-swagger 0.3.9 
linter-ui-default 1.2.1 
linter-write-good 0.8.0 
linter-xmllint 1.4.1 
markdown-themeable-pdf 1.2.0 
markdown-writer 2.6.4 
minimap 4.26.8 
minimap-bookmarks 0.4.2 
minimap-cursorline 0.2.0 
minimap-find-and-replace 4.5.2 
minimap-git-diff 4.3.1 
minimap-linter 1.6.0 
minimap-selection 4.4.0 
minimap-split-diff 0.3.6 
monokai 0.22.0 
monokai-slate 0.6.0 
nebula-syntax 0.4.4 
nebula-ui 0.6.0 
nord-atom-syntax 0.6.0 
nord-atom-ui 0.10.2 
oceanic-next 1.0.0 
oceanic-reef-syntax 0.6.0 
open-path 0.3.6 
open-terminal-here 2.3.0 
pigments 0.39.1 
prettier-atom 0.23.1 
pretty-json 1.6.1 
pubster-syntax 3.0.1 
robot-selenium-snippet 1.0.1 
rst-preview-pandoc 0.1.12 
set-syntax 0.3.2 
slime 2.1.0 
sort-lines 0.14.0 
split-diff 1.2.0 
ssh-config 0.10.1 
standardjs-snippets 2.6.0 
susave 0.4.0 
symbols-tree-view 0.13.2 
synced-sidebar 0.4.3 
tabs-closer 0.14.0 
text-manipulation 0.6.0 
title-case 0.4.0 
toggle-quotes 1.0.1 
tornado-templates 0.2.0 
tree-view-git-status 1.3.1 
Zen 0.16.4 

tab within single quoted string throws error

When tabbing through a backtick quoted string, (trying to add indents) the package throws this error:
The backtick-quoted html tag is within a php return, something like this:

function myFunc() {
    return `<a style="
            border-radius:4px;
            .... twelve more lines of styles
        " href="http://google.com">Google</a>`;
}
the error with backticks:
ParseError: CSS parsing error at line 2, char 16: Unrecognized character '`'
        return `<a style="
---------------^
    at raiseError (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/parser/css.js:111:16)
    at tokenize (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/parser/css.js:371:3)
    at Object.lex (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/parser/css.js:389:6)
    at Object.parse (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/parser/css.js:407:22)
    at extractPropertiesFromSource (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/editTree/css.js:246:26)
    at consumeProperties (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/editTree/css.js:217:14)
    at child.initialize (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/editTree/css.js:316:4)
    at child.EditContainer (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/editTree/base.js:66:19)
    at new child (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/vendor/klass.js:35:12)
    at Object.parse (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/editTree/css.js:550:11)
    at Object.parseFromPosition (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/editTree/css.js:566:16)
    at Object.propertyFromPosition (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/editTree/css.js:580:49)
    at Object.gradientsFromCSSProperty (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/resolver/cssGradient.js:335:30)
    at Object.expandAbbreviationHandler (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/resolver/cssGradient.js:365:25)
    at /Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/assets/handlerList.js:93:19
    at /Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/utils/common.js:600:10
    at Array.some (native)
    at Object.find (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/utils/common.js:599:9)
    at HandlerList.exec (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/assets/handlerList.js:92:10)
    at Object.expandAbbreviationAction (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/action/expandAbbreviation.js:110:20)
    at Object.expandAbbreviationWithTabAction (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/action/expandAbbreviation.js:140:14)
    at Object.run (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/action/main.js:150:21)
    at Object.run (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/emmet.js:81:23)
    at runAction (/Users/my_user_account/.atom/packages/emmet/lib/emmet.coffee:94:9)
    at /Users/my_user_account/.atom/packages/emmet/lib/emmet.coffee:62:9
    at Object.exec (/Users/my_user_account/.atom/packages/emmet/lib/editor-proxy.coffee:80:10)
    at /Users/my_user_account/.atom/packages/emmet/lib/emmet.coffee:61:19
    at TextBuffer.module.exports.TextBuffer.transact (/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/text-buffer.js:973:24)
    at TextEditor.transact (/Applications/Atom.app/Contents/Resources/app/src/text-editor.js:2002:30)
    at HTMLElement.<anonymous> (/Users/my_user_account/.atom/packages/emmet/lib/emmet.coffee:60:24)
    at CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app/src/command-registry.js:384:49)
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app/node_modules/atom-keymap/lib/keymap-manager.js:621:22)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app/node_modules/atom-keymap/lib/keymap-manager.js:412:28)
    at WindowEventHandler.handleDocumentKeyEvent (/Applications/Atom.app/Contents/Resources/app/src/window-event-handler.js:110:40)

also get an error with single quotes, like so:

function myFunc() {
    return '<a style="
            border-radius:4px;
            .... twelve more lines of styles
        " href="http://google.com">Google</a>';
}
the error with single quotes:
/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/text-buffer.js:980
Hide Stack Trace
ParseError: CSS parsing error at line 3, char 1: Unterminated string
                        border-radius:4px;
^
    at raiseError (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/parser/css.js:111:16)
    at eatString (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/parser/css.js:202:6)
    at str (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/parser/css.js:223:15)
    at tokenize (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/parser/css.js:336:11)
    at Object.lex (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/parser/css.js:389:6)
    at Object.parse (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/parser/css.js:407:22)
    at extractPropertiesFromSource (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/editTree/css.js:246:26)
    at consumeProperties (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/editTree/css.js:217:14)
    at child.initialize (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/editTree/css.js:316:4)
    at child.EditContainer (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/editTree/base.js:66:19)
    at new child (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/vendor/klass.js:35:12)
    at Object.parse (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/editTree/css.js:550:11)
    at Object.parseFromPosition (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/editTree/css.js:566:16)
    at Object.propertyFromPosition (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/editTree/css.js:580:49)
    at Object.gradientsFromCSSProperty (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/resolver/cssGradient.js:335:30)
    at Object.expandAbbreviationHandler (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/resolver/cssGradient.js:365:25)
    at /Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/assets/handlerList.js:93:19
    at /Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/utils/common.js:600:10
    at Array.some (native)
    at Object.find (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/utils/common.js:599:9)
    at HandlerList.exec (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/assets/handlerList.js:92:10)
    at Object.expandAbbreviationAction (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/action/expandAbbreviation.js:110:20)
    at Object.expandAbbreviationWithTabAction (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/action/expandAbbreviation.js:140:14)
    at Object.run (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/action/main.js:150:21)
    at Object.run (/Users/my_user_account/.atom/packages/emmet-simplified/node_modules/emmet/lib/emmet.js:81:23)
    at runAction (/Users/my_user_account/.atom/packages/emmet/lib/emmet.coffee:94:9)
    at /Users/my_user_account/.atom/packages/emmet/lib/emmet.coffee:62:9
    at Object.exec (/Users/my_user_account/.atom/packages/emmet/lib/editor-proxy.coffee:80:10)
    at /Users/my_user_account/.atom/packages/emmet/lib/emmet.coffee:61:19
    at TextBuffer.module.exports.TextBuffer.transact (/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/text-buffer.js:973:24)
    at TextEditor.transact (/Applications/Atom.app/Contents/Resources/app/src/text-editor.js:2002:30)
    at HTMLElement.<anonymous> (/Users/my_user_account/.atom/packages/emmet/lib/emmet.coffee:60:24)
    at CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app/src/command-registry.js:384:49)
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app/node_modules/atom-keymap/lib/keymap-manager.js:621:22)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app/node_modules/atom-keymap/lib/keymap-manager.js:412:28)
    at WindowEventHandler.handleDocumentKeyEvent (/Applications/Atom.app/Contents/Resources/app/src/window-event-handler.js:110:40)

I'm on mac, High Sierra,

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.