Я нашел это.
Динамические шаблоны является ответом.
Очень просто:)
{
"mappings": {
"doc": {
"dynamic_templates": [
{
"objs": {
"match_mapping_type": "object",
"mapping": {
"type": "{dynamic_type}"
}
}
},
{
"attrs": {
"match_mapping_type": "*",
"mapping": {
"type": "text",
"fields": {
"raw": {
"type": "keyword"
},
"long": {
"type": "long",
"ignore_malformed": true
},
"double": {
"type": "double",
"ignore_malformed": true
},
"date": {
"type": "date",
"format": "dd/MM/yyyy||dd/MM/yyyy HH:mm:ss||dd/MM/yyyy HH:mm",
"ignore_malformed": true
}
}
}
}
}
],
"dynamic": "strict",
"properties": {
"fixed": {
"properties": {
"aaa": {
"type": "text"
},
"bbb": {
"type": "long"
},
"ccc": {
"type": "date",
"format": "dd/MM/yyyy"
}
}
},
"dyn": {
"dynamic": true,
"properties": {
}
}
}
}
}
}
Ну, существует Vim, который уже идет с большим количеством языков, покрытых и который легко настроить на язык.
Vim имеет тонны поддержки определенного для типа файла удовлетворения требованиям заказчика. Вы могли бы найти то, что Вы ищете там.
Можно включить файл ~/.vim/ftplugin/
для каждого типа файла. Например, набор ~/.vim/ftplugin/c.vim
кому:
set tabstop=2 shiftwidth=2
Это устанавливает Ваше добавление отступа для файлов C к двум пробелам.
Можно использовать энергию. Если Вы находитесь на GNU/Linux, смотрите на/etc/vim/vimrc для глобальных значений по умолчанию. Некоторыми вещами, которые можно хотеть, является "синтаксис на" "отступе типа файла на" и "набор showmatch".
Как Darrin говорит, "сбегите из vi пустоши" и охватите один истинный путь энергии вместо этого! Ваши желаемые предпочтения языка, предполагая, что они не для SNOBOL или Simula, поблагодарят Вас!
Править: На самом деле расширение подсветки синтаксиса для покрытия SNOBOL или Simula не было бы этим трудно! (-: