Giter Site home page Giter Site logo

hswolff / tree-view-extended Goto Github PK

View Code? Open in Web Editor NEW
8.0 1.0 1.0 222 KB

Atom.io package. Extend your tree-view. Add a list of open files, and a list of git modified files.

Home Page: https://atom.io/packages/tree-view-extended

License: MIT License

JavaScript 90.19% CSS 9.81%
atom atom-editor nuclide git plugin atom-package atom-plugin

tree-view-extended's Introduction

tree-view-extended package

Extend your tree-view. Add a list of open files, and a list of git modified files.

Screenshot

Features

  • Show all your open files in the tree view
  • Show all your git modified files in the tree view
  • Toggle either tree view extension to be sticky. It won't scroll with the rest of the tree view.
  • Close open files from the tree view extension.
  • Toggle the visibility of either extension.

Thank you!

Without these two packages this one would not exist.

Todo

  • Support showing pending tab state
  • Support drag and drop of tab order
  • Support showing nested view of files within their folders

tree-view-extended's People

Contributors

cmoud94 avatar hswolff avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

teletype-diy

tree-view-extended's Issues

Unbearably slow focus (2s)

When I open a file or switch buffers there is a delay of about 2 to 4 seconds while the editor appears to be hung and my new file is not displayed. When I close the editor, a similar delay seems occur for each file as it works to close them.

Most of the time is taken up in setState in extended-tree-view.js. This occurs even when no other non-core packages are installed.

image

image

Uncaught TypeError: Cannot read property 'activeItem' of null

[Enter steps to reproduce:]

  1. ...
  2. ...

Atom: 1.14.4 x64
Electron: 1.3.13
OS: Mac OS X 10.12.3
Thrown From: tree-view-extended package 1.0.0

Stack Trace

Uncaught TypeError: Cannot read property 'activeItem' of null

At /Applications/Atom.app/Contents/Resources/app.asar/src/pane.js:1045

TypeError: Cannot read property 'activeItem' of null
    at ExtendedTreeView.render (/packages/tree-view-extended/lib/extended-tree-view.js:62:17)
    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 TextBuffer.module.exports.TextBuffer.emitModifiedStatusChanged (/app.asar/node_modules/text-buffer/lib/text-buffer.js:1383:27)
    at TextBuffer.module.exports.TextBuffer.saveAs (/app.asar/node_modules/text-buffer/lib/text-buffer.js:1081:12)
    at TextBuffer.module.exports.TextBuffer.save (/app.asar/node_modules/text-buffer/lib/text-buffer.js:1049:19)
    at TextEditor.module.exports.TextEditor.save (/app.asar/src/text-editor.js:893:26)
    at Pane.module.exports.Pane.saveItem (/app.asar/src/pane.js:753:18)
    at Pane.saveItem (/app.asar/src/pane.js:3:59)
    at Pane.module.exports.Pane.saveActiveItem (/app.asar/src/pane.js:736:19)
    at Workspace.module.exports.Workspace.saveActivePaneItem (/app.asar/src/workspace.js:693:35)
    at /app.asar/src/register-default-commands.js:225:32)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/app.asar/src/command-registry.js:259:29)
    at /app.asar/src/command-registry.js:3:59
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:599:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:390:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (/app.asar/src/window-event-handler.js:106:36)
    at /app.asar/src/window-event-handler.js:3:59)

Commands

     -1:16.8.0 editor:select-to-first-character-of-line (input.hidden-input)
  2x -1:16.4.0 core:backspace (input.hidden-input)
  3x -1:15.3.0 core:move-down (input.hidden-input)
  2x -1:10.4.0 core:move-up (input.hidden-input)
  6x -1:09.8.0 core:move-down (input.hidden-input)
     -1:03.5.0 editor:move-to-end-of-screen-line (input.hidden-input)
     -1:03.1.0 editor:newline (input.hidden-input)
  2x -1:00.1.0 core:backspace (input.hidden-input)
     -0:56.6.0 autocomplete-plus:confirm (input.hidden-input)
     -0:56.6.0 snippets:expand (atom-text-editor.editor.is-focused.autocomplete-active)
     -0:53.9.0 core:copy (input.hidden-input)
  3x -0:52.1.0 core:paste (input.hidden-input)
  2x -0:37.8.0 core:move-left (input.hidden-input)
     -0:34.1.0 autocomplete-plus:confirm (input.hidden-input)
     -0:10.3.0 core:move-down (input.hidden-input)
     -0:01.8.0 core:save (input.hidden-input)

