Как редактор xtext может перевести (например) ->
на символ латекса \rightarrow
?Xtext, преобразовать символ ascii в математические символы
0
A
ответ
1
Посмотрите на хороший особенность autoedit
public class MyDslDefaultAutoEditStrategyProvider extends DefaultAutoEditStrategyProvider {
@Inject
protected Provider<ShortCutEditStrategy> shortCut;
@Override
protected void configureStringLiteral(IEditStrategyAcceptor acceptor) {
acceptor.accept(shortCut.get().configure("->", "\\rightarrow"), IDocument.DEFAULT_CONTENT_TYPE);
}
}
и не забудьте связывающую
override Class<? extends AbstractEditStrategyProvider> bindAbstractEditStrategyProvider() {
MyDslDefaultAutoEditStrategyProvider
}
+0
Я просто заменил «\\ rightarrow» символом кода Unicode :-) – Johan
0
Это довольно просто, используя JavaScript
. Этот простой сценарий должен помочь:
replaceText('->', '\rightarrow');
var replaceText = function (search, replaceWith) {
var area = document.getElementById("area");
var getCount = function (str, search) {
return str.split(search).length - 1;
};
if (area.value.indexOf(search) >= 0) {
var start = area.selectionStart;
var end = area.selectionEnd;
var textBefore = area.value.substr(0, end);
var lengthDiff = (replaceWith.length - search.length) * getCount(textBefore, search);
area.value = area.value.replace(search, replaceWith);
area.selectionStart = start + lengthDiff;
area.selectionEnd = end + lengthDiff;
}
};
Этот полный текст может быть легко адаптирован для вашего использования - вот полный пример.
<textarea id="area"></textarea>
<script>
function keyDownTextField() {
replaceText('->', '\u2192');
}
var replaceText = function (search, replaceWith) {
var area = document.getElementById("area");
var getCount = function (str, search) {
return str.split(search).length - 1;
};
if (area.value.indexOf(search) >= 0) {
var start = area.selectionStart;
var end = area.selectionEnd;
var textBefore = area.value.substr(0, end);
var lengthDiff = (replaceWith.length - search.length) * getCount(textBefore, search);
area.value = area.value.replace(search, replaceWith);
area.selectionStart = start + lengthDiff;
area.selectionEnd = end + lengthDiff;
}
};
document.addEventListener("keydown", keyDownTextField, false);
</script>
Смежные вопросы
- 1. Как преобразовать ASCII в символ в Android?
- 2. Как преобразовать символ в ascii в javascript
- 3. как читать математические символы
- 4. Преобразовать Non-ASCII в символы Юникода
- 5. преобразовать в символы ASCII VB.net ssis
- 6. преобразовать символы ascii в кодировку ruby
- 7. JQuery - преобразовать символы ascii обратно в HTML
- 8. преобразовать специальные символы в таблицу ascii php
- 9. Как преобразовать символ ASCII в десятичное число?
- 10. Как преобразовать символ ASCII в CGKeyCode?
- 11. Как преобразовать номер в символ ASCII?
- 12. python: преобразовать символ ascii в логический массив
- 13. Преобразовать символ ASCII числового значения в Java
- 14. Математические символы в vim
- 15. Математические символы в листингах
- 16. Как преобразовать символ ascii в строку в символ в jquery?
- 17. Pharo: Как преобразовать символ ASCII в десятичный знак ASCII
- 18. Как преобразовать символ ASCII в его значение ASCII int?
- 19. Как преобразовать символы ASCII в строку в Android?
- 20. Заменить математические символы в файле
- 21. Emacs набора-бросить-символ ASCII символы
- 22. как преобразовать целочисленное значение в конкретный символ ascii в C++
- 23. Как преобразовать символы ASCII в строки в Python
- 24. Снятие управления ASCII-символы
- 25. Математические символы набора в HTML
- 26. Как использовать математические символы в Interface Builder
- 27. Как преобразовать широкую строку в ASCII
- 28. Non-ASCII символы - преобразование из станд :: строки на символ *
- 29. Специальные символы для ASCII
- 30. Не-ASCII-символы в C
Это на Eclipse, XText правильно? –
Да, eclipse Xtext – Johan