Как раскрасить слова в codemirror с условием?
Я строю свой собственный язык на codemirror , у меня есть массив, содержащий имя моих классов, и у меня также есть temp array (когда я набираю имя класса, то загружаю поля этого класса в temp array)
Например, если у меня есть два класса:
Имя первого класса-это данные, а его поля-это:
fname, lname, возраст
Имя второго класса-информация, а его поля -:
мать, отец
когда я печатаю на codemirror данные затем темп массива содержат (имени,lname в,данных), когда я типа на codemirror информация затем темп массива содержат (мать,отец)
Чего я хочу
Цвет поля в определенный цвет, только если оно происходит от имени собственного класса (мне.е, когда я типа на данные codemirror.имени, я хочу цвет Слово имени, в синий цвет, но когда я типа на codemirror информация.имени, я не хочу, чтобы цвет слова имени, в синий цвет, потому что (имени не содержатся в классе "информация"))
Что я пытаюсь
<pre lang="Javascript">CodeMirror.defineMode("mymode", function() { return { token: function(stream,state) { for (var i = 0; i <classname.length ;="" i++)="" {="" if="" (stream.match(classname[i])="" )="" return="" "style1";="" }="" for="" (var="" i="0;" <temp.length="" (stream.match(temp[i])="" "style2";="" };="" });<="" pre="">
Моя проблема в моей попытке
содержание массива temp изменяется, когда я набираю имя класса на codemirror ... Итак, что произошло : когда я печатаю на данные codemirror.имени, то слово имени, цвет в синий, но если я Тип на codemirror данных.имени информация.мама (пока я типа информация.слово мать Цвет имени в голубое, потому что оно содержит в темп массива (имени,lname в,данных), но после того, как я типа информация.мать содержать темп массива является изменение (мать,отец) ) так что цвет имени, стал черный
эта картина показывает вам выполнение
здесь слово "fname" окрашено в синий цвет :
[^]
здесь цвет слова "fname" изменился и стал черным:
https://i.stack.imgur.com/DF2U7.png[^]
Я знал свою проблему, потому что содержание массива temp-это изменение... Но я не могу найти способ решить эту проблему... так что какая-нибудь помощь?
Что я уже пробовал:
моя попытка в моем вопросе выше ... любая помощь я очень стараюсь
Member 12702368
кто-нибудь поможет ?