Non-Core Packages

atom-typescript 10.1.15 
atom-wallaby 1.0.16 
auto-reveal-active-file 0.3.1 
autocomplete-html-entities 0.1.0 
autocomplete-json 5.3.0 
autocomplete-modules 1.6.7 
blame 0.10.2 
escape-utils 0.5.3 
git-time-machine 1.5.6 
highlight-selected 0.12.0 
html-entities 0.4.0 
language-babel 2.56.0 
language-ignore 1.5.2 
language-markdown 0.19.1 
language-postcss 1.3.0 
language-svg 0.9.2 
language-vue 0.21.2 
linter 1.11.23 
linter-csslint 1.3.4 
linter-eslint 8.1.2 
linter-jsonlint 1.3.0 
markdown-scroll-sync 2.1.2 
merge-conflicts 1.4.4 
min-ui-colorful 0.10.0 
minimap 4.26.8 
minimap-highlight-selected 4.5.0 
monokai 0.22.0 
one-dark-monokai 0.4.0 
prettier-eslint 1.2.9 
react 0.16.2 
todo-show 1.11.0 
tree-view-extended 1.0.0 

Failed to activate the tree-view-extended package

[Enter steps to reproduce:]

  1. Install the tree-view-extended package

Atom: 1.16.0 x64
Electron: 1.3.13
OS: "CentOS Linux
Thrown From: tree-view-extended package 2.0.0

Stack Trace

Failed to activate the tree-view-extended package

At atom.workspace.getCenter is not a function

TypeError: atom.workspace.getCenter is not a function
    at /packages/tree-view-extended/lib/open-files.js:16:22)
    at Object.activate (/packages/tree-view-extended/lib/main.js:12:22)
    at Package.module.exports.Package.activateNow (/app.asar/src/package.js:218:19)
    at /app.asar/src/package.js:190:32
    at Package.module.exports.Package.measure (/app.asar/src/package.js:96:15)
    at /app.asar/src/package.js:183:26
    at Package.module.exports.Package.activate (/app.asar/src/package.js:180:34)
    at PackageManager.module.exports.PackageManager.activatePackage (/app.asar/src/package-manager.js:550:34)
    at /app.asar/node_modules/settings-view/lib/package-manager.js:484:29
    at exit (/app.asar/node_modules/settings-view/lib/package-manager.js:99:16)
    at triggerExitCallback (/app.asar/src/buffered-process.js:322:11)
    at /app.asar/src/buffered-process.js:335:11
    at /app.asar/src/buffered-process.js:204:9)
    at emitOne (events.js:101:20)
    at Socket.emit (events.js:188:7)
    at Pipe._handle.close [as _onclose] (net.js:493:12)

Commands

  5x -3:47.7.0 core:backspace (input.hidden-input)
     -3:45 core:confirm (input.hidden-input)

Non-Core Packages

atom-beautify 0.29.24 
code-dark-ui 0.7.0 
counter 0.3.5 
file-icons 2.1.4 
geiger 2.1.0 
highlight-line 0.12.0 
highlight-selected 0.13.1 
language-lua 0.9.11 
minimap 4.28.2 
minimap-bookmarks 0.4.2 
minimap-cursorline 0.2.0 
minimap-find-and-replace 4.5.2 
minimap-highlight-selected 4.6.1 
sort-lines 0.14.0 
symbols-tree-view 0.14.0 
sync-settings 0.8.1 
tree-view-extended 2.0.0 
Visual-Studio-2015-Dark-Theme 2.4.2 

Context Menu for Git Modified Files Unexpected Behavior

I suspect that the context menu for the git modified files isn't pointing properly to the right files (I'm not actually sure how this works). A few examples:

Deletion

Which I right/cmd click a git modified file listed on in the extended tree and selecting delete, I get a message that I cannot delete the root of my project.

Renaming, Duplicating,

Which I right/cmd click a git modified file listed on in the extended tree and selecting rename, no rename interface is displayed. Behaviors like duplicate also are non-functional.

Uncaught TypeError: Arguments to CompositeDisposable.add must have a .dispose() method

Steps to reproduce:

  1. Installed the Git-log package and switched to the tab

Atom: 1.17.2 x64
Electron: 1.3.15
OS: Microsoft Windows 7 Enterprise
Thrown From: tree-view-extended package 2.0.0

Stack Trace

