Giter Site home page Giter Site logo

indent-guide-improved's Introduction

indent-guide-improved package

This Atom Editor package draws indent guide more correctly and understandably.

Features

  • Active guide and stack guides are emphasized.
  • Guides break just before the trailing blank lines.

screenshot

Configuration

You can change the color of guides by adding styles to your stylesheet, such as the following:

.indent-guide-improved {
  background-color: gray;
  &.indent-guide-stack {
    background-color: cyan;
    &.indent-guide-active {
      background-color: blue;
    }
  }
}

Notice

  • Original "Show Indent Guide" feature is automatically switched off when this package is activated.
  • Please check "Use Shadow DOM" in Settings.

indent-guide-improved's People

Contributors

esam091 avatar harai avatar markovicdenis avatar nebularg avatar ra100 avatar zirro avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

indent-guide-improved's Issues

Failet to activate the indent-guide-improved package atom v1.19.0-beta0

Atom: 1.19.0-beta0 x64
Electron: 1.6.9
OS: Microsoft Windows 10 Home
Thrown From: indent-guide-improved package 1.4.12

Stack Trace

Failed to activate the indent-guide-improved package

At Invalid Point: (NaN, 0)

TypeError: Invalid Point: (NaN, 0)
    at Function.module.exports.Point.assertValid (~/AppData/Local/atom/app-1.19.0-beta0/resources/app/node_modules/text-buffer/lib/point.js:63:21)
    at DisplayLayer.translateScreenPosition (~/AppData/Local/atom/app-1.19.0-beta0/resources/app/node_modules/text-buffer/lib/display-layer.js:333:17)
    at DisplayLayer.clipScreenPosition (~/AppData/Local/atom/app-1.19.0-beta0/resources/app/node_modules/text-buffer/lib/display-layer.js:391:18)
    at TextEditor.module.exports.TextEditor.clipScreenPosition (~/AppData/Local/atom/app-1.19.0-beta0/resources/app/src/text-editor.js:1793:38)
    at HTMLElement.pixelPositionForScreenPosition (~/AppData/Local/atom/app-1.19.0-beta0/resources/app/src/text-editor-element.js:242:38)
    at updateGuide (/packages/indent-guide-improved/lib/indent-guide-improved.coffee:17:36)
    at /packages/indent-guide-improved/lib/indent-guide-improved.coffee:79:7
    at Workspace.observeTextEditors (~/AppData/Local/atom/app-1.19.0-beta0/resources/app/src/workspace.js:717:15)
    at Object.activate (/packages/indent-guide-improved/lib/indent-guide-improved.coffee:74:20)
    at Package.module.exports.Package.activateNow (~/AppData/Local/atom/app-1.19.0-beta0/resources/app/src/package.js:253:25)
    at ~/AppData/Local/atom/app-1.19.0-beta0/resources/app/src/package.js:225:38
    at Package.module.exports.Package.measure (~/AppData/Local/atom/app-1.19.0-beta0/resources/app/src/package.js:99:21)
    at ~/AppData/Local/atom/app-1.19.0-beta0/resources/app/src/package.js:218:32
    at Package.module.exports.Package.activate (~/AppData/Local/atom/app-1.19.0-beta0/resources/app/src/package.js:215:40)
    at PackageManager.module.exports.PackageManager.activatePackage (~/AppData/Local/atom/app-1.19.0-beta0/resources/app/src/package-manager.js:645:40)
    at ~/AppData/Local/atom/app-1.19.0-beta0/resources/app/src/package-manager.js:626:35
    at Config.module.exports.Config.transactAsync (~/AppData/Local/atom/app-1.19.0-beta0/resources/app/src/config.js:346:24)
    at PackageManager.module.exports.PackageManager.activatePackages (~/AppData/Local/atom/app-1.19.0-beta0/resources/app/src/package-manager.js:621:25)
    at PackageManager.module.exports.PackageManager.activate (~/AppData/Local/atom/app-1.19.0-beta0/resources/app/src/package-manager.js:603:52)
    at ~/AppData/Local/atom/app-1.19.0-beta0/resources/app/src/atom-environment.js:843:36

Commands

     -0:16.4.0 tree-view:show (atom-workspace.workspace.scrollbars-visible-always)

Non-Core Packages

advanced-open-file 0.16.6 
aesthetic-ui 4.0.0 
an-old-hope-syntax 1.0.4 
atom-autocomplete-php 0.25.6 
atom-beautify 0.30.1 
atom-dark-fusion-syntax 2.2.0 
atom-material-syntax 1.0.6 
atom-material-ui 2.0.4 
atom-minify 0.8.0 
atom-wrap-in-tag 0.6.0 
auto-indent 0.5.0 
busy-signal 1.4.3 
change-case 0.6.5 
color-picker 2.2.5 
docblockr 0.10.3 
emmet 2.4.3 
expose 0.14.0 
file-icons 2.1.7 
firewatch-syntax 1.1.1 
genesis-syntax 1.0.9 
genesis-ui 0.5.0 
highlight-selected 0.13.1 
hyperclick 0.0.40 
icon-fonts 2.16.2 
indent-guide-improved 1.4.12 
intentions 1.1.2 
isotope-ui 2.8.5 
jquery-snippets 11.0.0 
js-hyperclick 1.11.0 
language-babel 2.66.0 
language-blade 0.31.0 
language-vue 0.23.0 
laravel 0.7.1 
laravel-forms-bootstrap-snippets 1.2.0 
linter 2.2.0 
linter-csslint 1.3.4 
linter-eslint 8.2.1 
linter-jshint 3.1.2 
linter-php 1.3.2 
linter-phpcs 1.6.6 
linter-phpmd 1.5.3 
linter-stylelint 3.10.0 
linter-ui-default 1.6.1 
minimap 4.28.2 
minimap-highlight-selected 4.6.1 
minimap-pigments 0.2.2 
nord-atom-syntax 0.9.1 
nord-atom-ui 0.11.0 
northem-dark-atom-syntax 2.1.0 
northem-dark-atom-ui 2.1.0 
nova-atom-syntax 1.4.1 
nova-atom-ui 1.3.0 
open-recent 5.0.0 
php-cs-fixer 4.1.0 
php-fmt 0.1.2 
pigments 0.39.1 
prettier-atom 0.33.0 
sass-autocompile 0.13.3 
seti-syntax 1.1.3 
seti-ui 1.8.0 
stylefmt 5.0.1 
sync-settings 0.8.2 
text-manipulation 0.6.0 
todo-show 1.11.0 
vue-hyperclick 0.2.0 
webbox-color 0.5.9 

display only 1 guide (the active one)

This is a suggestion:

Add another gif in the https://atom.io/packages/indent-guide-improved displaying only 1 guide (1 vertical line) instead of all guides.

When a file contains a lot of indentation, it is visually nicer to display just one guide than a crowded set of guides. I think people who like clean code will appreciate this. No code modification is required (a checkbox in the settings would also be perfect for people not to change their atom stylesheet!).

This is an example that works well with javascript files. The key is width:0px.

.indent-guide-improved {
  width:0px;
  &.indent-guide-stack {
    &.indent-guide-active {
      background-color: rgba(255, 255, 255, 0.2);
      width:1px;
      margin-left: 3px;
    }
  }
}

Uncaught Error: The element has already been freed!

[Enter steps to reproduce:]

  1. Opened atom. Atom re-opened tabs/files that were open when it was closed. This error popped up along with similar errors for "element has already been freed" created within Atom itself. Based on that, not sure this particular error is actually related to indent-guide-improved like Atom thinks it is.

Atom: 1.15.0-beta1 x64
Electron: 1.3.13
OS: Microsoft Windows 10 Pro
Thrown From: indent-guide-improved package 1.4.12

Stack Trace

Uncaught Error: The element has already been freed!

At C:\Users\James\AppData\Local\atom\app-1.15.0-beta1\resources\app.asar\src\dom-element-pool.js:83

