1- using System ;
2- using System . Collections . Generic ;
1+ using System . Collections . Generic ;
32using System . Drawing ;
43using System . IO ;
54using System . Linq ;
6- using ASCompletion ;
75using ASCompletion . Completion ;
86using ASCompletion . Context ;
97using ASCompletion . Model ;
@@ -110,32 +108,11 @@ internal static IEnumerable<ICompletionListItem> GetCompletionItems(Dictionary<s
110108 {
111109 var result = new List < ICompletionListItem > ( ) ;
112110 if ( templates . Count == 0 ) return result ;
113- var sci = PluginBase . MainForm . CurrentDocument . SciControl ;
114- Bitmap itemIcon = null ;
115- var haxeStringCode = false ;
116- var isHaxe = sci . ConfigurationLanguage . ToLower ( ) == "haxe" ;
117- if ( isHaxe )
118- {
119- var target = GetCompletionTarget ( expr ) ;
120- if ( target ? . Type == ASContext . Context . Features . stringKey )
121- {
122- var pos = ASGenerator . GetStartOfStatement ( sci , sci . CurrentPos , expr ) ;
123- haxeStringCode = sci . CharAt ( pos ) == '"' && sci . CharAt ( pos + 1 ) != '\\ ' && sci . CharAt ( pos + 2 ) == '"' ;
124- if ( haxeStringCode ) itemIcon = ( Bitmap ) ASContext . Panel . GetIcon ( PluginUI . ICON_PROPERTY ) ;
125- }
126- }
127111 foreach ( var pathToTemplate in templates )
128112 {
129113 var fileName = Path . GetFileNameWithoutExtension ( pathToTemplate . Key ) ;
130- if ( isHaxe && fileName == "code" && ! haxeStringCode ) continue ;
131114 var template = TemplateUtils . ProcessTemplate ( pattern , pathToTemplate . Value , expr ) ;
132- var item = new PostfixCompletionItem ( fileName , template , expr ) { Pattern = pattern } ;
133- if ( isHaxe && fileName == "code" && itemIcon != null )
134- {
135- item . Icon = itemIcon ;
136- itemIcon = null ;
137- }
138- result . Add ( item ) ;
115+ result . Add ( new PostfixCompletionItem ( fileName , template , expr ) { Pattern = pattern } ) ;
139116 }
140117 return result ;
141118 }
@@ -200,30 +177,30 @@ internal static bool IsHash(MemberModel target)
200177 var type = target . Type ;
201178 return type == ASContext . Context . Features . objectKey || type == "Dictionary" ;
202179 case "haxe" :
203- Func < MemberModel , bool > isIterator = member =>
204- {
205- var cleanType = Reflector . ASGenerator . CleanType ( member . Type ) ;
206- return cleanType == "Iterator" || cleanType == "Iterable" ;
207- } ;
208- if ( isIterator ( target ) ) return true ;
209- if ( target is ClassModel )
180+ if ( IsIterator ( target ) ) return true ;
181+ if ( target is ClassModel classModel )
210182 {
211- var classModel = target as ClassModel ;
212183 while ( classModel != null && ! classModel . IsVoid ( ) )
213184 {
214- if ( classModel . Members . Items . Any ( isIterator ) ) return true ;
185+ if ( classModel . Members . Items . Any ( IsIterator ) ) return true ;
215186 classModel . ResolveExtends ( ) ;
216187 classModel = classModel . Extends ;
217188 }
218189 }
219190 return false ;
191+
192+ bool IsIterator ( MemberModel member )
193+ {
194+ var cleanType = Reflector . ASGenerator . CleanType ( member . Type ) ;
195+ return cleanType == "Iterator" || cleanType == "Iterable" ;
196+ }
220197 default : return false ;
221198 }
222199 }
223200
224201 internal static bool IsNumber ( MemberModel target )
225202 {
226- var type = target is ClassModel ? ( ( ClassModel ) target ) . QualifiedName : target . Type ;
203+ var type = target is ClassModel model ? model . QualifiedName : target . Type ;
227204 if ( type == ASContext . Context . Features . numberKey ) return true ;
228205 var language = PluginBase . MainForm . CurrentDocument . SciControl . ConfigurationLanguage . ToLower ( ) ;
229206 var features = Settings . LanguageFeatures . First ( it => it . Language == language ) ;
@@ -248,8 +225,8 @@ public PostfixCompletionItem(string label, string template, ASResult expr)
248225 string pattern ;
249226 public virtual string Pattern
250227 {
251- get { return pattern ?? TemplateUtils . PatternMember ; }
252- set { pattern = value ; }
228+ get => pattern ?? TemplateUtils . PatternMember ;
229+ set => pattern = value ;
253230 }
254231
255232 public string Value
@@ -264,8 +241,8 @@ public string Value
264241 Bitmap icon ;
265242 public Bitmap Icon
266243 {
267- get { return icon ?? ( icon = ( Bitmap ) PluginBase . MainForm . FindImage ( "341" ) ) ; }
268- set { icon = value ; }
244+ get => icon ?? ( icon = ( Bitmap ) PluginBase . MainForm . FindImage ( "341" ) ) ;
245+ set => icon = value ;
269246 }
270247
271248 string description ;
0 commit comments