Uncaught TypeError: Arguments to CompositeDisposable.add must have a .dispose() method

At C:\Users\sjacobs\AppData\Local\atom\app-1.17.2\resources\app\node_modules\event-kit\lib\composite-disposable.js:74

TypeError: Arguments to CompositeDisposable.add must have a .dispose() method
    at assertDisposable (~/AppData/Local/atom/app-1.17.2/resources/app/node_modules/event-kit/lib/composite-disposable.js:74:1)
    at CompositeDisposable.module.exports.CompositeDisposable.add (~/AppData/Local/atom/app-1.17.2/resources/app/node_modules/event-kit/lib/composite-disposable.js:43:1)
    at ExtendedTreeView.setState (/packages/tree-view-extended/lib/extended-tree-view.js:53:23)
    at /packages/tree-view-extended/lib/open-files-pane-view.js:36:29
    at Function.module.exports.Emitter.simpleDispatch (~/AppData/Local/atom/app-1.17.2/resources/app/node_modules/event-kit/lib/emitter.js:25:1)
    at Emitter.module.exports.Emitter.emit (~/AppData/Local/atom/app-1.17.2/resources/app/node_modules/event-kit/lib/emitter.js:141:1)
    at PaneContainer.didChangeActiveItemOnPane (~/AppData/Local/atom/app-1.17.2/resources/app/src/pane-container.js:280:1)
    at Pane.module.exports.Pane.setActiveItem (~/AppData/Local/atom/app-1.17.2/resources/app/src/pane.js:318:1)
    at Pane.module.exports.Pane.activateItem (~/AppData/Local/atom/app-1.17.2/resources/app/src/pane.js:471:1)
    at Immediate.<anonymous> (~/AppData/Local/atom/app-1.17.2/resources/app/node_modules/tabs/lib/tab-bar-view.js:701:1)
    at runCallback (timers.js:574:20)
    at tryOnImmediate (timers.js:554:5)
    at processImmediate [as _immediateCallback] (timers.js:533:5)

Commands

     -3:05.0 settings-view:open (atom-pane.pane)
  3x -1:45.4.0 core:backspace (input.hidden-input)
     -1:43.3.0 core:confirm (input.hidden-input)
     -0:57.7.0 command-palette:toggle (atom-pane.pane)
     -0:52.7.0 git-log:show (atom-pane.pane)

Non-Core Packages

atom-beautify 0.29.24 
code-dark-ui 0.7.0 
counter 0.3.5 
file-icons 2.1.6 
geiger 2.1.0 
git-control 0.9.0 
git-log 0.4.1 
highlight-line 0.12.0 
highlight-selected 0.13.1 
language-lua 0.9.11 
line-count-status 0.0.3 
markdown-preview-plus 2.4.9 
minimap 4.28.2 
minimap-bookmarks 0.4.2 
minimap-cursorline 0.2.0 
minimap-find-and-replace 4.5.2 
minimap-highlight-selected 4.6.1 
sort-lines 0.14.0 
symbols-tree-view 0.14.0 
sync-settings 0.8.1 
tree-view-autoresize 2.0.0 
tree-view-extended 2.0.0 
tree-view-git-status 1.4.0 
tree-view-sort 0.7.0 
tron-legacy-syntax 0.5.0 
tron-legacy-ui 0.6.0 
Visual-Studio-2015-Dark-Theme 2.4.2 

No tree visible

Hello. Just activated your package and I see no sidebar even though I have files open. Any idea why?

Screenshot

Mac OS X: 10.11.6
Atom: 1.13.0 x64

$ apm --version
apm  1.14.1
npm  3.10.5
node 4.4.5
python 2.7.13
git 2.10.1
$ apm list --installed
Community Packages (26) /Users/rolle/.atom/packages
โ”œโ”€โ”€ [email protected]
โ”œโ”€โ”€ [email protected]
โ”œโ”€โ”€ [email protected]
โ”œโ”€โ”€ [email protected]
โ”œโ”€โ”€ [email protected]
โ”œโ”€โ”€ [email protected]
โ”œโ”€โ”€ [email protected]
โ”œโ”€โ”€ [email protected]
โ”œโ”€โ”€ [email protected]
โ”œโ”€โ”€ [email protected]
โ”œโ”€โ”€ [email protected]
โ”œโ”€โ”€ [email protected]
โ”œโ”€โ”€ [email protected]
โ”œโ”€โ”€ [email protected]
โ”œโ”€โ”€ [email protected]
โ”œโ”€โ”€ [email protected]
โ”œโ”€โ”€ [email protected]
โ”œโ”€โ”€ [email protected]
โ”œโ”€โ”€ [email protected]
โ”œโ”€โ”€ [email protected]
โ”œโ”€โ”€ [email protected]
โ”œโ”€โ”€ [email protected]
โ”œโ”€โ”€ [email protected]
โ”œโ”€โ”€ [email protected]
โ”œโ”€โ”€ [email protected]
โ””โ”€โ”€ [email protected]