Error: The element has already been freed!
    at DOMElementPool.module.exports.DOMElementPool.free (/app.asar/src/dom-element-pool.js:83:15)
    at DOMElementPool.module.exports.DOMElementPool.freeElementAndDescendants (/app.asar/src/dom-element-pool.js:63:12)
    at LinesTileComponent.removeLineNode (/app.asar/src/lines-tile-component.js:84:25)
    at LinesTileComponent.removeLineNodes (/app.asar/src/lines-tile-component.js:79:12)
    at LinesTileComponent.destroy (/app.asar/src/lines-tile-component.js:24:10)
    at LinesComponent.module.exports.TiledComponent.removeTileNode (/app.asar/src/tiled-component.js:30:40)
    at LinesComponent.module.exports.TiledComponent.updateTileNodes (/app.asar/src/tiled-component.js:42:16)
    at LinesComponent.module.exports.TiledComponent.updateSync (/app.asar/src/tiled-component.js:18:12)
    at TextEditorComponent.module.exports.TextEditorComponent.updateSyncPreMeasurement (/app.asar/src/text-editor-component.js:264:34)
    at TextEditorComponent.module.exports.TextEditorComponent.pixelPositionForScreenPosition (/app.asar/src/text-editor-component.js:626:14)
    at /app.asar/src/text-editor-element.js:304:29)
    at updateGuide (/packages/indent-guide-improved/lib/indent-guide-improved.coffee:17:36)
    at up (/packages/indent-guide-improved/lib/indent-guide-improved.coffee:51:9)
    at debounced (/packages/indent-guide-improved/node_modules/lodash/index.js:7737:27)
    at Function.module.exports.Emitter.simpleDispatch (/app.asar/node_modules/event-kit/lib/emitter.js:25:14)
    at Emitter.module.exports.Emitter.emit (/app.asar/node_modules/event-kit/lib/emitter.js:129:28)
    at /app.asar/src/text-editor-element.js:105:46
    at Function.module.exports.Emitter.simpleDispatch (/app.asar/node_modules/event-kit/lib/emitter.js:25:14)
    at Emitter.module.exports.Emitter.emit (/app.asar/node_modules/event-kit/lib/emitter.js:129:28)
    at TextEditorPresenter.module.exports.TextEditorPresenter.updateScrollTop (/app.asar/src/text-editor-presenter.js:932:29)
    at TextEditorPresenter.module.exports.TextEditorPresenter.commitPendingLogicalScrollTopPosition (/app.asar/src/text-editor-presenter.js:1905:23)
    at TextEditorPresenter.module.exports.TextEditorPresenter.getPreMeasurementState (/app.asar/src/text-editor-presenter.js:117:12)
    at TextEditorComponent.module.exports.TextEditorComponent.updateSyncPreMeasurement (/app.asar/src/text-editor-component.js:264:60)
    at TextEditorComponent.module.exports.TextEditorComponent.updateSync (/app.asar/src/text-editor-component.js:196:12)
    at /app.asar/src/text-editor-component.js:323:28
    at ViewRegistry.module.exports.ViewRegistry.performDocumentUpdate (/app.asar/src/view-registry.js:219:9)
    at /app.asar/src/view-registry.js:3:59

Commands

Non-Core Packages

aligner 0.22.3 
atom-alignment 0.12.1 
atom-beautify 0.29.17 
atom-keyboard-macros 0.9.2 
atom-material-syntax 1.0.2 
atom-material-ui 1.3.9 
atom-typescript 10.1.14 
block-travel 1.0.5 
coffee-compile 0.24.0 
color-picker 2.2.5 
custom-title-jolsen 1.0.1 
figlet 0.5.4 
file-types 0.5.5 
file-watcher 1.0.2 
git-history 3.2.0 
git-log 0.4.1 
git-plus 7.2.2 
git-time-machine 1.5.6 
highlight-selected 0.12.0 
imdone-atom 2.1.18 
indent-guide-improved 1.4.12 
keyboard-scroll 0.7.0 
language-apache 1.7.0 
linter 1.11.23 
linter-package-json-validator 1.0.1 
linter-pycodestyle 2.0.0 
linter-rubocop 0.5.3 
markdown-scroll-sync 2.1.2 
merge-conflicts 1.4.4 
method-separator 0.2.0 
minimap 4.26.8 
minimap-bookmarks 0.4.2 
minimap-find-and-replace 4.5.1 
minimap-highlight-selected 4.5.0 
minimap-linter 1.6.0 
minimap-selection 4.4.0 
minimap-split-diff 0.3.5 
open-recent 5.0.0 
outline-selection 0.3.1 
path-copy 0.14.0 
perltidy 3.0.0 
project-manager 3.3.3 
project-view 0.6.1 
python-tools 0.6.9 
quick-scroll 2.1.2 
sort-lines 0.14.0 
split-diff 1.1.4 
Sublime-Style-Column-Selection 1.7.3 
symbols-list 2.3.5 
symbols-tree-view 0.13.2 
sync-settings 0.8.1 
tabasco 0.5.0 
todo-show 1.10.0 
trailing-spaces 0.4.0 
url-encode 0.5.0 
xml-formatter 0.10.0 

Highlighting Parent Indent Line

I'm curious as to why the parent line is highlighted. Maybe this isn't an issue as much as it may be just an inquiry. The indent guides that I'm used to highlight the line that you're on. So, you have code like this:

<div>
    <ul>
        <li></li>
        <li></li>
        <li></li>
    <ul>
</div>

If your cursor is on the first line, there would be a guide going directly down below div to right above the closing div. However, I'm seeing the guide go before the element which highlights the parent--not the current element.

Guides don't move with the DOM

As we scroll, there is a delay before the indent markers start moving. This is especially a problem for me as I like my indent markers to be quite wide, making this very apparent. Perhaps the markers should be embedded into the same DIV that is being scrolled?

Guides Ignore Horizontal Scroll Position

Atom v2.0.7
indent-guide-improved v1.2.1

If you have content that overflows the screen, causing horizontal scrollbars, the guides stay in the same position when you scroll horizontally.

Expected behaviour would be the guides remain static in the document, like the built-in guides and earlier versions of this plugin.

screen shot 2015-06-10 at 2 28 58 pm
screen shot 2015-06-10 at 2 28 51 pm

Uncaught Error: The element cannot be null or undefined.

[Enter steps to reproduce:]

  1. ...
  2. ...

Atom: 1.17.2 x64
Electron: 1.3.15
OS: Ubuntu 16.04.2
Thrown From: indent-guide-improved package 1.4.12

Stack Trace

Uncaught Error: The element cannot be null or undefined.

At /home/andrei/atom-1.11.1/out/app/node_modules/tree-view/lib/file.coffee:35911

