2013-04-09 14 views
12

Pracuję nad projektem, który używa backendu java/scala (Lift, a dokładniej, ale to nie powinno wpłynąć na to pytanie), i jako część nakładki używamy Ace Editor. Byłem googlowania na chwilę i jeszcze się znaleźć odpowiedź na to pytanie:Jak automatycznie wybrać "tryb" dla edytora Ace, z rozszerzeniem pliku

Given rozszerzenie pliku (np js, c, cpp, h, java, rb, etc), jak mogę automatycznie Pick Ace "tryb" dla odpowiedniego języka?

Mam nadzieję uniknąć ręcznego tworzenia mapy, a la js -> javascript, c -> c_cpp, java -> java. Czy jest dostępna biblioteka Java/Scala? A może jeszcze lepiej, czy Ace ma w jakiś sposób taką wbudowaną funkcjonalność?

Odpowiedz

25

As teraz zapewnia rozszerzenie modelisty, aby to zrobić.

var modelist = ace.require("ace/ext/modelist") 
var filePath = "blahblah/weee/some.js" 
var mode = modelist.getModeForPath(filePath).mode 
editor.session.setMode(mode) // mode now contains "ace/mode/javascript". 

Zauważ, że jeśli używasz prebuilt wersję asa trzeba podać ace.js i ext-modelist.js plików na swojej stronie.
W wersji źródłowej należy zastąpić ace.require przez require, a require.js automatycznie załaduje wszystkie zależności.

Zobacz https://github.com/ajaxorg/ace/blob/master/demo/modelist.html i https://github.com/ajaxorg/ace-builds/blob/master/demo/modelist.html dla przykładów jak to

+0

użycie było to połączone? Jak z niego skorzystać teraz? –

+0

Zaktualizowano odpowiedź, dodając linki do stron demonstracyjnych asa. –

+1

Dziękuję, proszę pana! i oto twoja sprawa. Dodano dokładną komendę do odpowiedzi, aby ułatwić znalezienie. –

Powiązane problemy