Text of selected file is not visible

This package looks very promising.

The issue is that the name selected file is not visible. The line is highlighted but there is no text. If the selection is changed the text is redrawn and the new selection is not visible.

image

Windows 7 Professional 64-bit
Atom 1.17.1
tree-view-extended 2.0.0

Performance

Currently it adds 6700 ms to startup time. It will be nice to have reduced overhead.

Uncaught RangeError: Maximum call stack size exceeded

[Enter steps to reproduce:]

  1. ...
  2. ...

Atom: 1.31.1 x64
Electron: 2.0.7
OS: Ubuntu 16.04.5
Thrown From: tree-view-extended package 2.1.0

Stack Trace

Uncaught RangeError: Maximum call stack size exceeded

At /usr/share/atom/resources/app/node_modules/pathwatcher/lib/file.js:155

RangeError: Maximum call stack size exceeded
    at File.module.exports.File.existsSync (/usr/share/atom/resources/app/node_modules/pathwatcher/lib/file.js:155:23)
    at TextBuffer.module.exports.TextBuffer.isModified (/usr/share/atom/resources/app/node_modules/text-buffer/lib/text-buffer.js:448:33)
    at TextEditor.isModified (/usr/share/atom/resources/app/src/text-editor.js:1166:44)
    at /packages/tree-view-extended/lib/extended-tree-view.js:92:40
    at Array.map (<anonymous>)
    at ExtendedTreeView.render (/packages/tree-view-extended/lib/extended-tree-view.js:80:19)
    at Function.module.exports.Emitter.simpleDispatch (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:27:20)
    at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:156:34)
    at GitRepository.getPathStatus (/usr/share/atom/resources/app/src/git-repository.js:395:26)
    at GitRepository.isPathModified (/usr/share/atom/resources/app/src/git-repository.js:340:45)
    at /packages/tree-view-extended/lib/extended-tree-view.js:96:24
    at Array.map (<anonymous>)
    at ExtendedTreeView.render (/packages/tree-view-extended/lib/extended-tree-view.js:80:19)
    at Function.module.exports.Emitter.simpleDispatch (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:27:20)
    at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:156:34)
    at GitRepository.getPathStatus (/usr/share/atom/resources/app/src/git-repository.js:395:26)
    at GitRepository.isPathModified (/usr/share/atom/resources/app/src/git-repository.js:340:45)
    at /packages/tree-view-extended/lib/extended-tree-view.js:96:24
    at Array.map (<anonymous>)
    at ExtendedTreeView.render (/packages/tree-view-extended/lib/extended-tree-view.js:80:19)
    at Function.module.exports.Emitter.simpleDispatch (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:27:20)
    at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:156:34)
    at GitRepository.getPathStatus (/usr/share/atom/resources/app/src/git-repository.js:395:26)
    at GitRepository.isPathModified (/usr/share/atom/resources/app/src/git-repository.js:340:45)
    at /packages/tree-view-extended/lib/extended-tree-view.js:96:24
    at Array.map (<anonymous>)
    at ExtendedTreeView.render (/packages/tree-view-extended/lib/extended-tree-view.js:80:19)
    at Function.module.exports.Emitter.simpleDispatch (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:27:20)
    at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:156:34)
    at GitRepository.getPathStatus (/usr/share/atom/resources/app/src/git-repository.js:395:26)

Commands

     -0:29.6.0 julia-client:open-console (atom-pane.pane.active)
  3x -0:25.8.0 autocomplete-plus:cancel (atom-text-editor.editor.is-focused)
  2x -0:14.9.0 pane:close (div.item-views)

Non-Core Packages

