You've already forked bsl_console
mirror of
https://github.com/salexdv/bsl_console.git
synced 2025-09-16 09:06:17 +02:00
Мгновенный вывод произвольной всплывающей подсказки
This commit is contained in:
@@ -172,6 +172,7 @@ npm run build -- --customOptions "automaticLayout: true, someOption: false"
|
||||
| `updateCustomFunctions` | Обновляет пользовательские функции |
|
||||
| [`parseCommonModule`](docs/parse_module.md) | Загружает структуру общего модуля |
|
||||
| [`parseMetadataModule`](docs/parse_metadata_module.md) | Загружает структуру модуля менеджера или модуля объекта |
|
||||
| [`showImmediateHover`](docs/immediate_hover.md) | Показывает произвольную всплывающую подсказку |
|
||||
| [`setCustomHovers`](docs/set_custom_hovers.md) | Обновляет пользовательские подсказки, показываемые при наведении |
|
||||
| [`setCustomSignatures`](docs/set_custom_signatures.md) | Обновляет пользовательские подсказки по вызову процедуры/метода |
|
||||
| [`setCustomCodeLenses`](docs/custom_code_lenses.md) | Загружает подсказки для Code Lens |
|
||||
|
16
docs/immediate_hover.md
Normal file
16
docs/immediate_hover.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# Функция *showImmediateHover*
|
||||
|
||||
## Назначение функции
|
||||
|
||||
Функция позволяет показать произвольную всплывающую подсказку в текущей позиции курсора мыши
|
||||
|
||||
## Параметры функции
|
||||
|
||||
* **text** - *string*, текст произвольной подсказки
|
||||
* **title** - *string*, заголовок подсказки
|
||||
|
||||
## Пример вызова
|
||||
|
||||
```javascript
|
||||
showImmediateHover(`СправочникСсылка.Номенклатура`, `**Ссылка**`);
|
||||
```
|
@@ -7238,6 +7238,30 @@ class bslHelper {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Provider for immediate hover popoup
|
||||
*
|
||||
* @returns {object} - hover object or null
|
||||
*/
|
||||
getImmediateHover() {
|
||||
|
||||
if (window.immediateHover.length) {
|
||||
|
||||
let hover = {
|
||||
range: new monaco.Range(this.lineNumber, this.column, this.lineNumber, this.model.getLineMaxColumn(this.lineNumber)),
|
||||
contents: window.immediateHover
|
||||
};
|
||||
|
||||
window.immediateHover = [];
|
||||
|
||||
return hover;
|
||||
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Provider for hover popoup
|
||||
*
|
||||
@@ -7247,6 +7271,9 @@ class bslHelper {
|
||||
|
||||
let hover = this.getCustomHover();
|
||||
|
||||
if (!hover)
|
||||
hover = this.getImmediateHover();
|
||||
|
||||
if (!hover && !window.editor.disableNativeHovers) {
|
||||
|
||||
for (const [key, value] of Object.entries(window.bslGlobals)) {
|
||||
|
@@ -36,6 +36,7 @@ window.version1C = '';
|
||||
window.userName = '';
|
||||
window.contextActions = [];
|
||||
window.customHovers = {};
|
||||
window.immediateHover = [];
|
||||
window.customSignatures = {};
|
||||
window.customCodeLenses = [];
|
||||
window.originalText = '';
|
||||
@@ -809,6 +810,16 @@ window.triggerHovers = function() {
|
||||
|
||||
}
|
||||
|
||||
window.showImmediateHover = function(text, title) {
|
||||
|
||||
window.immediateHover = [
|
||||
{ value: title },
|
||||
{ value: text }
|
||||
]
|
||||
window.triggerHovers();
|
||||
|
||||
}
|
||||
|
||||
window.triggerSigHelp = function() {
|
||||
|
||||
window.editor.trigger('', 'editor.action.triggerParameterHints', {});
|
||||
|
Reference in New Issue
Block a user