package Ġcom . github . w ulkan at . dcc . language čĊč Ċ import Ġcom . github . w ulkan at . dcc . language . psi . D cc File č Ċ import Ġcom . intellij . code Insight . int ention . impl . Base Int ention Action č Ċ import Ġcom . intellij . openapi . application . Application Manager č Ċ import Ġcom . intellij . openapi . command . Write Command Action č Ċ import Ġcom . intellij . openapi . editor . Editor č Ċ import Ġcom . intellij . openapi . project . Project č Ċ import Ġcom . intellij . openapi . vfs . Virtual File č Ċ import Ġcom . intellij . psi . Psi File č Ċ import Ġcom . intellij . psi . Psi Manager č Ċ import Ġcom . intellij . psi . search . FileType Index č Ċ import Ġcom . intellij . psi . search . Global Search Scope čĊč Ċ class ĠD cc Create Property Quick Fix ( private Ġval Ġkey : ĠString ) Ġ: ĠBase Int ention Action () Ġ{ čĊĠĠĠ Ġoverride Ġfun ĠgetText () Ġ= Ġ" Create Ġproperty " čĊĠĠĠ Ġoverride Ġfun Ġget Family Name () Ġ= Ġ" D CC Ġproperties " čĊĠĠĠ Ġoverride Ġfun Ġis Available ( project : ĠProject , Ġeditor : ĠEditor ?, Ġfile : ĠPsi File ?) Ġ= Ġtrue čĊčĊĠĠĠ Ġoverride Ġfun Ġinvoke ( project : ĠProject , Ġeditor : ĠEditor ?, Ġfile : ĠPsi File ?) Ġ{ čĊĠĠĠĠĠĠĠ ĠApplication Manager . getApplication (). invoke Later Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvirtual Files Ġ= ĠFile Type Index . get Files ( D cc FileType , ĠGlobal Search Scope . all Scope ( project )) čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( virtual Files . size Ġ== Ġ 1 ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcreate Pro pert čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġprivate Ġfun Ġcreate Property ( project : ĠProject , Ġfile : ĠVirtual File ) Ġ{ čĊĠĠĠĠĠĠĠ ĠWrite Command Action . write Command Action ( project ). run < Nothing > Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġd cc File Ġ= ĠPsi Manager . getInstance ( project ). find File ( file ) Ġas ĠD cc File čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlast Child Node Ġ= Ġd cc File . node . last Child Node čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠTODO : Ġadd Ġanother Ġcheck Ġfor ĠCRL F čĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( last Child Node Ġ!= Ġnull /* Ġ&& Ġ! last Child Node . getElement Type (). equals ( Simple Types . CRL F ) */) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġd cc File . node . addChild ( D cc Element ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} č Ċ }