Error: The element cannot be null or undefined.
    at DOMElementPool.free (/opt/atom/resources/app/src/dom-element-pool.js:66:1)
    at DOMElementPool.free (/opt/atom/resources/app/src/dom-element-pool.js:86:1)
    at DOMElementPool.free (/opt/atom/resources/app/src/dom-element-pool.js:86:1)
    at DOMElementPool.free (/opt/atom/resources/app/src/dom-element-pool.js:86:1)
    at DOMElementPool.free (/opt/atom/resources/app/src/dom-element-pool.js:86:1)
    at DOMElementPool.free (/opt/atom/resources/app/src/dom-element-pool.js:86:1)
    at DOMElementPool.free (/opt/atom/resources/app/src/dom-element-pool.js:86:1)
    at DOMElementPool.free (/opt/atom/resources/app/src/dom-element-pool.js:86:1)
    at DOMElementPool.freeElementAndDescendants (/opt/atom/resources/app/src/dom-element-pool.js:54:1)
    at LinesTileComponent.removeLineNode (/opt/atom/resources/app/src/lines-tile-component.js:84:1)
    at LinesTileComponent.removeLineNodes (/opt/atom/resources/app/src/lines-tile-component.js:79:1)
    at LinesTileComponent.destroy (/opt/atom/resources/app/src/lines-tile-component.js:24:1)
    at LinesComponent.module.exports.TiledComponent.removeTileNode (/opt/atom/resources/app/src/tiled-component.js:30:1)
    at LinesComponent.module.exports.TiledComponent.updateTileNodes (/opt/atom/resources/app/src/tiled-component.js:42:1)
    at LinesComponent.module.exports.TiledComponent.updateSync (/opt/atom/resources/app/src/tiled-component.js:18:1)
    at TextEditorComponent.module.exports.TextEditorComponent.updateSyncPreMeasurement (/opt/atom/resources/app/src/text-editor-component.js:266:1)
    at TextEditorComponent.module.exports.TextEditorComponent.pixelPositionForScreenPosition (/opt/atom/resources/app/src/text-editor-component.js:628:1)
    at atom-text-editor.TextEditorElement.pixelPositionForScreenPosition (/opt/atom/resources/app/src/text-editor-element.js:304:29)
    at updateGuide (/packages/indent-guide-improved/lib/indent-guide-improved.coffee:17:36)
    at up (/packages/indent-guide-improved/lib/indent-guide-improved.coffee:51:9)
    at debounced (/packages/indent-guide-improved/node_modules/lodash/index.js:7737:27)
    at Function.module.exports.Emitter.simpleDispatch (/opt/atom/resources/app/node_modules/event-kit/lib/emitter.js:25:1)
    at Emitter.module.exports.Emitter.emit (/opt/atom/resources/app/node_modules/event-kit/lib/emitter.js:141:1)
    at /opt/atom/resources/app/src/text-editor-element.js:105:46
    at Function.module.exports.Emitter.simpleDispatch (/opt/atom/resources/app/node_modules/event-kit/lib/emitter.js:25:1)
    at Emitter.module.exports.Emitter.emit (/opt/atom/resources/app/node_modules/event-kit/lib/emitter.js:141:1)
    at TextEditorPresenter.module.exports.TextEditorPresenter.updateScrollTop (/opt/atom/resources/app/src/text-editor-presenter.js:944:1)
    at TextEditorPresenter.module.exports.TextEditorPresenter.commitPendingScrollTopPosition (/opt/atom/resources/app/src/text-editor-presenter.js:1968:1)
    at TextEditorPresenter.module.exports.TextEditorPresenter.getPreMeasurementState (/opt/atom/resources/app/src/text-editor-presenter.js:118:1)
    at TextEditorComponent.module.exports.TextEditorComponent.updateSyncPreMeasurement (/opt/atom/resources/app/src/text-editor-component.js:266:1)
    at TextEditorComponent.module.exports.TextEditorComponent.updateSync (/opt/atom/resources/app/src/text-editor-component.js:198:1)
    at /opt/atom/resources/app/src/text-editor-component.js:325:1
    at ViewRegistry.module.exports.ViewRegistry.performDocumentUpdate (/opt/atom/resources/app/src/view-registry.js:223:1)
    at /opt/atom/resources/app/src/view-registry.js:3:1

Commands

     -0:31.8.0 intentions:highlight (input.hidden-input)
  3x -0:31.6.0 core:redo (input.hidden-input)
     -0:30.9.0 core:undo (input.hidden-input)
     -0:30.2.0 intentions:highlight (input.hidden-input)
     -0:30.1.0 core:redo (input.hidden-input)
     -0:28.2.0 core:paste (input.hidden-input)
  4x -0:27.3.0 core:undo (input.hidden-input)
     -0:24.1.0 core:move-right (input.hidden-input)
     -0:23.8.0 docblockr:parse-enter (input.hidden-input)
     -0:23.8.0 editor:newline (input.hidden-input)
     -0:23.4.0 intentions:highlight (input.hidden-input)
     -0:23.3.0 core:paste (input.hidden-input)
  2x -0:22.2.0 core:undo (input.hidden-input)
     -0:20.4.0 core:redo (input.hidden-input)
     -0:20 core:paste (input.hidden-input)
  2x -0:18.9.0 core:undo (input.hidden-input)

Non-Core Packages

advanced-open-file 0.16.6 
ariake-dark-syntax 0.1.3 
atom-css-comb 3.1.0 
atom-json-color 0.6.0 
busy-signal 1.4.3 
css-snippets 1.1.0 
docblockr 0.10.3 
dracula-syntax 2.0.5 
editorconfig 2.2.2 
file-icons 2.1.7 
git-plus 7.9.3 
hyperclick 0.0.40 
indent-guide-improved 1.4.12 
intentions 1.1.2 
js-hyperclick 1.11.0 
jumpy 3.1.3 
language-babel 2.65.1 
language-styled-jsx 1.0.4 
linter 2.1.4 
linter-eslint 8.2.1 
linter-stylint 2.2.7 
linter-ui-default 1.6.1 
loved-syntax 1.0.1 
markdown-preview-opener 0.1.1 
markdown-scroll-sync 2.1.2 
merge-conflicts 1.4.5 
minimap 4.28.2 
minimap-git-diff 4.3.1 
monokai-complete-syntax 2.0.1 
pretty-json 1.6.3 
pure-syntax 0.2.1 
qolor 0.4.1 
quick-highlight 0.10.0 
react-snippets 0.7.4 
sort-lines 0.14.0 
terminal-fusion 2.4.4 
toggle-quotes 1.0.1 
tree-view-git-status 1.4.0 

Uncaught TypeError: Cannot read property '0' of null

[Enter steps to reproduce below:]

  1. ... Happened right on launching Atom

Atom Version: 1.3.0-beta0
System: Microsoft Windows 8.1 Pro with Media Center
Thrown From: indent-guide-improved package, v1.4.3

Stack Trace

Uncaught TypeError: Cannot read property '0' of null

At C:\Users\Benjamin\.atom\packages\indent-guide-improved\lib\indent-guide-improved.coffee:29

TypeError: Cannot read property '0' of null
    at updateGuide (C:\Users\Benjamin\.atom\packages\indent-guide-improved\lib\indent-guide-improved.coffee:29:97)
    at up (C:\Users\Benjamin\.atom\packages\indent-guide-improved\lib\indent-guide-improved.coffee:57:20)
    at debounced (C:\Users\Benjamin\AppData\Local\atom\app-1.3.0-beta0\resources\app.asar\node_modules\babel-core\node_modules\lodash\index.js:7737:27)
    at Emitter.module.exports.Emitter.emit (C:\Users\Benjamin\AppData\Local\atom\app-1.3.0-beta0\resources\app.asar\node_modules\event-kit\lib\emitter.js:86:11)
    at C:\Users\Benjamin\AppData\Local\atom\app-1.3.0-beta0\resources\app.asar\node_modules\text-buffer\lib\text-buffer.js:1314:25

Commands

Config

{
  "core": {
    "disabledPackages": [
      "spell-check",
      "highlight-css-color",
      "white-cursor",
      "feedback",
      "welcome",
      "auto-indent",
      "atom-format-lua",
      "build-gulp"
    ],
    "excludeVcsIgnoredPaths": false,
    "autoHideMenuBar": true,
    "themes": [
      "one-dark-ui",
      "one-dark-vivid-syntax"
    ]
  }
}

Installed Packages

# User
auto-detect-indentation, v0.4.2
autocomplete-paths, v1.0.2
autocomplete-php, v0.3.7
autocomplete-sass, v0.1.0
build, v0.48.0
css-color-underline, v1.0.1
file-icons, v1.6.11
file-watcher, v0.4.0
fold-functions, v0.4.3
indent-guide-improved, v1.4.3
indentation-indicator, v0.6.0
keyboard-localization, v1.4.10
language-batch, v0.3.3
language-blade, v0.16.0
language-dots, v0.0.4
language-lua, v0.9.4
language-powershell, v2.1.0
laravel, v0.7.0
less-than-slash, v0.11.0
line-ending-selector, v0.3.0
linter, v1.10.0
linter-lua, v1.0.0
linter-lua-findglobals, v1.0.0
linter-luacheck, v1.1.3
linter-php, v1.1.1
minimap, v4.16.0
one-dark-vivid-syntax, v1.1.1
open-recent, v4.0.1
revert-buffer, v0.5.0
svn, v0.0.8
synced-sidebar, v0.4.2
tabs-to-spaces, v0.11.1
tidy-tabs, v0.3.0
tool-bar, v0.1.9
tool-bar-main, v0.0.8
trailing-spaces, v0.3.2

# Dev
No dev packages

Active guide swallows cursor

If my cursor moves to an empty line it jumps to the indent guide, unfortunately the cursor seems to be the same white value as the highlighted active guide. Any plans to work around this collision or is that placed on the theme developers to handle?

TextEditor.getVisibleRowRange is deprecated.

This is now a view method. Call TextEditorElement::getVisibleRowRange instead.

