2012-05-09 5 views
5

Nun, wie der Titel sagt - wie finde ich heraus, was der aktuell geladene Modus in Ace Editor ist?Wie finde ich den aktuell geladenen Modus (Syntax) in Ace Editor?

editor.getSession(). GetMode() gibt wirklich nichts zurück, was ich verwenden kann - habe die Objekte etwas zurückverfolgt - aber konnte nichts finden.

editor.getTheme() gibt einen String zu mir, dass ich jedoch verwenden können - scheint nur lustig, wenn sie nicht etwas für das gleiche zu tun haben Modus

Antwort

5

Um den Namen des Modus abrufen Sie verwenden:

editor.getSession().getMode().$id 
+0

Funktioniert es? Ich werde undefiniert. – lorefnon

+0

Ja, gehen Sie zu http://ace.ajax.org/#nav=about Öffnen Sie Firebug (oder eine zufällige Konsole) und führen Sie die folgende Zeile aus: editor.getSession(). GetMode(). $ Id – Hugeen

2

Ich versuchte Hugenes Antwort und erlebte die undefined Fehler genau wie lorefnon gemeldet. Das hat bei mir funktioniert:

// get the editor instance 
var editor = ace.edit('editorid'); 

// get the current mode 
var mode = editor.session.$modeId; 

// modeid returns the full string (ace/mode/html), cut to the mode name only 
mode = mode.substr(mode.lastIndexOf('/') + 1); 

Hoffe das hilft jemandem!

+0

Wenn ich versuche ' .getMode(). $ id' im Browser, alles ist in Ordnung, aber es tut nicht, wenn ich das gleiche in meinem Code. '$ modeId' funktioniert aber super! Irgendeine Idee, was der Grund sein könnte? Gibt 'getMode()' möglicherweise die ursprünglichen Moduseinstellungen statt der aktuellen zurück? – CoDEmanX