CodeMirror 6 plugin (alpha)

Thank you @StS

Does this plugin insert the subsume snippet automatically?

Yes.

My trigger to list my tiddlers is ///.
When I select one out of the list (eg. Test 3) and I press ‘Enter’, it writes <<subsume “Test 3” >>

Another trigger is (((. Same behavior but with the option to edit the ebetted tiddler.
<<subsume-edit “Test 7” >>

Here the official readme:

## $:/plugins/giffmex/subsume/readme

The Subsume plugin allows you to "subsume" (insert) one tiddler inside another under a slider and either

* a link (to open in view mode) `<<subsume "tiddler title">>` or start with `///` for selection to existing tiddler
* or a button (to open in edit mode). `<<subsume-edit "tiddler title">>` or start with `(((` for selection to existing tiddler

For usage instructions see the demo site: https://giffmex.org/gifts/subsume.html

@StS are you using auto complete plug in by Maurycy for triggering. Is it compatible with codemirror6 plug in?

No, I’m not using auto complete plug in by Maurycy

Maybe the workaround, I described, is a possible solution…

or

Subsume Plugin can be made compatible with codemirror / codemirror-6

I believe it can be made compatible by detecting a sequence and triggering actions in that case

Hi @StS , what do you think about the following proposal

We can create tiddlers with the tag $:/tags/CodeMirror/Action and in their text field we write a text-operation action-message like wrap-selection (or whatever action you want)
Then we add a “string” field which should contain the sequence of characters that you want to type for the action to trigger.
When you add the string /// as an example, after typing /// it gets deleted and replaced by whatever you define. Or another action gets triggered like opening the sidebar :laughing: . It’s up to you. But most likely you want to trigger a text-operation message.


I’m proposing that because I have it already working :slight_smile:


In your case you would add a tiddler with the tag $:/tags/CodeMirror/Action, the string field containing /// and the text field containing <$action-sendmessage $message="tm-edit-text-operation" $param="wrap-selection" prefix="<<subsume " suffix=">>"/>

What do you think?

Hi all,

Now the CodeMirror Actions are online (version 0.0.43)

You can trigger actions by typing character sequences

  • create a tiddler tagged $:/tags/CodeMirror/Action
  • write some actions in its text field, most likely an <$action-sendmessage $message="tm-edit-text-operation" ... />
  • add the field string and put a character sequence into it, which should trigger the action when you type it
  • type the sequence in a codemirror 6 editor

There’s also the new fullscreen button, but ignore that for a while, it’s making trouble

Best wishes,
Simon

3 Likes

@BurningTreeC I am noticing a bug when codemirror6 plug in is used with editor-autolist plug in. Check this demo wiki - https://editor-autolist-codemirror6-bug.tiddlyhost.com/

A red color error message is seen if we type something and try to press enter key.

This can be avoided by pressing shift+enter

Hi @arunnbabu81

the problem with the editor-autolist plugin is that it uses its own text-operation which is not adapted to the way codemirror creates the operation

codemirror creates an Array of Objects of operations and this plugin expects a simple Object

the problem must be solved in the plugin itself by testing if operation instanceof Array and doing its logic for each Object in the Array

Hi Simon,
that works, thanks.

Typing /// will show:
grafik

Typing tes will show:

Typing "te will show:
grafik

→ Is there a way to display grafik when Subsume is triggert by ///?


Another issue:

Typing normal Text will automatic trigger a pulldown:
grafik

Thanks in advance!
Stefan

Hi @StS

you can specify a completionMinLength in the tiddler $:/config/codemirror-6/completionMinLength
set that maybe to 2 or 3

put <<subsume " in a tiddler and ">> in another tiddler and transclude those tiddlers:

<$action-sendmessage $message="tm-edit-text-operation" $param="wrap-selection" prefix={{tiddler 1}} suffix={{tiddler 2}}/>

This works fine - thanks. :+1:

After using Subsume it doesn’t start at the beginn of next line when pressed Enter


Strange behavior during typing some text in the actual tiddler → tiddler is “jumping” out of screen

Start:

typing some letters:

Scroll back to the top:

Hi @StS

That should now be fixed - by using the markdown completion for text/vnd.tiddlywiki tiddlers
At some point I hope we have a dedicated wikitext completion

Oh, I didn’t notice that yet. How can I reproduce it?

@saqimtiaz Can something be done about this issue?

I believe, at the first stage, it is important to have basic CodeMirror 6 working! Plugins compatibility can be checked at the later stage.

Checked on Win 10 / FF 117 /Edge 116 works fine.

  • spellchecker works (a headache in previous version)
  • tab works (wonderful to be used like autolist)
  • fold/unfold sections works
  • fullscreen on/off works
  • autocomplete with actions works
  • light/dark palettes works

I just confused with autocomplete

Q1. In CM5 we had to install two autocomplete plugins: close brackets and autocomplte? Are these part of CM6?

Q2. If you define macros in a tiddler tagged with $:/tags/Macro, CM6 autocomplete does not recognize it.

Hi @atronoush

great that these things already work for you!

autocomplete should work for tiddler titles and variables/macros now

Edit: fullscreen doesn’t work correctly at the moment when the preview is open

The editor-autolist plugin implements text-operations in line with what the core expects. Unless there is a very compelling and unavoidable reason to change that, I would expect an editor plugin to support text-operations as used by the core.

The editor plugin has complete control over how text-operations are invoked and should be able to make any necessary adjustments there, rather than necessitate rewriting text operations.

Works in CM 6 v0.0.51
Thank you!

Hi @saqimtiaz

I totally understand your point and want to see what I can do in that regard

I have to see if I still have complete control over this… I’m a bit skeptical

Best,
Simon

1 Like

Thats working fine now - thank you :slight_smile:

Open a new Tiddler:
grafik

type j
grafik

type k
grafik

you can reproduce it by typing jkjkjk…