Commit graph

120 commits

Author SHA1 Message Date
Matt Bierner 2f07466dfc
Allow dropping images into notebook cells to create attachments (#180256)
* Allow dropping images into notebook to create attachments

Fixes #157577

This allows you to drag and drop image files or image data into a notebook cell to create an attachment

As part of this work, I also updated the paste attachment logic so that we can:

- Create multiple attachments in a single operation
- Create attachments of other mime types besides `image/png`
- Create attachments for images that have spaces in the filename

* Also allow pasting uri lists to create attachments

* Fix indent

* Add id
2023-04-19 09:39:04 -07:00
Michael Lively ff55375896
Add support for attachment cleaning on notebook save (#179178)
* support for `onWillSave` + debounce rework

* dispose of delayer + tabs not spaces...

* adjust for API naming change, rm proposal refs
2023-04-05 11:44:52 -07:00
Matt Bierner 6aada102db
Add localization comment (#176272)
Add localization message

Fixes #176140
2023-03-06 09:40:56 -08:00
Don Jayamanne bd77e72bbc
Ensure svg+xml output is split into lines (#175724) 2023-03-01 06:48:50 +01:00
Don Jayamanne 5efc2a498a
Localize ipynb extension commands (#172272)
* Localize ipynb extension commands

* More updates
2023-01-26 22:24:22 +01:00
Matt Bierner 116d314e60
Fix watch script exiting on error (#171552) 2023-01-17 14:53:24 -08:00
Aaron Munger 0294a28ca0
attachment field can be null (#170584) 2023-01-05 10:06:36 -08:00
Matt Bierner 57dd298b47
Add typings for test runner scripts (#169196) 2022-12-15 02:19:24 +01:00
aamunger 888fd835ca
don't clean attachments for a cell that is removed 2022-11-17 10:16:13 -08:00
Matt Bierner 1ccc8d438b
Enable pasting of image attachments by default for ipynb (#166058)
Fixes https://github.com/microsoft/vscode-jupyter/issues/11987
2022-11-10 16:46:31 -08:00
Rob Lourens 98f401e8b9
Fix .ipynb extension name capitalization (#164817)
Towards microsoft/vscode-jupyter#11773
2022-10-27 18:05:28 +02:00
Don Jayamanne 43957ccfe1
Compress streams in notebook outputs (#160946)
* Revert "Compress notebook output streams before rendering (#160667)"

This reverts commit 4230c22a08.

* Compress stream output items

* Minor perf improvements

* Misc

* Comments

* Added tests

* Merge issue

* More merge issues

* Misc

* Address code review comments
2022-10-11 14:43:46 -07:00
Joyce Er 7666d7acd4
Avoid * activating ipynb extension (#163325) 2022-10-11 10:53:07 -07:00
Matt Bierner feb3d2d205
Fix null ref in attachments check (#162396)
Fixes #162391

Also reduces use of `any`
2022-09-29 13:15:01 -07:00
Peng Lyu 6e8bc02be4
Cell attachment cleanup tool improvement in diff editor (#161132)
* Move attachment out of custom metadata, prep for attachment clean up in diff editor

* recover attachments from dirty notebook document

* Allow metadata to be restored when content changed/reverted in nb diff editor
2022-09-16 14:12:53 -07:00
Don Jayamanne 4230c22a08
Compress notebook output streams before rendering (#160667)
* Compress notebook output streams before rendering

* OOps

* Combine the buffers manually

* Address code review

* oops

* Fixes

* We can have multiple stream mimes in an output

* oops
2022-09-13 08:56:32 +10:00
Michael Lively 42238bdaab
notebook image cleaning automation (#159212)
* cache and cleaner complete, needs debounce

* minor renaming and reformatting

* bugfix for paste into new cell

* cleaning functionality complete

* refer to metadata as copy of current cell's

* check undef before reading from cache

* working state, pending cache restructure

* dots -> brackets

* pre-class refactor

* massive cleaner refactor

* cache typing, closed nb check, workspaceEdit only if metadata is changed

* undefined access fix

* proper debouncer

* get it up to work again

* no need to loop

* cell metadata uri parsing regression

* diagnostic

* Show diagnostics on document open

* transfer cache before file renames

* disable word wrap in notebook diff editor

* Avoid early notebook cell metadata deep clone

* No special case empty cell

* rename

* better naming

* Quick fix for invalid image attachment

* cleanup

* Add code action metadata

Co-authored-by: rebornix <penn.lv@gmail.com>
2022-09-09 11:32:10 -07:00
Michael Lively 834ad7365b small fix in logic 2022-08-31 15:41:15 -07:00
Matt Bierner 1895178d00
Finalize notebookWorkspaceEdit api (#159613)
Fixes #155245
2022-08-30 15:36:40 -07:00
Michael Lively 05ae151b7d return object, change placeholder 2022-08-25 15:33:50 -07:00
Michael Lively 16f842ea76 fix for attachment naming within notebook metadata 2022-08-25 15:04:56 -07:00
Michael Lively 6671589cdc fix setting description for #159091 2022-08-24 12:20:38 -07:00
Michael Lively 614c7dd5f4 fix conflict demo 2022-08-24 10:37:37 -07:00
Michael Lively 02cb45c3cb
demo merge conflict 2022-08-23 16:10:56 -07:00
Michael Lively ae1167bd94 refactor with updated metadata properties 2022-08-23 16:09:30 -07:00
Matt Bierner f00fde0f24
Mark that notebook metadata is readonly (#158960)
Mark that metadata is `readonly`

Fixes #158955

We freeze the object here 0656d21d11/src/vs/workbench/api/common/extHostNotebookDocument.ts (L70)
2022-08-23 14:52:00 -07:00
Matt Bierner b72671133b
Fix any types and extract method (#158967)
`currentCell` and `notebookUri` are currently any types, which hides type errors. To fix this and clean up the code, I've extracted a new `getCellFromCellDocument` method
2022-08-23 13:57:44 -07:00
Michael Lively 6f7189b7bb refactor metadata into own fxn 2022-08-18 11:58:44 -07:00
Michael Lively 880fda6ed9 fix pasting image into newly created cell bug 2022-08-17 12:17:39 -07:00
Michael Lively 38477bf5f5
change dir of cellAttachmentRenderer (#157671)
* change dir of cellAttachmentRenderer

* add new directories to `.vscodeignore`

* add the .js directories back in...

* hopefully now understanding `.vscodeignore`
2022-08-09 20:00:24 +02:00
Michael Lively 9225503c85
Support for pasting images into markdown notebook cells (#156847)
* dataflow support for updated metadata

* update cellAttachmentRenderer.ts to reflect metadata being a getter() inside MarkupCell

* document paste additions

* update condition to re-render cells, now includes metadata changes

* paste API working, debugging command added

* paste working with metadata. needs numbering, and cleaning upon delete

* paste screenshot works fully

* remove debugging command. Cleaning.

* notebook cells now re-render upon metadata changes

* changed name validity checking, remove unneeded function

* use _document for cell data, use snippet choice, dto fix

* return subscription, for loop, uri fix, alter metadata in-place, better snippet

* metadata fix, object.equals, fix cellAttRenderer metadata call

* added comment with source of encodeBase64

* gate mkdn image paste behind experimental setting
2022-08-08 13:57:49 -07:00
Matt Bierner 68912bd844
Use 'import type' for '@jupyterlab/nbformat' (#157153)
This is a type only dev dep so we should prevent referencing it as a value
2022-08-04 23:46:53 +02:00
Michael Lively 61e8687fa3
Notebook Cells re-render upon changes to metadata (#156917)
* dataflow support for updated metadata

* update cellAttachmentRenderer.ts to reflect metadata being a getter() inside MarkupCell

* update condition to re-render cells, now includes metadata changes

* notebook cells now re-render upon metadata changes

* fix missing metadata update

Co-authored-by: Peng Lyu <penn.lv@gmail.com>
2022-08-03 09:46:12 -07:00
Michael Lively 6fbee10cc1 more checking for undefined objects, fixed bug casuing markdown renderer to entirely crash 2022-07-28 11:53:51 -07:00
Matt Bierner 241c770203
Exclude esbuild files from build (#156362) 2022-07-27 09:32:07 -04:00
Michael Lively 53c3028c47 add notebook-out to .gitignore 2022-07-26 12:29:23 -07:00
Michael Lively 2077ae5120 fix package.json/esbuild.js for files in publish 2022-07-26 12:19:27 -07:00
Peng Lyu e6ad5f0a6f
Update ipynb yarn lock (#156004) 2022-07-22 23:26:14 +02:00
Michael Lively eaf321d50d formatting 2022-07-20 16:12:32 -07:00
Michael Lively 63142212a1 remove md-it dependency, added undefined check to attachments 2022-07-20 16:10:54 -07:00
Michael Lively ff31f6b577
Update package.json 2022-07-20 15:01:40 -07:00
Michael Lively 3a23dda32c
removed commented code 2022-07-20 13:47:26 -07:00
Michael Lively d7b6596808 yarn.lock with yarnpkg instead of npm 2022-07-20 12:35:42 -07:00
Michael Lively 6a73a0d22d rm package-lock.json 2022-07-20 12:25:57 -07:00
Michael Lively 1b59f566bb rendering of attachment images complete via tokens 2022-07-20 12:23:37 -07:00
Michael Lively 735ead82f5 added attachment and metadata support back in... rebasing is scary 2022-07-20 12:23:37 -07:00
Michael Lively 3981a5804c added build stuff 2022-07-20 12:23:37 -07:00
Michael Lively 0fa857c9a1 okay now things are actually fresh and working 2022-07-20 12:23:24 -07:00
Johannes 0656d21d11
auto-fixed prefer-const violation 2022-06-08 17:49:21 +02:00
Matt Bierner 45304da73d
Finalize NotebookEditor api proposal (#149767)
* Finalize NotebookEditor api proposal

Fixes #149271

This finalizes most parts of the NotebookEditor api proposal. I haven't removed the proposal entirely as there are still a few parts being left behind:

- The deprecated properties/functions
- A few contribution points such as `notebook/cell/executePrimary`

* remove extra quote
2022-05-23 23:27:17 +00:00