atom-latex 0.8.5 
atom-material-ui 2.1.3 
atom-updater-linux 1.3.0 
city-lights-icons 1.1.1 
city-lights-syntax 1.1.8 
city-lights-ui 1.5.3 
file-icons 2.1.25 
fonts 3.1.0 
highlight-selected 0.14.0 
Hydrogen 2.6.0 
ide-r 0.1.8 
indent-detective 0.3.0 
ink 0.9.10 
julia-client 0.7.7 
language-julia 0.17.0 
language-latex 1.2.0 
language-markdown 0.26.0 
latex 0.50.0 
latex-completions 0.3.5 
markdown-pdf 2.2.0 
markdown-preview-plus 3.6.3 
minimap-highlight-selected 4.6.1 
move-panes 0.2.0 
pandoc 0.2.2 
rbox 0.5.0 
save-session 0.15.7 
swap-panes 0.2.0 
tabs-to-spaces 1.0.5 
tool-bar 1.1.10 
tool-bar-main 0.0.11 
trailing-spaces 0.4.0 
tree-view-extended 2.1.0 
uber-juno 0.2.0 
xml-formatter 0.11.0 

Uncaught Error: Repository has been destroyed

Steps to reproduce:

  1. Install tree-view-extended
  2. Switch to a window with code
  3. See the following Atom error message:

Atom: 1.14.4 x64
Electron: 1.3.13
OS: Ubuntu 16.04.2
Thrown From: tree-view-extended package 1.0.0

Stack Trace

Uncaught Error: Repository has been destroyed

At /usr/share/atom/resources/app.asar/src/git-repository.js:364

Error: Repository has been destroyed
    at GitRepository.module.exports.GitRepository.getRepo (/app.asar/src/git-repository.js:364:15)
    at GitRepository.module.exports.GitRepository.getPathStatus (/app.asar/src/git-repository.js:249:19)
    at GitRepository.module.exports.GitRepository.isPathModified (/app.asar/src/git-repository.js:222:41)
    at /packages/tree-view-extended/lib/extended-tree-view.js:94:26
    at Array.map (native)
    at ExtendedTreeView.render (/packages/tree-view-extended/lib/extended-tree-view.js:78:21)
    at ExtendedTreeView.setState (/packages/tree-view-extended/lib/extended-tree-view.js:42:10)
    at /packages/tree-view-extended/lib/open-files-pane-view.js:36:29
    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 stoppedChangingActivePaneItemCallback (/app.asar/src/pane-container.js:352:36)

Commands

     -3:34.7.0 command-palette:toggle (input.hidden-input)
 10x -3:28.8.0 core:move-down (input.hidden-input)
     -3:24.2.0 core:move-up (input.hidden-input)
     -3:23.7.0 core:move-down (input.hidden-input)
     -3:23.1.0 core:confirm (input.hidden-input)
     -3:23.1.0 tree-view-extended:show-all (input.hidden-input)
     -2:26.5.0 command-palette:toggle (input.hidden-input)
     -1:41.6.0 tree-view-extended:hide-git-modified-files (input.hidden-input)
     -0:43.3.0 settings-view:open (input.hidden-input)
     -0:34.6.0 core:confirm (input.hidden-input)
     -0:17 core:close (button.btn.icon.enablement.icon-playback-play)
     -0:12.4.0 project-manager:list-projects (input.hidden-input)
     -0:10.7.0 core:confirm (input.hidden-input)

Non-Core Packages

atom-increment 0.3.4 
file-watcher 1.0.3 
fonts 2.0.0 
git-diff-details 1.4.0 
git-plus 7.3.3 
highlight-selected 0.12.0 
language-docker 1.1.7 
language-pascal 0.20.2 
linter 1.11.23 
merge-conflicts 1.4.4 
minimap 4.26.8 
nord-atom-syntax 0.6.0 
nord-atom-ui 0.10.2 
pigments 0.39.0 
pretty-json 1.6.1 
project-manager 3.3.3 
rest-client 1.3.1 
seti-syntax 1.0.1 
seti-ui 1.6.1 
todo-show 1.11.0 
tree-view-extended 1.0.0 

Option to turn on/off view sections

Love the package! Any chance you can add the option to show or hide the Git Modified or Open Files from the tree-view. Or, maybe have the option to automatically show the Open Files section when the user reaches a certain number of open file/tabs. That way if I only have 3 or 4 files opened I only see the Git Modified section and makes the tree-view cleaner.

Thanks!
Rob

Call for maintainer(s)

Hello everyone!

I unfortunately no longer use Atom regularly and as such don't use this plugin.

If you want to maintain this plugin please let me know! I am no longer maintaining it.

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.