javascript - Get value between matching tags? (CodeMirror) -


i'm using codemirror 5.3.

i'm tag matching html in mixed-mode document highlight start , end tags - works well. (https://codemirror.net/demo/matchtags.html)

i'm trying capture content between markers (in case using context-menu action right-click on tags), can send off external process.

i use var tm = doc.getallmarks(); , because i'm tag matching , not bookmarking, pretty know there's going 2 items in array. however, textmarker array returns doesn't (as far can tell) contain {line, ch} cursors marks.

is there proper way starting , ending positions of marks - either directly or lines , character positions? best can think of iterating each:

[].lines[0].parent.lines 

and looking see if each instance of codemirror.line has markedspans object, give me line index, , use [].lines[0].markedspans[0].from , [].lines[0].markedspans[0].to find positions of characters in mark. , use doc.getrange grab content , shuffle off processing... this:

var tm = doc.getallmarks(),     lines = tm[0].lines[0].parent.lines,     range = {         from: { line: 0, ch: 0},         to: { line: 0, ch: 0 }     },     hack = 0,     textcontent = ""; (var i=0,j=lines.length;i<j;i++) {     if (lines[i].hasownproperty("markedspans")) {         if (hack==0) { // sorry, i'm in hurry             range.from.line = i;             range.from.ch = lines[i].markedspans.from;             hack=1;         } else {             range.to.line = i;             range.to.ch = lines[i].markedspans.to;         }     } } textcontent = doc.getrange(range.from,range.to); 

all sounds pretty glitchy, , i'm looking better way.

you can call .find() on object returned marktext, return {from, to} position of marker (or null if marker cleared).


Comments

Popular posts from this blog

angularjs - ADAL JS Angular- WebAPI add a new role claim to the token -

php - CakePHP HttpSockets send array of paramms -

node.js - Using Node without global install -