2017-03-18 1 views
0
私はテキストは

モナコエディタ:どのように私は、プロパティ、演算子と値などに、エディタでテキストを解析ん

を以下の私になるモナコエディタ

var editor = monaco.editor.create(document.getElementById('container'), { 
         value: ['aso.EnvironmentName = "DEV"' 
         ].join('\n'), 
         language: 'typescript' 
editor.getValue(); 

に入力された取得する方法を知っている

aso.EnvironmentName = "DEV" 

私が欲しいのはこのセレクタは何かfollowiを取得し、この

{ 
object:'aso', 
property:'EnvironmentName', 
operator:'=', 
value:'DEV' 
} 

に似て何かありながら、私がさらに.split( '')を解析することができる。

$.each($('span[class^="mtk"]'),function(idx,s){ 
    console.info(idx,$(s).html()); 
}); 

私には次のようなものがあります。私はそれが難しい文字列

0 "aso.EnvironmentName = " 
1 ""DEV"" 

の種類と性質が、これは私が編集者のAPIから行うことができるものであるので、それはEnvironmentNameプロパティを識別し、ポップアップを提供してモナコのオブジェクトは、私が欲しいものを返すことができないことを信じることを見つけます?または私は適切な反射ツールを使用できる私のサービスにテキストを送り返す必要がありますか?自分の質問に答える

答えて

1

....

ソリューションはmonaco.editor.tokenize()を使用することであり、それは各トークンのインデックス位置の配列とその型を返す

、その後

let m = editor.getModel(); 
m.getWordAtPosition(m.getPositionAt(34)) 

実際のトークンを取得する

関連する問題