nirix / atom-editor-settings Goto Github PK
View Code? Open in Web Editor NEWAtom package to add support for editor settings per-language, file extension and directory.
Home Page: https://atom.io/packages/editor-settings
License: MIT License
Atom package to add support for editor settings per-language, file extension and directory.
Home Page: https://atom.io/packages/editor-settings
License: MIT License
[Enter steps to reproduce:]
Atom: 1.24.1 x64
Electron: 1.6.16
OS: Linux Mint
Thrown From: editor-settings package 1.1.3
Uncaught Error: watch /home/mint/.atom/grammar-config/php.cson ENOSPC
At fs.js:1318
Error: watch /home/mint/.atom/grammar-config/php.cson ENOSPC
at exports._errnoException (util.js:1022:11)
at FSWatcher.start (fs.js:1316:19)
at Object.fs.watch (fs.js:1341:11)
at Object.watchFile (/packages/editor-settings/lib/editor-settings.coffee:188:10)
at Object.loadConfig (/packages/editor-settings/lib/editor-settings.coffee:207:8)
at Object.loadAllConfigFiles (/packages/editor-settings/lib/editor-settings.coffee:108:24)
at Object.reconfigureCurrentEditor (/packages/editor-settings/lib/editor-settings.coffee:64:17)
at /packages/editor-settings/lib/editor-settings.coffee:41:8
at Function.module.exports.Emitter.simpleDispatch (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:25:20)
at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:141:34)
at Workspace.didActivatePaneContainer (/usr/share/atom/resources/app/src/workspace.js:477:28)
at Dock.subscriptions.CompositeDisposable.paneContainer.onDidActivatePane (/usr/share/atom/resources/app/src/dock.js:60:20)
at Function.module.exports.Emitter.simpleDispatch (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:25:20)
at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:141:34)
at PaneContainer.didActivatePane (/usr/share/atom/resources/app/src/pane-container.js:264:24)
at Pane.activate (/usr/share/atom/resources/app/src/pane.js:1002:46)
at Pane.focus (/usr/share/atom/resources/app/src/pane.js:393:23)
at /app.asar/src/pane-element.js:51:25)
atom-beautify 0.32.2
atom-terminal 0.8.0
busy-signal 1.4.3
comment 0.6.1
compare-files 0.8.1
editor-settings 1.1.3
emmet 2.4.3
file-icons 2.1.17
highlight-selected 0.13.1
intentions 1.1.5
linter 2.2.0
linter-eslint 8.4.1
linter-htmlhint 1.4.0
linter-jshint 3.1.6
linter-php 1.5.1
linter-stylelint 4.2.0
linter-ui-default 1.7.1
minimap 4.29.8
minimap-highlight-selected 4.6.1
minimap-pigments 0.2.2
php-getters-setters 0.5.5
pigments 0.40.2
print-code 0.7.1
teletype 0.10.0
tree-view-open-files 0.3.0
The follow case may cause grammar change:
The 1st case can be fixed by:
atom.workspace.observeTextEditors (editor) =>
editor.observeGrammar =>
@setEditorConfig editor
but the 2nd case, the new syntax may not have configured. We have to calculate the correct settings.
I think it would be a nice feature to have the package ignore the grammar and have a config for a specific file extension.
If this is already possible I have not found how, maybe there could be an example in the docs.
I have started using the nim programming language for a school project. One quirk of the language is it requires spaces and does not allow tabs. I prefer hard tabs so I can change the length of all of my tabs whenever I feel like it. Therefore, I like to keep track of my spaces to not confuse them with tabs, so I disable Atomic Soft Tabs (it runs over 4 spaces like they're a tab if your tab length is 4). But with something like nim I'd like to run over my tab length like they're a tab.
I think this would be a really useful feature for other people that have to switch between using hard tabs and soft tabs as well.
tl;dr is it possible to add atomic soft tabs to the settings this package supports?
Instead of the documentation saying:
The language/grammar settings files are saved in the
grammar-config
directory located in the main Atom configuration directory with a lower-case file name format.
It would be nice if the path was stated, or that the main Atom configuration directory
was a clickable link that opened the folder in Finder/Explorer/Whatever. I had to do a bit of googling to figure out where the main configuration directory was located.
[Enter steps to reproduce below:]
editor-settings
package.Atom Version: 0.199.0
System: Mac OS X 10.10.3
Thrown From: editor-settings package, v0.5.3
Uncaught TypeError: undefined is not a function
At /Users/asux/Яндекс.Диск/Applications/Atom/packages/editor-settings/lib/editor-settings.coffee:123
TypeError: undefined is not a function
at Object.module.exports.setConfig (/Users/asux/Яндекс.Диск/Applications/Atom/packages/editor-settings/lib/editor-settings.coffee:123:28)
at Object.module.exports.configureEditor (/Users/asux/Яндекс.Диск/Applications/Atom/packages/editor-settings/lib/editor-settings.coffee:105:6)
at /Users/asux/Яндекс.Диск/Applications/Atom/packages/editor-settings/lib/editor-settings.coffee:40:10
at /Users/asux/Яндекс.Диск/Applications/Atom/packages/editor-settings/lib/editor-settings.coffee:156:13
at /Users/asux/Яндекс.Диск/Applications/Atom/packages/editor-settings/node_modules/season/lib/cson.js:164:53
at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:379:3)
{
"core": {
"disabledPackages": [
"symbols-view",
"deprecation-cop",
"minimap",
"open-in-sourcetree",
"fancy-new-file",
"atom-lint",
"atom-terminal-panel",
"file-icon-supplement",
"file-type-icons",
"pdf-view"
],
"projectHome": "~/Projects",
"themes": [
"one-dark-ui",
"monokai"
]
}
}
# User
atom-alignment, v0.12.1
atom-ctags, v3.2.0
autocomplete-paths, v1.0.2
autocomplete-ruby, v0.1.0
change-case, v0.5.1
circle-ci, v0.9.1
codeship-status, v0.1.1
color-picker, v1.7.0
cucumber, v0.5.0
editor-settings, v0.5.3
file-icons, v1.5.5
file-types, v0.3.0
highlight-selected, v0.9.2
language-docker, v1.1.3
language-hosts, v0.1.1
language-slim, v0.4.0
linter, v0.12.2
linter-csslint, v0.0.12
linter-jsonlint, v0.1.3
linter-pylint, v0.2.1
linter-rubocop, v0.2.3
linter-scss-lint, v0.0.14
local-history, v3.1.0
monokai, v0.14.0
project-manager, v1.15.5
regex-railroad-diagram, v0.7.4
rspec-snippets, v0.4.0
wercker-status, v0.3.0
# Dev
No dev packages
Atom throws:
Requiring $
from atom
is no longer supported.
If you are using space-pen
, please require $
from atom-space-pen-views
. Otherwise require jquery
instead:
{$} = require 'atom-space-pen-views'
or
$ = require 'jquery'
Add "atom-space-pen-views": "^2.0.3"
to your package dependencies.
Or add "jquery": "^2"
to your package dependencies.
Object.Object.defineProperty.get (/Applications/Atom.app/Contents/Resources/app.asar/exports/atom.js:48:11)
Object.<anonymous> (/Users/jasperkennis/.atom/packages/editor-settings/lib/editor-settings.coffee:1:1)
Object.<anonymous> (/Users/jasperkennis/.atom/packages/editor-settings/lib/editor-settings.coffee:212:4)
Module._compile (module.js:452:26)
#7 might be related to this, I'm experiencing the same problems.
[Enter steps to reproduce below:]
Atom Version: 0.187.0
System: Mac OS X 10.10.3
Thrown From: editor-settings package, v0.4.0
Failed to load the editor-settings package
At Module version mismatch. Expected 41, got 16.
Error: Module version mismatch. Expected 41, got 16.
at Error (native)
at Object.module.(anonymous function) (ATOM_SHELL_ASAR.js:118:20)
at Object.module.(anonymous function) [as .node] (ATOM_SHELL_ASAR.js:118:20)
at Module.load (module.js:370:32)
at Function.Module._load (module.js:325:12)
at Module.require (module.js:380:17)
at require (module.js:399:17)
at Object.<anonymous> (/Users/josho/.atom/packages/editor-settings/node_modules/pathwatcher/lib/main.js:6:13)
at Object.<anonymous> (/Users/josho/.atom/packages/editor-settings/node_modules/pathwatcher/lib/main.js:207:4)
at Module._compile (module.js:475:26)
{
"core": {
"ignoredNames": [
".git",
".hg",
".DS_Stor",
"migrations"
],
"disabledPackages": [
"background-tips",
"deprecation-cop",
"autocomplete"
],
"themes": [
"seti-ui",
"monokai-seti"
]
}
}
# User
Stylus, v0.6.0
atom-handlebars, v0.4.0
auto-detect-indentation, v0.3.0
autoclose-html, v0.15.0
autocomplete-plus, v2.4.2
django-templates, v0.3.0
editor-settings, v0.4.0
language-cjsx, v0.2.0
linter, v0.12.0
linter-coffeelint, v0.1.7
linter-flake8, v1.3.0
minimap, v4.6.0
minimap-color-highlight, v4.1.0
minimap-git-diff, v4.1.2
minimap-highlight-selected, v4.2.0
minimap-selection, v4.2.0
monokai-seti, v0.4.0
react, v0.9.11
resize-indent, v0.2.1
seti-ui, v0.6.3
# Dev
No dev packages
I'm unable to install the package on Atom 0.186.
Error output is:
Installing “[email protected]” failed.Hide output…
> [email protected] install /private/var/folders/fb/xnrsj9sn18b_7061dnpk9cx80000gn/T/apm-install-dir-11526-53291-mn9hey/node_modules/editor-settings/node_modules/pathwatcher/node_modules/runas
> node-gyp rebuild
CXX(target) Release/obj.target/runas/src/main.o
2015-03-06 23:01:07.846 xcodebuild[53306:6401879] [MT] PluginLoading: Required plug-in compatibility UUID C4A681B0-4A26-480E-93EC-1218098B9AA0 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/XVim.xcplugin' not present in DVTPlugInCompatibilityUUIDs
In file included from ../src/main.cc:1:
../../nan/nan.h:623:19: error: no type named 'ExternalAsciiStringResource' in 'v8::String'; did you mean 'ExternalStringResource'?
v8::String::ExternalAsciiStringResource *resource) {
~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
ExternalStringResource
/Users/David/dotfiles/atom/.node-gyp/.node-gyp/0.21.0/deps/v8/include/v8.h:1936:19: note: 'ExternalStringResource' declared here
class V8_EXPORT ExternalStringResource
^
In file included from ../src/main.cc:1:
../../nan/nan.h:622:36: error: redefinition of 'NanNew'
NAN_INLINE v8::Local<v8::String> NanNew(
^
../../nan/nan.h:617:36: note: previous definition is here
NAN_INLINE v8::Local<v8::String> NanNew(
^
../../nan/nan.h:1993:12: error: no member named 'IsExternalAscii' in 'v8::String'; did you mean 'IsExternal'?
if (str->IsExternalAscii()) {
^~~~~~~~~~~~~~~
IsExternal
/Users/David/dotfiles/atom/.node-gyp/.node-gyp/0.21.0/deps/v8/include/v8.h:1900:8: note: 'IsExternal' declared here
bool IsExternal() const;
^
In file included from ../src/main.cc:1:
../../nan/nan.h:1994:23: error: no type named 'ExternalAsciiStringResource' in 'v8::String'; did you mean 'ExternalStringResource'?
const v8::String::ExternalAsciiStringResource* ext;
~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
ExternalStringResource
/Users/David/dotfiles/atom/.node-gyp/.node-gyp/0.21.0/deps/v8/include/v8.h:1936:19: note: 'ExternalStringResource' declared here
class V8_EXPORT ExternalStringResource
^
In file included from ../src/main.cc:1:
../../nan/nan.h:1995:16: error: no member named 'GetExternalAsciiStringResource' in 'v8::String'; did you mean 'GetExternalOneByteStringResource'?
ext = str->GetExternalAsciiStringResource();
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
GetExternalOneByteStringResource
/Users/David/dotfiles/atom/.node-gyp/.node-gyp/0.21.0/deps/v8/include/v8.h:2003:40: note: 'GetExternalOneByteStringResource' declared here
const ExternalOneByteStringResource* GetExternalOneByteStringResource() const;
^
In file included from ../src/main.cc:1:
../../nan/nan.h:1995:9: error: assigning to 'const v8::String::ExternalStringResource *' from incompatible type 'const v8::String::ExternalOneByteStringResource *'
ext = str->GetExternalAsciiStringResource();
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../nan/nan.h:1996:11: error: assigning to 'const char *' from incompatible type 'const uint16_t *' (aka 'const unsigned short *')
*data = ext->data();
^ ~~~~~~~~~~~
7 errors generated.
make: *** [Release/obj.target/runas/src/main.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/Applications/Atom.app/Contents/Resources/app/apm/node_modules/npm/node_modules/node-gyp/lib/build.js:267:23)
gyp ERR! stack at ChildProcess.emit (events.js:98:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:820:12)
gyp ERR! System Darwin 14.1.0
gyp ERR! command "node" "/Applications/Atom.app/Contents/Resources/app/apm/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /private/var/folders/fb/xnrsj9sn18b_7061dnpk9cx80000gn/T/apm-install-dir-11526-53291-mn9hey/node_modules/editor-settings/node_modules/pathwatcher/node_modules/runas
gyp ERR! node -v v0.10.35
gyp ERR! node-gyp -v v1.0.2
gyp ERR! not ok
npm ERR! Darwin 14.1.0
npm ERR! argv "/Applications/Atom.app/Contents/Resources/app/apm/bin/node" "/Applications/Atom.app/Contents/Resources/app/apm/node_modules/npm/bin/npm-cli.js" "--globalconfig" "/Users/David/dotfiles/atom/.apm/.apmrc" "--userconfig" "/Users/David/dotfiles/atom/.apmrc" "install" "/private/var/folders/fb/xnrsj9sn18b_7061dnpk9cx80000gn/T/d-11526-53291-1020aww/package.tgz" "--target=0.21.0" "--arch=x64"
npm ERR! node v0.10.35
npm ERR! npm v2.5.1
npm ERR! code ELIFECYCLE
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the runas package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get their info via:
npm ERR! npm owner ls runas
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! /private/var/folders/fb/xnrsj9sn18b_7061dnpk9cx80000gn/T/apm-install-dir-11526-53291-mn9hey/npm-debug.log
I’m using atom-editor-settings 1.1.2 with Atom 1.14.1, and have recently upgraded to macOS 10.12.3.
Since upgrading my OS, I’ve noticed that atom-editor-settings doesn’t seem to be applying per-language settings by default when opening a file. Thus, tab length, soft tabs, etc are configured as per Atom’s default.
However, if I then open the grammar config file from the command palette and close it again, the settings are now correctly applied to both the open file, plus any subsequently-opened files using the same grammar.
This will continue until all files that use that grammar are closed, or a new file that should use that grammar is created, whereupon Atom’s defaults will be used instead.
Steps to reproduce
Note: I’m using Ruby as an example, but I can reproduce this with every language I’ve tried where I’ve also specified a grammar configuration.
…
My apologies for the long issue, but I wanted to give as much information as I could. Please do let me know if I can provide you with any further information that might help.
J
Hello,
I've installed the package and created a ".editor-settings" at the root of a project.
In that file, I've put :
'tabLength': 10
Anyway, when I open any file in the project and press the "tab" key, the indent length is 2, which is my editor default settings.
Tried to close anything and relaunch Atom without any success.
Thanks for any help on that issue.
When you config project settings such as
'tabLength': 4
'javascript':
'tabLength': 2
It seems the Javascript-specific settings will not take effect unless the .atom/grammar-config/javascript.cson
file exists. (The file can be empty, but it needs to exist.) This probably shouldn't be the case.
[Enter steps to reproduce:]
Atom: 1.22.1 x64
Electron: 1.6.15
OS: Linux Mint
Thrown From: editor-settings package 1.1.3
Uncaught Error: watch /home/mint/.atom/grammar-config/css.cson ENOSPC
At fs.js:1318
Error: watch /home/mint/.atom/grammar-config/css.cson ENOSPC
at exports._errnoException (util.js:1022:11)
at FSWatcher.start (fs.js:1316:19)
at Object.fs.watch (fs.js:1341:11)
at Object.watchFile (/packages/editor-settings/lib/editor-settings.coffee:188:10)
at Object.loadConfig (/packages/editor-settings/lib/editor-settings.coffee:207:8)
at Object.loadAllConfigFiles (/packages/editor-settings/lib/editor-settings.coffee:108:24)
at Object.reconfigureCurrentEditor (/packages/editor-settings/lib/editor-settings.coffee:64:17)
at /packages/editor-settings/lib/editor-settings.coffee:41:8
at Function.module.exports.Emitter.simpleDispatch (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:25:20)
at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:141:34)
at Workspace.didChangeActivePaneItemOnPaneContainer (/usr/share/atom/resources/app/src/workspace.js:492:28)
at WorkspaceCenter.paneContainer.onDidChangeActivePaneItem (/usr/share/atom/resources/app/src/workspace-center.js:17:20)
at Function.module.exports.Emitter.simpleDispatch (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:25:20)
at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:141:34)
at PaneContainer.didChangeActiveItemOnPane (/usr/share/atom/resources/app/src/pane-container.js:284:26)
at PaneContainer.didActivatePane (/usr/share/atom/resources/app/src/pane-container.js:262:18)
at Pane.activate (/usr/share/atom/resources/app/src/pane.js:1002:46)
at Pane.focus (/usr/share/atom/resources/app/src/pane.js:393:23)
at /app.asar/src/pane-element.js:51:25)
-9:41.3.0 tree-view:show (atom-workspace.workspace.scrollbars-visible-always)
atom-beautify 0.30.9
busy-signal 1.4.3
editor-settings 1.1.3
emmet 2.4.3
emmet-jsx-css-modules 1.0.0
emmet-snippets-compatibility 1.0.6
file-icons 2.1.14
intentions 1.1.5
linter 2.2.0
linter-htmlhint 1.4.0
linter-stylelint 4.1.0
linter-ui-default 1.6.10
minimap 4.29.7
minimap-pigments 0.2.2
pigments 0.40.2
tabs-to-spaces 1.0.3
In general, most prefer to use one style or the other. Some grammars, however, perform significantly differently or have different conventions based upon whether you use Hard or Soft tabs. One such example is Markdown, which almost necessitates Soft Tabs.
It would be nice if I could use Soft Tabs for Markdown, but Hard Tabs for languages where file-size might be a factor, such as CSS/JS that is in development.
[Enter steps to reproduce:]
Hi, even with Atom 1.25 installed, the issues are still there.
Each time i click on a tab (to close for example) or when i try to type anything in my page or in the tree view.
Atom: 1.25.0 x64
Electron: 1.7.11
OS: Linux Mint
Thrown From: editor-settings package 1.1.3
Uncaught Error: watch /home/mint/.atom/grammar-config/html-(twig).cson ENOSPC
At fs.js:1412
Error: watch /home/mint/.atom/grammar-config/html-(twig).cson ENOSPC
at exports._errnoException (util.js:1050:11)
at FSWatcher.start (fs.js:1410:19)
at Object.fs.watch (fs.js:1436:11)
at Object.watchFile (/packages/editor-settings/lib/editor-settings.coffee:188:10)
at Object.loadConfig (/packages/editor-settings/lib/editor-settings.coffee:207:8)
at Object.loadAllConfigFiles (/packages/editor-settings/lib/editor-settings.coffee:108:24)
at Object.reconfigureCurrentEditor (/packages/editor-settings/lib/editor-settings.coffee:64:17)
at /packages/editor-settings/lib/editor-settings.coffee:41:8
at Function.module.exports.Emitter.simpleDispatch (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:25:20)
at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:141:34)
at Workspace.didChangeActivePaneItemOnPaneContainer (/usr/share/atom/resources/app/src/workspace.js:441:26)
at WorkspaceCenter.paneContainer.onDidChangeActivePaneItem (/usr/share/atom/resources/app/src/workspace-center.js:17:20)
at Function.module.exports.Emitter.simpleDispatch (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:25:20)
at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:141:34)
at PaneContainer.didChangeActiveItemOnPane (/usr/share/atom/resources/app/src/pane-container.js:285:26)
at Pane.setActiveItem (/usr/share/atom/resources/app/src/pane.js:436:48)
at Pane.activateItem (/usr/share/atom/resources/app/src/pane.js:575:18)
at TabBarView.module.exports.TabBarView.onClick (/usr/share/atom/resources/app/node_modules/tabs/lib/tab-bar-view.js:721:25)
2x -2:59.5.0 tree-view:open-selected-entry-down (span.name.icon.yaml-icon.medium-red)
atom-beautify 0.32.2
atom-terminal 0.8.0
autocomplete-paths 2.12.2
busy-signal 1.4.3
comment 0.6.1
compare-files 0.8.1
editor-settings 1.1.3
emmet 2.4.3
file-icons 2.1.17
highlight-selected 0.13.1
intentions 1.1.5
linter 2.2.0
linter-eslint 8.4.1
linter-htmlhint 1.4.0
linter-jshint 3.1.6
linter-php 1.5.1
linter-stylelint 4.2.0
linter-ui-default 1.7.1
minimap 4.29.8
minimap-highlight-selected 4.6.1
minimap-pigments 0.2.2
php-getters-setters 0.5.5
php-twig 4.0.0
pigments 0.40.2
print-code 0.7.1
teletype 0.10.0
tree-view-open-files 0.3.0
Is it possible to use a .editor-config
file and set which grammar it should use?
I don't know if you can already do this but I wasn't able to figure it out by reading the documentation several times. Something like this?
extensionConfig:
pm:
grammar: 'source.perl6fe'
To set all *.pm files in a directory to the source.perl6fe grammar (the scope name of the grammar)
EditorConfig is a "standard" for how to configure an editor. If such a file exists, the editor-settings
plugin should read its settings from it.
When editor-settings is installed and unconfigured (nothing in grammar-config directory, and no .editor-settings files) it interferes with Atom's built in grammar-specific tab settings. Please adjust editor-settings so Atom-configured global and grammar-specific values still work and only override them if specifically configured in an editor-settings configuration file.
I'd like to use Atom's built-in global and grammar-specific tab length settings, but since Atom doesn't support grammar-specific tab types yet, I'd like to use editor-settings to control what grammars use the default tab type (be it auto, soft, or hard) and which ones override the default with a custom tab type (auto, soft, or hard).
Thanks
Is it possible to configure a grammar to always use hard tabs? If so, what property does that? I've tried the following to no avail:
softTabs: false
hardTabs: true
tabType: 'hard'
I've even disabled the tabs-to-spaces plugin to ensure that it isn't overriding editor-settings' configuration, but it doesn't help.
Under the "Editor" configuration in Atom, "Atomic Soft Tabs" is enabled, "Soft Tabs" is disabled, "Tab Type" is set to "auto".
[Enter steps to reproduce:]
Atom: 1.25.1 x64
Electron: 1.7.11
OS: Linux Mint
Thrown From: editor-settings package 1.1.3
Uncaught TypeError: ref1.getParent is not a function
At /home/mint/.atom/packages/editor-settings/lib/editor-settings.coffee:115
TypeError: ref1.getParent is not a function
at Object.loadAllConfigFiles (/packages/editor-settings/lib/editor-settings.coffee:115:56)
at Object.reconfigureCurrentEditor (/packages/editor-settings/lib/editor-settings.coffee:64:17)
at /packages/editor-settings/lib/editor-settings.coffee:41:8
at Function.module.exports.Emitter.simpleDispatch (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:25:20)
at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:141:34)
at Workspace.didChangeActivePaneItemOnPaneContainer (/usr/share/atom/resources/app/src/workspace.js:441:26)
at WorkspaceCenter.paneContainer.onDidChangeActivePaneItem (/usr/share/atom/resources/app/src/workspace-center.js:17:20)
at Function.module.exports.Emitter.simpleDispatch (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:25:20)
at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:141:34)
at PaneContainer.didChangeActiveItemOnPane (/usr/share/atom/resources/app/src/pane-container.js:285:26)
at Pane.setActiveItem (/usr/share/atom/resources/app/src/pane.js:436:48)
at Pane.activateItem (/usr/share/atom/resources/app/src/pane.js:575:18)
at TabBarView.module.exports.TabBarView.onClick (/usr/share/atom/resources/app/node_modules/tabs/lib/tab-bar-view.js:721:25)
7x -2:49.8.0 core:backspace (input.hidden-input)
-2:43.3.0 editor:newline (input.hidden-input)
-0:52.4.0 intentions:highlight (input.hidden-input)
-0:52 core:select-all (input.hidden-input)
-0:51.7.0 core:copy (input.hidden-input)
-0:35 intentions:highlight (input.hidden-input)
-0:34.8.0 core:select-all (input.hidden-input)
-0:34.3.0 core:paste (input.hidden-input)
-0:33.3.0 intentions:highlight (input.hidden-input)
-0:33.2.0 core:save (input.hidden-input)
-0:28.6.0 intentions:highlight (input.hidden-input)
-0:28.3.0 core:select-all (input.hidden-input)
-0:27.9.0 core:paste (input.hidden-input)
-0:27.1.0 core:save (input.hidden-input)
-0:22.1.0 intentions:highlight (input.hidden-input)
-0:22 core:save (input.hidden-input)
atom-beautify 0.32.2
busy-signal 1.4.3
editor-settings 1.1.3
emmet 2.4.3
file-icons 2.1.18
intentions 1.1.5
linter 2.2.0
linter-eslint 8.4.1
linter-htmlhint 1.4.0
linter-php 1.5.1
linter-stylelint 4.2.0
linter-ui-default 1.7.1
minimap 4.29.8
pigments 0.40.2
tabs-to-spaces 1.0.3
teletype 0.12.1
[Enter steps to reproduce below:]
Atom Version: 1.10.2
Electron Version: 0.37.8
System: Mac OS X 10.10.5
Thrown From: editor-settings package, v1.1.1
Uncaught TypeError: Cannot read property 'getParent' of null
At /Users/bbuck/.dotfiles/atom.symlink/packages/editor-settings/lib/editor-settings.coffee:110
TypeError: Cannot read property 'getParent' of null
at Object.module.exports.loadAllConfigFiles (/Users/bbuck/.dotfiles/atom.symlink/packages/editor-settings/lib/editor-settings.coffee:110:41)
at Object.module.exports.reconfigureCurrentEditor (/Users/bbuck/.dotfiles/atom.symlink/packages/editor-settings/lib/editor-settings.coffee:64:17)
at /Users/bbuck/.dotfiles/atom.symlink/packages/editor-settings/lib/editor-settings.coffee:41:8
at Function.module.exports.Emitter.simpleDispatch (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:25:14)
at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:125:28)
at /Applications/Atom.app/Contents/Resources/app.asar/src/pane-container.js:346:27
at Function.module.exports.Emitter.simpleDispatch (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:25:14)
at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:125:28)
at Pane.module.exports.Pane.setActiveItem (/Applications/Atom.app/Contents/Resources/app.asar/src/pane.js:284:22)
at Pane.module.exports.Pane.activateItem (/Applications/Atom.app/Contents/Resources/app.asar/src/pane.js:433:21)
at atom-tabs.TabBarView.onMouseDown (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/tabs/lib/tab-bar-view.js:662:19)
-1:16.6.0 pane:show-item-3 (atom-text-editor.editor.is-focused)
-1:16 pane:show-item-1 (atom-text-editor.editor.mini.is-focused)
-1:15.5.0 pane:show-item-2 (atom-text-editor.editor.is-focused)
-1:14.9.0 pane:show-item-3 (atom-text-editor.editor.is-focused)
-1:14.5.0 pane:show-item-1 (atom-text-editor.editor.mini.is-focused)
-1:14.4.0 pane:show-item-2 (atom-text-editor.editor.is-focused)
-1:14 pane:show-item-3 (atom-text-editor.editor.is-focused)
-1:13.4.0 pane:show-item-2 (atom-text-editor.editor.mini.is-focused)
-1:11.4.0 core:close (atom-text-editor.editor.is-focused)
-1:09.7.0 editor:consolidate-selections (atom-text-editor.editor.is-focused)
-1:09.6.0 core:cancel (atom-text-editor.editor.is-focused)
-1:07.9.0 settings-view:open (atom-text-editor.editor.is-focused)
-1:03.6.0 core:confirm (atom-text-editor.editor.mini.is-focused)
-0:50.3.0 application:new-file (atom-text-editor.editor.is-focused)
-0:48.8.0 core:close (atom-text-editor.editor.is-focused)
-0:04.3.0 application:new-file (atom-text-editor.editor.is-focused)
{
"core": {
"audioBeep": false,
"closeEmptyWindows": false,
"disabledPackages": [
"linter-rubocop"
],
"ignoredNames": [
".git",
".svn",
".DS_Store",
"node_modules",
"vendor"
],
"projectHome": "/Users/brandonbuck/Documents/Dev",
"themes": [
"atom-material-ui",
"atom-material-syntax"
]
}
}
# User
.bin, vundefined (inactive)
advanced-open-file, v0.16.4 (inactive)
atom-material-syntax, v0.4.6 (active)
atom-material-ui, v1.3.6 (active)
atom-typescript, v10.1.7 (active)
autocomplete-go, v1.2.0 (active)
builder-go, v1.0.1 (active)
editor-settings, v1.1.1 (active)
editorconfig, v1.4.1 (active)
file-icons, v1.7.20 (active)
git-blame, v0.4.11 (inactive)
git-time-machine, v1.5.3 (inactive)
go-config, v1.2.4 (active)
go-debug, v0.1.22 (active)
go-get, v2.1.1 (active)
go-oracle, v0.2.1 (inactive)
go-plus, v4.3.2 (active)
godoc, v1.1.0 (active)
gofmt, v1.2.0 (active)
gometalinter-linter, v1.2.2 (active)
gorename, v1.1.0 (active)
highlight-selected, v0.11.2 (active)
language-babel, v2.43.0 (active)
language-clojure, v0.22.0 (active)
language-crystal-actual, v0.33.0 (active)
language-cypher, v0.3.0 (active)
language-docker, v1.1.7 (active)
language-elixir, v0.16.0 (active)
language-fish-shell, v1.0.5 (active)
language-glsl, v2.0.1 (active)
language-graphql, v0.2.0 (active)
language-haml, v0.24.0 (active)
language-haskell, v1.9.9 (active)
language-hlsl, v1.2.0 (active)
language-lex-flex, v0.1.0 (active)
language-lua, v0.9.11 (active)
language-nginx, v0.6.2 (active)
language-rspec, v0.5.0 (active)
language-rust, v0.4.7 (active)
language-slim, v0.5.0 (active)
linter, v1.11.18 (active)
linter-coffeelint, v1.1.2 (active)
linter-jshint, v3.0.0 (active)
linter-lua, v1.0.2 (active)
linter-rubocop, v0.5.0 (inactive)
navigator-go, v1.1.3 (active)
pigments, v0.37.0 (active)
pretty-json, v1.6.0 (active)
ruby-block, v0.3.5 (active)
set-syntax, v0.3.2 (active)
symbol-gen, v1.3.1 (active)
tabs-to-spaces, v1.0.2 (active)
tasks, v2.6.3 (active)
tester-go, v2.0.2 (active)
todo-show, v1.7.0 (inactive)
wakatime, v6.0.10 (active)
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.44.0 (inactive)
base16-tomorrow-dark-theme, v1.1.0 (inactive)
base16-tomorrow-light-theme, v1.1.1 (inactive)
one-dark-ui, v1.5.0 (inactive)
one-light-ui, v1.5.0 (inactive)
one-dark-syntax, v1.3.0 (inactive)
one-light-syntax, v1.3.0 (inactive)
solarized-dark-syntax, v1.0.2 (inactive)
solarized-light-syntax, v1.0.2 (inactive)
about, v1.5.3 (active)
archive-view, v0.61.1 (active)
autocomplete-atom-api, v0.10.0 (active)
autocomplete-css, v0.11.2 (active)
autocomplete-html, v0.7.2 (active)
autocomplete-plus, v2.31.1 (active)
autocomplete-snippets, v1.11.0 (active)
autoflow, v0.27.0 (inactive)
autosave, v0.23.1 (active)
background-tips, v0.26.1 (active)
bookmarks, v0.41.0 (active)
bracket-matcher, v0.82.1 (active)
command-palette, v0.38.0 (inactive)
deprecation-cop, v0.54.1 (active)
dev-live-reload, v0.47.0 (active)
encoding-selector, v0.22.0 (active)
exception-reporting, v0.39.0 (active)
find-and-replace, v0.201.0 (inactive)
fuzzy-finder, v1.3.0 (active)
git-diff, v1.1.0 (active)
go-to-line, v0.31.0 (inactive)
grammar-selector, v0.48.1 (active)
image-view, v0.58.2 (active)
incompatible-packages, v0.26.1 (active)
keybinding-resolver, v0.35.0 (active)
line-ending-selector, v0.5.0 (active)
link, v0.31.1 (inactive)
markdown-preview, v0.158.0 (active)
metrics, v0.53.1 (active)
notifications, v0.65.0 (active)
open-on-github, v1.2.0 (inactive)
package-generator, v1.0.0 (inactive)
settings-view, v0.242.2 (active)
snippets, v1.0.2 (active)
spell-check, v0.67.1 (active)
status-bar, v1.4.1 (active)
styleguide, v0.47.0 (active)
symbols-view, v0.113.0 (inactive)
tabs, v0.100.2 (active)
timecop, v0.33.2 (active)
tree-view, v0.208.2 (active)
update-package-dependencies, v0.10.0 (active)
welcome, v0.34.0 (active)
whitespace, v0.33.0 (active)
wrap-guide, v0.38.1 (active)
language-c, v0.52.1 (active)
language-clojure, v0.22.0 (active)
language-coffee-script, v0.47.2 (active)
language-csharp, v0.12.1 (active)
language-css, v0.37.1 (active)
language-gfm, v0.88.0 (active)
language-git, v0.15.0 (active)
language-go, v0.42.1 (active)
language-html, v0.45.1 (active)
language-hyperlink, v0.16.0 (active)
language-java, v0.23.0 (active)
language-javascript, v0.119.0 (active)
language-json, v0.18.2 (active)
language-less, v0.29.5 (active)
language-make, v0.22.2 (active)
language-mustache, v0.13.0 (active)
language-objective-c, v0.15.1 (active)
language-perl, v0.35.0 (active)
language-php, v0.37.2 (active)
language-property-list, v0.8.0 (active)
language-python, v0.45.0 (active)
language-ruby, v0.69.0 (active)
language-ruby-on-rails, v0.25.0 (active)
language-sass, v0.56.0 (active)
language-shellscript, v0.22.4 (active)
language-source, v0.9.0 (active)
language-sql, v0.23.0 (active)
language-text, v0.7.1 (active)
language-todo, v0.28.0 (active)
language-toml, v0.18.0 (active)
language-xml, v0.34.9 (active)
language-yaml, v0.26.0 (active)
# Dev
No dev packages
I would love to be able to set a different wrap limit for each rule in a grammar dictionary. I'm using the fountain package to write a screenplay which has different margins based on rules. I am working on using css to get the display the way I want, but the line numbers are going to be all off if I can't have it soft-wrap directly and have to use white-space css instead.
Argument to path.extname
must be a string
Object.extname (C:\ProgramData\hmm\atom\app-1.13.0-beta3\resources\app.asar\src\electron-shims.js:20:10)
Object.loadAllConfigFiles (C:\Users\hmm\.atom\packages\editor-settings\lib\editor-settings.coffee:91:28)
Object.reconfigureCurrentEditor (C:\Users\hmm\.atom\packages\editor-settings\lib\editor-settings.coffee:58:23)
<unknown> (C:\Users\hmm\.atom\packages\editor-settings\lib\editor-settings.coffee:27:24)
Function.module.exports.Emitter.simpleDispatch (C:\ProgramData\hmm\atom\app-1.13.0-beta3\resources\app.asar\node_modules\event-kit\lib\emitter.js:25:14)
Emitter.emit (C:\ProgramData\hmm\atom\app-1.13.0-beta3\resources\app.asar\node_modules\event-kit\lib\emitter.js:129:28)
When packages declare grammar names with a whitespace in their name, the settings file would not be loaded regardless if with or without whitespace in filename.
For example: https://atom.io/packages/language-haml
when changing the name to RubyHaml
in the package grammar file language-haml/grammars/ruby haml.cson
the belonging config file is loaded.
I'd like to configure tabLength: 2
for language-plantuml, but don't really understand how to configure it. I've tried to create the file plantUml.cson
with the following contents:
tabLength: 2
puml:
tabLength: 2
pu:
tabLength: 2
But it doesn't seem to work. The tab length used is still 4
when I press tab. Do I need to restart Atom for the changes to be applied? This might be related to #16, because I don't really understand the difference between grammar and file extension. Which of those should the config file be named after and which should be used within the config file? I'm confused. 😕
Check the projects root directory for a config file.
Planned file name: .editor-settings
Planned file format:
'tabLength': 2
'php':
'tabLength': 4
'softTabs': true
'extensionConfig':
'phtml':
'softTabs': false
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.