├── .gitignore ├── CHANGELOG.md ├── LICENSE.md ├── README.md ├── autoload └── bslcomplete.vim ├── doc └── bsl.txt ├── ftdetect ├── bsl.vim └── sdbl.vim ├── ftplugin └── bsl.vim ├── indent └── bsl.vim ├── plugin └── bsl.vim ├── setup └── .ctags ├── snippets └── bsl.snippets └── syntax ├── bsl.vim └── sdbl.vim /.gitignore: -------------------------------------------------------------------------------- 1 | /tests 2 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | This is the Changelog for the vim-language-1c-bsl project. 4 | 5 | ## [0.3] 6 | 7 | * Добавлена документация по командам 8 | * Добавлена опция отключения подсветки SDBL внутри BSL 9 | 10 | ## [0.2] 11 | 12 | * Добавлена функция автоматической установки отступов. 13 | * Определены расширения для файлов `1C (SDBL)` (*.query, *.sdbl). 14 | * Исправлена ошибка подсветки запросов в файлах `1C (BSL)`. 15 | Ключевые слова запроса подсвечивались во всем файле. 16 | * Оптимизированы грамматики `1C (SDBL)`. 17 | * Добавлена поддержка сворачивания участков кода заключенных в конструкцию вида '#Область'...'#КонецОбласти'. 18 | Поддерживаются вложенные конструкции. 19 | * Добавлено автодополнение для процедур и функций текущего файла, с выводом в подсказке параметров метода. 20 | * Добавлено автодополнение для переменных текущего файла, объявленных с использование ключевого слова `Перем`. 21 | Автодополнение не учитывает области видимости переменной. 22 | 23 | ## [0.1] - Первый релиз 24 | 25 | * Добавлена подсветка для русского и английского синтаксиса языка `1C (BSL)` 26 | * Добавлена подстветка синтаксиса языка запросов `SDBL` 27 | * Добавлена поддержка шаблонов кода [vim-snipmate](https://github.com/garbas/vim-snipmate) 28 | * Добавлена поддержка плагина [tagbar](https://github.com/majutsushi/tagbar) 29 | * Добавлена возможность сворачивать блоки кода процедур и функций 30 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | ===================== 3 | 4 | Copyright © `2016` `Andreev Alexander` 5 | 6 | Permission is hereby granted, free of charge, to any person 7 | obtaining a copy of this software and associated documentation 8 | files (the “Software”), to deal in the Software without 9 | restriction, including without limitation the rights to use, 10 | copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the 12 | Software is furnished to do so, subject to the following 13 | conditions: 14 | 15 | The above copyright notice and this permission notice shall be 16 | included in all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, 19 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 20 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 24 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 25 | OTHER DEALINGS IN THE SOFTWARE. 26 | 27 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Поддержка языка 1С:Предприятие 8 (BSL) в VIM 2 | 3 | Добавляет подсветку встроенного языка 1С:Предпрятие 8 файлам \*.bsl и \*.os - синтаксис `1C (BSL)`. 4 | 5 | # Связи с другими проектами 6 | Разработка основана на данных репозитария [xDrivenDevelopment/1c-syntax](https://github.com/xDrivenDevelopment/1c-syntax). 7 | 8 | # Возможности 9 | * Подсветка синтаксиса для русского и английского языка `1C (BSL)` 10 | * Подсветка синтаксиса для русского и английского языка запросов `1C (SDBL)` 11 | * Поддержка шаблонов кода с помощью плагина [vim-snipmate](https://github.com/garbas/vim-snipmate) 12 | * Поддержка просмотра списка процедур и функций текущего файла с помощью плагина [tagbar](https://github.com/majutsushi/tagbar) 13 | * Поддержка сворачивания блоков кода процедур, функций и областей (#Область) 14 | * Автоматическая расстановка отступов при переходе на новую строку 15 | * Автодополнение для процедур и функций текущего файла, с выводом в подсказке параметров метода 16 | * Автодополнение для переменных текущего файла, объявленных с использование ключевого слова `Перем` 17 | 18 | # Зависимости 19 | * [Vundle.vim](https://github.com/VundleVim/Vundle.vim) 20 | * [vim-snipmate](https://github.com/garbas/vim-snipmate) 21 | * [vim-addon-mw-utils](https://github.com/MarcWeber/vim-addon-mw-utils) 22 | * [tlib_vim](https://github.com/tomtom/tlib_vim) 23 | * [tagbar](https://github.com/majutsushi/tagbar) 24 | * [Exuberant ctags](http://ctags.sourceforge.net/)(минимальная версия 5.9) или [universal-ctags](https://github.com/universal-ctags/ctags) 25 | 26 | # Установка 27 | Установим менеджер пакетов Vundle для vim [Vundle.vim](https://github.com/VundleVim/Vundle.vim) 28 | 29 | Настроим файл `~/.vimrc` 30 | ```vim 31 | set nocompatible " be iMproved, required 32 | filetype off " required 33 | 34 | "===================================================== 35 | " Vundle settings 36 | "===================================================== 37 | " set the runtime path to include Vundle and initialize 38 | set rtp+=~/.vim/bundle/Vundle.vim 39 | call vundle#begin() 40 | 41 | Plugin 'VundleVim/Vundle.vim' " let Vundle manage Vundle, required 42 | 43 | "---------=== Code/project navigation ===------------- 44 | Plugin 'majutsushi/tagbar' " Class/module browser 45 | 46 | "--------------=== Snippets support ===--------------- 47 | Plugin 'garbas/vim-snipmate' " Snippets manager 48 | Plugin 'MarcWeber/vim-addon-mw-utils' " dependencies #1 49 | Plugin 'tomtom/tlib_vim' " dependencies #2 50 | 51 | "--------------=== 1С(BSL)===--------------- 52 | Plugin 'andreevlex/vim-language-1c-bsl' " 53 | 54 | call vundle#end() " required 55 | filetype on 56 | filetype plugin on 57 | filetype plugin indent on 58 | ``` 59 | Запускаем `vim` и набираем команду `:PluginInstall` 60 | 61 | После успешной установки добавим в файл `~/.vimrc` настройку для поддержки шаблонов 62 | ```vim 63 | " указываем каталог с настройками SnipMate 64 | let g:snippets_dir = "~/.vim/bundle/vim-language-1c-bsl/snippets" 65 | ``` 66 | 67 | Копируем файл `./setup/.ctags` в домашнюю папку `~/.ctags` 68 | 69 | # Снимки экрана Gvim 70 | ![vim-syntax-1c-bsl](https://cloud.githubusercontent.com/assets/20382553/19023013/51bbcf1c-88f5-11e6-89a0-406e6716c4ee.png) 71 | ![vim-language-1c-sdbl](https://cloud.githubusercontent.com/assets/20382553/19448621/af0fa6e2-94b3-11e6-948a-a46821e181d2.png) 72 | 73 | # Снимок экрана Vim (терминал) 74 | ![vim-1c-bsl-terminal](https://cloud.githubusercontent.com/assets/20382553/19032706/744de89a-896c-11e6-9acf-0ef9e859aaf9.png) 75 | -------------------------------------------------------------------------------- /autoload/bslcomplete.vim: -------------------------------------------------------------------------------- 1 | " Vim completion script 2 | " Language: 1C (BSL) 3 | " Maintainer: Andreev Alexander 4 | " Last Change: 04/02/2017 5 | 6 | function! bslcomplete#Complete(findstart, base) 7 | 8 | if a:findstart 9 | " locate the start of the word 10 | let line = getline('.') 11 | let start = col('.') - 1 12 | 13 | let b:context = strpart( getline('.') , 0 , start + 1 ) 14 | let b:tokens = split(b:context,'\s\+') 15 | 16 | if len(b:tokens)==0 17 | return -1 18 | else 19 | let last_token = remove(b:tokens,-1) 20 | return col('.')-strlen(last_token)-1 21 | endif 22 | 23 | return start 24 | else 25 | " Initialize base return lists 26 | let res = [ ] 27 | let res2 = [ ] 28 | 29 | let lines = getline(1,'$') 30 | 31 | " Get variables data. 32 | let variables = filter(copy(lines), 'v:val =~? "\\(перем\\|var\\)\\s"') 33 | call map(variables, 'matchstr(v:val, "\\c.\\{-}\\(перем\\|var\\)\\s\\+\\zs.*\\ze")') 34 | call map(variables, 'substitute(v:val, ";\\|$", ",", "g")') 35 | let vars = [] 36 | " This loop (and next one) is necessary to get variable names from 37 | " constructs like: var var1, var2, var3 = "something"; 38 | for i in range(len(variables)) 39 | let comma_separated = split(variables[i], ',\s*') 40 | call map(comma_separated, 'matchstr(v:val, "\\k\\+")') 41 | let vars += comma_separated 42 | endfor 43 | 44 | let variables = sort(vars) 45 | unlet! vars 46 | 47 | " Get functions and procedures 48 | let functions = filter(copy(lines), 'v:val =~? "^\\s*\\(функция\\|function\\|процедура\\|procedure\\)\\s"') 49 | let arguments = copy(functions) 50 | call map(functions, 'matchstr(v:val, "\\c^\\s*\\(функция\\|function\\|процедура\\|procedure\\)\\s\\+\\zs\\k\\+")') 51 | call map(functions, 'v:val."("') 52 | let functions = sort(functions) 53 | 54 | " Create table to keep arguments for additional 'menu' info 55 | let b:bsl_menuinfo = {} 56 | for i in arguments 57 | let g:ia = i 58 | let f_elements = matchlist(i, '\c\(функция\|function\|процедура\|procedure\)\s\+\(\k\+\)\s*(\(.\{-}\))') 59 | let b:bsl_menuinfo[f_elements[2].'('] = f_elements[3] 60 | endfor 61 | 62 | let values = variables + functions 63 | 64 | for m in values 65 | if m =~? '^'.a:base 66 | call add(res, m) 67 | elseif m =~? a:base 68 | call add(res2, m) 69 | endif 70 | endfor 71 | 72 | let menu = res + res2 73 | let final_menu = [] 74 | for i in range(len(menu)) 75 | let item = menu[i] 76 | if item =~ '($' 77 | let kind = 'f' 78 | if has_key(b:bsl_menuinfo, item) 79 | let m_info = b:bsl_menuinfo[item] 80 | else 81 | let m_info = '' 82 | endif 83 | else 84 | let kind = 'v' 85 | let m_info = '' 86 | endif 87 | let final_menu += [{'word':item, 'menu':m_info, 'kind':kind, 'icase':1}] 88 | endfor 89 | 90 | return final_menu 91 | endif 92 | 93 | endfunction 94 | -------------------------------------------------------------------------------- /doc/bsl.txt: -------------------------------------------------------------------------------- 1 | *bsl.txt* Filetype plugin for language 1С:Enterprise BSL 2 | 3 | ============================================================================== 4 | CONTENTS *bsl* *ft-bsl* 5 | 6 | 1. Introduction |bsl-intro| 7 | 2. Settings |bsl-settings| 8 | 3. Commands |bsl-commands| 9 | 10 | ============================================================================== 11 | INTRODUCTION *bsl-intro* 12 | 13 | This plugin provides syntax and supporting functionality for the language 14 | 1С:Enterprise BSL filetype. 15 | 16 | ============================================================================== 17 | SETTINGS *bsl-settings* 18 | 19 | This plugin has a few variables you can define in your vimrc that change the 20 | behavior of the plugin. 21 | 22 | *bsl_fold* 23 | bsl_fold~ 24 | Set this option to enable the code folding: > 25 | let bsl_fold = 1 26 | < 27 | 28 | *sdbl_syntax_disable* 29 | sdbl_syntax_disable~ 30 | Set this option to disable the syntax highlighting Query text: > 31 | let g:sdbl_syntax_disable = 1 32 | < 33 | 34 | ============================================================================== 35 | COMMANDS *bsl-commands* 36 | 37 | ============================================================================== 38 | vim:tw=78:sw=4:noet:ts=8:ft=help:norl: 39 | -------------------------------------------------------------------------------- /ftdetect/bsl.vim: -------------------------------------------------------------------------------- 1 | " Vim filetype detect 2 | " Language: 1C (BSL) 3 | " Maintainer: Andreev Alexander 4 | " Last Change: 30/10/2016 5 | 6 | au BufNewFile,BufRead *.bsl,*.os setf bsl 7 | -------------------------------------------------------------------------------- /ftdetect/sdbl.vim: -------------------------------------------------------------------------------- 1 | " Vim filetype detect 2 | " Language: 1C (SDBL) 3 | " Maintainer: Andreev Alexander 4 | " Last Change: 18/12/2016 5 | 6 | " Only do the rest when the FileType autocommand has not been triggered yet. 7 | if did_filetype() 8 | finish 9 | endif 10 | 11 | " filetype detect 1C(SDBL) 12 | au BufNewFile,BufRead *.sdbl,*.query set ft=sdbl 13 | -------------------------------------------------------------------------------- /ftplugin/bsl.vim: -------------------------------------------------------------------------------- 1 | 2 | setlocal omnifunc=bslcomplete#Complete 3 | -------------------------------------------------------------------------------- /indent/bsl.vim: -------------------------------------------------------------------------------- 1 | " Vim indent file 2 | " Language: 1C(BSL) 3 | " Maintainer: Alexander Andreev 4 | " Created: 10/12/2016 5 | " Last Change: 10/12/2016 6 | " 7 | 8 | if exists("b:did_indent") 9 | finish 10 | endif 11 | 12 | let s:save_cpo = &cpo 13 | set cpo&vim 14 | 15 | let b:did_indent = 1 16 | 17 | setlocal tabstop=4 18 | setlocal softtabstop=4 19 | setlocal shiftwidth=4 20 | 21 | setlocal indentexpr=GetBslIndent(v:lnum) 22 | setlocal indentkeys=!^F,o,O 23 | 24 | let b:undo_indent = "setl indentkeys< indentexpr<" 25 | 26 | if exists("*GetBslIndent") 27 | finish 28 | endif 29 | 30 | 31 | function! GetBslIndent(lnum) 32 | 33 | " At the start of the file use zero indent. 34 | if a:lnum == 0 35 | return 0 36 | endif 37 | 38 | let prevlnum = prevnonblank(a:lnum-1) 39 | let previndent = indent(prevlnum) 40 | 41 | let cur_text = getline(a:lnum) 42 | 43 | if cur_text =~ '^\s*\/\/' && getline(a:lnum-1) =~ '^\s*\/\/' 44 | " Comment blocks should have identical indent 45 | return previndent 46 | endif 47 | 48 | " COLUMN 1 ALWAYS 49 | 50 | " section headers 51 | if cur_text =~? '^\s*\(процедура\|procedure\|функция\|function\)\>' 52 | return 0 53 | endif 54 | 55 | "end procedure or function 56 | if cur_text =~? '^\s*\%(конец\(процедуры\|функции\)\)\>' 57 | \ || cur_text =~? '^\s*\%(end\(procedure\|function\)\)\>' 58 | return 0 59 | endif 60 | 61 | " section preproc 62 | if cur_text =~ '^\s*#.*' 63 | return 0 64 | endif 65 | 66 | " section define vars 67 | if cur_text =~? '^\s*\(перем\|var\)\>' 68 | return 0 69 | endif 70 | 71 | " Ignore comment lines when calculating indent 72 | while getline(prevlnum) =~# '^\s*\/\/' 73 | let prevlnum = prevnonblank(prevlnum-1) 74 | if !prevlnum 75 | return previndent 76 | endif 77 | endwhile 78 | 79 | let prevline = getline(prevlnum) 80 | let previndent = indent(prevlnum) 81 | 82 | " INCREASE INDENT 83 | 84 | if prevline =~? '\<\(иначе\|else\|тогда\|then\|цикл\|do\|попытка\|try\|исключение\|except\)$' 85 | return previndent + &shiftwidth 86 | endif 87 | 88 | " DECREASE INDENT 89 | 90 | " Lines starting with "else", but not following line ending with 91 | " "endif". 92 | if cur_text =~? '^\s*\(иначе\|else\)\>' && prevline !~? '\<\(конецесли\|endif\);$' 93 | return previndent - &shiftwidth 94 | endif 95 | 96 | if cur_text =~? '^\s*\%(конец\(если\|цикла\|попытки\)\);$' 97 | \ || cur_text =~? '^\s*\%(end\(if\|do\|try\)\);$' 98 | return previndent - &shiftwidth 99 | endif 100 | 101 | if cur_text =~? '^\s*\(исключение\|except\)$' 102 | return previndent - &shiftwidth 103 | endif 104 | 105 | " ____________________________________________________________________ 106 | 107 | " If nothing changed, return same indent. 108 | return previndent 109 | endfunction 110 | 111 | let &cpo = s:save_cpo 112 | unlet s:save_cpo 113 | " vim:sw=2 114 | -------------------------------------------------------------------------------- /plugin/bsl.vim: -------------------------------------------------------------------------------- 1 | 2 | "Поддержка tagbar 3 | let g:tagbar_type_bsl = { 4 | \ 'ctagstype' : 'bsl', 5 | \ 'kinds' : [ 6 | \ 'p:Procedures', 7 | \ 'f:Functions' 8 | \ ] 9 | \ } 10 | -------------------------------------------------------------------------------- /setup/.ctags: -------------------------------------------------------------------------------- 1 | --langdef=bsl 2 | --langmap=bsl:.bsl.os 3 | --regex-bsl=/^[ \t]*Функция[ \t]+([^\(]*)/\1/f,function,functions/i 4 | --regex-bsl=/^[ \t]*Function[ \t]+([^\(]*)/\1/f,function,functions/i 5 | --regex-bsl=/^[ \t]*Процедура[ \t]+([^\(]*)/\1/p,procedure,procedures/i 6 | --regex-bsl=/^[ \t]*Procedure[ \t]+([^\(]*)/\1/p,procedure,procedures/i 7 | -------------------------------------------------------------------------------- /snippets/bsl.snippets: -------------------------------------------------------------------------------- 1 | " Snippets 2 | " Language: 1C (BSL) 3 | " Maintainer: Andreev Alexander 4 | " Last Change: 01/10/2016 5 | 6 | # Если 7 | snippet Если 8 | Если ${1:Условие} Тогда 9 | ${0} 10 | КонецЕсли; 11 | # ЕслиИначе 12 | snippet Если 13 | Если ${1:Условие} Тогда 14 | ${0} 15 | Иначе 16 | КонецЕсли; 17 | # Пока 18 | snippet Пока 19 | Пока ${1:Условие} Цикл 20 | ${0} 21 | КонецЦикла; 22 | # Для 23 | snippet Для 24 | Для ${1:Счетчик} По ${2:Ограничение} Цикл 25 | ${0} 26 | КонецЦикла; 27 | # Для каждого 28 | snippet ДляКаждого 29 | Для каждого ${1:Переменная} Из ${2:Коллекция} Цикл 30 | ${0} 31 | КонецЦикла; 32 | # Процедура 33 | snippet Процедура 34 | Процедура ${1:ИмяПроцедуры}() 35 | ${0} 36 | КонецПроцедуры 37 | # Процедура (с заголовком) 38 | snippet Процедура 39 | // <Описание процедуры> 40 | // 41 | // Параметры: 42 | // <Параметр1> - <Тип.Вид> - <описание параметра> 43 | // <продолжение описания параметра> 44 | // <Параметр2> - <Тип.Вид> - <описание параметра> 45 | // <продолжение описания параметра> 46 | // 47 | Процедура ${1:ИмяПроцедуры}() 48 | ${0} 49 | КонецПроцедуры // ${1:ИмяПроцедуры}() 50 | # Процедура модуля формы 51 | snippet Процедура 52 | // <Описание процедуры> 53 | // 54 | // Параметры: 55 | // <Параметр1> - <Тип.Вид> - <описание параметра> 56 | // <продолжение описания параметра> 57 | // <Параметр2> - <Тип.Вид> - <описание параметра> 58 | // <продолжение описания параметра> 59 | // 60 | &${1:ВыберитеДирективуКомпиляции} 61 | Процедура ${2:ИмяПроцедуры}() 62 | ${0} 63 | КонецПроцедуры // ${2:ИмяПроцедуры}() 64 | # Процедура модуля команды 65 | snippet Процедура 66 | // <Описание процедуры> 67 | // 68 | // Параметры: 69 | // <Параметр1> - <Тип.Вид> - <описание параметра> 70 | // <продолжение описания параметра> 71 | // <Параметр2> - <Тип.Вид> - <описание параметра> 72 | // <продолжение описания параметра> 73 | // 74 | &${1:ВыберитеДирективуКомпиляции} 75 | Процедура ${2:ИмяПроцедуры}() 76 | ${0} 77 | КонецПроцедуры // ${2:ИмяПроцедуры}() 78 | # Функция 79 | snippet Функция 80 | Функция ${1:ИмяФункции}() 81 | ${0} 82 | КонецФункции // ${1:ИмяФункции}() 83 | # Функция (с заголовком) 84 | snippet Функция 85 | // <Описание функции> 86 | // 87 | // Параметры: 88 | // <Параметр1> - <Тип.Вид> - <описание параметра> 89 | // <продолжение описания параметра> 90 | // <Параметр2> - <Тип.Вид> - <описание параметра> 91 | // <продолжение описания параметра> 92 | // 93 | // Возвращаемое значение: 94 | // <Тип.Вид> - <описание возвращаемого значения> 95 | // 96 | Функция ${1:ИмяФункции}() 97 | ${0} 98 | КонецФункции // ${1:ИмяФункции}() 99 | # Функция модуля формы 100 | snippet Функция 101 | // <Описание функции> 102 | // 103 | // Параметры: 104 | // <Параметр1> - <Тип.Вид> - <описание параметра> 105 | // <продолжение описания параметра> 106 | // <Параметр2> - <Тип.Вид> - <описание параметра> 107 | // <продолжение описания параметра> 108 | // 109 | // Возвращаемое значение: 110 | // <Тип.Вид> - <описание возвращаемого значения> 111 | // 112 | &${1:ВыберитеДирективуКомпиляции} 113 | Функция ${2:ИмяФункции}() 114 | ${0} 115 | КонецФункции // ${2:ИмяФункции}() 116 | # Функция модуля команды 117 | snippet Функция 118 | // <Описание функции> 119 | // 120 | // Параметры: 121 | // <Параметр1> - <Тип.Вид> - <описание параметра> 122 | // <продолжение описания параметра> 123 | // <Параметр2> - <Тип.Вид> - <описание параметра> 124 | // <продолжение описания параметра> 125 | // 126 | // Возвращаемое значение: 127 | // <Тип.Вид> - <описание возвращаемого значения> 128 | // 129 | &${1:ВыберитеДирективуКомпиляции} 130 | Функция ${2:ИмяФункции}() 131 | ${0} 132 | КонецФункции // ${2:ИмяФункции}() 133 | # Возврат 134 | snippet Возврат 135 | "Возврат;${0}" 136 | # Попытка 137 | snippet Попытка 138 | Попытка 139 | ${0} 140 | Исключение 141 | КонецПопытки; 142 | # Директива компиляции 143 | snippet Директива 144 | "&${1:ВыберитеДирективуКомпиляции}" 145 | # Инструкция Если 146 | snippet Инструкция 147 | #Если ${1:ВыберитеИнструкциюПрепроцессора} Тогда 148 | ${0} 149 | #КонецЕсли 150 | # Инструкция Область 151 | snippet Область 152 | #Область ${0} 153 | #КонецОбласти 154 | # Перечисление 155 | snippet Перечисление 156 | "ПредопределенноеЗначение(\"Перечисление.${1:ВыберитеЗначениеПеречисления}\")" 157 | # Получить функциональную опцию 158 | snippet Функциональнаяопция 159 | "ПолучитьФункциональнуюОпцию(\"${1:ВыберитеФункциональнуюОпцию}\")" 160 | # Получить функциональную опцию интерфейса 161 | snippet Функциональнаяопция 162 | "ПолучитьФункциональнуюОпциюИнтерфейса(\"${1:ВыберитеФункциональнуюОпцию}\")" 163 | # Открыть общую форму 164 | snippet ОткрытьФорму 165 | "ОткрытьФорму(\"ОбщаяФорма.${1:ВыберитеОбщуюФорму}\");" 166 | # Открыть общую форму (с параметрами) 167 | snippet ОткрытьФорму 168 | ПараметрыФормы = Новый Структура; 169 | ПараметрыФормы.Вставить("${0}", ); 170 | ОткрытьФорму("ОбщаяФорма.${1:ВыберитеОбщуюФорму}", ПараметрыФормы); 171 | # Получить общую форму 172 | snippet ПолучитьФорму 173 | "ПолучитьФорму(\"ОбщаяФорма.${1:ВыберитеОбщуюФорму}\");" 174 | # Получить общую форму (с параметрами) 175 | snippet ПолучитьФорму 176 | ПараметрыФормы = Новый Структура; 177 | ПараметрыФормы.Вставить("${0}", ); 178 | Форма = ПолучитьФорму("ОбщаяФорма.${1:ВыберитеОбщуюФорму}"); 179 | # Открыть форму плана обмена 180 | snippet ОткрытьФорму 181 | "ОткрытьФорму(\"ПланОбмена.${1:ВыберитеПланОбмена}.${2:ВыберитеФорму}\");" 182 | # Открыть форму плана обмена (с параметрами) 183 | snippet ОткрытьФорму 184 | ПараметрыФормы = Новый Структура; 185 | ПараметрыФормы.Вставить("${0}", ); 186 | ОткрытьФорму("ПланОбмена.${1:ВыберитеПланОбмена}.${2:ВыберитеФорму}", ПараметрыФормы); 187 | # Получить форму плана обмена 188 | snippet ПолучитьФорму 189 | "ПолучитьФорму(\"ПланОбмена.${1:ВыберитеПланОбмена}.${2:ВыберитеФорму}\");" 190 | # Получить форму плана обмена (с параметрами) 191 | snippet ПолучитьФорму 192 | ПараметрыФормы = Новый Структура; 193 | ПараметрыФормы.Вставить("${0}", ); 194 | Форма = ПолучитьФорму("ПланОбмена.${1:ВыберитеПланОбмена}.${2:ВыберитеФорму}", ПараметрыФормы); 195 | # Обход элементов 196 | snippet ПланыОбменаВыбрать 197 | Выборка = ПланыОбмена.$1.Выбрать(); 198 | Пока Выборка.Следующий() Цикл 199 | ${0} 200 | КонецЦикла; 201 | # Получить/установить константу 202 | snippet Константы 203 | "Константы.$1.${2:ВыборМетода}()" 204 | # Установить константу 205 | snippet Константы 206 | "Константы.$1.Установить(${0});" 207 | # Получить константу 208 | snippet Константы 209 | "Константы.$1.Получить()" 210 | # Открыть форму справочника 211 | snippet ОткрытьФорму 212 | "ОткрытьФорму(\"Справочник.${1:ВыберитеСправочник}.${2:ВыберитеФорму}${0}\");" 213 | # Открыть форму справочника (с параметрами) 214 | snippet ОткрытьФорму 215 | ПараметрыФормы = Новый Структура; 216 | ПараметрыФормы.Вставить("${0}", ); 217 | ОткрытьФорму("Справочник.${1:ВыберитеСправочник}.${2:ВыберитеФорму}", ПараметрыФормы); 218 | # Получить форму справочника 219 | snippet ПолучитьФорму 220 | "ПолучитьФорму(\"Справочник.${1:ВыберитеСправочник}.${2:ВыберитеФорму}${0}\");" 221 | # Получить форму справочника (с параметрами) 222 | snippet ПолучитьФорму 223 | ПараметрыФормы = Новый Структура; 224 | ПараметрыФормы.Вставить("${0}", ); 225 | Форма = ПолучитьФорму("Справочник.${1:ВыберитеСправочник}.${2:ВыберитеФорму}", ПараметрыФормы); 226 | # Обход элементов 227 | snippet СправочникиВыбрать 228 | Выборка = Справочники.$1.Выбрать(); 229 | Пока Выборка.Следующий() Цикл 230 | ${0} 231 | КонецЦикла; 232 | # Обход элементов иерархически 233 | snippet СправочникиВыбратьИерархически 234 | Выборка = Справочники.$1.ВыбратьИерархически(); 235 | Пока Выборка.Следующий() Цикл 236 | ${0} 237 | КонецЦикла; 238 | # Открыть форму документа 239 | snippet ОткрытьФорму 240 | "ОткрытьФорму(\"Документ.${1:ВыберитеДокумент}.${2:ВыберитеФорму}${0}\");" 241 | # Открыть форму документа (с параметрами) 242 | snippet ОткрытьФорму 243 | ПараметрыФормы = Новый Структура; 244 | ПараметрыФормы.Вставить("${0}", ); 245 | ОткрытьФорму("Документ.${1:ВыберитеДокумент}.${2:ВыберитеФорму}", ПараметрыФормы); 246 | # Получить форму документа 247 | snippet ПолучитьФорму 248 | "ПолучитьФорму(\"Документ.${1:ВыберитеДокумент}.${2:ВыберитеФорму}${0}\");" 249 | # Получить форму документа (с параметрами) 250 | snippet ПолучитьФорму 251 | ПараметрыФормы = Новый Структура; 252 | ПараметрыФормы.Вставить("${0}", ); 253 | Форма = ПолучитьФорму("Документ.${1:ВыберитеДокумент}.${2:ВыберитеФорму}", ПараметрыФормы); 254 | # Обход документов 255 | snippet ДокументыВыбрать 256 | Выборка = Документы.$1.Выбрать(); 257 | Пока Выборка.Следующий() Цикл 258 | ${0} 259 | КонецЦикла; 260 | # Движения 261 | snippet Движения 262 | "Движения.${1:ВыборРегистра}" 263 | # Открыть форму отчета 264 | snippet ОткрытьФорму 265 | "ОткрытьФорму(\"Отчет.${1:ВыберитеОтчет}.${2:ВыберитеФорму}${0}\");" 266 | # Открыть форму отчета (с параметрами) 267 | snippet ОткрытьФорму 268 | ПараметрыФормы = Новый Структура; 269 | ПараметрыФормы.Вставить("${0}", ); 270 | ОткрытьФорму("Отчет.${1:ВыберитеОтчет}.${2:ВыберитеФорму}", ПараметрыФормы); 271 | # Получить форму отчета 272 | snippet ПолучитьФорму 273 | "ПолучитьФорму(\"Отчет.${1:ВыберитеОтчет}.${2:ВыберитеФорму}${0}\");" 274 | # Получить форму отчета (с параметрами) 275 | snippet ПолучитьФорму 276 | ПараметрыФормы = Новый Структура; 277 | ПараметрыФормы.Вставить("${0}", ); 278 | Форма = ПолучитьФорму("Отчет.${1:ВыберитеОтчет}.${2:ВыберитеФорму}", ПараметрыФормы); 279 | # Открыть форму обработки 280 | snippet ОткрытьФорму 281 | "ОткрытьФорму(\"Обработка.${1:ВыберитеОбработку}.${2:ВыберитеФорму}${0}\");" 282 | # Открыть форму обработки (с параметрами) 283 | snippet ОткрытьФорму 284 | ПараметрыФормы = Новый Структура; 285 | ПараметрыФормы.Вставить("${0}", ); 286 | ОткрытьФорму("Обработка.${1:ВыберитеОбработку}.${2:ВыберитеФорму}", ПараметрыФормы); 287 | # Получить форму обработки 288 | snippet ПолучитьФорму 289 | "ПолучитьФорму(\"Обработка.${1:ВыберитеОбработку}.${2:ВыберитеФорму}${0}\");" 290 | # Получить форму обработки (с параметрами) 291 | snippet ПолучитьФорму 292 | ПараметрыФормы = Новый Структура; 293 | ПараметрыФормы.Вставить("${0}", ); 294 | Форма = ПолучитьФорму("Обработка.${1:ВыберитеОбработку}.${2:ВыберитеФорму}", ПараметрыФормы); 295 | # Открыть форму плана видов характеристик 296 | snippet ОткрытьФорму 297 | "ОткрытьФорму(\"ПланВидовХарактеристик.${1:ВыберитеПвх}.${2:ВыберитеФорму}${0}\");" 298 | # Открыть форму плана видов характеристик (с параметрами) 299 | snippet ОткрытьФорму 300 | ПараметрыФормы = Новый Структура; 301 | ПараметрыФормы.Вставить("${0}", ); 302 | ОткрытьФорму("ПланВидовХарактеристик.${1:ВыберитеПвх}.${2:ВыберитеФорму}", ПараметрыФормы); 303 | # Получить форму плана видов характеристик 304 | snippet ПолучитьФорму 305 | "ПолучитьФорму(\"ПланВидовХарактеристик.${1:ВыберитеПвх}.${2:ВыберитеФорму}${0}\");" 306 | # Получить форму плана видов характеристик (с параметрами) 307 | snippet ПолучитьФорму 308 | ПараметрыФормы = Новый Структура; 309 | ПараметрыФормы.Вставить("${0}", ); 310 | Форма = ПолучитьФорму("ПланВидовХарактеристик.${1:ВыберитеПвх}.${2:ВыберитеФорму}", ПараметрыФормы); 311 | # Обход видов характеристик 312 | snippet ПланыВидовХарактеристикВыбрать 313 | Выборка = ПланыВидовХарактеристик.$1.Выбрать(); 314 | Пока Выборка.Следующий() Цикл 315 | ${0} 316 | КонецЦикла; 317 | # Открыть форму плана счетов 318 | snippet ОткрытьФорму 319 | "ОткрытьФорму(\"ПланСчетов.${1:ВыберитеПланСчетов}.${2:ВыберитеФорму}${0}\");" 320 | # Открыть форму плана счетов (с параметрами) 321 | snippet ОткрытьФорму 322 | ПараметрыФормы = Новый Структура; 323 | ПараметрыФормы.Вставить("${0}", ); 324 | ОткрытьФорму("ПланСчетов.${1:ВыберитеПланСчетов}.${2:ВыберитеФорму}", ПараметрыФормы); 325 | # Получить форму плана счетов 326 | snippet ПолучитьФорму 327 | "ПолучитьФорму(\"ПланСчетов.${1:ВыберитеПланСчетов}.${2:ВыберитеФорму}${0}\");" 328 | # Получить форму плана счетов (с параметрами) 329 | snippet ПолучитьФорму 330 | ПараметрыФормы = Новый Структура; 331 | ПараметрыФормы.Вставить("${0}", ); 332 | Форма = ПолучитьФорму("ПланСчетов.${1:ВыберитеПланСчетов}.${2:ВыберитеФорму}", ПараметрыФормы); 333 | # Найти по коду 334 | snippet ПланыСчетов 335 | "ПланыСчетов.$1.НайтиПоКоду(${0})" 336 | # Открыть форму плана видов расчета 337 | snippet ОткрытьФорму 338 | "ОткрытьФорму(\"ПланВидовРасчета.${1:ВыберитеПланВидовРасчета}.${2:ВыберитеФорму}${0}\");" 339 | # Открыть форму плана видов расчета (с параметрами) 340 | snippet ОткрытьФорму 341 | ПараметрыФормы = Новый Структура; 342 | ПараметрыФормы.Вставить("${0}", ); 343 | ОткрытьФорму("ПланВидовРасчета.${1:ВыберитеПланВидовРасчета}.${2:ВыберитеФорму}", ПараметрыФормы); 344 | # Получить форму плана видов расчета 345 | snippet ПолучитьФорму 346 | "ПолучитьФорму(\"ПланВидовРасчета.${1:ВыберитеПланВидовРасчета}.${2:ВыберитеФорму}${0}\");" 347 | # Получить форму плана видов расчета (с параметрами) 348 | snippet ПолучитьФорму 349 | ПараметрыФормы = Новый Структура; 350 | ПараметрыФормы.Вставить("${0}", ); 351 | Форма = ПолучитьФорму("ПланВидовРасчета.${1:ВыберитеПланВидовРасчета}.${2:ВыберитеФорму}", ПараметрыФормы); 352 | # Обход видов расчета 353 | snippet ПланыВидовРасчетаВыбрать 354 | Выборка = ПланыВидовРасчета.$1.Выбрать(); 355 | Пока Выборка.Следующий() Цикл 356 | ${0} 357 | КонецЦикла; 358 | # Открыть форму бизнес-процесса 359 | snippet ОткрытьФорму 360 | "ОткрытьФорму(\"БизнесПроцесс.${1:ВыберитеБизнес-Процесс}.${2:ВыберитеФорму}${0}\");" 361 | # Открыть форму бизнес-процесса (с параметрами) 362 | snippet ОткрытьФорму 363 | ПараметрыФормы = Новый Структура; 364 | ПараметрыФормы.Вставить("${0}", ); 365 | ОткрытьФорму("БизнесПроцесс.${1:ВыберитеБизнес-Процесс}.${2:ВыберитеФорму}", ПараметрыФормы); 366 | # Получить форму бизнес-процесса 367 | snippet ПолучитьФорму 368 | "ПолучитьФорму(\"БизнесПроцесс.${1:ВыберитеБизнес-Процесс}.${2:ВыберитеФорму}${0}\");" 369 | # Получить форму бизнес-процесса (с параметрами) 370 | snippet ПолучитьФорму 371 | ПараметрыФормы = Новый Структура; 372 | ПараметрыФормы.Вставить("${0}", ); 373 | Форма = ПолучитьФорму("БизнесПроцесс.${1:ВыберитеБизнес-Процесс}.${2:ВыберитеФорму}", ПараметрыФормы); 374 | # Обход бизнес-процессов 375 | snippet БизнесПроцессыВыбрать 376 | Выборка = БизнесПроцессы.$1.Выбрать(); 377 | Пока Выборка.Следующий() Цикл 378 | ${0} 379 | КонецЦикла; 380 | # Открыть форму задачи 381 | snippet ОткрытьФорму 382 | "ОткрытьФорму(\"Задача.${1:ВыберитеЗадачу}.${2:ВыберитеФорму}${0}\");" 383 | # Открыть форму задачи (с параметрами) 384 | snippet ОткрытьФорму 385 | ПараметрыФормы = Новый Структура; 386 | ПараметрыФормы.Вставить("${0}", ); 387 | ОткрытьФорму("Задача.${1:ВыберитеЗадачу}.${2:ВыберитеФорму}", ПараметрыФормы); 388 | # Получить форму задачи 389 | snippet ПолучитьФорму 390 | "ПолучитьФорму(\"Задача.${1:ВыберитеЗадачу}.${2:ВыберитеФорму}${0}\");" 391 | # Получить форму задачи (с параметрами) 392 | snippet ПолучитьФорму 393 | ПараметрыФормы = Новый Структура; 394 | ПараметрыФормы.Вставить("${0}", ); 395 | Форма = ПолучитьФорму("Задача.${1:ВыберитеЗадачу}.${2:ВыберитеФорму}", ПараметрыФормы); 396 | # Открыть форму регистра сведений 397 | snippet ОткрытьФорму 398 | "ОткрытьФорму(\"РегистрСведений.${1:ВыберитеРегистрСведений}.${2:ВыберитеФорму}${0}\");" 399 | # Открыть форму регистра сведений (с параметрами) 400 | snippet ОткрытьФорму 401 | ПараметрыФормы = Новый Структура; 402 | ПараметрыФормы.Вставить("${0}", ); 403 | ОткрытьФорму("РегистрСведений.${1:ВыберитеРегистрСведений}.${2:ВыберитеФорму}", ПараметрыФормы); 404 | # Получить форму регистра сведений 405 | snippet ПолучитьФорму 406 | "ПолучитьФорму(\"РегистрСведений.${1:ВыберитеРегистрСведений}.${2:ВыберитеФорму}${0}\");" 407 | # Получить форму регистра сведений (с параметрами) 408 | snippet ПолучитьФорму 409 | ПараметрыФормы = Новый Структура; 410 | ПараметрыФормы.Вставить("${0}", ); 411 | Форма = ПолучитьФорму("РегистрСведений.${1:ВыберитеРегистрСведений}.${2:ВыберитеФорму}", ПараметрыФормы); 412 | # Выборка записей регистра сведений 413 | snippet РегистрыСведенийВыбрать 414 | Выборка = РегистрыСведений.${1:ВыберитеРегистрСведений}.Выбрать(); 415 | Пока Выборка.Следующий() Цикл 416 | ${0} 417 | КонецЦикла; 418 | # Выборка записей регистра сведений (по регистратору) 419 | snippet РегистрыСведенийВыбратьПоРегистратору 420 | Выборка = РегистрСведений.${1:ВыберитеРегистрСведений}.ВыбратьПоРегистратору(${0}); 421 | Пока Выборка.Следующий() Цикл 422 | КонецЦикла; 423 | # Открыть форму регистра накопления 424 | snippet ОткрытьФорму 425 | "ОткрытьФорму(\"РегистрНакопления.${1:ВыберитеРегистрНакопления}.${2:ВыберитеФорму}${0}\");" 426 | # Открыть форму регистра накопления (с параметрами) 427 | snippet ОткрытьФорму 428 | ПараметрыФормы = Новый Структура; 429 | ПараметрыФормы.Вставить("${0}", ); 430 | ОткрытьФорму("РегистрНакопления.${1:ВыберитеРегистрНакопления}.${2:ВыберитеФорму}", ПараметрыФормы); 431 | # Получить форму регистра накопления 432 | snippet ПолучитьФорму 433 | "ПолучитьФорму(\"РегистрНакопления.${1:ВыберитеРегистрНакопления}.${2:ВыберитеФорму}${0}\");" 434 | # Получить форму регистра накопления (с параметрами) 435 | snippet ПолучитьФорму 436 | ПараметрыФормы = Новый Структура; 437 | ПараметрыФормы.Вставить("${0}", ); 438 | Форма = ПолучитьФорму("РегистрНакопления.${1:ВыберитеРегистрНакопления}.${2:ВыберитеФорму}", ПараметрыФормы); 439 | # Выборка записей регистра накопления 440 | snippet РегистрНакопленияВыбрать 441 | Выборка = РегистрНакопления.${1:ВыберитеРегистрНакопления}.Выбрать(); 442 | Пока Выборка.Следующий() Цикл 443 | ${0} 444 | КонецЦикла; 445 | # Выборка записей регистра накопления (по регистратору) 446 | snippet РегистрНакопленияВыбратьПоРегистратору 447 | Выборка = РегистрНакопления.${1:ВыберитеРегистрНакопления}.ВыбратьПоРегистратору(${0}); 448 | Пока Выборка.Следующий() Цикл 449 | КонецЦикла; 450 | # Открыть форму регистра бухгалтерии 451 | snippet ОткрытьФорму 452 | "ОткрытьФорму(\"РегистрБухгалтерии.${1:ВыберитеРегистрБухгалтерии}.${2:ВыберитеФорму}${0}\");" 453 | # Открыть форму регистра бухгалтерии (с параметрами) 454 | snippet ОткрытьФорму 455 | ПараметрыФормы = Новый Структура; 456 | ПараметрыФормы.Вставить("${0}", ); 457 | ОткрытьФорму("РегистрБухгалтерии.${1:ВыберитеРегистрБухгалтерии}.${2:ВыберитеФорму}", ПараметрыФормы); 458 | # Получить форму регистра бухгалтерии 459 | snippet ПолучитьФорму 460 | "ПолучитьФорму(\"РегистрБухгалтерии.${1:ВыберитеРегистрБухгалтерии}.${2:ВыберитеФорму}${0}\");" 461 | # Получить форму регистра бухгалтерии (с параметрами) 462 | snippet ПолучитьФорму 463 | ПараметрыФормы = Новый Структура; 464 | ПараметрыФормы.Вставить("${0}", ); 465 | Форма = ПолучитьФорму("РегистрБухгалтерии.${1:ВыберитеРегистрБухгалтерии}.${2:ВыберитеФорму}", ПараметрыФормы); 466 | # Выборка записей регистра бухгалтерии 467 | snippet РегистрыБухгалтерииВыбрать 468 | Выборка = РегистрыБухгалтерии.${1:ВыберитеРегистрБухгалтерии}.Выбрать(); 469 | Пока Выборка.Следующий() Цикл 470 | ${0} 471 | КонецЦикла; 472 | # Выборка записей регистра бухгалтерии (по регистратору) 473 | snippet РегистрыБухгалтерииВыбратьПоРегистратору 474 | Выборка = РегистрыБухгалтерии.${1:ВыберитеРегистрБухгалтерии}.ВыбратьПоРегистратору(${0}); 475 | Пока Выборка.Следующий() Цикл 476 | КонецЦикла; 477 | # Открыть форму регистра расчета 478 | snippet ОткрытьФорму 479 | "ОткрытьФорму(\"РегистрРасчета.${1:ВыберитеРегистрРасчета}.${2:ВыберитеФорму}${0}\");" 480 | # Открыть форму регистра расчета (с параметрами) 481 | snippet ОткрытьФорму 482 | ПараметрыФормы = Новый Структура; 483 | ПараметрыФормы.Вставить("${0}", ); 484 | ОткрытьФорму("РегистрРасчета.${1:ВыберитеРегистрРасчета}.${2:ВыберитеФорму}", ПараметрыФормы); 485 | # Получить форму регистра расчета 486 | snippet ПолучитьФорму 487 | "ПолучитьФорму(\"РегистрРасчета.${1:ВыберитеРегистрРасчета}.${2:ВыберитеФорму}${0}\");" 488 | # Получить форму регистра расчета (с параметрами) 489 | snippet ПолучитьФорму 490 | ПараметрыФормы = Новый Структура; 491 | ПараметрыФормы.Вставить("${0}", ); 492 | Форма = ПолучитьФорму("РегистрРасчета.${1:ВыберитеРегистрРасчета}.${2:ВыберитеФорму}", ПараметрыФормы); 493 | # Выборка записей регистра расчета 494 | snippet РегистрыРасчетаВыбрать 495 | Выборка = РегистрыРасчета.${1:ВыберитеРегистрРасчета}.Выбрать(); 496 | Пока Выборка.Следующий() Цикл 497 | ${0} 498 | КонецЦикла; 499 | # Выборка записей регистра расчета (по регистратору) 500 | snippet РегистрыРасчетаВыбратьПоРегистратору 501 | Выборка = РегистрыРасчета.${1:ВыберитеРегистрРасчета}.ВыбратьПоРегистратору(${0}); 502 | Пока Выборка.Следующий() Цикл 503 | КонецЦикла; 504 | # Сообщение 505 | snippet Сообщение 506 | Сообщение = Новый СообщениеПользователю; 507 | Сообщение.Текст = "${0}"; 508 | Сообщение.Поле = ""; 509 | Сообщение.УстановитьДанные(); 510 | Сообщение.Сообщить(); 511 | # Предупреждение 512 | snippet Предупреждение 513 | "Предупреждение(${0});" 514 | # Формат 515 | snippet Формат 516 | "Формат(${0}, \"$1\")" 517 | # Создать структуру 518 | snippet Структура 519 | "Новый Структура(\"${0}\", )" 520 | # Запрос 521 | snippet Запрос 522 | Запрос = Новый Запрос; 523 | Запрос.Текст = "$1"; 524 | Результат = Запрос.Выполнить(); 525 | Выборка = Результат.Выбрать(); 526 | Пока Выборка.Следующий() Цикл 527 | ${0} 528 | КонецЦикла; 529 | # Запрос с параметром 530 | snippet Запрос 531 | Запрос = Новый Запрос; 532 | Запрос.Текст = "$1"; 533 | Запрос.УстановитьПараметр("${0}", ); 534 | Результат = Запрос.Выполнить(); 535 | Выборка = Результат.Выбрать(); 536 | Пока Выборка.Следующий() Цикл 537 | КонецЦикла; 538 | # Вопрос 539 | snippet Вопрос 540 | "Вопрос(\"${1:ТекстВопроса}\", ${2:РежимДиалогаВопрос})" 541 | # Вопрос с анализом результата 542 | snippet Вопрос 543 | "Вопрос(\"${1:ТекстВопроса}\", ${2:РежимДиалогаВопрос}) = ${3:КодВозвратаДиалога}" 544 | # Проверка типа 545 | snippet ПроверитьТип 546 | Если ТипЗнч(${1:ВыражениеДляПроверкиТипа}) = Тип("${2:ВыберитеТип}") Тогда 547 | ${0} 548 | КонецЕсли; 549 | # If 550 | snippet If 551 | If ${1:Condition} Then 552 | ${0} 553 | EndIf; 554 | # IfElse 555 | snippet If 556 | If ${1:Condition} Then 557 | ${0} 558 | Else 559 | EndIf; 560 | # While 561 | snippet While 562 | While ${1:Condition} Do 563 | ${0} 564 | EndDo; 565 | # For 566 | snippet For 567 | For ${1:Counter} To ${2:Limit} Do 568 | ${0} 569 | EndDo; 570 | # For Each 571 | snippet ForEach 572 | For Each ${1:Variable} In ${2:Collection} Do 573 | ${0} 574 | EndDo; 575 | # Procedure 576 | snippet Procedure 577 | Procedure ${1:ProcedureName}() 578 | ${0} 579 | EndProcedure 580 | # Procedure (with header) 581 | snippet Procedure 582 | // 583 | // 584 | // Parameters: 585 | // - - 586 | // 587 | // - - 588 | // 589 | // 590 | Procedure ${1:ProcedureName}() 591 | ${0} 592 | EndProcedure // ${1:ProcedureName}() 593 | # Procedure in a form module 594 | snippet Procedure 595 | // 596 | // 597 | // Parameters: 598 | // - - 599 | // 600 | // - - 601 | // 602 | // 603 | &${1:ChooseACompilationDirective} 604 | Procedure ${2:ProcedureName}() 605 | ${0} 606 | EndProcedure // ${2:ProcedureName}() 607 | # Procedure in a command module 608 | snippet Procedure 609 | // 610 | // 611 | // Parameters: 612 | // - - 613 | // 614 | // - - 615 | // 616 | // 617 | &${1:ChooseACompilationDirective} 618 | Procedure ${2:ProcedureName}() 619 | ${0} 620 | EndProcedure // ${2:ProcedureName}() 621 | # Function 622 | snippet Function 623 | Function ${1:FunctionName}() 624 | ${0} 625 | EndFunction // ${1:FunctionName}() 626 | # Function (with header) 627 | snippet Function 628 | // 629 | // 630 | // 631 | // Parameters: 632 | // - - 633 | // 634 | // - - 635 | // 636 | // 637 | // Returns: 638 | // - 639 | // 640 | Function ${1:FunctionName}() 641 | ${0} 642 | EndFunction // ${1:FunctionName}() 643 | # Function in a form module 644 | snippet Function 645 | // 646 | // 647 | // 648 | // Parameters: 649 | // - - 650 | // 651 | // - - 652 | // 653 | // 654 | // Returns: 655 | // - 656 | // 657 | &${1:ChooseACompilationDirective} 658 | Function ${2:FunctionName}() 659 | ${0} 660 | EndFunction // ${2:FunctionName}() 661 | # Function in a command module 662 | snippet Function 663 | // 664 | // 665 | // 666 | // Parameters: 667 | // - - 668 | // 669 | // - - 670 | // 671 | // 672 | // Returns: 673 | // - 674 | // 675 | &${1:ChooseACompilationDirective} 676 | Function ${2:FunctionName}() 677 | ${0} 678 | EndFunction // ${2:FunctionName}() 679 | # Return 680 | snippet Return 681 | "Return;${0}" 682 | # Try 683 | snippet Try 684 | Try 685 | ${0} 686 | Except 687 | EndTry; 688 | # Compilation directive 689 | snippet Directive 690 | "&${1:ChooseACompilationDirective}" 691 | # Instruction If 692 | snippet Instrution 693 | #If ${1:ChooseAPreprocessorInstruction} Then 694 | ${0} 695 | #EndIf 696 | # Instruction Region 697 | snippet Region 698 | #Region ${0} 699 | #EndRegion 700 | # Enumeration 701 | snippet Enums 702 | "PredefinedValue(\"Enum.${1:ChooseAnEnumerationValue}\")" 703 | # Get a functional option 704 | snippet Functionaloption 705 | "GetFunctionalOption(\"${1:ChooseAFunctionalOption}\")" 706 | # Get an interface functional option 707 | snippet Functionaloption 708 | "GetInterfaceFunctionalOption(\"${1:ChooseAFunctionalOption}\")" 709 | # Open a common form 710 | snippet OpenForm 711 | "OpenForm(\"CommonForm.${1:ChooseACommonForm}\");" 712 | # Open a common form (with parameters) 713 | snippet OpenForm 714 | FormParameters = New Structure; 715 | FormParameters.Insert("${0}", ); 716 | OpenForm("CommonForm.${1:ChooseACommonForm}", FormParameters); 717 | # Get a common form 718 | snippet GetForm 719 | "GetForm(\"CommonForm.${1:ChooseACommonForm}\");" 720 | # Get a common form (with parameters) 721 | snippet GetForm 722 | FormParameters = New Structure; 723 | FormParameters.Insert("${0}", ); 724 | Form = GetForm("CommonForm.${1:ChooseACommonForm}"); 725 | # Open an exchange plan form 726 | snippet OpenForm 727 | "OpenForm(\"ExchangePlan.${1:ChooseAnExchangePlan}.${2:ChooseForm}\");" 728 | # Open an exchange plan form (with parameters) 729 | snippet OpenForm 730 | FormParameters = New Structure; 731 | FormParameters.Insert("${0}", ); 732 | OpenForm("ExchangePlan.${1:ChooseAnExchangePlan}.${2:ChooseForm}", FormParameters); 733 | # Get an exchange plan form 734 | snippet GetForm 735 | "GetForm(\"ExchangePlan.${1:ChooseAnExchangePlan}.${2:ChooseForm}\");" 736 | # Get an exchange plan form (with parameters) 737 | snippet GetForm 738 | FormParameters = New Structure; 739 | FormParameters.Insert("${0}", ); 740 | Form = GetForm("ExchangePlan.${1:ChooseAnExchangePlan}.${2:ChooseForm}", FormParameters); 741 | # Items traversal 742 | snippet ExchangePlansChoose 743 | Selection = ExchangePlans.$1.Choose(); 744 | While Selection.Next() Do 745 | ${0} 746 | EndDo; 747 | # Get/Set constant 748 | snippet Constants 749 | "Constants.$1.${2:SelectVariant}()" 750 | # Set constant 751 | snippet Constants 752 | "Constants.$1.Set(${0});" 753 | # Get constant 754 | snippet Constants 755 | "Constants.$1.Get()" 756 | # Open a catalog form 757 | snippet OpenForm 758 | "OpenForm(\"Catalog.${1:ChooseACatalog}.${2:ChooseForm}${0}\");" 759 | # Open a catalog form (with parameters) 760 | snippet OpenForm 761 | FormParameters = New Structure; 762 | FormParameters.Insert("${0}", ); 763 | OpenForm("Catalog.${1:ChooseCatalog}.${2:ChooseForm}", FormParameters); 764 | # Get a catalog form 765 | snippet GetForm 766 | "GetForm(\"Catalog.${1:ChooseACatalog}.${2:ChooseForm}${0}\");" 767 | # Get a catalog form (with parameters) 768 | snippet GetForm 769 | FormParameters = New Structure; 770 | FormParameters.Insert("${0}", ); 771 | Form = GetForm("Catalog.${1:ChooseCatalog}.${2:ChooseForm}", FormParameters); 772 | # Item traversal 773 | snippet CatalogsSelect 774 | Select = Catalogs.$1.Select(); 775 | While Select.Next() Do 776 | ${0} 777 | EndDo; 778 | # Items hierarchical traversal 779 | snippet CatalogsSelectHierarchicaly 780 | Select = Catalogs.$1.SelectHierarchicaly(); 781 | While Select.Next() Do 782 | ${0} 783 | EndDo; 784 | # Open a document form 785 | snippet OpenForm 786 | "OpenForm(\"Document.${1:ChooseADocument}.${2:ChooseForm}${0}\");" 787 | # Open a document form (with parameters) 788 | snippet OpenForm 789 | FormParameters = New Structure; 790 | FormParameters.Insert("${0}", ); 791 | OpenForm("Document.${1:ChooseADocument}.${2:ChooseForm}", FormParameters); 792 | # Get a document form 793 | snippet GetForm 794 | "GetForm(\"Document.${1:ChooseADocument}.${2:ChooseForm}${0}\");" 795 | # Get a document form (with parameters) 796 | snippet GetForm 797 | FormParameters = New Structure; 798 | FormParameters.Insert("${0}", ); 799 | Form = GetForm("Document.${1:ChooseADocument}.${2:ChooseForm}", FormParameters); 800 | # Document walk-through 801 | snippet DocumentsSelect 802 | Select = Documents.$1.Select(); 803 | While Selection.Next() Do 804 | ${0} 805 | EndDo; 806 | # RegisterRecords 807 | snippet RegisterRecords 808 | "RegisterRecords.${1:ChooseARegister}" 809 | # Open a report form 810 | snippet OpenForm 811 | "OpenForm(\"Report.${1:ChooseAReport}.${2:ChooseForm}${0}\");" 812 | # Open a report form (with parameters) 813 | snippet OpenForm 814 | FormParameters = New Structure; 815 | FormParameters.Insert("${0}", ); 816 | OpenForm("Report.${1:ChooseAReport}.${2:ChooseForm}", FormParameters); 817 | # Get a report form 818 | snippet GetForm 819 | "GetForm(\"Report.${1:ChooseAReport}.${2:ChooseForm}${0}\");" 820 | # Get a report form (with parameters) 821 | snippet GetForm 822 | FormParameters = New Structure; 823 | FormParameters.Insert("${0}", ); 824 | Form = GetForm("Report.${1:ChooseAReport}.${2:ChooseForm}", FormParameters); 825 | # Open a data processor form 826 | snippet OpenForm 827 | "OpenForm(\"DataProcessor.${1:ChooseADataProcessor}.${2:ChooseForm}${0}\");" 828 | # Open a data processor form (with parameters) 829 | snippet OpenForm 830 | FormParameters = New Structure; 831 | FormParameters.Insert("${0}", ); 832 | OpenForm("DataProcessor.${1:ChooseADataProcessor}}.${2:ChooseForm}", FormParameters); 833 | # Get a data processor form 834 | snippet GetForm 835 | "GetForm(\"DataProcessor.${1:ChooseADataProcessor}.${2:ChooseForm}${0}\");" 836 | # Get a data processor form (with parameters) 837 | snippet GetForm 838 | FormParameters = New Structure; 839 | FormParameters.Insert("${0}", ); 840 | Form = GetForm("DataProcessor.${1:ChooseADataProcessor}.${2:ChooseForm}", FormParameters); 841 | # Open a chart of characteristic types form 842 | snippet OpenForm 843 | "OpenForm(\"ChartOfCharacteristicTypes.${1:ChooseAChartOfCharateristicTypes}.${2:ChooseForm}${0}\");" 844 | # Open a chart of characteristic types form (with parameters) 845 | snippet OpenForm 846 | FormParameters = New Structure; 847 | FormParameters.Insert("${0}", ); 848 | OpenForm("ChartOfCharacteristicTypes.${1:ChooseAChartOfCharacteristicTypes}.${2:ChooseForm}", FormParameters); 849 | # Get a chart of characteristic types form 850 | snippet GetForm 851 | "GetForm(\"ChartOfCharacteristicTypes.${1:ChooseAChartOfCharacteristicTypes}.${2:ChooseForm}${0}\");" 852 | # Get a chart of characteristic types form (with parameters) 853 | snippet GetForm 854 | FormParameters = New Structure; 855 | FormParameters.Insert("${0}", ); 856 | Form = GetForm("ChartOfCharacteristicTypes.${1:ChooseAChartOfCharacteristicTypes}.${2:ChooseForm}", FormParameters); 857 | # Charts of characteristic types traversal 858 | snippet ChartOfAccountsChoose 859 | Selection = ChartOfAccounts.$1.Choose(); 860 | While Selection.Next() Do 861 | ${0} 862 | EndDo; 863 | # Open a chart of accounts form 864 | snippet OpenForm 865 | "OpenForm(\"ChartOfAccounts.${1:ChooseAChartOfAccounts}.${2:ChooseForm}${0}\");" 866 | # Open a chart of accounts form (with parameters) 867 | snippet OpenForm 868 | FormParameters = New Structure; 869 | FormParameters.Insert("${0}", ); 870 | OpenForm("ChartOfAccounts.${1:ChooseAChartOfAccounts}.${2:ChooseForm}", FormParameters); 871 | # Get a chart of accounts form 872 | snippet GetForm 873 | "GetForm(\"ChartOfAccounts.${1:ChooseAChartOfAccounts}.${2:ChooseForm}${0}\");" 874 | # Get a chart of accounts form (with parameters) 875 | snippet GetForm 876 | FormParameters = New Structure; 877 | FormParameters.Insert("${0}", ); 878 | Form = GetForm("ChartOfAccounts.${1:ChooseAChartOfAccounts}.${2:ChooseForm}", FormParameters); 879 | # Find by code 880 | snippet ChartsOfAccounts 881 | "ChartsOfAccounts.$1.FindByCode(${0})" 882 | # Open a chart of calculation types form 883 | snippet OpenForm 884 | "OpenForm(\"ChartOfCalculationTypes.${1:ChooseAChartOfCalculationTypes}.${2:ChooseForm}${0}\");" 885 | # Open a chart of calculation types form (with parameters) 886 | snippet OpenForm 887 | FormParameters = New Structure; 888 | FormParameters.Insert("${0}", ); 889 | OpenForm("ChartOfCalculationTypes.${1:ChooseAChartOfCalculationTypes}.${2:ChooseForm}", FormParameters); 890 | # Get a chart of calculation types form 891 | snippet GetForm 892 | "GetForm(\"ChartOfCalculationTypes.${1:ChooseAChartOfCalculationTypes}.${2:ChooseForm}${0}\");" 893 | # Get a chart of calculation types form (with parameters) 894 | snippet GetForm 895 | FormParameters = New Structure; 896 | FormParameters.Insert("${0}", ); 897 | Form = GetForm("ChartOfCalculationTypes.${1:ChooseAChartOfCalculationTypes}.${2:ChooseForm}", FormParameters); 898 | # Charts of calculation types traversal 899 | snippet ChartsOfCalculationTypesChoose 900 | Selection = ChartsOfCalculationTypes.$1.Choose(); 901 | While Selection.Next() Do 902 | ${0} 903 | EndDo; 904 | # Open a business process form 905 | snippet OpenForm 906 | "OpenForm(\"BusinessProcess.${1:ChooseABusinessProcess}.${2:ChooseForm}${0}\");" 907 | # Open a business process form (with parameters) 908 | snippet OpenForm 909 | FormParameters = New Structure; 910 | FormParameters.Insert("${0}", ); 911 | OpenForm("BusinessProcess.${1:ChooseABusinessProcess}.${2:ChooseForm}", FormParameters); 912 | # Get a business process form 913 | snippet GetForm 914 | "GetForm(\"BusinessProcess.${1:ChooseABusinessProcess}.${2:ChooseForm}${0}\");" 915 | # Get a business process form (with parameters) 916 | snippet GetForm 917 | FormParameters = New Structure; 918 | FormParameters.Insert("${0}", ); 919 | Form = GetForm("BusinessProcess.${1:ChooseABusinessProcess}.${2:ChooseForm}", FormParameters); 920 | # Business processes traversal 921 | snippet BusinessProcessesChoose 922 | Selection = BusinessProcesses.$1.Choose(); 923 | While Selection.Next() Do 924 | ${0} 925 | EndDo; 926 | # Open a task form 927 | snippet OpenForm 928 | "OpenForm(\"Task.${1:ChooseATask}.${2:ChooseForm}${0}\");" 929 | # Open a task form (with parameters) 930 | snippet OpenForm 931 | FormParameters = New Structure; 932 | FormParameters.Insert("${0}", ); 933 | OpenForm("Task.${1:ChooseATask}.${2:ChooseForm}", FormParameters); 934 | # Get a task form 935 | snippet GetForm 936 | "GetForm(\"Task.${1:ChooseATask}.${2:ChooseForm}${0}\");" 937 | # Get a task form (with parameters) 938 | snippet GetForm 939 | FormParameters = New Structure; 940 | FormParameters.Insert("${0}", ); 941 | Form = GetForm("Task.${1:ChooseATask}.${2:ChooseForm}", FormParameters); 942 | # Open an information register form 943 | snippet OpenForm 944 | "OpenForm(\"InformationRegister.${1:ChooseAnInformationRegister}.${2:ChooseForm}${0}\");" 945 | # Open an information register form (with parameters) 946 | snippet OpenForm 947 | FormParameters = New Structure; 948 | FormParameters.Insert("${0}", ); 949 | OpenForm("InformationRegister.${1:ChooseAnInformationRegister}.${2:ChooseForm}", FormParameters); 950 | # Get an information register form 951 | snippet GetForm 952 | "GetForm(\"InformationRegister.${1:ChooseAnInformationRegister}.${2:ChooseForm}${0}\");" 953 | # Get an information register form (with parameters) 954 | snippet GetForm 955 | FormParameters = New Structure; 956 | FormParameters.Insert("${0}", ); 957 | Form = GetForm("InformationRegister.${1:ChooseAnInformationRegister}.${2:ChooseForm}", FormParameters); 958 | # Selection of information register records 959 | snippet InformationRegisterChoose 960 | Selection = InformationRegister.${1:ChooseAnInformationRegister}.Choose(); 961 | While Selection.Next() Do 962 | ${0} 963 | EndDo; 964 | # Selection of information register records (by recorder) 965 | snippet InformationRegisterSelectByRecorder 966 | Selection = InformationRegister.${1:ChooseAnInformationRegister}.SelectByRecorder(${0}); 967 | While Selection.Next() Do 968 | EndDo; 969 | # Open an accumulation register form 970 | snippet OpenForm 971 | "OpenForm(\"AccumulationRegister.${1:ChooseAnAccumulationRegister}.${2:ChooseForm}${0}\");" 972 | # Open an accumulation register form (with parameters) 973 | snippet OpenForm 974 | FormParameters = New Structure; 975 | FormParameters.Insert("${0}", ); 976 | OpenForm("AccumulationRegister.${1:ChooseAnAccumulationRegister}.${2:ChooseForm}", FormParameters); 977 | # Get an accumulation register form 978 | snippet GetForm 979 | "GetForm(\"AccumulationRegister.${1:ChooseAnAccumulationRegister}.${2:ChooseForm}${0}\");" 980 | # Get an accumulation register form (with parameters) 981 | snippet GetForm 982 | FormParameters = New Structure; 983 | FormParameters.Insert("${0}", ); 984 | Form = GetForm("AccumulationRegister.${1:ChooseAnAccumulationRegister}.${2:ChooseForm}", FormParameters); 985 | # Selection of accumulation register records 986 | snippet AccumulationRegisterChoose 987 | Selection = AccumulationRegister.${1:ChooseAnAccumulationRegister}.Choose(); 988 | While Selection.Next() Do 989 | ${0} 990 | EndDo; 991 | # Selection of accumulation register records (by recorder) 992 | snippet AccumulationRegisterSelectByRecorder 993 | Selection = AccumulationRegister.${1:ChooseAnAccumulationRegister}.SelectByRecorder(${0}); 994 | While Selection.Next() Do 995 | EndDo; 996 | # Open an accounting register form 997 | snippet OpenForm 998 | "OpenForm(\"AccountingRegister.${1:ChooseAnAccountingRegister}.${2:ChooseForm}${0}\");" 999 | # Open an accounting register form (with parameters) 1000 | snippet OpenForm 1001 | FormParameters = New Structure; 1002 | FormParameters.Insert("${0}", ); 1003 | OpenForm("AccountingRegister.${1:ChooseAnAccountingRegister}.${2:ChooseForm}", FormParameters); 1004 | # Get an accounting register form 1005 | snippet GetForm 1006 | "GetForm(\"AccountingRegister.${1:ChooseAnAccountingRegister}.${2:ChooseForm}${0}\");" 1007 | # Get an accounting register form (with parameters) 1008 | snippet GetForm 1009 | FormParameters = New Structure; 1010 | FormParameters.Insert("${0}", ); 1011 | Form = GetForm("AccountingRegister.${1:ChooseAnAccountingRegister}.${2:ChooseForm}", FormParameters); 1012 | # Selection of accounting register records 1013 | snippet AccountingRegisterChoose 1014 | Selection = AccountingRegister.${1:ChooseAnAccountingRegister}.Choose(); 1015 | While Selection.Next() Do 1016 | ${0} 1017 | EndDo; 1018 | # Selection of accounting register records (by recorder) 1019 | snippet AccountingRegisterSelectByRecorder 1020 | Selection = AccountingRegister.${1:ChooseAnAccountingRegister}.SelectByRecorder(${0}); 1021 | While Selection.Next() Do 1022 | EndDo; 1023 | # Open a calculation register form 1024 | snippet OpenForm 1025 | "OpenForm(\"CalculationRegister.${1:ChooseACalculationRegister}.${2:ChooseForm}${0}\");" 1026 | # Open a calculation register form (with parameters) 1027 | snippet OpenForm 1028 | FormParameters = New Structure; 1029 | FormParameters.Insert("${0}", ); 1030 | OpenForm("CalculationRegister.${1:ChooseACalculationRegister}.${2:ChooseForm}", FormParameters); 1031 | # Get a calculation register form 1032 | snippet GetForm 1033 | "GetForm(\"CalculationRegister.${1:ChooseACalculationRegister}.${2:ChooseForm}${0}\");" 1034 | # Get a calculation register form (with parameters) 1035 | snippet GetForm 1036 | FormParameters = New Structure; 1037 | FormParameters.Insert("${0}", ); 1038 | Form = GetForm("CalculationRegister.${1:ChooseACalculationRegister}.${2:ChooseForm}", FormParameters); 1039 | # Selection of calculation register records 1040 | snippet CalculationRegisterChoose 1041 | Selection = CalculationRegister.${1:ChooseACalculationRegister}.Choose(); 1042 | While Selection.Next() Do 1043 | ${0} 1044 | EndDo; 1045 | # Selection of calculation register records (by recorder) 1046 | snippet CalculationRegisterSelectByRecorder 1047 | Selection = CalculationRegister.${1:ChooseACalculationRegister}.SelectByRecorder(${0}); 1048 | While Selection.Next() Do 1049 | EndDo; 1050 | # Message 1051 | snippet Message 1052 | Message = New UserMessage; 1053 | Message.Text = "${0}"; 1054 | Message.Field = ""; 1055 | Message.SetData(); 1056 | Message.Message(); 1057 | # DoMessageBox 1058 | snippet DoMessageBox 1059 | "DoMessageBox(${0});" 1060 | # Format 1061 | snippet Format 1062 | "Format(${0}, \"$1\")" 1063 | # Create a structure 1064 | snippet Structure 1065 | "New Structure(\"${0}\", )" 1066 | # Query 1067 | snippet Query 1068 | Query = New Query; 1069 | Query.Text = "$1"; 1070 | Result = Query.Execute(); 1071 | Selection = Result.Choose(); 1072 | While Selection.Next() Do 1073 | ${0} 1074 | EndDo; 1075 | # Query with parameter 1076 | snippet Query 1077 | Query = New Query; 1078 | Query.Text = "$1"; 1079 | Query.SetParameter("${0}", ); 1080 | Result = Query.Execute(); 1081 | Selection = Result.Choose(); 1082 | While Selection.Next() Do 1083 | EndDo; 1084 | # Promt 1085 | snippet DoQueryBox 1086 | "DoQueryBox(\"${1:PromptText}\", ${2:DialogPrompt})" 1087 | # Conditional Prompt 1088 | snippet DoQueryBox 1089 | "DoQueryBox(\"${1:PromptText}\", ${2:DialogPrompt}) = ${3:DialogReturnCode}" 1090 | # Type check 1091 | snippet TypeCheck 1092 | If TypeOf(${1:ExpressionForTypeCheck}) = Type("${2:ChooseType}") Then 1093 | ${0} 1094 | EndIf; 1095 | -------------------------------------------------------------------------------- /syntax/bsl.vim: -------------------------------------------------------------------------------- 1 | " Vim syntax file 2 | " Language: 1C (BSL) 3 | " Maintainer: Alexander Andreev 4 | " Last Change: 21/01/2017 5 | " 6 | " For version 5.x: Clear all syntax items 7 | " For version 6.x: Quit when a syntax file was already loaded 8 | if !exists("main_syntax") 9 | if version < 600 10 | syntax clear 11 | elseif exists("b:current_syntax") 12 | finish 13 | endif 14 | let main_syntax = 'bsl' 15 | endif 16 | 17 | let s:cpo_save = &cpo 18 | set cpo&vim 19 | 20 | " Drop fold if it set but vim doesn't support it. 21 | if version < 600 && exists("bsl_fold") 22 | unlet bsl_fold 23 | endif 24 | 25 | syn case ignore 26 | syn sync lines=250 27 | 28 | syn match bslOperatorPunctuation display "[\[\]:(),;]" 29 | syn match bslOperator display "[-+/*%=<>.?]" 30 | 31 | "Поддержка 1c-query 32 | syntax include @bslSDBL :p:h/sdbl.vim 33 | unlet b:current_syntax 34 | 35 | syn region bslCommentLineDoubleSlash start="//" end="$" contains=bslTODO 36 | 37 | if exists("g:sdbl_syntax_disable") 38 | syn region bslStringQuotedDouble matchgroup=bslStrings start=+"+ end=+"+ 39 | else 40 | syn region bslStringQuotedDouble matchgroup=bslStrings start=+"+ end=+"+ contains=sdblSource 41 | syn region sdblSource contained start="\%(Выбрать\|Select\(\s\+Разрешенные\|\s\+Allowed\)\?\(\s\+Различные\|\s\+Distinct\)\?\(\s\+Первые\|\s\+Top\)\?\)" end="\(\(\"[^\"]\)\@=\)" contains=@bslSDBL transparent 42 | endif 43 | 44 | syn match bslConstantNumeric display "-\=\<\d\+\>" 45 | syn match bslConstantFloat display "-\=\<\d\+\.\d\+\>" 46 | syn match bslConstantOtherDate "\'\%(\(\d{4}[^\d\']*\d{2}[^\d\']*\d{2}\)\([^\d\']*\d{2}[^\d\']*\d{2}\([^\d\']*\d{2}\)\?\)\?\)\'" 47 | 48 | syn keyword bslTODO contained TODO FIXME 49 | 50 | " --- Keywords --- 51 | syn keyword bslConstantLanguage Неопределено Истина Ложь 52 | syn keyword bslConstantLanguage Undefined True False NULL 53 | syn keyword bslKeywordControl Прервать Продолжить Возврат 54 | syn keyword bslKeywordControl Break Continue Return 55 | syn keyword bslKeywordControlConditional Если Иначе ИначеЕсли Тогда КонецЕсли 56 | syn keyword bslKeywordControlConditional If Else ElsIf Then EndIf 57 | syn keyword bslKeywordControlException Попытка Исключение КонецПопытки ВызватьИсключение 58 | syn keyword bslKeywordControlException Try Except EndTry Raise 59 | syn keyword bslKeywordControlRepeat Пока Для Каждого Из По Цикл КонецЦикла 60 | syn keyword bslKeywordControlRepeat While For Each In To Do EndDo 61 | syn keyword bslKeywordOperatorLogical НЕ И ИЛИ 62 | syn keyword bslKeywordOperatorLogical NOT AND OR 63 | syn keyword bslStorageModifier Экспорт Знач Перем 64 | syn keyword bslStorageModifier Export Val Var 65 | 66 | " directive 67 | syn match bslOtherDirective "&\%(НаКлиенте\(\(НаСервере\(БезКонтекста\)\?\)\?\)\|AtClient\(\(AtServer\(NoContext\)\?\)\?\)\|НаСервере\(БезКонтекста\)\?\|AtServer\(NoContext\)\?\)" 68 | syn region bslControlImport start="#\(Использовать\|Use\)" end="$" 69 | " preprocessor conditional 70 | syn match bslOtherPreprocessor "#\%(Если\|If\|ИначеЕсли\|ElsIf\|Иначе\|Else\|КонецЕсли\|EndIf\).*\(Тогда\|Then\)\?" 71 | " region 72 | syn match bslOtherSection "#\(Область\|Region\).*$" 73 | syn match bslOtherSection "#\(КонецОбласти\|EndRegion\)" 74 | " Annotations 75 | syn region bslOtherAnnotation start="&\(Перед\|Before\|После\|After\|Вместо\|Around\)" end="$" 76 | "Functions w/o brackets 77 | syn keyword bslNameSupportFunction Новый New 78 | " Глобальный контекст - функции работы со значениями типа Строка 79 | syn keyword bslNameSupportFunction contained СтрДлина StrLen 80 | syn keyword bslNameSupportFunction contained СокрЛ TrimL 81 | syn keyword bslNameSupportFunction contained СокрП TrimR 82 | syn keyword bslNameSupportFunction contained СокрЛП TrimAll 83 | syn keyword bslNameSupportFunction contained Лев Left 84 | syn keyword bslNameSupportFunction contained Прав Right 85 | syn keyword bslNameSupportFunction contained Сред Mid 86 | syn keyword bslNameSupportFunction contained СтрНайти StrFind 87 | syn keyword bslNameSupportFunction contained ВРег Upper 88 | syn keyword bslNameSupportFunction contained НРег Lower 89 | syn keyword bslNameSupportFunction contained ТРег Title 90 | syn keyword bslNameSupportFunction contained Символ Char 91 | syn keyword bslNameSupportFunction contained КодСимвола CharCode 92 | syn keyword bslNameSupportFunction contained ПустаяСтрока IsBlankString 93 | syn keyword bslNameSupportFunction contained СтрЗаменить StrReplace 94 | syn keyword bslNameSupportFunction contained СтрЧислоСтрок StrLineCount 95 | syn keyword bslNameSupportFunction contained СтрПолучитьСтроку StrGetLine 96 | syn keyword bslNameSupportFunction contained СтрЧислоВхождений StrOccurrenceCount 97 | syn keyword bslNameSupportFunction contained СтрСравнить StrCompare 98 | syn keyword bslNameSupportFunction contained СтрНачинаетсяС StrStartWith 99 | syn keyword bslNameSupportFunction contained СтрЗаканчиваетсяНа StrEndsWith 100 | syn keyword bslNameSupportFunction contained СтрРазделить StrSplit 101 | syn keyword bslNameSupportFunction contained СтрСоединить StrConcat 102 | 103 | " Глобальный контекст - функции работы со значениями типа Число 104 | syn keyword bslNameSupportFunction contained Цел Int Окр Round ACos ASin ATan Cos Exp Log Log10 Pow Sin Sqrt Tan 105 | 106 | " Глобальный контекст - функции работы со значениями типа Дата 107 | syn keyword bslNameSupportFunction contained Год Year 108 | syn keyword bslNameSupportFunction contained Месяц Month 109 | syn keyword bslNameSupportFunction contained День Day 110 | syn keyword bslNameSupportFunction contained Час Hour 111 | syn keyword bslNameSupportFunction contained Минута Minute 112 | syn keyword bslNameSupportFunction contained Секунда Second 113 | syn keyword bslNameSupportFunction contained НачалоГода BegOfYear 114 | syn keyword bslNameSupportFunction contained НачалоДня BegOfDay 115 | syn keyword bslNameSupportFunction contained НачалоКвартала BegOfQuarter 116 | syn keyword bslNameSupportFunction contained НачалоМесяца BegOfMonth 117 | syn keyword bslNameSupportFunction contained НачалоМинуты BegOfMinute 118 | syn keyword bslNameSupportFunction contained НачалоНедели BegOfWeek 119 | syn keyword bslNameSupportFunction contained НачалоЧаса BegOfHour 120 | syn keyword bslNameSupportFunction contained КонецГода EndOfYear 121 | syn keyword bslNameSupportFunction contained КонецДня EndOfDay 122 | syn keyword bslNameSupportFunction contained КонецКвартала EndOfQuarter 123 | syn keyword bslNameSupportFunction contained КонецМесяца EndOfMonth 124 | syn keyword bslNameSupportFunction contained КонецМинуты EndOfMinute 125 | syn keyword bslNameSupportFunction contained КонецНедели EndOfWeek 126 | syn keyword bslNameSupportFunction contained КонецЧаса EndOfHour 127 | syn keyword bslNameSupportFunction contained НеделяГода WeekOfYear 128 | syn keyword bslNameSupportFunction contained ДеньГода DayOfYear 129 | syn keyword bslNameSupportFunction contained ДеньНедели WeekDay 130 | syn keyword bslNameSupportFunction contained ТекущаяДата CurrentDate 131 | syn keyword bslNameSupportFunction contained ДобавитьМесяц AddMonth 132 | 133 | " Глобальный контекст - функции работы со значениями типа Тип 134 | syn keyword bslNameSupportFunction contained Тип Type 135 | syn keyword bslNameSupportFunction contained ТипЗнч TypeOf 136 | 137 | " Глобальный контекст - функции преобразования значений 138 | syn keyword bslNameSupportFunction contained Булево Boolean 139 | syn keyword bslNameSupportFunction contained Число Number 140 | syn keyword bslNameSupportFunction contained Строка String 141 | syn keyword bslNameSupportFunction contained Дата Date 142 | 143 | " Глобальный контекст - процедуры и функции интерактивной работы 144 | syn keyword bslNameSupportFunction contained ПоказатьВопрос ShowQueryBox 145 | syn keyword bslNameSupportFunction contained Вопрос DoQueryBox 146 | syn keyword bslNameSupportFunction contained ПоказатьПредупреждение ShowMessageBox 147 | syn keyword bslNameSupportFunction contained Предупреждение DoMessageBox 148 | syn keyword bslNameSupportFunction contained Сообщить Message 149 | syn keyword bslNameSupportFunction contained ОчиститьСообщения ClearMessages 150 | syn keyword bslNameSupportFunction contained ОповеститьОбИзменении NotifyChanged 151 | syn keyword bslNameSupportFunction contained Состояние Status 152 | syn keyword bslNameSupportFunction contained Сигнал Beep 153 | syn keyword bslNameSupportFunction contained ПоказатьЗначение ShowValue 154 | syn keyword bslNameSupportFunction contained ОткрытьЗначение OpenValue 155 | syn keyword bslNameSupportFunction contained Оповестить Notify 156 | syn keyword bslNameSupportFunction contained ОбработкаПрерыванияПользователя UserInterruptProcessing 157 | syn keyword bslNameSupportFunction contained ОткрытьСодержаниеСправки OpenHelpContent 158 | syn keyword bslNameSupportFunction contained ОткрытьИндексСправки OpenHelpIndex 159 | syn keyword bslNameSupportFunction contained ОткрытьСправку OpenHelp 160 | syn keyword bslNameSupportFunction contained ПоказатьИнформациюОбОшибке ShowErrorInfo 161 | syn keyword bslNameSupportFunction contained КраткоеПредставлениеОшибки BriefErrorDescription 162 | syn keyword bslNameSupportFunction contained ПодробноеПредставлениеОшибки DetailErrorDescription 163 | syn keyword bslNameSupportFunction contained ПолучитьФорму GetForm 164 | syn keyword bslNameSupportFunction contained ЗакрытьСправку CloseHelp 165 | syn keyword bslNameSupportFunction contained ПоказатьОповещениеПользователя ShowUserNotification 166 | syn keyword bslNameSupportFunction contained ОткрытьФорму OpenForm 167 | syn keyword bslNameSupportFunction contained ОткрытьФормуМодально OpenFormModal 168 | syn keyword bslNameSupportFunction contained АктивноеОкно ActiveWindow 169 | syn keyword bslNameSupportFunction contained ВыполнитьОбработкуОповещения ExecuteNotifyProcessing 170 | 171 | " Глобальный контекст - функции для вызова диалога ввода данных 172 | syn keyword bslNameSupportFunction contained ПоказатьВводЗначения ShowInputValue 173 | syn keyword bslNameSupportFunction contained ВвестиЗначение InputValue 174 | syn keyword bslNameSupportFunction contained ПоказатьВводЧисла ShowInputNumber 175 | syn keyword bslNameSupportFunction contained ВвестиЧисло InputNumber 176 | syn keyword bslNameSupportFunction contained ПоказатьВводСтроки ShowInputString 177 | syn keyword bslNameSupportFunction contained ВвестиСтроку InputString 178 | syn keyword bslNameSupportFunction contained ПоказатьВводДаты ShowInputDate 179 | syn keyword bslNameSupportFunction contained ВвестиДату InputDate 180 | 181 | " Глобальный контекст - функции форматирования 182 | syn keyword bslNameSupportFunction contained Формат Format 183 | syn keyword bslNameSupportFunction contained ЧислоПрописью NumberInWords 184 | syn keyword bslNameSupportFunction contained НСтр NStr 185 | syn keyword bslNameSupportFunction contained ПредставлениеПериода PeriodPresentation 186 | syn keyword bslNameSupportFunction contained СтрШаблон StrTemplate 187 | 188 | "Глобальный контекст - функции обращения к конфигурации 189 | syn keyword bslNameSupportFunction contained ПолучитьОбщийМакет GetCommonTemplate 190 | syn keyword bslNameSupportFunction contained ПолучитьОбщуюФорму GetCommonForm 191 | syn keyword bslNameSupportFunction contained ПредопределенноеЗначение PredefinedValue 192 | syn keyword bslNameSupportFunction contained ПолучитьПолноеИмяПредопределенногоЗначения GetPredefinedValueFullName 193 | 194 | "Глобальный контекст - процедуры и функции сеанса работы 195 | syn keyword bslNameSupportFunction contained ПолучитьЗаголовокСистемы GetCaption 196 | syn keyword bslNameSupportFunction contained ПолучитьСкоростьКлиентскогоСоединения GetClientConnectionSpeed 197 | syn keyword bslNameSupportFunction contained ПодключитьОбработчикОжидания AttachIdleHandler 198 | syn keyword bslNameSupportFunction contained УстановитьЗаголовокСистемы SetCaption 199 | syn keyword bslNameSupportFunction contained ОтключитьОбработчикОжидания DetachIdleHandler 200 | syn keyword bslNameSupportFunction contained ИмяКомпьютера ComputerName 201 | syn keyword bslNameSupportFunction contained ЗавершитьРаботуСистемы Exit 202 | syn keyword bslNameSupportFunction contained ИмяПользователя UserName 203 | syn keyword bslNameSupportFunction contained ПрекратитьРаботуСистемы Terminate 204 | syn keyword bslNameSupportFunction contained ПолноеИмяПользователя UserFullName 205 | syn keyword bslNameSupportFunction contained ЗаблокироватьРаботуПользователя LockApplication 206 | syn keyword bslNameSupportFunction contained КаталогПрограммы BinDir 207 | syn keyword bslNameSupportFunction contained КаталогВременныхФайлов TempFilesDir 208 | syn keyword bslNameSupportFunction contained ПравоДоступа AccessRight 209 | syn keyword bslNameSupportFunction contained РольДоступна IsInRole 210 | syn keyword bslNameSupportFunction contained ТекущийЯзык CurrentLanguage 211 | syn keyword bslNameSupportFunction contained ТекущийКодЛокализации CurrentLocaleCode 212 | syn keyword bslNameSupportFunction contained СтрокаСоединенияИнформационнойБазы InfoBaseConnectionString 213 | syn keyword bslNameSupportFunction contained ПодключитьОбработчикОповещения AttachNotificationHandler 214 | syn keyword bslNameSupportFunction contained ОтключитьОбработчикОповещения DetachNotificationHandler 215 | syn keyword bslNameSupportFunction contained ПолучитьСообщенияПользователю GetUserMessages 216 | syn keyword bslNameSupportFunction contained ПараметрыДоступа AccessParameters 217 | syn keyword bslNameSupportFunction contained ПредставлениеПриложения ApplicationPresentation 218 | syn keyword bslNameSupportFunction contained ТекущийЯзыкСистемы CurrentSystemLanguage 219 | syn keyword bslNameSupportFunction contained ЗапуститьСистему RunSystem 220 | syn keyword bslNameSupportFunction contained ТекущийРежимЗапуска CurrentRunMode 221 | syn keyword bslNameSupportFunction contained УстановитьЧасовойПоясСеанса SetSessionTimeZone 222 | syn keyword bslNameSupportFunction contained ЧасовойПоясСеанса SessionTimeZone 223 | syn keyword bslNameSupportFunction contained ТекущаяДатаСеанса CurrentSessionDate 224 | syn keyword bslNameSupportFunction contained УстановитьКраткийЗаголовокПриложения SetShortApplicationCaption 225 | syn keyword bslNameSupportFunction contained ПолучитьКраткийЗаголовокПриложения GetShortApplicationCaption 226 | syn keyword bslNameSupportFunction contained ПредставлениеПрава RightPresentation 227 | syn keyword bslNameSupportFunction contained ВыполнитьПроверкуПравДоступа VerifyAccessRights 228 | syn keyword bslNameSupportFunction contained РабочийКаталогДанныхПользователя UserDataWorkDir 229 | syn keyword bslNameSupportFunction contained КаталогДокументов DocumentsDir 230 | syn keyword bslNameSupportFunction contained ПолучитьИнформациюЭкрановКлиента GetClientDisplaysInformation 231 | syn keyword bslNameSupportFunction contained ТекущийВариантОсновногоШрифтаКлиентскогоПриложения ClientApplicationBaseFontCurrentVariant 232 | syn keyword bslNameSupportFunction contained ТекущийВариантИнтерфейсаКлиентскогоПриложения ClientApplicationInterfaceCurrentVariant 233 | syn keyword bslNameSupportFunction contained УстановитьЗаголовокКлиентскогоПриложения SetClientApplicationCaption 234 | syn keyword bslNameSupportFunction contained ПолучитьЗаголовокКлиентскогоПриложения GetClientApplicationCaption 235 | syn keyword bslNameSupportFunction contained НачатьПолучениеКаталогаВременныхФайлов BeginGettingTempFilesDir 236 | syn keyword bslNameSupportFunction contained НачатьПолучениеКаталогаДокументов BeginGettingDocumentsDir 237 | syn keyword bslNameSupportFunction contained НачатьПолучениеРабочегоКаталогаДанныхПользователя BeginGettingUserDataWorkDir 238 | syn keyword bslNameSupportFunction contained ПодключитьОбработчикЗапросаНастроекКлиентаЛицензирования AttachLicensingClientParametersRequestHandler 239 | syn keyword bslNameSupportFunction contained ОтключитьОбработчикЗапросаНастроекКлиентаЛицензирования DetachLicensingClientParametersRequestHandler 240 | syn keyword bslNameSupportFunction contained КаталогБиблиотекиМобильногоУстройства MobileDeviceLibraryDir 241 | 242 | "Глобальный контекст - процедуры и функции сохранения значений 243 | syn keyword bslNameSupportFunction contained ЗначениеВСтрокуВнутр ValueToStringInternal 244 | syn keyword bslNameSupportFunction contained ЗначениеИзСтрокиВнутр ValueFromStringInternal 245 | syn keyword bslNameSupportFunction contained ЗначениеВФайл ValueToFile 246 | syn keyword bslNameSupportFunction contained ЗначениеИзФайла ValueFromFile 247 | 248 | "Глобальный контекст - Процедуры и функции работы с операционной системой 249 | syn keyword bslNameSupportFunction contained КомандаСистемы System 250 | syn keyword bslNameSupportFunction contained ЗапуститьПриложение RunApp 251 | syn keyword bslNameSupportFunction contained ПолучитьCOMОбъект GetCOMObject 252 | syn keyword bslNameSupportFunction contained ПользователиОС OSUsers 253 | syn keyword bslNameSupportFunction contained НачатьЗапускПриложения BeginRunningApplication 254 | 255 | "Глобальный контекст - Процедуры и функции работы с внешними компонентами 256 | syn keyword bslNameSupportFunction contained ПодключитьВнешнююКомпоненту AttachAddIn 257 | syn keyword bslNameSupportFunction contained НачатьУстановкуВнешнейКомпоненты BeginInstallAddIn 258 | syn keyword bslNameSupportFunction contained УстановитьВнешнююКомпоненту InstallAddIn 259 | syn keyword bslNameSupportFunction contained НачатьПодключениеВнешнейКомпоненты BeginAttachingAddIn 260 | 261 | "Глобальный контекст - Процедуры и функции работы с файлами 262 | syn keyword bslNameSupportFunction contained КопироватьФайл FileCopy 263 | syn keyword bslNameSupportFunction contained ПереместитьФайл MoveFile 264 | syn keyword bslNameSupportFunction contained УдалитьФайлы DeleteFiles 265 | syn keyword bslNameSupportFunction contained НайтиФайлы FindFiles 266 | syn keyword bslNameSupportFunction contained СоздатьКаталог CreateDirectory 267 | syn keyword bslNameSupportFunction contained ПолучитьИмяВременногоФайла GetTempFileName 268 | syn keyword bslNameSupportFunction contained РазделитьФайл SplitFile 269 | syn keyword bslNameSupportFunction contained ОбъединитьФайлы MergeFiles 270 | syn keyword bslNameSupportFunction contained ПолучитьФайл GetFile 271 | syn keyword bslNameSupportFunction contained НачатьПомещениеФайла BeginPutFile 272 | syn keyword bslNameSupportFunction contained ПоместитьФайл PutFile 273 | syn keyword bslNameSupportFunction contained ЭтоАдресВременногоХранилища IsTempStorageURL 274 | syn keyword bslNameSupportFunction contained УдалитьИзВременногоХранилища DeleteFromTempStorage 275 | syn keyword bslNameSupportFunction contained ПолучитьИзВременногоХранилища GetFromTempStorage 276 | syn keyword bslNameSupportFunction contained ПоместитьВоВременноеХранилище PutToTempStorage 277 | syn keyword bslNameSupportFunction contained ПодключитьРасширениеРаботыСФайлами AttachFileSystemExtension 278 | syn keyword bslNameSupportFunction contained НачатьУстановкуРасширенияРаботыСФайлами BeginInstallFileSystemExtension 279 | syn keyword bslNameSupportFunction contained УстановитьРасширениеРаботыСФайлами InstallFileSystemExtension 280 | syn keyword bslNameSupportFunction contained ПолучитьФайлы GetFiles 281 | syn keyword bslNameSupportFunction contained ПоместитьФайлы PutFiles 282 | syn keyword bslNameSupportFunction contained ЗапроситьРазрешениеПользователя RequestUserPermission 283 | syn keyword bslNameSupportFunction contained ПолучитьМаскуВсеФайлы GetAllFilesMask 284 | syn keyword bslNameSupportFunction contained ПолучитьМаскуВсеФайлыКлиента GetClientAllFilesMask 285 | syn keyword bslNameSupportFunction contained ПолучитьМаскуВсеФайлыСервера GetServerAllFilesMask 286 | syn keyword bslNameSupportFunction contained ПолучитьРазделительПути GetPathSeparator 287 | syn keyword bslNameSupportFunction contained ПолучитьРазделительПутиКлиента GetClientPathSeparator 288 | syn keyword bslNameSupportFunction contained ПолучитьРазделительПутиСервера GetServerPathSeparator 289 | syn keyword bslNameSupportFunction contained НачатьПодключениеРасширенияРаботыСФайлами BeginAttachingFileSystemExtension 290 | syn keyword bslNameSupportFunction contained НачатьЗапросРазрешенияПользователя BeginRequestingUserPermission 291 | syn keyword bslNameSupportFunction contained НачатьПоискФайлов BeginFindingFiles 292 | syn keyword bslNameSupportFunction contained НачатьСозданиеКаталога BeginCreatingDirectory 293 | syn keyword bslNameSupportFunction contained НачатьКопированиеФайла BeginCopyingFile 294 | syn keyword bslNameSupportFunction contained НачатьПеремещениеФайла BeginMovingFile 295 | syn keyword bslNameSupportFunction contained НачатьУдалениеФайлов BeginDeletingFiles 296 | syn keyword bslNameSupportFunction contained НачатьПолучениеФайлов BeginGettingFiles 297 | syn keyword bslNameSupportFunction contained НачатьПомещениеФайлов BeginPuttingFiles 298 | syn keyword bslNameSupportFunction contained НачатьСозданиеДвоичныхДанныхИзФайла BeginCreateBinaryDataFromFile 299 | 300 | "Глобальный контекст - Процедуры и функции работы с информационной базой 301 | syn keyword bslNameSupportFunction contained НачатьТранзакцию BeginTransaction 302 | syn keyword bslNameSupportFunction contained ЗафиксироватьТранзакцию CommitTransaction 303 | syn keyword bslNameSupportFunction contained ОтменитьТранзакцию RollbackTransaction 304 | syn keyword bslNameSupportFunction contained УстановитьМонопольныйРежим SetExclusiveMode 305 | syn keyword bslNameSupportFunction contained МонопольныйРежим ExclusiveMode 306 | syn keyword bslNameSupportFunction contained ПолучитьОперативнуюОтметкуВремени GetRealTimeTimestamp 307 | syn keyword bslNameSupportFunction contained ПолучитьСоединенияИнформационнойБазы GetInfoBaseConnections 308 | syn keyword bslNameSupportFunction contained НомерСоединенияИнформационнойБазы InfoBaseConnectionNumber 309 | syn keyword bslNameSupportFunction contained КонфигурацияИзменена ConfigurationChanged 310 | syn keyword bslNameSupportFunction contained КонфигурацияБазыДанныхИзмененаДинамически DataBaseConfigurationChangedDynamically 311 | syn keyword bslNameSupportFunction contained УстановитьВремяОжиданияБлокировкиДанных SetLockWaitTime 312 | syn keyword bslNameSupportFunction contained ОбновитьНумерациюОбъектов RefreshObjectsNumbering 313 | syn keyword bslNameSupportFunction contained ПолучитьВремяОжиданияБлокировкиДанных GetLockWaitTime 314 | syn keyword bslNameSupportFunction contained КодЛокализацииИнформационнойБазы InfoBaseLocaleCode 315 | syn keyword bslNameSupportFunction contained УстановитьМинимальнуюДлинуПаролейПользователей SetUserPasswordMinLength 316 | syn keyword bslNameSupportFunction contained ПолучитьМинимальнуюДлинуПаролейПользователей GetUserPasswordMinLength 317 | syn keyword bslNameSupportFunction contained ИнициализироватьПредопределенныеДанные InitializePredefinedData 318 | syn keyword bslNameSupportFunction contained УдалитьДанныеИнформационнойБазы EraseInfoBaseData 319 | syn keyword bslNameSupportFunction contained УстановитьПроверкуСложностиПаролейПользователей SetUserPasswordStrengthCheck 320 | syn keyword bslNameSupportFunction contained ПолучитьПроверкуСложностиПаролейПользователей GetUserPasswordStrengthCheck 321 | syn keyword bslNameSupportFunction contained ПолучитьСтруктуруХраненияБазыДанных GetDBStorageStructureInfo 322 | syn keyword bslNameSupportFunction contained УстановитьПривилегированныйРежим SetPrivilegedMode 323 | syn keyword bslNameSupportFunction contained ПривилегированныйРежим PrivilegedMode 324 | syn keyword bslNameSupportFunction contained ТранзакцияАктивна TransactionActive 325 | syn keyword bslNameSupportFunction contained НеобходимостьЗавершенияСоединения ConnectionStopRequest 326 | syn keyword bslNameSupportFunction contained НомерСеансаИнформационнойБазы InfoBaseSessionNumber 327 | syn keyword bslNameSupportFunction contained ПолучитьСеансыИнформационнойБазы GetInfoBaseSessions 328 | syn keyword bslNameSupportFunction contained ЗаблокироватьДанныеДляРедактирования LockDataForEdit 329 | syn keyword bslNameSupportFunction contained УстановитьСоединениеСВнешнимИсточникомДанных ConnectExternalDataSource 330 | syn keyword bslNameSupportFunction contained РазблокироватьДанныеДляРедактирования UnlockDataForEdit 331 | syn keyword bslNameSupportFunction contained РазорватьСоединениеСВнешнимИсточникомДанных DisconnectExternalDataSource 332 | syn keyword bslNameSupportFunction contained ПолучитьБлокировкуСеансов GetSessionsLock 333 | syn keyword bslNameSupportFunction contained УстановитьБлокировкуСеансов SetSessionsLock 334 | syn keyword bslNameSupportFunction contained ОбновитьПовторноИспользуемыеЗначения RefreshReusableValues 335 | syn keyword bslNameSupportFunction contained УстановитьБезопасныйРежим SetSafeMode 336 | syn keyword bslNameSupportFunction contained БезопасныйРежим SafeMode 337 | syn keyword bslNameSupportFunction contained ПолучитьДанныеВыбора GetChoiceData 338 | syn keyword bslNameSupportFunction contained УстановитьЧасовойПоясИнформационнойБазы SetInfoBaseTimeZone 339 | syn keyword bslNameSupportFunction contained ПолучитьЧасовойПоясИнформационнойБазы GetInfoBaseTimeZone 340 | syn keyword bslNameSupportFunction contained ПолучитьОбновлениеКонфигурацииБазыДанных GetDataBaseConfigurationUpdate 341 | syn keyword bslNameSupportFunction contained УстановитьБезопасныйРежимРазделенияДанных SetDataSeparationSafeMode 342 | syn keyword bslNameSupportFunction contained БезопасныйРежимРазделенияДанных DataSeparationSafeMode 343 | syn keyword bslNameSupportFunction contained УстановитьВремяЗасыпанияПассивногоСеанса SetPassiveSessionHibernateTime 344 | syn keyword bslNameSupportFunction contained ПолучитьВремяЗасыпанияПассивногоСеанса GetPassiveSessionHibernateTime 345 | syn keyword bslNameSupportFunction contained УстановитьВремяЗавершенияСпящегоСеанса SetHibernateSessionTerminateTime 346 | syn keyword bslNameSupportFunction contained ПолучитьВремяЗавершенияСпящегоСеанса GetHibernateSessionTerminateTime 347 | syn keyword bslNameSupportFunction contained ПолучитьТекущийСеансИнформационнойБазы GetCurrentInfoBaseSession 348 | syn keyword bslNameSupportFunction contained ПолучитьИдентификаторКонфигурации GetConfigurationID 349 | syn keyword bslNameSupportFunction contained УстановитьНастройкиКлиентаЛицензирования SetLicensingClientParameters 350 | syn keyword bslNameSupportFunction contained ПолучитьИмяКлиентаЛицензирования GetLicensingClientName 351 | syn keyword bslNameSupportFunction contained ПолучитьДополнительныйПараметрКлиентаЛицензирования GetLicensingClientAdditionalParameter 352 | syn keyword bslNameSupportFunction contained ПолучитьОтключениеБезопасногоРежима GetSafeModeDisabled 353 | syn keyword bslNameSupportFunction contained УстановитьОтключениеБезопасногоРежима SetSafeModeDisabled 354 | 355 | "Глобальный контекст - Процедуры и функции работы с данными информационной базы 356 | syn keyword bslNameSupportFunction contained НайтиПомеченныеНаУдаление FindMarkedForDeletion 357 | syn keyword bslNameSupportFunction contained НайтиПоСсылкам FindByRef 358 | syn keyword bslNameSupportFunction contained УдалитьОбъекты DeleteObjects 359 | syn keyword bslNameSupportFunction contained УстановитьОбновлениеПредопределенныхДанныхИнформационнойБазы SetInfoBasePredefinedDataUpdate 360 | syn keyword bslNameSupportFunction contained ПолучитьОбновлениеПредопределенныхДанныхИнформационнойБазы GetInfoBasePredefinedData 361 | 362 | "Глобальный контекст - Процедуры и функции работы с XML 363 | syn keyword bslNameSupportFunction contained XMLСтрока XMLString 364 | syn keyword bslNameSupportFunction contained XMLЗначение XMLValue 365 | syn keyword bslNameSupportFunction contained XMLТип XMLType 366 | syn keyword bslNameSupportFunction contained XMLТипЗнч XMLTypeOf 367 | syn keyword bslNameSupportFunction contained ИзXMLТипа FromXMLType 368 | syn keyword bslNameSupportFunction contained ВозможностьЧтенияXML CanReadXML 369 | syn keyword bslNameSupportFunction contained ПолучитьXMLТип GetXMLType 370 | syn keyword bslNameSupportFunction contained ПрочитатьXML ReadXML 371 | syn keyword bslNameSupportFunction contained ЗаписатьXML WriteXML 372 | syn keyword bslNameSupportFunction contained НайтиНедопустимыеСимволыXML FindDisallowedXMLCharacters 373 | syn keyword bslNameSupportFunction contained ИмпортМоделиXDTO ImportXDTOModel 374 | syn keyword bslNameSupportFunction contained СоздатьФабрикуXDTO CreateXDTOFactory 375 | 376 | "Глобальный контекст - Процедуры и функции работы с JSON 377 | syn keyword bslNameSupportFunction contained ЗаписатьJSON WriteJSON 378 | syn keyword bslNameSupportFunction contained ПрочитатьJSON ReadJSON 379 | syn keyword bslNameSupportFunction contained ПрочитатьДатуJSON ReadJSONDate 380 | syn keyword bslNameSupportFunction contained ЗаписатьДатуJSON WriteJSONDate 381 | 382 | "Глобальный контекст - Процедуры и функции работы с журналом регистрации 383 | syn keyword bslNameSupportFunction contained ЗаписьЖурналаРегистрации WriteLogEvent 384 | syn keyword bslNameSupportFunction contained ПолучитьИспользованиеЖурналаРегистрации GetEventLogUsing 385 | syn keyword bslNameSupportFunction contained УстановитьИспользованиеЖурналаРегистрации SetEventLogUsing 386 | syn keyword bslNameSupportFunction contained ПредставлениеСобытияЖурналаРегистрации EventLogEventPresentation 387 | syn keyword bslNameSupportFunction contained ВыгрузитьЖурналРегистрации UnloadEventLog 388 | syn keyword bslNameSupportFunction contained ПолучитьЗначенияОтбораЖурналаРегистрации GetEventLogFilterValues 389 | syn keyword bslNameSupportFunction contained УстановитьИспользованиеСобытияЖурналаРегистрации SetEventLogEventUse 390 | syn keyword bslNameSupportFunction contained ПолучитьИспользованиеСобытияЖурналаРегистрации GetEventLogEventUse 391 | syn keyword bslNameSupportFunction contained СкопироватьЖурналРегистрации CopyEventLog 392 | syn keyword bslNameSupportFunction contained ОчиститьЖурналРегистрации ClearEventLog 393 | 394 | "Глобальный контекст - Процедуры и функции работы с универсальными объектами 395 | syn keyword bslNameSupportFunction contained ЗначениеВДанныеФормы ValueToFormData 396 | syn keyword bslNameSupportFunction contained ДанныеФормыВЗначение FormDataToValue 397 | syn keyword bslNameSupportFunction contained КопироватьДанныеФормы CopyFormData 398 | syn keyword bslNameSupportFunction contained УстановитьСоответствиеОбъектаИФормы SetObjectAndFormConformity 399 | syn keyword bslNameSupportFunction contained ПолучитьСоответствиеОбъектаИФормы GetObjectAndFormConformity 400 | 401 | "Глобальный контекст - Процедуры и функции работы с функциональными опциями 402 | syn keyword bslNameSupportFunction contained ПолучитьФункциональнуюОпцию GetFunctionalOption 403 | syn keyword bslNameSupportFunction contained ПолучитьФункциональнуюОпциюИнтерфейса GetInterfaceFunctionalOption 404 | syn keyword bslNameSupportFunction contained УстановитьПараметрыФункциональныхОпцийИнтерфейса SetInterfaceFunctionalOptionParameters 405 | syn keyword bslNameSupportFunction contained ПолучитьПараметрыФункциональныхОпцийИнтерфейса GetInterfaceFunctionalOptionParameters 406 | syn keyword bslNameSupportFunction contained ОбновитьИнтерфейс RefreshInterface 407 | 408 | "Глобальный контекст - Процедуры и функции работы с криптографией 409 | syn keyword bslNameSupportFunction contained УстановитьРасширениеРаботыСКриптографией InstallCryptoExtension 410 | syn keyword bslNameSupportFunction contained НачатьУстановкуРасширенияРаботыСКриптографией BeginInstallCryptoExtension 411 | syn keyword bslNameSupportFunction contained ПодключитьРасширениеРаботыСКриптографией AttachCryptoExtension 412 | syn keyword bslNameSupportFunction contained НачатьПодключениеРасширенияРаботыСКриптографией BeginAttachingCryptoExtension 413 | 414 | "Глобальный контекст - Процедуры и функции работы со стандартным интерфейсом OData 415 | syn keyword bslNameSupportFunction contained УстановитьСоставСтандартногоИнтерфейсаOData SetStandardODataInterfaceContent 416 | syn keyword bslNameSupportFunction contained ПолучитьСоставСтандартногоИнтерфейсаOData GetStandardODataInterfaceContent 417 | 418 | " Глобальный контекст - Процедуры и функции работы с двоичными данными" 419 | syn keyword bslNameSupportFunction contained СоединитьБуферыДвоичныхДанных ConcatBinaryDataBuffers 420 | 421 | "Глобальный контекст - Прочие процедуры и функции 422 | syn keyword bslNameSupportFunction contained Мин Min 423 | syn keyword bslNameSupportFunction contained Макс Max 424 | syn keyword bslNameSupportFunction contained ОписаниеОшибки ErrorDescription 425 | syn keyword bslNameSupportFunction contained Вычислить Eval 426 | syn keyword bslNameSupportFunction contained ИнформацияОбОшибке ErrorInfo 427 | syn keyword bslNameSupportFunction contained Base64Значение Base64Value 428 | syn keyword bslNameSupportFunction contained Base64Строка Base64String 429 | syn keyword bslNameSupportFunction contained ЗаполнитьЗначенияСвойств FillPropertyValues 430 | syn keyword bslNameSupportFunction contained ЗначениеЗаполнено ValueIsFilled 431 | syn keyword bslNameSupportFunction contained ПолучитьПредставленияНавигационныхСсылок GetURLsPresentations 432 | syn keyword bslNameSupportFunction contained НайтиОкноПоНавигационнойСсылке FindWindowByURL 433 | syn keyword bslNameSupportFunction contained ПолучитьОкна GetWindows 434 | syn keyword bslNameSupportFunction contained ПерейтиПоНавигационнойСсылке GotoURL 435 | syn keyword bslNameSupportFunction contained ПолучитьНавигационнуюСсылку GetURL 436 | syn keyword bslNameSupportFunction contained ПолучитьДопустимыеКодыЛокализации GetAvailableLocaleCodes 437 | syn keyword bslNameSupportFunction contained ПолучитьНавигационнуюСсылкуИнформационнойБазы GetInfoBaseURL 438 | syn keyword bslNameSupportFunction contained ПредставлениеКодаЛокализации LocaleCodePresentation 439 | syn keyword bslNameSupportFunction contained ПолучитьДопустимыеЧасовыеПояса GetAvailableTimeZones 440 | syn keyword bslNameSupportFunction contained ПредставлениеЧасовогоПояса TimeZonePresentation 441 | syn keyword bslNameSupportFunction contained ТекущаяУниверсальнаяДата CurrentUniversalDate 442 | syn keyword bslNameSupportFunction contained ТекущаяУниверсальнаяДатаВМиллисекундах CurrentUniversalDateInMilliseconds 443 | syn keyword bslNameSupportFunction contained МестноеВремя ToLocalTime 444 | syn keyword bslNameSupportFunction contained УниверсальноеВремя ToUniversalTime 445 | syn keyword bslNameSupportFunction contained ЧасовойПояс TimeZone 446 | syn keyword bslNameSupportFunction contained СмещениеЛетнегоВремени DaylightTimeOffset 447 | syn keyword bslNameSupportFunction contained СмещениеСтандартногоВремени StandardTimeOffset 448 | syn keyword bslNameSupportFunction contained КодироватьСтроку EncodeString 449 | syn keyword bslNameSupportFunction contained РаскодироватьСтроку DecodeString 450 | syn keyword bslNameSupportFunction contained Найти Find 451 | syn keyword bslNameSupportFunction contained ПродолжитьВызов ProceedWithCall 452 | 453 | "Глобальный контекст - События приложения и сеанса 454 | syn keyword bslNameSupportFunction contained ПередНачаломРаботыСистемы BeforeStart 455 | syn keyword bslNameSupportFunction contained ПриНачалеРаботыСистемы OnStart 456 | syn keyword bslNameSupportFunction contained ПередЗавершениемРаботыСистемы BeforeExit 457 | syn keyword bslNameSupportFunction contained ПриЗавершенииРаботыСистемы OnExit 458 | syn keyword bslNameSupportFunction contained ОбработкаВнешнегоСобытия ExternEventProcessing 459 | syn keyword bslNameSupportFunction contained УстановкаПараметровСеанса SessionParametersSetting 460 | syn keyword bslNameSupportFunction contained ПриИзмененииПараметровЭкрана OnChangeDisplaySettings 461 | 462 | " Глобальный контекст - Свойства (классы) 463 | syn keyword bslSupportClass WSСсылки WSReferences 464 | syn keyword bslSupportClass БиблиотекаКартинок PictureLib 465 | syn keyword bslSupportClass БиблиотекаМакетовОформленияКомпоновкиДанных DataCompositionAppearanceTemplateLib 466 | syn keyword bslSupportClass БиблиотекаСтилей StyleLib 467 | syn keyword bslSupportClass БизнесПроцессы BusinessProcesses 468 | syn keyword bslSupportClass ВнешниеИсточникиДанных ExternalDataSources 469 | syn keyword bslSupportClass ВнешниеОбработки ExternalDataProcessors 470 | syn keyword bslSupportClass ВнешниеОтчеты ExternalReports 471 | syn keyword bslSupportClass Документы Documents 472 | syn keyword bslSupportClass ДоставляемыеУведомления DeliverableNotifications 473 | syn keyword bslSupportClass ЖурналыДокументов DocumentJournals 474 | syn keyword bslSupportClass Задачи Tasks 475 | syn keyword bslSupportClass ИнформацияОбИнтернетСоединении InternetConnectionInformation 476 | syn keyword bslSupportClass ИспользованиеРабочейДаты WorkingDateUse 477 | syn keyword bslSupportClass ИсторияРаботыПользователя UserWorkHistory 478 | syn keyword bslSupportClass Константы Constants 479 | syn keyword bslSupportClass КритерииОтбора FilterCriteria 480 | syn keyword bslSupportClass Метаданные Metadata 481 | syn keyword bslSupportClass Обработки DataProcessors 482 | syn keyword bslSupportClass ОтправкаДоставляемыхУведомлений DeliverableNotificationSend 483 | syn keyword bslSupportClass Отчеты Reports 484 | syn keyword bslSupportClass ПараметрыСеанса SessionParameters 485 | syn keyword bslSupportClass Перечисления Enums 486 | syn keyword bslSupportClass ПланыВидовРасчета ChartsOfCalculationTypes 487 | syn keyword bslSupportClass ПланыВидовХарактеристик ChartsOfCharacteristicTypes 488 | syn keyword bslSupportClass ПланыОбмена ExchangePlans 489 | syn keyword bslSupportClass ПланыСчетов ChartsOfAccounts 490 | syn keyword bslSupportClass ПолнотекстовыйПоиск FullTextSearch 491 | syn keyword bslSupportClass ПользователиИнформационнойБазы InfoBaseUsers 492 | syn keyword bslSupportClass Последовательности Sequences 493 | syn keyword bslSupportClass РасширенияКонфигурации ConfigurationExtensions 494 | syn keyword bslSupportClass РегистрыБухгалтерии AccountingRegisters 495 | syn keyword bslSupportClass РегистрыНакопления AccumulationRegisters 496 | syn keyword bslSupportClass РегистрыРасчета CalculationRegisters 497 | syn keyword bslSupportClass РегистрыСведений InformationRegisters 498 | syn keyword bslSupportClass РегламентныеЗадания ScheduledJobs 499 | syn keyword bslSupportClass СериализаторXDTO XDTOSerializer 500 | syn keyword bslSupportClass Справочники Catalogs 501 | syn keyword bslSupportClass СредстваГеопозиционирования LocationTools 502 | syn keyword bslSupportClass СредстваКриптографии CryptoToolsManager 503 | syn keyword bslSupportClass СредстваМультимедиа MultimediaTools 504 | syn keyword bslSupportClass СредстваОтображенияРекламы AdvertisingPresentationTools 505 | syn keyword bslSupportClass СредстваПочты MailTools 506 | syn keyword bslSupportClass СредстваТелефонии TelephonyTools 507 | syn keyword bslSupportClass ФабрикаXDTO XDTOFactory 508 | syn keyword bslSupportClass ФайловыеПотоки FileStreams 509 | syn keyword bslSupportClass ФоновыеЗадания BackgroundJobs 510 | syn keyword bslSupportClass ХранилищаНастроек SettingsStorages 511 | syn keyword bslSupportClass ВстроенныеПокупки InAppPurchases 512 | syn keyword bslSupportClass ОтображениеРекламы AdRepresentation 513 | syn keyword bslSupportClass ПанельЗадачОС OSTaskbar 514 | syn keyword bslSupportClass ПроверкаВстроенныхПокупок InAppPurchasesValidation 515 | 516 | " Глобальный контекст - Свойства (переменные) 517 | syn keyword bslSupportVariable ГлавныйИнтерфейс MainInterface 518 | syn keyword bslSupportVariable ГлавныйСтиль MainStyle 519 | syn keyword bslSupportVariable ПараметрЗапуска LaunchParameter 520 | syn keyword bslSupportVariable РабочаяДата WorkingDate 521 | syn keyword bslSupportVariable ХранилищеВариантовОтчетов ReportsVariantsStorage 522 | syn keyword bslSupportVariable ХранилищеНастроекДанныхФорм FormDataSettingsStorage 523 | syn keyword bslSupportVariable ХранилищеОбщихНастроек CommonSettingsStorage 524 | syn keyword bslSupportVariable ХранилищеПользовательскихНастроекДинамическихСписков DynamicListsUserSettingsStorage 525 | syn keyword bslSupportVariable ХранилищеПользовательскихНастроекОтчетов ReportsUserSettingsStorage 526 | syn keyword bslSupportVariable ХранилищеСистемныхНастроек SystemSettingsStorage 527 | 528 | syn match bslSupportFunction "\%([^.]\@1<=\|^\)\%(\<\%([a-z0-9_а-яё]\+\)*\>\)\ze\s*(" contains=bslNameSupportFunction 529 | 530 | " Поддержка сворачивания кода 531 | if exists("bsl_fold") 532 | syn match bslKeywordStatement "\<\(Функция\|Function\)\>" 533 | syn match bslKeywordStatement "\<\(КонецФункции\|EndFunction\)\>" 534 | syn region bslFunctionFold 535 | \ matchgroup=bslKeywordStatement 536 | \ start="\c\<\(функция\|function\)\>" 537 | \ end="\c\<\(конецфункции\|endfunction\)\>" 538 | \ transparent fold 539 | \ keepend 540 | 541 | syn match bslKeywordStatement "\<\(Процедура\|Procedure\)\>" 542 | syn match bslKeywordStatement "\<\(КонецПроцедуры\|EndProcedure\)\>" 543 | syn region bslProcedureFold 544 | \ matchgroup=bslKeywordStatement 545 | \ start="\c\<\(процедура\|procedure\)\>" 546 | \ end="\c\<\(конецпроцедуры\|endprocedure\)\>" 547 | \ transparent fold 548 | \ keepend 549 | 550 | syn region bslOtherSectionFold 551 | \ matchgroup=bslOtherSection 552 | \ start="#\(Область\|Region\)" 553 | \ end="#\(КонецОбласти\|EndRegion\)" 554 | \ transparent fold 555 | \ extend 556 | 557 | 558 | syn sync match bslSync grouphere bslFunctionFold "\<\(Функция\|Function\)\>" 559 | syn sync match bslSync grouphere bslProcedureFold "\<\(Процедура\|Procedure\)\>" 560 | syn sync match bslSync grouphere bslOtherSectionFold "#\(Область\|Region\)" 561 | 562 | setlocal foldmethod=syntax 563 | else 564 | syn keyword bslKeywordStatement Процедура КонецПроцедуры Функция КонецФункции 565 | syn keyword bslKeywordStatement Procedure EndProcedure Function EndFunction 566 | endif 567 | 568 | " Define the default highlighting. 569 | " For version 5.7 and earlier: only when not done already 570 | " For version 5.8 and later: only when an item doesn't have highlighting yet 571 | if version >= 508 || !exists("did_bsl_syn_inits") 572 | if version < 508 573 | let did_bsl_syn_inits = 1 574 | command -nargs=+ HiLink hi link 575 | else 576 | command -nargs=+ HiLink hi def link 577 | endif 578 | 579 | HiLink bslOperatorPunctuation Operator 580 | HiLink bslOperator Operator 581 | HiLink bslCommentLineDoubleSlash Comment 582 | HiLink bslStringQuotedDouble String 583 | HiLink bslConstantNumeric Number 584 | HiLink bslConstantFloat Float 585 | HiLink bslConstantOtherDate Constant 586 | HiLink bslTODO Todo 587 | HiLink bslConstantLanguage Constant 588 | HiLink bslKeywordStatement Statement 589 | HiLink bslKeywordControl Keyword 590 | HiLink bslKeywordControlConditional Conditional 591 | HiLink bslKeywordControlException Exception 592 | HiLink bslKeywordControlRepeat Repeat 593 | HiLink bslKeywordOperatorLogical Operator 594 | HiLink bslStorageModifier Type 595 | HiLink bslOtherDirective Define 596 | HiLink bslControlImport Include 597 | HiLink bslOtherPreprocessor PreCondit 598 | HiLink bslOtherSection PreProc 599 | HiLink bslOtherAnnotation Define 600 | HiLink bslNameSupportFunction Function 601 | HiLink bslSupportClass Type 602 | HiLink bslSupportVariable Constant 603 | 604 | delcommand HiLink 605 | endif 606 | 607 | let b:current_syntax = "bsl" 608 | 609 | if main_syntax == 'bsl' 610 | unlet main_syntax 611 | endif 612 | 613 | let &cpo = s:cpo_save 614 | unlet s:cpo_save 615 | -------------------------------------------------------------------------------- /syntax/sdbl.vim: -------------------------------------------------------------------------------- 1 | " Vim syntax file 2 | " Language: 1C (SDBL) 3 | " Maintainer: Alexander Andreev 4 | " Last Change: 03/12/2016 5 | " 6 | " For version 5.x: Clear all syntax items 7 | " For version 6.x: Quit when a syntax file was already loaded 8 | if version < 600 9 | syntax clear 10 | elseif exists("b:current_syntax") 11 | finish 12 | endif 13 | 14 | syn case ignore 15 | syn sync lines=250 16 | 17 | syn match sdblOperatorPunctuation display "[,;]" 18 | syn match sdblOperator display "[-+/*%=<>]" 19 | syn region sdblCommentLineDoubleSlash start="//" end="$" 20 | syn region sdblStringQuotedDouble start=+\"+ end=+\"\(["]\)\@!+ contains=sdblConstantCharacterEscape,sdblCommentLineDoubleSlash 21 | syn match sdblConstantCharacterEscape +\"\"+ 22 | syn keyword sdblConstantLanguage Неопределено Истина Ложь 23 | syn keyword sdblConstantLanguage Undefined True False NULL 24 | syn match sdblConstantNumeric display "-\=\<\d\+\>" 25 | syn match sdblConstantFloat display "-\=\<\d\+\.\d\+\>" 26 | syn match sdblVariableParameter "\(&[a-z0-9_а-яё]\+\)" 27 | syn keyword sdblKeywordControlConditional Выбор Когда Тогда Иначе Конец 28 | syn keyword sdblKeywordControlConditional Case When Then Else End 29 | syn keyword sdblKeywordOperatorLogical НЕ И ИЛИ В Между Подобно 30 | syn keyword sdblKeywordOperatorLogical NOT AND OR In Between Like 31 | syn match sdblKeywordOperatorLogical "\<\%(В\s\+ИЕРАРХИИ\|IN\s\+HIERARCHY\|Есть\(\s\+НЕ\)\?\s\+NULL\|Is\(\s\+NOT\)\?\s\+NULL\)\>" 32 | syn match sdblKeywordOperatorLogical "\([^.]\@<=\|^\)\<\(Ссылка\|Refs\)\>\([^.]\@=\|$\)" 33 | syn keyword sdblKeywordControl Выбрать Разрешенные Различные Первые Как ПустаяТаблица Поместить Уничтожить Из 34 | syn keyword sdblKeywordControl Select Allowed Distinct Top As EpmtyTable Into Drop From 35 | syn match sdblKeywordControl "\<\%(\(Левое\|Left\|Правое\|Right\|Полное\|Full\)\s\+\(Внешнее\s\+\|Outer\s\+\)\?Соединение\|Join\)\>" 36 | syn match sdblKeywordControl "\<\%(\(Внутреннее\|Inner\)\s\+Соединение\|Join\)\>" 37 | syn keyword sdblKeywordControl Где Имеющие 38 | syn keyword sdblKeywordControl Where Having 39 | syn match sdblKeywordControl "\<\(Сгруппировать\s\+По\|Group\s\+By\)\>" 40 | syn match sdblKeywordControl "\<\%(Объединить\(\s\+Все\)\?\|Union\(\s\+All\)\?\)\>" 41 | syn keyword sdblKeywordControl Автоупорядочивание Итоги 42 | syn keyword sdblKeywordControl Autoorder Totals 43 | syn match sdblKeywordControl "\<\(Упорядочить\s\+По\|Order\s\+By\)\>" 44 | syn match sdblKeywordControl "\<\%(По\(\s\+Общие\)\?\|By\(\s\+Overall\)\?\|\(Только\s\+\)\?Иерархия\|\(Only\s\+\)\?Hierarchy\)\>" 45 | syn keyword sdblKeywordControl Периодами Индексировать Выразить Возр Убыв Спецсимвол 46 | syn keyword sdblKeywordControl Periods Index Cast Asc Desc Escape 47 | syn match sdblKeywordControl "\<\%(Для\s\+Изменения\|For\s\+Update\(\s\+Of\)\?\)\>" 48 | 49 | "Функции языка запросов 50 | syn keyword sdblNameSupportFunction contained Значение Value 51 | syn keyword sdblNameSupportFunction contained ДатаВремя DateTime 52 | syn keyword sdblNameSupportFunction contained Тип Type 53 | 54 | "Функции работы со строками 55 | syn keyword sdblNameSupportFunction contained Подстрока Substring 56 | 57 | "Функции работы с датами 58 | syn keyword sdblNameSupportFunction contained Год Year 59 | syn keyword sdblNameSupportFunction contained Квартал Quarter 60 | syn keyword sdblNameSupportFunction contained Месяц Month 61 | syn keyword sdblNameSupportFunction contained ДеньГода DayOfYear 62 | syn keyword sdblNameSupportFunction contained День Day 63 | syn keyword sdblNameSupportFunction contained Неделя Week 64 | syn keyword sdblNameSupportFunction contained ДеньНедели Weekday 65 | syn keyword sdblNameSupportFunction contained Час Hour 66 | syn keyword sdblNameSupportFunction contained Минута Minute 67 | syn keyword sdblNameSupportFunction contained Секунда Second 68 | syn keyword sdblNameSupportFunction contained НачалоПериода BeginOfPeriod 69 | syn keyword sdblNameSupportFunction contained КонецПериода EndOfPeriod 70 | syn keyword sdblNameSupportFunction contained ДобавитьКДате DateAdd 71 | syn keyword sdblNameSupportFunction contained РазностьДат DateDiff 72 | 73 | "Агрегатные функции 74 | syn keyword sdblNameSupportFunction contained Сумма Sum 75 | syn keyword sdblNameSupportFunction contained Среднее Avg 76 | syn keyword sdblNameSupportFunction contained Минимум Min 77 | syn keyword sdblNameSupportFunction contained Максимум Max 78 | syn keyword sdblNameSupportFunction contained Количество Count 79 | 80 | "Прочие функции 81 | syn keyword sdblNameSupportFunction contained ЕстьNULL IsNULL 82 | syn keyword sdblNameSupportFunction contained Представление Presentation 83 | syn keyword sdblNameSupportFunction contained ПредставлениеСсылки RefPresentation 84 | syn keyword sdblNameSupportFunction contained ТипЗначения ValueType 85 | 86 | syn keyword sdblSupportType Число Number Строка String Дата Date 87 | 88 | syn match sdblSupportFunction "\%([^.]\@1<=\|^\)\%(\<\%([a-z0-9_а-яё]\+\)*\>\)\ze\s*(" contains=sdblNameSupportFunction 89 | 90 | " Define the default highlighting. 91 | " For version 5.7 and earlier: only when not done already 92 | " For version 5.8 and later: only when an item doesn't have highlighting yet 93 | if version >= 508 || !exists("did_sdbl_syn_inits") 94 | if version < 508 95 | let did_sdbl_syn_inits = 1 96 | command -nargs=+ HiLink hi link 97 | else 98 | command -nargs=+ HiLink hi def link 99 | endif 100 | 101 | HiLink sdblOperatorPunctuation Operator 102 | HiLink sdblOperator Operator 103 | HiLink sdblCommentLineDoubleSlash Comment 104 | HiLink sdblStringQuotedDouble String 105 | HiLink sdblConstantLanguage Constant 106 | HiLink sdblConstantNumeric Number 107 | HiLink sdblConstantFloat Float 108 | HiLink sdblKeywordControlConditional Conditional 109 | HiLink sdblKeywordOperatorLogical Operator 110 | HiLink sdblKeywordControl Statement 111 | HiLink sdblNameSupportFunction Function 112 | HiLink sdblSupportType Type 113 | HiLink sdblVariableParameter Identifier 114 | 115 | delcommand HiLink 116 | endif 117 | 118 | let b:current_syntax = "sdbl" 119 | 120 | 121 | 122 | --------------------------------------------------------------------------------