@@ -706,15 +706,15 @@ export async function onCompletion(params: CompletionParams): Promise<Completion
706
706
}
707
707
const settings = await getLanguageServerSettings ( params . textDocument . uri ) ;
708
708
709
- if ( prevline . slice ( - 3 ) === "$$$" && triggerlang === ld . cos_langindex ) {
709
+ if ( prevline . slice ( - 3 ) == "$$$" && [ ld . cos_langindex , ld . sql_langindex ] . includes ( triggerlang ) ) {
710
710
// This is a macro
711
711
712
712
// Get the details of this class and store them in the cache
713
- var maccon = getMacroContext ( doc , parsed , params . position . line ) ;
713
+ const maccon = getMacroContext ( doc , parsed , params . position . line , triggerlang == ld . sql_langindex ) ;
714
714
macroCompletionCache = maccon ;
715
715
716
716
// Get the entire macro list from the server
717
- var cursorisopen : boolean = true ;
717
+ let cursorisopen : boolean = true ;
718
718
while ( cursorisopen ) {
719
719
const respdata = await makeRESTRequest ( "POST" , 2 , "/action/getmacrolist" , server , maccon ) ;
720
720
if ( respdata !== undefined && respdata . data . result . content . macros . length > 0 ) {
@@ -766,13 +766,13 @@ export async function onCompletion(params: CompletionParams): Promise<Completion
766
766
if ( parsed [ ln ] [ 0 ] . l == ld . cos_langindex && parsed [ ln ] [ 0 ] . s == ld . cos_ppc_attrindex ) {
767
767
// This line begins with a preprocessor command
768
768
const ppctext = doc . getText ( Range . create (
769
- Position . create ( ln , parsed [ ln ] [ 1 ] . p ) ,
770
- Position . create ( ln , parsed [ ln ] [ 1 ] . p + parsed [ ln ] [ 1 ] . c )
769
+ ln , parsed [ ln ] [ 1 ] . p ,
770
+ ln , parsed [ ln ] [ 1 ] . p + parsed [ ln ] [ 1 ] . c
771
771
) ) . toLowerCase ( ) ;
772
- if ( ppctext === "define" || ppctext = == "def1arg" ) {
772
+ if ( ppctext == "define" || ppctext == "def1arg" ) {
773
773
// This is a macro definition
774
- var macrodef : CompletionItem = {
775
- label : doc . getText ( Range . create ( Position . create ( ln , parsed [ ln ] [ 2 ] . p ) , Position . create ( ln , parsed [ ln ] [ 2 ] . p + parsed [ ln ] [ 2 ] . c ) ) ) ,
774
+ const macrodef : CompletionItem = {
775
+ label : doc . getText ( Range . create ( ln , parsed [ ln ] [ 2 ] . p , ln , parsed [ ln ] [ 2 ] . p + parsed [ ln ] [ 2 ] . c ) ) ,
776
776
kind : CompletionItemKind . Text ,
777
777
data : [ "macro" , doc . uri ]
778
778
} ;
@@ -781,54 +781,54 @@ export async function onCompletion(params: CompletionParams): Promise<Completion
781
781
if (
782
782
parsed [ ln ] [ parsed [ ln ] . length - 1 ] . l === ld . cos_langindex && parsed [ ln ] [ parsed [ ln ] . length - 1 ] . s === ld . cos_ppf_attrindex &&
783
783
doc . getText ( Range . create (
784
- Position . create ( ln , parsed [ ln ] [ parsed [ ln ] . length - 1 ] . p ) ,
785
- Position . create ( ln , parsed [ ln ] [ parsed [ ln ] . length - 1 ] . p + parsed [ ln ] [ parsed [ ln ] . length - 1 ] . c )
786
- ) ) . toLowerCase ( ) === "continue"
784
+ ln , parsed [ ln ] [ parsed [ ln ] . length - 1 ] . p ,
785
+ ln , parsed [ ln ] [ parsed [ ln ] . length - 1 ] . p + parsed [ ln ] [ parsed [ ln ] . length - 1 ] . c
786
+ ) ) . toLowerCase ( ) == "continue"
787
787
) {
788
788
// This is the start of a multi-line macro definition
789
789
const restofline = doc . getText ( Range . create (
790
- Position . create ( ln , parsed [ ln ] [ 3 ] . p ) ,
791
- Position . create ( ln , parsed [ ln ] [ parsed [ ln ] . length - 1 ] . p + parsed [ ln ] [ parsed [ ln ] . length - 1 ] . c )
790
+ ln , parsed [ ln ] [ 3 ] . p ,
791
+ ln , parsed [ ln ] [ parsed [ ln ] . length - 1 ] . p + parsed [ ln ] [ parsed [ ln ] . length - 1 ] . c
792
792
) ) ;
793
- var docstr = macrodef . label ;
793
+ let docstr = macrodef . label ;
794
794
if ( parsed [ ln ] [ 3 ] . l == ld . cos_langindex && parsed [ ln ] [ 3 ] . s == ld . cos_delim_attrindex ) {
795
795
// This macro has args
796
- var argsmatchres = restofline . match ( argsregex ) ;
797
- if ( argsmatchres !== null ) {
796
+ const argsmatchres = restofline . match ( argsregex ) ;
797
+ if ( argsmatchres != null ) {
798
798
docstr = docstr + argsmatchres [ 1 ] ;
799
799
}
800
800
}
801
801
802
- var flvalmatchres = restofline . match ( / ^ (?: \( [ ^ \( \) ] + \) * ) { 0 , 1 } ( .* ) ( * # # c o n t i n u e ) $ / i) ;
803
- if ( flvalmatchres !== null ) {
804
- if ( flvalmatchres [ 1 ] !== "" ) {
802
+ const flvalmatchres = restofline . match ( / ^ (?: \( [ ^ \( \) ] + \) * ) { 0 , 1 } ( .* ) ( * # # c o n t i n u e ) $ / i) ;
803
+ if ( flvalmatchres != null ) {
804
+ if ( flvalmatchres [ 1 ] != "" ) {
805
805
docstr = docstr + "\n" + flvalmatchres [ 1 ] . trim ( ) ;
806
806
}
807
807
for ( let mln = ln + 1 ; mln < parsed . length ; mln ++ ) {
808
808
if (
809
- parsed [ mln ] [ parsed [ mln ] . length - 1 ] . l === ld . cos_langindex && parsed [ mln ] [ parsed [ mln ] . length - 1 ] . s = == ld . cos_ppf_attrindex &&
809
+ parsed [ mln ] [ parsed [ mln ] . length - 1 ] . l == ld . cos_langindex && parsed [ mln ] [ parsed [ mln ] . length - 1 ] . s == ld . cos_ppf_attrindex &&
810
810
doc . getText ( Range . create (
811
- Position . create ( mln , parsed [ mln ] [ parsed [ mln ] . length - 1 ] . p ) ,
812
- Position . create ( mln , parsed [ mln ] [ parsed [ mln ] . length - 1 ] . p + parsed [ mln ] [ parsed [ mln ] . length - 1 ] . c )
813
- ) ) . toLowerCase ( ) === "continue"
811
+ mln , parsed [ mln ] [ parsed [ mln ] . length - 1 ] . p ,
812
+ mln , parsed [ mln ] [ parsed [ mln ] . length - 1 ] . p + parsed [ mln ] [ parsed [ mln ] . length - 1 ] . c
813
+ ) ) . toLowerCase ( ) == "continue"
814
814
) {
815
815
// This is a line of the multi-line macro definition
816
816
docstr = docstr + "\n" + doc . getText ( Range . create (
817
- Position . create ( mln , parsed [ mln ] [ 0 ] . p ) ,
818
- Position . create ( mln , parsed [ mln ] [ parsed [ mln ] . length - 3 ] . p + parsed [ mln ] [ parsed [ mln ] . length - 3 ] . c )
817
+ mln , parsed [ mln ] [ 0 ] . p ,
818
+ mln , parsed [ mln ] [ parsed [ mln ] . length - 3 ] . p + parsed [ mln ] [ parsed [ mln ] . length - 3 ] . c
819
819
) ) ;
820
820
}
821
821
else {
822
822
// This is the last line of the multi-line macro definition
823
823
docstr = docstr + "\n" + doc . getText ( Range . create (
824
- Position . create ( mln , parsed [ mln ] [ 0 ] . p ) ,
825
- Position . create ( mln , parsed [ mln ] [ parsed [ mln ] . length - 1 ] . p + parsed [ mln ] [ parsed [ mln ] . length - 1 ] . c )
824
+ mln , parsed [ mln ] [ 0 ] . p ,
825
+ mln , parsed [ mln ] [ parsed [ mln ] . length - 1 ] . p + parsed [ mln ] [ parsed [ mln ] . length - 1 ] . c
826
826
) ) ;
827
827
break ;
828
828
}
829
829
}
830
830
}
831
- if ( docstr !== macrodef . label ) {
831
+ if ( docstr != macrodef . label ) {
832
832
macrodef . documentation = {
833
833
kind : "plaintext" ,
834
834
value : docstr
@@ -838,18 +838,18 @@ export async function onCompletion(params: CompletionParams): Promise<Completion
838
838
else {
839
839
// This is a single line macro definition
840
840
const restofline = doc . getText ( Range . create (
841
- Position . create ( ln , parsed [ ln ] [ 3 ] . p ) ,
842
- Position . create ( ln , parsed [ ln ] [ parsed [ ln ] . length - 1 ] . p + parsed [ ln ] [ parsed [ ln ] . length - 1 ] . c )
841
+ ln , parsed [ ln ] [ 3 ] . p ,
842
+ ln , parsed [ ln ] [ parsed [ ln ] . length - 1 ] . p + parsed [ ln ] [ parsed [ ln ] . length - 1 ] . c
843
843
) ) ;
844
- var docstr = macrodef . label ;
844
+ let docstr = macrodef . label ;
845
845
if ( parsed [ ln ] [ 3 ] . l == ld . cos_langindex && parsed [ ln ] [ 3 ] . s == ld . cos_delim_attrindex ) {
846
846
// This macro has args
847
- var argsmatchres = restofline . match ( argsregex ) ;
847
+ const argsmatchres = restofline . match ( argsregex ) ;
848
848
if ( argsmatchres !== null ) {
849
849
docstr = docstr + argsmatchres [ 1 ] ;
850
850
}
851
851
}
852
- var valmatchres = restofline . match ( valregex ) ;
852
+ const valmatchres = restofline . match ( valregex ) ;
853
853
if ( valmatchres !== null ) {
854
854
macrodef . documentation = {
855
855
kind : "plaintext" ,
0 commit comments