* get children of unexpanded books
* highlight item inside collapsed parent in treeView
* fix path issue on windows
* refactor common code into separate func
* refactor
* highlight correct notebook on navigation.
* add back behavior of highight on viewlet visible
* optimize bookViewer create
* createTreeView for every book
* initial commit
* Add Reveal in Books editor tab context option
* Select item in books viewlet automatically
* changes
* easier than i thought it'd be
* added file watcher on toc file v1
* Merge from Feat/create book
* Undo Merge from Feat/create book
* Use fsPath instead of path
* repen book on toc update
* update book in-place
* fix close book
* error handling for closeBook
* PR comments
* addressed comments
* moved the watch block to try ,watch vs watchFile
Co-authored-by: chlafreniere <hichise@gmail.com>
Co-authored-by: Chris LaFreniere <40371649+chlafreniere@users.noreply.github.com>
* Add Reveal in Books editor tab context option
* Select item in books viewlet automatically
* changes
* easier than i thought it'd be
* Merge from Feat/create book
* Undo Merge from Feat/create book
* Use fsPath instead of path
* PR comments
* Fix tests
Co-authored-by: Maddy <12754347+MaddyDev@users.noreply.github.com>
* added secondary action
* create book command
* open as untitled
* create toc.yml and update title
* added comments
* throw error if filenames have unsupported chars
* update prompt message
* remove the toLocaleLower
* added await
* moced createbookpath out of the command handler
* removed tolocalelower and added comments
* moved the formatting and file handling code from core to notebook
* fixes for contents with folders
* collapse the code cell
* remove output
* reused existing command to open book
* comment typu and added await
* add saved/untitled views to the books viewlet and provide save option to untitled
* addressed comments
* fixes after merge
* await on async methods
* reverted back
* await on promise
* added localize for books view names
* initial commit
* missed a file change
* changes to make the merges work part1
* fixes after merges 2
* getChildren to get all books
* chnages to address comments
* fsPromises instead of fs.readSync
* merged master
* replaced deprecated fs.exists async call with pathExists
* renamed method
* Add abillity to open to specific item within a Jupyter book
* Move helper method into BookTreeItem class
* Fix default URL path
* Add typing to Jupyter book code
* Update comment and typings
* Fix compile error and cleanup
* added tests for getBooks and getTableOfContents
* update tests for new getTableOfContents method
* wait for all toc.yml to be found
* add event to signal all toc.yml files read
* add workspae folder parameter back
* remove toc filter
* added timeout logic
* added test for invalid toc.yml
* added tests for invalid toc.yml file format
* added tests for error handling
* update uuid package
* increase timeout time
* change workspacefolder to string
* initial commit
* fix: added initialize method to fix the previous/next links rendering
* added checks
* open first markdown/ipynb in the book ans expand the view
* added launch book from command pallete, removed the pick folder and save option added launching the first notebook/markdown
* moved the open book command pallet action from mssql to notebooks
* open as untitled to true
* opening markdown files issue fix
* removed opening as untitled files
* open ipynb files as untitled and changes for previous&next links to work
* add books as seperate viewlet
* localize double quote issues and renamed treeCollapsibleState
* renames and added logic to conditionally show Preview command
* moved registerCommands from widget to extension contribution
* isEditorUntitled check
* async comment updates
* formatting issues.
* promisfying the async calls
* moved existsAsync to top
Issue here is that for some reason click in tree causes 2 events:
- Selection Changed
- Resource Opened
Due to this, we get the markdown event 2 times and this misbehaves.
I am not confident in changing markdown so implemented similar pattern:
- Throttle requests if they're for the same resource inside 300ms
- This means 2nd event is ignored
Testing:
- Manual, clicked a bunch of markdowns
- It "just works" for me now
* added previous and next buttons
* previous and next notebook API
* links for prev/next notebooks
* fixed first and last pages
* made code more readable
* addressed Kevin's comments
* moved logic over to BookTreeItem
* show buttons in dev mode only
* added BookTreeItemFormat interface
* added interface and enum
* removed localize call