diff --git a/RsbIDE.py b/RsbIDE.py index c2b31f1..1b7bf36 100644 --- a/RsbIDE.py +++ b/RsbIDE.py @@ -1,8 +1,8 @@ # -*- coding: cp1251 -*- # @Author: MOM # @Date: 2015-09-09 21:44:10 -# @Last Modified by: MOM -# @Last Modified time: 2016-08-11 00:08:00 +# @Last Modified by: mom1 +# @Last Modified time: 2016-08-11 14:00:56 import sublime @@ -16,6 +16,7 @@ from os.path import basename, dirname, normpath, normcase, realpath from RSBIDE.tree import Tree from RSBIDE.RsbIde_print_panel import get_panel +from RSBIDE.RsbIde_print_panel import print_to_panel from RSBIDE.common.verbose import verbose, log from RSBIDE.project.ProjectManager import ProjectManager @@ -28,14 +29,21 @@ from RSBIDE.common.lint import Linter -global IS_ST3 -IS_ST3 = sublime.version().startswith('3') - - global already_im already_im = [] ID = 'RSBIDE' -scope_cache = {} + + +ST2 = int(sublime.version()) < 3000 + +if ST2: + try: + sublime.error_message("RSBIDE Package Message:\n\n Sublime Text 2 \n\n Sublime Text 3.") + except: + try: + sublime.message_dialog("RSBIDE Package Message:\n\n Sublime Text 2 \n\n Sublime Text 3.") + except: + pass class RSBIDE: @@ -207,9 +215,6 @@ class PrintSignToPanelCommand(sublime_plugin.WindowCommand): cache = {} def run(self): - global IS_ST3 - if IS_ST3: - from RSBIDE.RsbIde_print_panel import print_to_panel view = self.window.active_view() sel = view.sel()[0] if sel.begin() == sel.end(): @@ -273,7 +278,7 @@ def get_doc(self, view): def is_visible(self, paths=None): view = self.window.active_view() - return ('R-Style' in view.settings().get('syntax')) + return is_RStyle_view(view) def description(self): return 'RSBIDE: \talt+s' @@ -485,7 +490,7 @@ def open_file(self, idx, transient=False): def is_visible(self, paths=None): view = self.window.active_view() - return ('R-Style' in view.settings().get('syntax')) + return is_RStyle_view(view) def description(self): return 'RSBIDE: \talt+g' @@ -501,7 +506,11 @@ def run(self): def is_visible(self): view = self.window.active_view() - return ('R-Style' in view.settings().get('syntax')) + project = ProjectManager.get_current_project() + isvis = False + if is_RStyle_view(view) and project.get_setting("LINT", True): + isvis = True + return isvis def description(self): return 'RSBIDE: ' @@ -579,14 +588,8 @@ def plugin_loaded(): def update_settings(): """ restart projectFiles with new plugin and project settings """ - # invalidate cache - global scope_cache - scope_cache = {} # update settings if Settings: global_settings = Settings.update() # update project settings ProjectManager.initialize(Project, global_settings) - -if not IS_ST3: - sublime.set_timeout(lambda: plugin_loaded(), 0) diff --git a/messages/2.1.0.txt b/messages/2.1.0.txt new file mode 100644 index 0000000..7356842 --- /dev/null +++ b/messages/2.1.0.txt @@ -0,0 +1,20 @@ +RSBIDE 2.1.0 +------------- + ++ Добавлен линтер по соглашениям + + Подсветка длинных строк + + Подсветка закомментированного кода + + Не используемые переменные (в функциях и классах, глобалки игнорируются) + + Подсветка замечаний по количеству пустых строк + + Добавлен Список всех замечений с возможностью перехода к ним (по сохранению или из контекстного меню) + + Добавлено контекстное меню "RSBIDE: Проверить по соглашениям" + + Добавленны настройки: + + "lint": true - выделять замечания по соглашениям + + "maxlength": 160 - максимальное количество символов в строке (если больше то подсвечиваем) + + "show_save": true - показывать замечания при сохранении + + "scop_error": "invalid.mac" - тип подсветки замечаний + + "max_empty_line": 2 - макс. количесво допустимых пустых строк ++ Добавлены переходы к началу региона. Если стоим на 'end' alt+g или alt+s +приводит к паре енда т.е. (class, macro, if, for, while) +- Исправленна ошибка с вечным прогрессом +- Исправленна ошибка загрузки кэша diff --git a/readme.md b/readme.md index 384b13f..da43bf1 100644 --- a/readme.md +++ b/readme.md @@ -9,7 +9,7 @@ This plugin adds RS-Balance 3 completions and some IDE-like functions to Sublime Features ------------ -* **auto-completions** +* **auto-completions** * The variables / functions / classes / class options / parameters functions are complemented in view of visibility obalsti * Together with the name of the function substituted its possible parameters * auto-completions Object/Field/Method/Key from *.xml (RSTypeInfo) @@ -22,7 +22,7 @@ Features * Go to the file from the import Alt + G * Go to the parent class Alt + G ![GotoMenu](https://raw.github.com/mom1/RSBIDE/master/screenshot/GotoMenu.jpg) - * Print Signature `macro` or `class` or `var` To Panel Alt + S + * Print Signature `macro` or `class` or `var` To Panel Alt + S ![GotoPanel](https://raw.github.com/mom1/RSBIDE/master/screenshot/GotoPanel.jpg) * when browsing in the declarations you can always return to your starting position by using one of the above keys when nothing is under your cursor * **Viewing documents** @@ -35,6 +35,9 @@ Features ![DllRegister](https://raw.github.com/mom1/RSBIDE/master/screenshot/DllRegister_RS-Balance_3.jpg) * **Syntax highlighting** * For .mac files +* **Highlighting comments on the development of the agreement** + * All the main parameters in settings + ![Linter](https://raw.github.com/mom1/RSBIDE/master/screenshot/Linter.jpg) * **Launch RS-Balance 3** * quickly open the Client with your Reg configuration * to Run Client use Ctrl + B, F7 or search for it in the command palette. diff --git a/readme_ru.md b/readme_ru.md index 45638ac..9a82719 100644 --- a/readme_ru.md +++ b/readme_ru.md @@ -9,7 +9,7 @@ Особенности ------------ -* **Авто-дополнение** +* **Авто-дополнение** * Переменные/Функции/Классы/Параметры класса/параметры функций дополняются с учетом обалсти видимости * Вместе с именем функции подставляются ее возможные параметры * Авто-дополнение Object/Field/Method/Key из *.xml (RSTypeInfo) @@ -35,6 +35,9 @@ ![DllRegister](https://raw.github.com/mom1/RSBIDE/master/screenshot/DllRegister_RS-Balance_3.jpg) * **Подсветка синтаксиса** * Для .mac файлов +* **Подсветка замечаний из соглашения по разработке** + * Все основные параметры вынесенны в настройки + ![Linter](https://raw.github.com/mom1/RSBIDE/master/screenshot/Linter.jpg) * **Запуск RS-Balance 3** * Быстрый запуск Клиентского приложения из проекта * Для быстрого запуска клиента с отладкой используйте Ctrl + B, F7 @@ -51,7 +54,7 @@ * Предопределенные языковые конструкции. Список будет пополняться конструкциями из [RSL](http://wiki.rs-balance.ru/index.php/RSL) * **Другие команды** * RSBIDE: Print Tree Import - Выводит дерево импортов текущего файла. Открывает в новой закладке - + ![PrintTreeImport](https://raw.github.com/mom1/RSBIDE/master/screenshot/PrintTreeImport.jpg) Установка diff --git a/screenshot/Linter.jpg b/screenshot/Linter.jpg new file mode 100644 index 0000000..73b23fe Binary files /dev/null and b/screenshot/Linter.jpg differ