Chcę dodać listę zdefiniowanych przez użytkownika funkcji i zmiennych do autouzupełniania edytora asa. Aby to zrobić Chcę zbadać cały wstawiony do dokumentu użytkownika kodu, znaleźć określone funkcje (i ich argumentów), zdefiniowane zmienne i ich zakres, itpDodawanie do ace-editor mądrego autouzupełniania: Lista zdefiniowanych przez użytkownika funkcji i zmiennych (język javascript)
Główne pytanie
Czy to już dane obliczony gdzieś w ace kodu źródłowego (lub język-plugin) i może po prostu chwycić go w sposób `
Co chcę
dla exapmle, jeśli użytkownik wprowadzony kod jak poniżej:
var var0 = 'abcd';
function foo(var1, var2){
var var3 = 'efg';
}
Chcę dodać do pola autouzupełniania, funkcja o nazwie "foo" z dwoma parametrami - var1 i var2. Chcę dodać także listę zmiennych var0 do zmiennych oraz dodać var3 właśnie wtedy, gdy użytkownik pisze w zakresie, w którym został zdefiniowany (w funkcji).
co już wie:
- wiem jak włączyć autouzupełnianie i na żywo autouzupełniania.
- wiem jak add new completer
- wiem, że wbudowane w Podstawowy autouzupełnianie dodając wszystkie słowa w dokumencie bez wyjątku
- wiem o ace-tern plugin, i nie sądzę, chcę go używać. Na razie jest jeszcze hackowaty, pozbawiony dokumentów i nie wiem, jak go włączyć.
- Wiem, że Ace ma już niektóre dane, które znam po. Na przykład ostrzega, gdy zmienna jest ponownie zdefiniowana, gdy jest już zdefiniowana w tym samym zakresie. Miała więc listę zmiennych i ich zakres. Zgaduję, że używa on jshint - ale czy istnieje sposób, aby go pobrać?
- Czytam ace documation i znajduję wiele przydatnych metod, których mogę użyć do wyodrębnienia danych, jeśli muszę. Pytanie brzmi, czy naprawdę muszę to zrobić sam.
Czytałaś że: https://github.com/ajaxorg/ace/wiki/Creating-or- Rozszerzanie-trybu-edycji # rozszerzanie TheHighlighter Zalecam również, aby zobaczyć problemy, a następnie pobrać żądanie (otwórz/zamknij) – Aminadav
https://github.com/ajaxorg/ace/pulls , na przykład: https: // github.com/ajaxorg/ace/pull/2213 – Aminadav
Tak, czytam strony wiki i szukam w zagadnieniach github/PR. Dzięki. – anysite