TextEditor.getVisibleRowRange (/opt/atom/resources/app.asar/src/text-editor.js:2914:12)
module.exports.activate.updateGuide (/home/jharai/Project/harai/indent-guide-improved/lib/indent-guide-improved.coffee:31:37)
module.exports.activate.up (/home/jharai/Project/harai/indent-guide-improved/lib/indent-guide-improved.coffee:64:20)
debounced (/home/jharai/Project/harai/indent-guide-improved/node_modules/lodash/index.js:7737:27)
Emitter.emit (/opt/atom/resources/app.asar/node_modules/event-kit/lib/emitter.js:86:11)
<unknown> (/opt/atom/resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:1276:25)

TextEditor.pixelPositionForScreenPosition is deprecated.

This method is deprecated on the model layer. Use TextEditorElement::pixelPositionForScreenPosition instead

TextEditor.pixelPositionForScreenPosition (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor.js:2684:9)
updateGuide (/Users/koombea/.atom/packages/indent-guide-improved/lib/indent-guide-improved.coffee:15:28)
<unknown> (/Users/koombea/.atom/packages/indent-guide-improved/lib/indent-guide-improved.coffee:47:55)
Emitter.emit (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:82:11)
<unknown> (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor.js:119:32)

Guides don't always go all the way down

This is from a less file but I'm pretty sure I saw it in a JavaScript file as well, when I have empty lines before a closing brace, the guide lines do not span all the way down:

capture

Failed to activate the indent-guide-improved package on atom 1.9.0

Doesn't work on Atom 1.9.0, they have removed editor.displayBuffer, so the method which needs rows fails. TokenizedBuffer is used instead. I haven't found simple solution to fix this.

Atom Version: 1.9.0-dev-346d998
System: Ubuntu 16.04
Thrown From: indent-guide-improved package, v1.4.8

Stack Trace

Failed to activate the indent-guide-improved package

At Cannot read property 'getRegions' of undefined

TypeError: Cannot read property 'getRegions' of undefined
    at updateGuide (/home/ra100/.atom/packages/indent-guide-improved/lib/indent-guide-improved.coffee:33:54)
    at /home/ra100/.atom/packages/indent-guide-improved/lib/indent-guide-improved.coffee:87:7
    at Workspace.module.exports.Workspace.observeTextEditors (/usr/share/atom/resources/app.asar/src/workspace.js:309:9)
    at Object.module.exports.activate (/home/ra100/.atom/packages/indent-guide-improved/lib/indent-guide-improved.coffee:82:20)
    at Package.module.exports.Package.activateNow (/usr/share/atom/resources/app.asar/src/package.js:183:20)
    at /usr/share/atom/resources/app.asar/src/package.js:156:32
    at Package.module.exports.Package.measure (/usr/share/atom/resources/app.asar/src/package.js:92:15)
    at /usr/share/atom/resources/app.asar/src/package.js:149:26
    at Package.module.exports.Package.activate (/usr/share/atom/resources/app.asar/src/package.js:146:34)
    at PackageManager.module.exports.PackageManager.activatePackage (/usr/share/atom/resources/app.asar/src/package-manager.js:538:21)
    at /usr/share/atom/resources/app.asar/node_modules/settings-view/lib/package-manager.js:452:29
    at exit (/usr/share/atom/resources/app.asar/node_modules/settings-view/lib/package-manager.js:73:16)
    at triggerExitCallback (/usr/share/atom/resources/app.asar/src/buffered-process.js:215:47)
    at /usr/share/atom/resources/app.asar/src/buffered-process.js:229:18
    at Socket.<anonymous> (/usr/share/atom/resources/app.asar/src/buffered-process.js:100:18)
    at emitOne (events.js:82:20)
    at Socket.emit (events.js:169:7)
    at Pipe._onclose (net.js:469:12)

Object.TextEditor is deprecated.

The TextEditor constructor is no longer public.

To construct a text editor, use atom.workspace.buildTextEditor().
To check if an object is a text editor, look for for the existence of
a public method that you're using (e.g. ::getText).

Object.TextEditor (/opt/atom/resources/app.asar/exports/atom.js:38:14)
Object.<anonymous> (/home/jharai/.atom/packages/linter-jshint/node_modules/atom-linter/lib/helpers.coffee:4:132)
Object.<anonymous> (/home/jharai/.atom/packages/linter-jshint/node_modules/atom-linter/lib/helpers.coffee:286:4)
Module._compile (module.js:434:26)
Object..coffee (/opt/atom/resources/app.asar/src/compile-cache.js:190:21)
Module.load (module.js:355:32)

Package.getStylesheetsPath is deprecated.

Store package style sheets in the styles/ directory instead of stylesheets/ in the indent-guide-improved package

Package.getStylesheetsPath (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:464:9)
Package.getStylesheetPaths (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:475:32)
Package.loadStylesheets (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:457:38)
<unknown> (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:187:19)

