@po-ui/ng-code-editor 5.22.3 → 6.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/README.md +20 -20
  2. package/esm2020/lib/components/po-code-editor/interfaces/po-code-editor-registerable-options.interface.mjs +2 -0
  3. package/esm2020/lib/components/po-code-editor/interfaces/po-code-editor-registerable-suggestion.interface.mjs +2 -0
  4. package/esm2020/lib/components/po-code-editor/interfaces/po-code-editor-registerable-tokens.interface.mjs +2 -0
  5. package/esm2020/lib/components/po-code-editor/interfaces/po-code-editor-registerable.interface.mjs +2 -0
  6. package/esm2020/lib/components/po-code-editor/po-code-editor-base.component.mjs +261 -0
  7. package/esm2020/lib/components/po-code-editor/po-code-editor-register.service.mjs +66 -0
  8. package/esm2020/lib/components/po-code-editor/po-code-editor-suggestion.service.mjs +29 -0
  9. package/{esm2015/lib/components/po-code-editor/po-code-editor.component.js → esm2020/lib/components/po-code-editor/po-code-editor.component.mjs} +229 -225
  10. package/esm2020/lib/components/po-code-editor/po-code-editor.module.mjs +37 -0
  11. package/esm2020/lib/index.mjs +4 -0
  12. package/esm2020/po-ui-ng-code-editor.mjs +5 -0
  13. package/{esm2015/public-api.js → esm2020/public-api.mjs} +2 -2
  14. package/fesm2015/po-ui-ng-code-editor.mjs +632 -0
  15. package/fesm2015/po-ui-ng-code-editor.mjs.map +1 -0
  16. package/{fesm2015/po-ui-ng-code-editor.js → fesm2020/po-ui-ng-code-editor.mjs} +605 -582
  17. package/fesm2020/po-ui-ng-code-editor.mjs.map +1 -0
  18. package/lib/components/po-code-editor/interfaces/po-code-editor-registerable-options.interface.d.ts +22 -22
  19. package/lib/components/po-code-editor/interfaces/po-code-editor-registerable-suggestion.interface.d.ts +37 -37
  20. package/lib/components/po-code-editor/interfaces/po-code-editor-registerable-tokens.interface.d.ts +21 -21
  21. package/lib/components/po-code-editor/interfaces/po-code-editor-registerable.interface.d.ts +17 -17
  22. package/lib/components/po-code-editor/po-code-editor-base.component.d.ts +194 -191
  23. package/lib/components/po-code-editor/po-code-editor-register.service.d.ts +70 -67
  24. package/lib/components/po-code-editor/po-code-editor-suggestion.service.d.ts +10 -7
  25. package/lib/components/po-code-editor/po-code-editor.component.d.ts +61 -58
  26. package/lib/components/po-code-editor/po-code-editor.module.d.ts +16 -10
  27. package/lib/index.d.ts +7 -7
  28. package/package.json +31 -16
  29. package/po-ui-ng-code-editor-6.2.0.tgz +0 -0
  30. package/po-ui-ng-code-editor.d.ts +5 -6
  31. package/public-api.d.ts +1 -1
  32. package/schematics/README.md +98 -98
  33. package/schematics/collection.json +10 -10
  34. package/schematics/ng-add/index.d.ts +10 -10
  35. package/schematics/ng-add/index.js +38 -38
  36. package/schematics/ng-add/index.js.map +1 -1
  37. package/schematics/ng-add/index.spec.d.ts +1 -1
  38. package/schematics/ng-add/index.spec.js +113 -113
  39. package/schematics/ng-add/index.spec.js.map +1 -1
  40. package/schematics/ng-add/schema.json +7 -7
  41. package/bundles/po-ui-ng-code-editor.umd.js +0 -981
  42. package/bundles/po-ui-ng-code-editor.umd.js.map +0 -1
  43. package/esm2015/lib/components/po-code-editor/interfaces/po-code-editor-registerable-options.interface.js +0 -2
  44. package/esm2015/lib/components/po-code-editor/interfaces/po-code-editor-registerable-suggestion.interface.js +0 -2
  45. package/esm2015/lib/components/po-code-editor/interfaces/po-code-editor-registerable-tokens.interface.js +0 -2
  46. package/esm2015/lib/components/po-code-editor/interfaces/po-code-editor-registerable.interface.js +0 -2
  47. package/esm2015/lib/components/po-code-editor/po-code-editor-base.component.js +0 -248
  48. package/esm2015/lib/components/po-code-editor/po-code-editor-register.service.js +0 -63
  49. package/esm2015/lib/components/po-code-editor/po-code-editor-suggestion.service.js +0 -28
  50. package/esm2015/lib/components/po-code-editor/po-code-editor.module.js +0 -31
  51. package/esm2015/lib/index.js +0 -4
  52. package/esm2015/po-ui-ng-code-editor.js +0 -7
  53. package/fesm2015/po-ui-ng-code-editor.js.map +0 -1
  54. package/po-ui-ng-code-editor-5.22.3.tgz +0 -0
  55. package/po-ui-ng-code-editor.metadata.json +0 -1