Uncaught illegal argument (atom/atom#5366)

(Originally from atom/atom#5366 by @glennlopez)

  1. Press Tab while writing code
  2. type anything ---- error!

Atom Version: 0.176.0
System: Mac OS X 10.10.2
Thrown From: Atom Core
indent-guide-improved Version: 1.1.0

Stack Trace

Uncaught illegal argument

At /Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/history.js:124

undefined

Commands

     -4:59.3 command-palette:toggle (atom-workspace.workspace.scrollbars-visible-when-scrolling.block-cursor-block.theme-seti-syntax.theme-seti-ui)
  2x -4:54.9 core:move-down (atom-text-editor.editor.mini)
     -4:54.4 core:confirm (atom-text-editor.editor.mini)
     -4:54.4 project-manager:toggle (atom-workspace.workspace.scrollbars-visible-when-scrolling.block-cursor-block.theme-seti-syntax.theme-seti-ui)
     -4:52.5 core:confirm (atom-text-editor.editor.mini)
     -4:47.0 editor:newline (atom-text-editor.editor)
     -4:41.6 settings-view:check-for-package-updates (atom-workspace.workspace.scrollbars-visible-when-scrolling.block-cursor-block.theme-seti-syntax.theme-seti-ui)

Config

{
  "core": {
    "followSymlinks": true,
    "disabledPackages": [
      "filetype-color",
      "git-blame",
      "shadow",
      "gitignore-snippets",
      "git-grep",
      "git-review",
      "atomatigit",
      "git-plus",
      "import",
      "block-selection-mode",
      "auto-indent",
      "atom-beautify",
      "autocomplete-plus-async",
      "linter-scspell",
      "linter-oclitnt",
      "script",
      "red-wavy-underline",
      "time-status",
      "color-gutter",
      "academic",
      "ease-blink",
      "file-icon-supplement",
      "file-icons",
      "whitespace",
      "package-generator",
      "copy-as-rtf",
      "timecop",
      "git-log",
      "carbon-copy",
      "multiple-cursors-clipboard",
      "git-difftool",
      "term2",
      "envygeeks-file-icons",
      "file-type-icons",
      "markdown-writer",
      "markdown-pdf",
      "linter-flake8",
      "overscroll",
      "package-cop",
      "deprecation-cop",
      "tualo-git-context",
      "filesize",
      "git-control",
      "minimap-git-diff",
      "merge-conflicts",
      "autosave",
      "save-session",
      "rulerz"
    ],
    "themes": [
      "seti-ui",
      "seti-syntax"
    ]
  },
  "editor": {
    "fontSize": 12,
    "showIndentGuide": true,
    "autoIndentOnPaste": false,
    "preferredLineLength": 100,
    "tabLength": 3,
    "softTabs": false,
    "softWrapAtPreferredLineLength": true,
    "scrollPastEnd": true,
    "invisibles": {}
  }
}

Installed Packages

For more details, see atom/atom#5366.

Can the default indents also show?

I wanted to know if it is possible to add some css or tweak a setting to show the indents as well.

It would be like using the Original "Show Indent Guide" along with this package.

Uncaught TypeError: Cannot read property 'pixelPositionForScreenPosition' of null

[Enter steps to reproduce below:]

  1. Just push to Git repo

Atom Version: 1.1.0
System: Mac OS X 10.11.1
Thrown From: indent-guide-improved package, v1.4.3

Stack Trace

Uncaught TypeError: Cannot read property 'pixelPositionForScreenPosition' of null

At /Applications/Atom.app/Contents/Resources/app.asar/src/text-editor-element.js:279

TypeError: Cannot read property 'pixelPositionForScreenPosition' of null
  at atom-text-editor.TextEditorElement.pixelPositionForScreenPosition (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor-element.js:279:28)
  at updateGuide (/Users/adamecv/.atom/packages/indent-guide-improved/lib/indent-guide-improved.coffee:22:36)
  at up (/Users/adamecv/.atom/packages/indent-guide-improved/lib/indent-guide-improved.coffee:58:9)
  at complete (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/babel-core/node_modules/lodash/index.js:7697:25)
  at maxDelayed (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/babel-core/node_modules/lodash/index.js:7714:9)

Commands

     -1:46.2.0 tree-view:move (span.name.icon.icon-file-text)
     -1:44.8.0 core:delete (atom-text-editor.editor.mini.is-focused)
     -1:44.6.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -1:41.7.0 tree-view:move (span.name.icon.icon-file-text)
     -1:40.3.0 core:delete (atom-text-editor.editor.mini.is-focused)
     -1:40 core:confirm (atom-text-editor.editor.mini.is-focused)
     -1:08.0 application:add-project-folder (atom-text-editor.editor.is-focused)
     -0:31.5.0 git-plus:add-all-commit-and-push (atom-text-editor.editor.is-focused)
  8x -0:29 core:backspace (atom-text-editor.editor.is-focused)
     -0:13.5.0 core:copy (atom-text-editor.editor.is-focused)
  2x -0:13.2.0 core:delete (atom-text-editor.editor.is-focused)
     -0:10.4.0 editor:move-to-end-of-screen-line (atom-text-editor.editor.is-focused)
     -0:09.3.0 core:paste (atom-text-editor.editor.is-focused)
     -0:05.8.0 core:delete (atom-text-editor.editor.is-focused)
     -0:05.6.0 core:move-right (atom-text-editor.editor.is-focused)
     -0:05.0 core:save (atom-text-editor.editor.is-focused.autocomplete-active)

Config

{
  "core": {
    "themes": [
      "seti-ui",
      "seti-syntax"
    ],
    "projectHome": "/Users/adamecv/workspace",
    "followSymlinks": true,
    "disabledPackages": [
      "symbols-view",
      "jenkins",
      "atom-terminal-panel"
    ]
  }
}

Installed Packages

# User
atom-alignment, v0.12.1
atom-ctags, v4.4.0
autocomplete-php, v0.3.7
autocomplete-ruby, v0.1.0
clipboard-plus, v0.5.1
coffee-navigator, v0.0.16
formatter-coffeescript, v0.1.1
git-log, v0.4.1
git-plus, v5.4.7
imdone-atom, v1.1.53
indent-guide-improved, v1.4.3
language-puppet, v0.15.0
linter, v1.10.0
linter-coffeelint, v1.1.2
linter-js-yaml, v1.2.0
linter-php, v1.0.5
linter-puppet, v1.0.0
linter-pylint, v1.0.3
linter-ruby, v1.2.0
linter-shellcheck, v1.0.2
make-coffee, v0.1.1
minimap, v4.16.0
seti-icons, v0.4.5
seti-syntax, v0.4.1
seti-ui, v0.8.1

# Dev
No dev packages

Atom Deprecation Cop complaints

Hi,

Just installed indent-guide-improved in Atom version 0.176.0 and got the following complaint about use of deprecated features/interfaces:

indent-guide-improved
stylesheets/indent-guide-improved.less

Style elements within text editors using the atom-text-editor::shadow selector or the .atom-text-editor.less file extension. If you want to target overlay elements, target them directly or as descendants of atom-overlay elements.

Thanks - David

Object.TextEditor is deprecated.

The TextEditor constructor is no longer public.

To construct a text editor, use atom.workspace.buildTextEditor().
To check if an object is a text editor, look for for the existence of
a public method that you're using (e.g. ::getText).

Object.TextEditor (/opt/atom/resources/app.asar/exports/atom.js:38:14)
Object.<anonymous> (/home/jharai/.atom/packages/linter-scss-lint/node_modules/atom-linter/lib/helpers.coffee:4:132)
Object.<anonymous> (/home/jharai/.atom/packages/linter-scss-lint/node_modules/atom-linter/lib/helpers.coffee:286:4)
Module._compile (module.js:434:26)
Object..coffee (/opt/atom/resources/app.asar/src/compile-cache.js:190:21)
Module.load (module.js:355:32)

TextEditor.onDidChangeScrollLeft is deprecated.

This is now a view method. Call TextEditorElement::onDidChangeScrollLeft instead.

TextEditor.onDidChangeScrollLeft (/opt/atom/resources/app.asar/src/text-editor.js:380:12)
<unknown> (/home/jharai/Project/harai/indent-guide-improved/lib/indent-guide-improved.coffee:70:36)
<unknown> (/home/jharai/Project/harai/indent-guide-improved/lib/indent-guide-improved.coffee:88:16)
Workspace.observeTextEditors (/opt/atom/resources/app.asar/src/workspace.js:282:9)
Object.activate (/home/jharai/Project/harai/indent-guide-improved/lib/indent-guide-improved.coffee:79:29)
Package.activateNow (/opt/atom/resources/app.asar/src/package.js:170:19)

TextEditor.getScrollTop is deprecated.

This is now a view method. Call TextEditorElement::getScrollTop instead.

TextEditor.getScrollTop (/opt/atom/resources/app.asar/src/text-editor.js:2859:12)
module.exports.activate.updateGuide (/home/jharai/Project/harai/indent-guide-improved/lib/indent-guide-improved.coffee:47:28)
module.exports.activate.up (/home/jharai/Project/harai/indent-guide-improved/lib/indent-guide-improved.coffee:64:20)
debounced (/home/jharai/Project/harai/indent-guide-improved/node_modules/lodash/index.js:7737:27)
Emitter.emit (/opt/atom/resources/app.asar/node_modules/event-kit/lib/emitter.js:86:11)
<unknown> (/opt/atom/resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:1276:25)

Doesn't seem to work in 0.208.0

I put the repo in the packages folder (unzipped) and it appears in the Packages section within Atom but the guides have not auto disabled and the indent guides do not appear, any ideas?

Package Loading & Startup Time

First, thank you for your package, it's very nice!

I have noticed that having this package installed seems to significantly increase my editor's startup time. Time Cop says the Package Loading takes ~250ms and the package settings page shows the package added ~450ms to startup time.

I do have other packages installed but this one has the highest of all times for me, so I was wondering if this is worth discussing here. I wouldn't even know where to begin trying to figure out what causes the time or how to resolve it, but I figured I should at least bring it up.

Uncaught TypeError: Cannot read property 'getRegions' of undefined

Atom Version: 1.9.0-beta0
System: Mac OS X 10.11.5
Thrown From: indent-guide-improved package, v1.4.9

Stack Trace

Uncaught TypeError: Cannot read property 'getRegions' of undefined

At /Users/li-xinyang/.atom/packages/indent-guide-improved/lib/indent-guide-improved.coffee:33

TypeError: Cannot read property 'getRegions' of undefined
    at updateGuide (/Users/li-xinyang/.atom/packages/indent-guide-improved/lib/indent-guide-improved.coffee:33:54)
    at up (/Users/li-xinyang/.atom/packages/indent-guide-improved/lib/indent-guide-improved.coffee:59:9)
    at debounced (/Applications/Atom Beta.app/Contents/Resources/app.asar/node_modules/babel-core/node_modules/lodash/index.js:7737:27)
    at Function.module.exports.Emitter.simpleDispatch (/Applications/Atom Beta.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:25:14)
    at Emitter.module.exports.Emitter.emit (/Applications/Atom Beta.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:125:28)
    at /Applications/Atom Beta.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:1399:25

Commands

  4x -0:59 settings-view:check-for-package-updates (atom-workspace.workspace.scrollbars-visible-when-scrolling.seti-ui-no-icons.theme-dracula-theme.theme-genesis-ui)
     -0:15 application:add-project-folder (atom-workspace.workspace.scrollbars-visible-when-scrolling.seti-ui-no-icons.theme-dracula-theme.theme-genesis-ui)

Config

{
  "core": {
    "audioBeep": false,
    "disabledPackages": [
      "background-tips",
      "markdown-preview",
      "metrics",
      "open-on-github",
      "spell-check",
      "welcome",
      "about",
      "linter-pep8",
      "linter-rubocop"
    ],
    "themes": [
      "genesis-ui",
      "dracula-theme"
    ]
  }
}

Installed Packages

# User
advanced-open-file, v0.16.3 (inactive)
atom-beautify, v0.29.7 (inactive)
atom-ternjs, v0.14.1 (active)
autoclose-html, v0.23.0 (active)
autocomplete-paths, v1.0.2 (active)
autocomplete-python, v1.8.1 (active)
autocomplete-ruby, v0.1.0 (active)
dash, v1.6.1 (inactive)
dracula-theme, v1.2.7 (active)
easy-motion-redux, v1.1.1 (active)
editorconfig, v1.4.1 (active)
ex-mode, v0.8.0 (inactive)
file-icons, v1.7.14 (active)
genesis-ui, v0.5.0 (active)
git-plus, v5.15.0 (inactive)
highlight-selected, v0.11.2 (active)
indent-guide-improved, v1.4.9 (active)
language-babel, v2.28.0 (active)
linter, v1.11.8 (active)
linter-jshint, v2.1.0 (active)
linter-pep8, v1.3.0 (inactive)
linter-rubocop, v0.4.7 (inactive)
merge-conflicts, v1.4.4 (active)
pigments, v0.29.2 (active)
project-manager, v2.9.7 (active)
script, v3.7.3 (inactive)
sort-lines, v0.14.0 (inactive)
split-diff, v1.0.2 (inactive)
Sublime-Style-Column-Selection, v1.5.1 (active)
todo-show, v1.6.0 (inactive)
vim-mode, v0.65.1 (active)
vim-surround, v0.8.1 (active)
Zen, v0.16.4 (inactive)
atom-dark-syntax, v0.27.0 (inactive)
atom-dark-ui, v0.51.0 (inactive)
atom-light-syntax, v0.28.0 (inactive)
atom-light-ui, v0.43.0 (inactive)
base16-tomorrow-dark-theme, v1.1.0 (inactive)
base16-tomorrow-light-theme, v1.1.1 (inactive)
one-dark-ui, v1.3.2 (inactive)
one-light-ui, v1.3.2 (inactive)
one-dark-syntax, v1.2.0 (inactive)
one-light-syntax, v1.2.0 (inactive)
solarized-dark-syntax, v1.0.2 (inactive)
solarized-light-syntax, v1.0.2 (inactive)
about, v1.5.2 (inactive)
archive-view, v0.61.1 (active)
autocomplete-atom-api, v0.10.0 (active)
autocomplete-css, v0.11.1 (active)
autocomplete-html, v0.7.2 (active)
autocomplete-plus, v2.31.0 (active)
autocomplete-snippets, v1.11.0 (active)
autoflow, v0.27.0 (inactive)
autosave, v0.23.1 (active)
background-tips, v0.26.0 (inactive)
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.38.1 (active)
fuzzy-finder, v1.2.0 (active)
git-diff, v1.0.1 (active)
find-and-replace, v0.198.0 (inactive)
go-to-line, v0.31.0 (inactive)
grammar-selector, v0.48.1 (active)
image-view, v0.58.0 (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 (inactive)
metrics, v0.53.1 (inactive)
notifications, v0.64.1 (active)
open-on-github, v1.1.0 (inactive)
package-generator, v1.0.0 (inactive)
settings-view, v0.238.0 (active)
snippets, v1.0.2 (active)
spell-check, v0.67.1 (inactive)
status-bar, v1.3.1 (active)
styleguide, v0.46.0 (active)
symbols-view, v0.113.0 (inactive)
tabs, v0.98.0 (active)
timecop, v0.33.1 (active)
tree-view, v0.208.0 (active)
update-package-dependencies, v0.10.0 (active)
welcome, v0.34.0 (inactive)
whitespace, v0.32.2 (active)
wrap-guide, v0.38.1 (active)
language-c, v0.52.1 (active)
language-clojure, v0.21.0 (active)
language-coffee-script, v0.47.0 (active)
language-csharp, v0.12.1 (active)
language-css, v0.36.2 (active)
language-gfm, v0.86.0 (active)
language-git, v0.13.0 (active)
language-go, v0.42.0 (active)
language-html, v0.44.1 (active)
language-hyperlink, v0.16.0 (active)
language-java, v0.22.0 (active)
language-javascript, v0.119.0 (active)
language-json, v0.18.0 (active)
language-less, v0.29.3 (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.0 (active)
language-property-list, v0.8.0 (active)
language-python, v0.45.0 (active)
language-ruby, v0.68.5 (active)
language-ruby-on-rails, v0.25.0 (active)
language-sass, v0.52.0 (active)
language-shellscript, v0.22.3 (active)
language-source, v0.9.0 (active)
language-sql, v0.21.1 (active)
language-text, v0.7.1 (active)
language-todo, v0.28.0 (active)
language-toml, v0.18.0 (active)
language-xml, v0.34.8 (active)
language-yaml, v0.26.0 (active)

# Dev
No dev packages

Uninstalling disabling "breaks" JSON files visually

In atom 1.0 when you install and then uninstall or disable this package the JSON files look empty.
Only fix is to restart ATOM.

Thought you should address it because someone might start reverting changes or something like that by mistake.

TextEditor.getScrollLeft is deprecated.

This is now a view method. Call TextEditorElement::getScrollLeft instead.

TextEditor.getScrollLeft (/opt/atom/resources/app.asar/src/text-editor.js:2879:12)
module.exports.activate.updateGuide (/home/jharai/Project/harai/indent-guide-improved/lib/indent-guide-improved.coffee:48:29)
module.exports.activate.up (/home/jharai/Project/harai/indent-guide-improved/lib/indent-guide-improved.coffee:64:20)
debounced (/home/jharai/Project/harai/indent-guide-improved/node_modules/lodash/index.js:7737:27)
Emitter.emit (/opt/atom/resources/app.asar/node_modules/event-kit/lib/emitter.js:86:11)
<unknown> (/opt/atom/resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:1276:25)

Package will not work in Atom 1.12 due to shadow DOM setting

I keep getting a notification that I need to enable shadow DOM in settings, but in v1.12 (latest stable release) that version has no shadow DOM checkbox in settings. I think they have removed it from the settings. Normal indent guides work, but when this package is installed they disappear and I keep getting the shadow DOM notification.

Please check "Use Shadow DOM" in Settings.

In what Settings? The Settings for this package? The Setting for Atom Core? The Setting for Atom Editor, Keybindings, Themes? I can't find any setting for "Use Shadow DOM" in any of the above settings locations.

Indent guides are not being added in Atom 0.206.0

As stated in the title, indent guides are not being added; I've tried to switch to default theme, disable and re-enable the plugin and restart Atom, but still no element or class is being added to the editor's HTML code, built-in guides are disabled and no errors are being shown, it's as if the plugin isn't even there...
The error persists even on a new, default-configured installation of Atom.

I'm using Atom 0.206.0 on 64-bit Linux, package version is the latest (1.2.0).

Disable in a per-syntax basis?

Hi,

personally I find indentation guides only necessary/helpful for indentation-based syntaxes such as haml, coffee, python and sass. But for most programming languages, guides are a quite noisy thing to have imo.

Can one apply intent-guide-improved using a syntax whitelist/blacklist?

I'm guessing that the packages doesn't include this feature, would it be easy to implement? Maybe Atom provides a generic enabling/disabling mechanism which could be applied here?

Cheers - Victor

TextEditor.onDidChangeScrollTop is deprecated.

This is now a view method. Call TextEditorElement::onDidChangeScrollTop instead.

TextEditor.onDidChangeScrollTop (/opt/atom/resources/app.asar/src/text-editor.js:375:12)
<unknown> (/home/jharai/Project/harai/indent-guide-improved/lib/indent-guide-improved.coffee:69:36)
<unknown> (/home/jharai/Project/harai/indent-guide-improved/lib/indent-guide-improved.coffee:88:16)
Workspace.observeTextEditors (/opt/atom/resources/app.asar/src/workspace.js:282:9)
Object.activate (/home/jharai/Project/harai/indent-guide-improved/lib/indent-guide-improved.coffee:79:29)
Package.activateNow (/opt/atom/resources/app.asar/src/package.js:170:19)

Guides Ignore Code Folding

Atom: 1.0.0
indent-guide-improved: 1.4.0

Expected:
If you fold a block of code, the guides position is updated.

Actual:
When you fold a block of code and scroll horizontally or vertically the guides do not update and are therefore in the wrong place.

Related to #14?

screen shot 2015-06-30 at 2 15 26 pm

screen shot 2015-06-30 at 2 17 49 pm

Failed to load the indent-guide-improved package

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 1.0.7
System: Mac OS X 10.10.4
Thrown From: indent-guide-improved package, v1.4.2

Stack Trace

Failed to load the indent-guide-improved package

At Cannot find module 'lodash'

Error: Cannot find module 'lodash'
  at Module._resolveFilename (module.js:328:15)
  at Function.Module._resolveFilename (/Applications/Atom.app/Contents/Resources/app.asar/src/module-cache.js:383:52)
  at Function.Module._load (module.js:270:25)
  at Module.require (module.js:357:17)
  at require (module.js:376:17)
  at Object.<anonymous> (/Users/benshrimpton/.atom/packages/indent-guide-improved-master/lib/indent-guide-improved.coffee:2:5)
  at Object.<anonymous> (/Users/benshrimpton/.atom/packages/indent-guide-improved-master/lib/indent-guide-improved.coffee:1:1)
  at Module._compile (module.js:452:26)
  at Object.requireCoffeeScript (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/coffee-cash/lib/coffee-cash.js:85:19)
  at Module.load (module.js:347:32)
  at Function.Module._load (module.js:302:12)
  at Module.require (module.js:357:17)
  at require (module.js:376:17)
  at Package.module.exports.Package.requireMainModule (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:759:34)
  at /Applications/Atom.app/Contents/Resources/app.asar/src/package.js:190:28
  at Package.module.exports.Package.measure (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:167:15)
  at Package.module.exports.Package.load (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:181:12)
  at PackageManager.module.exports.PackageManager.loadPackage (/Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js:405:14)
  at PackageManager.module.exports.PackageManager.loadPackages (/Applications/Atom.app/Contents/Resources/app.asar/src/package-manager.js:369:14)
  at Atom.module.exports.Atom.startEditorWindow (/Applications/Atom.app/Contents/Resources/app.asar/src/atom.js:670:21)
  at Object.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/window-bootstrap.js:12:8)
  at Object.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/window-bootstrap.js:23:4)
  at Module._compile (module.js:452:26)
  at Object.loadFile [as .js] (/Applications/Atom.app/Contents/Resources/app.asar/src/babel.js:163:21)
  at Module.load (module.js:347:32)
  at Function.Module._load (module.js:302:12)
  at Module.require (module.js:357:17)
  at require (module.js:376:17)
  at setupWindow (file:///Applications/Atom.app/Contents/Resources/app.asar/static/index.js:96:23)
  at window.onload (file:///Applications/Atom.app/Contents/Resources/app.asar/static/index.js:36:7)

Commands

Config

{
  "core": {
    "themes": [
      "one-dark-ui",
      "atom-dark-syntax"
    ]
  }
}

Installed Packages

# User
No installed packages

# Dev
No dev packages

Update guides on resize font

Could you fire a indent guides update whenever the editor font size is changed? This is how the guides render when I resize:

Uncaught TypeError: Invalid Point: (NaN, 0)

[Enter steps to reproduce:]

  1. ...
  2. ...

Atom: 1.19.0-beta0 x64
Electron: 1.6.9
OS: Microsoft Windows 8.1 Pro with Media Center
Thrown From: indent-guide-improved package 1.4.12

Stack Trace

Uncaught TypeError: Invalid Point: (NaN, 0)

At C:\Users\Benjamin\AppData\Local\atom\app-1.19.0-beta0\resources\app\node_modules\text-buffer\lib\point.js:63

TypeError: Invalid Point: (NaN, 0)
    at Function.module.exports.Point.assertValid (~/AppData/Local/atom/app-1.19.0-beta0/resources/app/node_modules/text-buffer/lib/point.js:63:21)
    at DisplayLayer.translateScreenPosition (~/AppData/Local/atom/app-1.19.0-beta0/resources/app/node_modules/text-buffer/lib/display-layer.js:333:17)
    at DisplayLayer.clipScreenPosition (~/AppData/Local/atom/app-1.19.0-beta0/resources/app/node_modules/text-buffer/lib/display-layer.js:391:18)
    at TextEditor.module.exports.TextEditor.clipScreenPosition (~/AppData/Local/atom/app-1.19.0-beta0/resources/app/src/text-editor.js:1793:38)
    at HTMLElement.pixelPositionForScreenPosition (~/AppData/Local/atom/app-1.19.0-beta0/resources/app/src/text-editor-element.js:242:38)
    at updateGuide (/packages/indent-guide-improved/lib/indent-guide-improved.coffee:17:36)
    at up (/packages/indent-guide-improved/lib/indent-guide-improved.coffee:51:9)
    at debounced (/packages/indent-guide-improved/node_modules/lodash/index.js:7737:27)
    at Function.module.exports.Emitter.simpleDispatch (~/AppData/Local/atom/app-1.19.0-beta0/resources/app/node_modules/event-kit/lib/emitter.js:25:20)
    at Emitter.module.exports.Emitter.emit (~/AppData/Local/atom/app-1.19.0-beta0/resources/app/node_modules/event-kit/lib/emitter.js:141:34)
    at TextBuffer.module.exports.TextBuffer.emitDidStopChangingEvent (~/AppData/Local/atom/app-1.19.0-beta0/resources/app/node_modules/text-buffer/lib/text-buffer.js:1570:26)
    at later (~/AppData/Local/atom/app-1.19.0-beta0/resources/app/node_modules/text-buffer/lib/helpers.js:21:13)

Commands

     -0:12 tree-view:show (atom-workspace.workspace.scrollbars-visible-always)

Non-Core Packages

atom-increment 0.3.4 
atom-material-syntax 1.0.6 
atom-material-ui 2.0.4 
auto-detect-indentation 1.3.0 
autocomplete-html-entities 0.1.0 
autocomplete-php 0.3.7 
color-picker 2.2.5 
editorconfig 2.2.2 
file-icons 2.1.7 
file-watcher 1.1.0 
indent-guide-improved 1.4.12 
intentions 1.1.2 
language-batch 0.4.0 
language-blade 0.31.0 
language-cmake 0.3.0 
language-dots 0.0.4 
language-lua 0.9.11 
language-lua-wow 0.2.0 
language-powershell 4.0.0 
language-toc-wow 0.2.0 
less-than-slash 0.16.0 
linter 2.1.4 
linter-luacheck 2.0.1 
linter-php 1.3.2 
linter-ui-default 1.6.1 
linter-xo 0.23.0 
MagicPython 1.0.10 
markdown-scroll-sync 2.1.2 
minimap 4.28.2 
one-dark-vivid-syntax 1.7.1 
pigments 0.39.1 
pretty-json 1.6.3 
project-plus 1.0.0 
revert-buffer 0.5.0 
sort-lines 0.14.0 
space-tab 0.4.2 
sync-settings 0.8.2 
tool-bar 1.1.0 
tool-bar-almighty 0.8.2 
trailing-spaces 0.4.0 

Failed to activate package on Atom upgrade Electron branch

[Enter steps to reproduce:]

  1. Start Atom

Atom: 1.18.0-dev-96533998e x64
Electron: 1.6.9
OS: Mac OS X 10.12.4
Thrown From: indent-guide-improved package 1.4.12

Stack Trace

Failed to activate the indent-guide-improved package

At Invalid Point: (NaN, 0)

TypeError: Invalid Point: (NaN, 0)
    at Function.module.exports.Point.assertValid (/Users/steel/projects/atom/atom/out/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/point.js:63:1)
    at DisplayLayer.translateScreenPosition (/Users/steel/projects/atom/atom/out/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/display-layer.js:333:1)
    at DisplayLayer.clipScreenPosition (/Users/steel/projects/atom/atom/out/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/display-layer.js:391:1)
    at TextEditor.module.exports.TextEditor.clipScreenPosition (/Users/steel/projects/atom/atom/out/Atom.app/Contents/Resources/app/src/text-editor.js:1790:1)
    at HTMLElement.pixelPositionForScreenPosition (/Users/steel/projects/atom/atom/out/Atom.app/Contents/Resources/app/src/text-editor-element.js:242:38)
    at updateGuide (/packages/indent-guide-improved/lib/indent-guide-improved.coffee:17:36)
    at /packages/indent-guide-improved/lib/indent-guide-improved.coffee:79:7
    at Workspace.observeTextEditors (/Users/steel/projects/atom/atom/out/Atom.app/Contents/Resources/app/src/workspace.js:698:1)
    at Object.activate (/packages/indent-guide-improved/lib/indent-guide-improved.coffee:74:20)
    at Package.module.exports.Package.activateNow (/Users/steel/projects/atom/atom/out/Atom.app/Contents/Resources/app/src/package.js:253:1)
    at /Users/steel/projects/atom/atom/out/Atom.app/Contents/Resources/app/src/package.js:225:1
    at Package.module.exports.Package.measure (/Users/steel/projects/atom/atom/out/Atom.app/Contents/Resources/app/src/package.js:99:1)
    at /Users/steel/projects/atom/atom/out/Atom.app/Contents/Resources/app/src/package.js:218:1
    at Package.module.exports.Package.activate (/Users/steel/projects/atom/atom/out/Atom.app/Contents/Resources/app/src/package.js:215:1)
    at PackageManager.module.exports.PackageManager.activatePackage (/Users/steel/projects/atom/atom/out/Atom.app/Contents/Resources/app/src/package-manager.js:642:1)
    at /Users/steel/projects/atom/atom/out/Atom.app/Contents/Resources/app/src/package-manager.js:623:1
    at Config.module.exports.Config.transactAsync (/Users/steel/projects/atom/atom/out/Atom.app/Contents/Resources/app/src/config.js:346:1)
    at PackageManager.module.exports.PackageManager.activatePackages (/Users/steel/projects/atom/atom/out/Atom.app/Contents/Resources/app/src/package-manager.js:618:1)
    at PackageManager.module.exports.PackageManager.activate (/Users/steel/projects/atom/atom/out/Atom.app/Contents/Resources/app/src/package-manager.js:600:1)
    at /Users/steel/projects/atom/atom/out/Atom.app/Contents/Resources/app/src/atom-environment.js:842:1

Commands

     -0:53.4.0 tree-view:show (atom-workspace.workspace.scrollbars-visible-when-scrolling)
     -0:20.4.0 command-palette:toggle (input.hidden-input)
     -0:18.2.0 settings-view:open (input.hidden-input)

Non-Core Packages

apex-syntax 0.1.0 
apex-ui 0.2.1 
atom-material-syntax 1.0.6 
atom-material-ui 2.0.3 
atom-terminal-tab 0.1.2 
busy-signal 1.4.1 
declarations 1.1.3 
declarations-js 1.0.2 
file-icons 2.1.4 
fizzy 0.21.0 
flow-ide 1.4.2 
indent-guide-improved 1.4.12 
intentions 1.1.2 
intentions-colorpicker 1.0.1 
intentions-numbers 1.0.4 
language-babel 2.60.0 
language-markdown 0.22.0 
language-swift 0.5.0 
linter 2.1.4 
linter-eslint 8.1.7 
linter-ui-default 1.3.0 
merge-conflicts 1.4.4 
nord-atom-syntax 0.9.1 
nord-atom-ui 0.11.0 
pigments 0.39.1 
unity-ui 2.1.10 

Uncaught TypeError: Cannot read property 'querySelectorAll' of null

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 1.12.7
Electron Version: 1.3.13
System: Mac OS X 10.12.2
Thrown From: indent-guide-improved package, v1.4.12

Stack Trace

Uncaught TypeError: Cannot read property 'querySelectorAll' of null

At /Users/togaway/.atom/packages/indent-guide-improved/lib/indent-guide-improved-element.coffee:33

TypeError: Cannot read property 'querySelectorAll' of null
    at createElementsForGuides (/Users/togaway/.atom/packages/indent-guide-improved/lib/indent-guide-improved-element.coffee:33:21)
    at updateGuide (/Users/togaway/.atom/packages/indent-guide-improved/lib/indent-guide-improved.coffee:34:7)
    at up (/Users/togaway/.atom/packages/indent-guide-improved/lib/indent-guide-improved.coffee:51:9)

Commands

Config

{
  "core": {
    "telemetryConsent": "no",
    "themes": [
      "atom-material-ui",
      "atom-material-syntax"
    ]
  }
}

Installed Packages

# User
ariake-dark-syntax, v0.0.6 (inactive)
asciidoc-preview, v2.7.1 (active)
atom-clock, v0.1.2 (active)
atom-html-preview, v0.1.22 (active)
atom-markdown-auto-preview, v1.1.1 (active)
atom-material-syntax, v0.4.6 (active)
atom-material-ui, v1.3.8 (active)
browser-plus-zoom, v0.0.2 (active)
indent-guide-improved, v1.4.12 (active)
min-ui, v0.0.1 (inactive)
preview, v0.17.0 (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 (active)
archive-view, v0.62.0 (active)
autocomplete-atom-api, v0.10.0 (active)
autocomplete-css, v0.13.1 (active)
autocomplete-html, v0.7.2 (active)
autocomplete-plus, v2.31.4 (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.42.0 (active)
bracket-matcher, v0.82.2 (active)
command-palette, v0.39.0 (inactive)
deprecation-cop, v0.54.1 (active)
dev-live-reload, v0.47.0 (active)
encoding-selector, v0.22.0 (active)
exception-reporting, v0.40.0 (active)
find-and-replace, v0.202.2 (inactive)
fuzzy-finder, v1.4.0 (active)
git-diff, v1.1.0 (active)
go-to-line, v0.31.0 (inactive)
grammar-selector, v0.48.2 (active)
image-view, v0.60.0 (active)
incompatible-packages, v0.26.1 (active)
keybinding-resolver, v0.35.0 (active)
line-ending-selector, v0.5.0 (active)
link, v0.31.2 (inactive)
markdown-preview, v0.158.8 (active)
metrics, v1.1.2 (active)
notifications, v0.65.1 (active)
open-on-github, v1.2.1 (inactive)
package-generator, v1.0.1 (inactive)
settings-view, v0.243.1 (active)
snippets, v1.0.4 (active)
spell-check, v0.68.4 (active)
status-bar, v1.4.1 (active)
styleguide, v0.47.2 (active)
symbols-view, v0.113.1 (inactive)
tabs, v0.103.0 (active)
timecop, v0.33.2 (active)
tree-view, v0.210.0 (active)
update-package-dependencies, v0.10.0 (active)
welcome, v0.35.1 (active)
whitespace, v0.35.0 (active)
wrap-guide, v0.38.2 (active)
language-c, v0.54.0 (active)
language-clojure, v0.22.1 (active)
language-coffee-script, v0.48.0 (active)
language-csharp, v0.13.0 (active)
language-css, v0.40.1 (active)
language-gfm, v0.88.0 (active)
language-git, v0.15.0 (active)
language-go, v0.43.0 (active)
language-html, v0.47.1 (active)
language-hyperlink, v0.16.1 (active)
language-java, v0.24.0 (active)
language-javascript, v0.122.0 (active)
language-json, v0.18.3 (active)
language-less, v0.29.6 (active)
language-make, v0.22.2 (active)
language-mustache, v0.13.0 (active)
language-objective-c, v0.15.1 (active)
language-perl, v0.37.0 (active)
language-php, v0.37.3 (active)
language-property-list, v0.8.0 (active)
language-python, v0.45.1 (active)
language-ruby, v0.70.2 (active)
language-ruby-on-rails, v0.25.1 (active)
language-sass, v0.57.0 (active)
language-shellscript, v0.23.0 (active)
language-source, v0.9.0 (active)
language-sql, v0.25.0 (active)
language-text, v0.7.1 (active)
language-todo, v0.29.1 (active)
language-toml, v0.18.1 (active)
language-xml, v0.34.12 (active)
language-yaml, v0.27.1 (active)

# Dev
No dev packages

REQ: Option - Show active guide on indented column rather than the parent/previous

Hi @harai,

Just wondering if it would be possible to add the option for allowing the active guide to to be highlighted on the indent column where the cursor is rather than always showing on parent/previous column of the cursor spot? This could be in addition to the current implementation of course, an option for either or.

Sometimes I like to click a long open element, and follow its entire guide down to its close tag and that is where my request would come in handy as the eyes could easily see the entire block of code easier from open-to-close.

Hope you will consider.

Thanks!

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.