@@ -1,191 +1,194 @@
1
- import { ControlValueAccessor } from '@angular/forms';
2
- import { PoCodeEditorRegisterableSuggestion } from './interfaces/po-code-editor-registerable-suggestion.interface';
3
- /**
4
- * @description
5
- *
6
- * O `po-code-editor` é um componente para edição de código fonte baseado no Monaco Editor da Microsoft.
7
- *
8
- * Sendo assim, algumas configurações presentes no Monaco podem ser utilizadas aqui, como a escolha da linguagem
9
- * (utilizando o highlight syntax específico), escolha do tema e opção de diff, além de ser muito similar ao Visual
10
- * Studio Code, com autocomplete e fechamento automático de brackets.
11
- *
12
- * Este componente pode ser usado em qualquer situação que necessite de adição de códigos, como por exemplo, criar
13
- * receitas utilizando Terraform para gerenciar topologias.
14
- * É importante ressaltar que este não é um componente para edição de textos comuns.
15
- *
16
- * O [(ngModel)] deve ser usado para manipular o conteúdo do po-code-editor, ou seja, tanto para incluir um conteúdo quanto
17
- * para recuperar o conteúdo do po-code-editor, utiliza-se uma variável passada por [(ngModel)].
18
- *
19
- * #### Adicionando o pacote @po-ui/ng-code-editor
20
- *
21
- * Para instalar o pacote `po-code-editor` em sua aplicação execute:
22
- *
23
- * ```shell
24
- * ng add @po-ui/ng-code-editor
25
- * ```
26
- *
27
- * O comando `ng add` do `Angular CLI`:
28
- * - inclui o `po-code-editor` no seu projeto;
29
- * - adiciona o módulo `PoCodeEditorModule`:;
30
- *
31
- * ```
32
- * // app.module.ts
33
- * ...
34
- * import { PoModule } from '@po-ui/ng-components';
35
- * import { PoCodeEditorModule } from '@po-ui/ng-code-editor';
36
- * ...
37
- * @NgModule({
38
- * imports: [
39
- * ...
40
- * PoModule,
41
- * PoCodeEditorModule
42
- * ],
43
- * ...
44
- * })
45
- * export class AppModule { }
46
- * ```
47
- *
48
- * - adiciona o tema PO UI e também o *asset* do Monaco no arquivo `angular.json`, conforme abaixo:
49
- *
50
- * <pre ngNonBindable>
51
- * ...
52
- * "assets": [
53
- * { "glob": "&#42;&#42;/&#42;", "input": "node_modules/monaco-editor/min", "output": "/assets/monaco/" }
54
- * ],
55
- * "styles": [
56
- * "./node_modules/@po-ui/style/css/po-theme-default.min.css"
57
- * ]
58
- * ...
59
- * </pre>
60
- */
61
- export declare abstract class PoCodeEditorBaseComponent implements ControlValueAccessor {
62
- editor: any;
63
- modifiedValue: string;
64
- value: any;
65
- private _height;
66
- private _language;
67
- private _readonly;
68
- private _showDiff;
69
- private _suggestions;
70
- private _theme;
71
- /**
72
- * @optional
73
- *
74
- * @description
75
- *
76
- * Linguagem na qual será apresentado o código fonte.
77
- * Para saber quais são as linguagens compatíveis, consulte a documentação oficial do
78
- * [**Monaco Editor**](https://microsoft.github.io/monaco-editor/).
79
- *
80
- * Também é possível adicionar uma nova linguagem personalizada utilizando o serviço:
81
- * [**po-code-editor-register**](https://po-ui.io/documentation/po-code-editor-register?view=doc).
82
- *
83
- * @default `plainText`
84
- */
85
- set language(language: string);
86
- get language(): string;
87
- /**
88
- * @optional
89
- *
90
- * @description
91
- *
92
- * Indica se o editor será aberto em modo de leitura.
93
- *
94
- * Neste caso, não é possível editar o código inserido.
95
- *
96
- * Obs: Esta propriedade não refletirá efeito se alterada após o carregamento do componente.
97
- *
98
- * @default `false`
99
- */
100
- set readonly(readonly: boolean);
101
- get readonly(): boolean;
102
- /**
103
- * @optional
104
- *
105
- * @description
106
- *
107
- * Indica se o editor será aberto em modo de comparação.
108
- *
109
- * Caso esteja habilitada esta opção, então o [(ngModel)] deverá ser passado como um array, cuja primeira opção deve
110
- * conter uma string com o código original e na segunda posição uma string código modificado para efeito de
111
- * comparação. Neste caso, o usuário conseguirá editar apenas o código modificado e isso refletirá na segunda posição
112
- * do array consequentemente.
113
- *
114
- * Obs: Esta propriedade não refletirá efeito se alterada após o carregamento do componente.
115
- *
116
- * @default `false`
117
- */
118
- set showDiff(showDiff: boolean);
119
- get showDiff(): boolean;
120
- /**
121
- * @optional
122
- *
123
- * @description
124
- *
125
- * Lista de sugestões usadas pelo autocomplete dentro do editor.
126
- *
127
- * Para visualizar a lista de sugestões use o comando `CTRL + SPACE`.
128
- *
129
- * Caso o editor esteja usando uma linguagem que já tenha uma lista de sugestões predefinida, o valor passado será adicionado
130
- * a lista preexistente, aumentando as opções para o usuário.
131
- *
132
- * Caso tenha mais de um editor da mesma linguagem na aplicação, as sugestões serão adicionadas para que todos os editores da mesma linguagem
133
- * tenham as mesmas sugestões.
134
- *
135
- * ```
136
- * <po-code-editor
137
- * [p-suggestions]="[{ label: 'po', insertText: 'Portinari UI' }, { label: 'ng', insertText: 'Angular' }]">
138
- * </po-code-editor>
139
- * ```
140
- *
141
- * Ao fornecer uma lista de sugestões é possível acelerar a escrita de scripts pelos usuários.
142
- */
143
- set suggestions(values: Array<PoCodeEditorRegisterableSuggestion>);
144
- get suggestions(): Array<PoCodeEditorRegisterableSuggestion>;
145
- /**
146
- * @optional
147
- *
148
- * @description
149
- *
150
- * Define um tema para o editor.
151
- *
152
- * Temas válidos:
153
- * - `vs-dark`
154
- * - `vs`
155
- * - `hc-black`
156
- *
157
- * É importante salientar que o tema será aplicados a todos os componentes po-code-editor existentes na tela,
158
- * ou seja, todas as instâncias do componente receberão o último tema atribuído ou o tema da última instância
159
- * criada.
160
- *
161
- * @default `vs`
162
- */
163
- set theme(theme: string);
164
- get theme(): string;
165
- /**
166
- * @optional
167
- *
168
- * @description
169
- *
170
- * Define a altura do componente em pixels do po-code-editor.
171
- * Esta propriedade não poderá ser alterada após o componente ter sido iniciado.
172
- * A altura mínima é 150 pixels.
173
- */
174
- set height(height: string);
175
- get height(): string;
176
- onTouched: (value: any) => void;
177
- onChangePropagate: (value: any) => void;
178
- getOptions(): {
179
- language: string;
180
- theme: string;
181
- readOnly: boolean;
182
- };
183
- registerOnChange(fn: any): void;
184
- registerOnTouched(fn: any): void;
185
- protected convertToBoolean(val: any): boolean;
186
- abstract writeValue(value: any): any;
187
- abstract setLanguage(value: any): any;
188
- abstract setTheme(value: any): any;
189
- abstract setReadOnly(value: any): any;
190
- abstract setSuggestions(value: any): any;
191
- }
1
+ import { ControlValueAccessor } from '@angular/forms';
2
+ import { PoCodeEditorRegisterableSuggestion } from './interfaces/po-code-editor-registerable-suggestion.interface';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * @description
6
+ *
7
+ * O `po-code-editor` é um componente para edição de código fonte baseado no Monaco Editor da Microsoft.
8
+ *
9
+ * Sendo assim, algumas configurações presentes no Monaco podem ser utilizadas aqui, como a escolha da linguagem
10
+ * (utilizando o highlight syntax específico), escolha do tema e opção de diff, além de ser muito similar ao Visual
11
+ * Studio Code, com autocomplete e fechamento automático de brackets.
12
+ *
13
+ * Este componente pode ser usado em qualquer situação que necessite de adição de códigos, como por exemplo, criar
14
+ * receitas utilizando Terraform para gerenciar topologias.
15
+ * É importante ressaltar que este não é um componente para edição de textos comuns.
16
+ *
17
+ * O [(ngModel)] deve ser usado para manipular o conteúdo do po-code-editor, ou seja, tanto para incluir um conteúdo quanto
18
+ * para recuperar o conteúdo do po-code-editor, utiliza-se uma variável passada por [(ngModel)].
19
+ *
20
+ * #### Adicionando o pacote @po-ui/ng-code-editor
21
+ *
22
+ * Para instalar o pacote `po-code-editor` em sua aplicação execute:
23
+ *
24
+ * ```shell
25
+ * ng add @po-ui/ng-code-editor
26
+ * ```
27
+ *
28
+ * O comando `ng add` do `Angular CLI`:
29
+ * - inclui o `po-code-editor` no seu projeto;
30
+ * - adiciona o módulo `PoCodeEditorModule`:;
31
+ *
32
+ * ```
33
+ * // app.module.ts
34
+ * ...
35
+ * import { PoModule } from '@po-ui/ng-components';
36
+ * import { PoCodeEditorModule } from '@po-ui/ng-code-editor';
37
+ * ...
38
+ * @NgModule({
39
+ * imports: [
40
+ * ...
41
+ * PoModule,
42
+ * PoCodeEditorModule
43
+ * ],
44
+ * ...
45
+ * })
46
+ * export class AppModule { }
47
+ * ```
48
+ *
49
+ * - adiciona o tema PO UI e também o *asset* do Monaco no arquivo `angular.json`, conforme abaixo:
50
+ *
51
+ * <pre ngNonBindable>
52
+ * ...
53
+ * "assets": [
54
+ * { "glob": "&#42;&#42;/&#42;", "input": "node_modules/monaco-editor/min", "output": "/assets/monaco/" }
55
+ * ],
56
+ * "styles": [
57
+ * "./node_modules/@po-ui/style/css/po-theme-default.min.css"
58
+ * ]
59
+ * ...
60
+ * </pre>
61
+ */
62
+ export declare abstract class PoCodeEditorBaseComponent implements ControlValueAccessor {
63
+ editor: any;
64
+ modifiedValue: string;
65
+ value: any;
66
+ private _height;
67
+ private _language;
68
+ private _readonly;
69
+ private _showDiff;
70
+ private _suggestions;
71
+ private _theme;
72
+ /**
73
+ * @optional
74
+ *
75
+ * @description
76
+ *
77
+ * Linguagem na qual será apresentado o código fonte.
78
+ * Para saber quais são as linguagens compatíveis, consulte a documentação oficial do
79
+ * [**Monaco Editor**](https://microsoft.github.io/monaco-editor/).
80
+ *
81
+ * Também é possível adicionar uma nova linguagem personalizada utilizando o serviço:
82
+ * [**po-code-editor-register**](https://po-ui.io/documentation/po-code-editor-register?view=doc).
83
+ *
84
+ * @default `plainText`
85
+ */
86
+ set language(language: string);
87
+ get language(): string;
88
+ /**
89
+ * @optional
90
+ *
91
+ * @description
92
+ *
93
+ * Indica se o editor será aberto em modo de leitura.
94
+ *
95
+ * Neste caso, não é possível editar o código inserido.
96
+ *
97
+ * Obs: Esta propriedade não refletirá efeito se alterada após o carregamento do componente.
98
+ *
99
+ * @default `false`
100
+ */
101
+ set readonly(readonly: boolean);
102
+ get readonly(): boolean;
103
+ /**
104
+ * @optional
105
+ *
106
+ * @description
107
+ *
108
+ * Indica se o editor será aberto em modo de comparação.
109
+ *
110
+ * Caso esteja habilitada esta opção, então o [(ngModel)] deverá ser passado como um array, cuja primeira opção deve
111
+ * conter uma string com o código original e na segunda posição uma string código modificado para efeito de
112
+ * comparação. Neste caso, o usuário conseguirá editar apenas o código modificado e isso refletirá na segunda posição
113
+ * do array consequentemente.
114
+ *
115
+ * Obs: Esta propriedade não refletirá efeito se alterada após o carregamento do componente.
116
+ *
117
+ * @default `false`
118
+ */
119
+ set showDiff(showDiff: boolean);
120
+ get showDiff(): boolean;
121
+ /**
122
+ * @optional
123
+ *
124
+ * @description
125
+ *
126
+ * Lista de sugestões usadas pelo autocomplete dentro do editor.
127
+ *
128
+ * Para visualizar a lista de sugestões use o comando `CTRL + SPACE`.
129
+ *
130
+ * Caso o editor esteja usando uma linguagem que já tenha uma lista de sugestões predefinida, o valor passado será adicionado
131
+ * a lista preexistente, aumentando as opções para o usuário.
132
+ *
133
+ * Caso tenha mais de um editor da mesma linguagem na aplicação, as sugestões serão adicionadas para que todos os editores da mesma linguagem
134
+ * tenham as mesmas sugestões.
135
+ *
136
+ * ```
137
+ * <po-code-editor
138
+ * [p-suggestions]="[{ label: 'po', insertText: 'Portinari UI' }, { label: 'ng', insertText: 'Angular' }]">
139
+ * </po-code-editor>
140
+ * ```
141
+ *
142
+ * Ao fornecer uma lista de sugestões é possível acelerar a escrita de scripts pelos usuários.
143
+ */
144
+ set suggestions(values: Array<PoCodeEditorRegisterableSuggestion>);
145
+ get suggestions(): Array<PoCodeEditorRegisterableSuggestion>;
146
+ /**
147
+ * @optional
148
+ *
149
+ * @description
150
+ *
151
+ * Define um tema para o editor.
152
+ *
153
+ * Temas válidos:
154
+ * - `vs-dark`
155
+ * - `vs`
156
+ * - `hc-black`
157
+ *
158
+ * É importante salientar que o tema será aplicados a todos os componentes po-code-editor existentes na tela,
159
+ * ou seja, todas as instâncias do componente receberão o último tema atribuído ou o tema da última instância
160
+ * criada.
161
+ *
162
+ * @default `vs`
163
+ */
164
+ set theme(theme: string);
165
+ get theme(): string;
166
+ /**
167
+ * @optional
168
+ *
169
+ * @description
170
+ *
171
+ * Define a altura do componente em pixels do po-code-editor.
172
+ * Esta propriedade não poderá ser alterada após o componente ter sido iniciado.
173
+ * A altura mínima é 150 pixels.
174
+ */
175
+ set height(height: string);
176
+ get height(): string;
177
+ onTouched: (value: any) => void;
178
+ onChangePropagate: (value: any) => void;
179
+ getOptions(): {
180
+ language: string;
181
+ theme: string;
182
+ readOnly: boolean;
183
+ };
184
+ registerOnChange(fn: any): void;
185
+ registerOnTouched(fn: any): void;
186
+ protected convertToBoolean(val: any): boolean;
187
+ abstract writeValue(value: any): any;
188
+ abstract setLanguage(value: any): any;
189
+ abstract setTheme(value: any): any;
190
+ abstract setReadOnly(value: any): any;
191
+ abstract setSuggestions(value: any): any;
192
+ static ɵfac: i0.ɵɵFactoryDeclaration<PoCodeEditorBaseComponent, never>;
193
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PoCodeEditorBaseComponent, never, never, { "language": "p-language"; "readonly": "p-readonly"; "showDiff": "p-show-diff"; "suggestions": "p-suggestions"; "theme": "p-theme"; "height": "p-height"; }, {}, never>;
194
+ }
@@ -1,67 +1,70 @@
1
- import { PoCodeEditorRegisterable } from './interfaces/po-code-editor-registerable.interface';
2
- import { PoCodeEditorRegisterableOptions } from './interfaces/po-code-editor-registerable-options.interface';
3
- import { PoCodeEditorRegisterableSuggestionType } from './interfaces/po-code-editor-registerable-suggestion.interface';
4
- /**
5
- * @description
6
- *
7
- * Wrapper para registro de sintaxes customizadas para o po-code-editor.
8
- *
9
- * Para utilização do serviço de idiomas **PoCodeEditorRegister**,
10
- * deve-se importar o módulo PoCodeEditorModule mesmo já tendo importado
11
- * o módulo PoModule.
12
- * Na importação opcionalmente pode ser invocado o método **forRegister** informando um objeto para configuração.
13
- *
14
- * Exemplo de configuração:
15
- * ```
16
- * import { PoCodeEditorModule, PoCodeEditorRegisterable } from '@po-ui/ng-code-editor';
17
- *
18
- * declare const monaco: any; // Importante para usar configurações com tipos definidos pelo Monaco
19
- *
20
- * // A função `provideCompletionItems` precisa ser exportada para ser compatível com AOT.
21
- * export function provideCompletionItems() {
22
- * const suggestions = [{
23
- * label: 'terraform',
24
- * insertText: '#terraform language'
25
- * }, {
26
- * label: 'server',
27
- * insertText: 'server ${1:ip}'
28
- * }];
29
- *
30
- * return { suggestions: suggestions };
31
- * }
32
- *
33
- * const customEditor: PoCodeEditorRegisterable = {
34
- * language: 'terraform',
35
- * options: {
36
- * keywords: ['resource', 'provider', 'variable', 'output', 'module', 'true', 'false'],
37
- * operators: ['{', '}', '(', ')', '[', ']', '?', ':'],
38
- * symbols: /[=><!~?:&|+\-*\/\^%]+/,
39
- * escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
40
- * tokenizer: {
41
- * ...
42
- * }
43
- * },
44
- * suggestions: { provideCompletionItems: provideCompletionItems }
45
- * };
46
- *
47
- * @NgModule({
48
- * declarations: [],
49
- * imports: [
50
- * PoModule,
51
- * PoCodeEditorModule.forRegister(customEditor)
52
- * ],
53
- * bootstrap: [AppComponent]
54
- * })
55
- * ```
56
- *
57
- * > As configurações para o registro de uma nova sintaxe no Monaco code editor podem ser encontradas em
58
- * > [**Monaco Editor**](https://microsoft.github.io/monaco-editor/playground.html#extending-language-services-custom-languages).
59
- */
60
- export declare class PoCodeEditorRegister implements PoCodeEditorRegisterable {
61
- /** Sintaxe a ser registrada. */
62
- language: string;
63
- /** Opções da sintaxe para registro no po-code-editor. */
64
- options: PoCodeEditorRegisterableOptions;
65
- /** Lista de sugestões para a função de autocomplete (CTRL + SPACE). */
66
- suggestions?: PoCodeEditorRegisterableSuggestionType;
67
- }
1
+ import { PoCodeEditorRegisterable } from './interfaces/po-code-editor-registerable.interface';
2
+ import { PoCodeEditorRegisterableOptions } from './interfaces/po-code-editor-registerable-options.interface';
3
+ import { PoCodeEditorRegisterableSuggestionType } from './interfaces/po-code-editor-registerable-suggestion.interface';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * @description
7
+ *
8
+ * Wrapper para registro de sintaxes customizadas para o po-code-editor.
9
+ *
10
+ * Para utilização do serviço de idiomas **PoCodeEditorRegister**,
11
+ * deve-se importar o módulo PoCodeEditorModule mesmo já tendo importado
12
+ * o módulo PoModule.
13
+ * Na importação opcionalmente pode ser invocado o método **forRegister** informando um objeto para configuração.
14
+ *
15
+ * Exemplo de configuração:
16
+ * ```
17
+ * import { PoCodeEditorModule, PoCodeEditorRegisterable } from '@po-ui/ng-code-editor';
18
+ *
19
+ * declare const monaco: any; // Importante para usar configurações com tipos definidos pelo Monaco
20
+ *
21
+ * // A função `provideCompletionItems` precisa ser exportada para ser compatível com AOT.
22
+ * export function provideCompletionItems() {
23
+ * const suggestions = [{
24
+ * label: 'terraform',
25
+ * insertText: '#terraform language'
26
+ * }, {
27
+ * label: 'server',
28
+ * insertText: 'server ${1:ip}'
29
+ * }];
30
+ *
31
+ * return { suggestions: suggestions };
32
+ * }
33
+ *
34
+ * const customEditor: PoCodeEditorRegisterable = {
35
+ * language: 'terraform',
36
+ * options: {
37
+ * keywords: ['resource', 'provider', 'variable', 'output', 'module', 'true', 'false'],
38
+ * operators: ['{', '}', '(', ')', '[', ']', '?', ':'],
39
+ * symbols: /[=><!~?:&|+\-*\/\^%]+/,
40
+ * escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
41
+ * tokenizer: {
42
+ * ...
43
+ * }
44
+ * },
45
+ * suggestions: { provideCompletionItems: provideCompletionItems }
46
+ * };
47
+ *
48
+ * @NgModule({
49
+ * declarations: [],
50
+ * imports: [
51
+ * PoModule,
52
+ * PoCodeEditorModule.forRegister(customEditor)
53
+ * ],
54
+ * bootstrap: [AppComponent]
55
+ * })
56
+ * ```
57
+ *
58
+ * > As configurações para o registro de uma nova sintaxe no Monaco code editor podem ser encontradas em
59
+ * > [**Monaco Editor**](https://microsoft.github.io/monaco-editor/playground.html#extending-language-services-custom-languages).
60
+ */
61
+ export declare class PoCodeEditorRegister implements PoCodeEditorRegisterable {
62
+ /** Sintaxe a ser registrada. */
63
+ language: string;
64
+ /** Opções da sintaxe para registro no po-code-editor. */
65
+ options: PoCodeEditorRegisterableOptions;
66
+ /** Lista de sugestões para a função de autocomplete (CTRL + SPACE). */
67
+ suggestions?: PoCodeEditorRegisterableSuggestionType;
68
+ static ɵfac: i0.ɵɵFactoryDeclaration<PoCodeEditorRegister, never>;
69
+ static ɵprov: i0.ɵɵInjectableDeclaration<PoCodeEditorRegister>;
70
+ }
@@ -1,7 +1,10 @@
1
- import { PoCodeEditorRegisterableSuggestion } from './interfaces/po-code-editor-registerable-suggestion.interface';
2
- export declare class PoCodeEditorSuggestionService {
3
- private suggestions;
4
- constructor();
5
- getSuggestion(language: string, newSuggestion: Array<PoCodeEditorRegisterableSuggestion>): PoCodeEditorRegisterableSuggestion[];
6
- private deduplicateSuggestions;
7
- }
1
+ import { PoCodeEditorRegisterableSuggestion } from './interfaces/po-code-editor-registerable-suggestion.interface';
2
+ import * as i0 from "@angular/core";
3
+ export declare class PoCodeEditorSuggestionService {
4
+ private suggestions;
5
+ constructor();
6
+ getSuggestion(language: string, newSuggestion: Array<PoCodeEditorRegisterableSuggestion>): PoCodeEditorRegisterableSuggestion[];
7
+ private deduplicateSuggestions;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<PoCodeEditorSuggestionService, never>;
9
+ static ɵprov: i0.ɵɵInjectableDeclaration<PoCodeEditorSuggestionService>;
10
+ }