libvscode.pas 186 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024
  1. unit libvscode;
  2. {$mode objfpc}
  3. {$modeswitch externalclass}
  4. {$scopedenums on}
  5. interface
  6. uses Types, JS, Web;
  7. Type
  8. TUint32DynArray = array of Cardinal;
  9. TVSThenable = TJSPromise;
  10. TVSEndOfLine = (EndOfLine_unknown,LF,CRLF);
  11. TVSViewColumn = (ViewColumn_unknown,Active,Beside,One,Two,Three,Four,Five,Six,Seven,Eight,Nine);
  12. TVSDocumentHighlightKind = (Text,Read,Write);
  13. TVSSymbolKind = (File,Module,Namespace,Package,Class,Method,Property,Field,Constructor,Enum,Interface,Function,Variable,Constant,String,NativeInt,Boolean,Array,Object,Key,Null,EnumMember,Struct,Event,Operator,TypeParameter);
  14. TVSSymbolTag = (SymbolTag_unknown,Deprecated);
  15. // init : 1
  16. TVSSignatureHelpTriggerKind = (SignatureHelpTriggerKind_unknown,Invoke,TriggerCharacter,ContentChange);
  17. // init : 0
  18. TVSCompletionItemKind = (Text,Method,Function_,Constructor_,Field,Variable,Class_,Interface_,Module,Property_,Unit_,Value,Enum,Keyword,Snippet,Color,Reference,File,Folder,EnumMember,Constant,Struct,Event,Operator,TypeParameter,User,Issue);
  19. // init : 1
  20. TVSTextEditorCursorStyle = (TextEditorCursorStyle_unknown,Line,Block,Underline,LineThin,BlockOutline,UnderlineThin);
  21. // init : 0
  22. TVSTextEditorLineNumbersStyle = (Off,On,Relative);
  23. // init : 0
  24. TVSTextEditorRevealType = (Default,InCenter,InCenterIfOutsideViewport,AtTop);
  25. // init : 1
  26. TVSOverviewRulerLane = (OverviewRulerLane_unknown,Left,Center,Right,Full);
  27. // init : 0
  28. TVSDecorationRangeBehavior = (OpenOpen,ClosedClosed,OpenClosed,ClosedOpen);
  29. // init : 1
  30. TVSCompletionItemTag = (CompletionItemTag_unknown,Deprecated);
  31. // init : 0
  32. TVSCompletionTriggerKind = (Invoke,TriggerCharacter,TriggerForIncompleteCompletions);
  33. // init : 1
  34. TVSFoldingRangeKind = (FoldingRangeKind_unknown,Comment,Imports,Region);
  35. // init : 0
  36. TVSIndentAction = (None,Indent,IndentOutdent,Outdent);
  37. // init : 1
  38. TVSConfigurationTarget = (ConfigurationTarget_unknown,Global,Workspace,WorkspaceFolder);
  39. // init : 0
  40. TVSDiagnosticSeverity = (Error,Warning,Information,Hint);
  41. // init : 1
  42. TVSDiagnosticTag = (DiagnosticTag_unknown,Unnecessary,Deprecated);
  43. // init : 1
  44. TVSStatusBarAlignment = (StatusBarAlignment_unknown,Left,Right);
  45. // init : 1
  46. TVSExtensionKind = (ExtensionKind_unknown,UI,Workspace);
  47. // init : 1
  48. TVSExtensionMode = (ExtensionMode_unknown,Production,Development,Test);
  49. // init : 1
  50. TVSColorThemeKind = (ColorThemeKind_unknown,Light,Dark,HighContrast);
  51. // init : 1
  52. TVSTaskRevealKind = (TaskRevealKind_unknown,Always,Silent,Never);
  53. // init : 1
  54. TVSTaskPanelKind = (TaskPanelKind_unknown,Shared,Dedicated,New);
  55. // init : 1
  56. TVSShellQuoting = (ShellQuoting_unknown,Escape,Strong,Weak);
  57. // init : 1
  58. TVSTaskScope = (TaskScope_unknown,Global,Workspace);
  59. // init : 0
  60. TVSFileType = (Unknown,File,Directory,SymbolicLink);
  61. // init : 1
  62. TVSFileChangeType = (FileChangeType_unknown,Changed,Created,Deleted);
  63. // init : 1
  64. TVSUIKind = (UIKind_unknown,Desktop,Web);
  65. // init : 0
  66. TVSTreeItemCollapsibleState = (None,Collapsed,Expanded);
  67. // init : 1
  68. TVSEnvironmentVariableMutatorType = (EnvironmentVariableMutatorType_unknown,Replace,Append,Prepend);
  69. // init : 1
  70. TVSProgressLocation = (ProgressLocation_unknown,SourceControl,Window,Notification);
  71. // init : 1
  72. TVSTextDocumentSaveReason = (TextDocumentSaveReason_unknown,Manual,AfterDelay,FocusOut);
  73. // init : parentSession: TVSDebugSession;
  74. TVSDebugConsoleMode = (DebugConsoleMode_unknown,,,,);
  75. // init : export let activeDebugSession: TVSDebugSession ;
  76. TVSDebugConfigurationProviderTriggerKind = (DebugConfigurationProviderTriggerKind_unknown,,,,,,,,,,,,,,,,);
  77. // init : 0
  78. TVSCommentThreadCollapsibleState = (Collapsed,Expanded);
  79. // init : 0
  80. TVSCommentMode = (Editing,Preview);
  81. TVSCommand = class;
  82. TVSTextLine = class;
  83. TVSTextDocument = class;
  84. TVSPosition = class;
  85. TVSRange = class;
  86. TVSSelection = class;
  87. TVSTextEditorSelectionChangeEvent = class;
  88. TVSTextEditorVisibleRangesChangeEvent = class;
  89. TVSTextEditorOptionsChangeEvent = class;
  90. TVSTextEditorViewColumnChangeEvent = class;
  91. TVSTextEditorOptions = class;
  92. TVSTextEditorDecorationType = class;
  93. TVSTextDocumentShowOptions = class;
  94. TVSThemeColor = class;
  95. TVSThemeIcon = class;
  96. TVSThemableDecorationRenderOptions = class;
  97. TVSThemableDecorationAttachmentRenderOptions = class;
  98. TVSDecorationRenderOptions = class;
  99. TVSDecorationOptions = class;
  100. TVSThemableDecorationInstanceRenderOptions = class;
  101. TVSDecorationInstanceRenderOptions = class;
  102. TVSTextEditor = class;
  103. TVSTextEditorEdit = class;
  104. TVSUri = class;
  105. TVSCancellationToken = class;
  106. TVSCancellationTokenSource = class;
  107. TVSDisposable = class;
  108. TVSFileSystemWatcher = class;
  109. TVSTextDocumentContentProvider = class;
  110. TVSQuickPickItem = class;
  111. TVSQuickPickOptions = class;
  112. TVSWorkspaceFolderPickOptions = class;
  113. TVSOpenDialogOptions = class;
  114. TVSSaveDialogOptions = class;
  115. TVSMessageItem = class;
  116. TVSMessageOptions = class;
  117. TVSInputBoxOptions = class;
  118. TVSRelativePattern = class;
  119. TVSDocumentFilter = class;
  120. TVSCodeActionKind = class;
  121. TVSCodeActionContext = class;
  122. TVSCodeAction = class;
  123. TVSCodeActionProvider = class;
  124. TVSCodeActionProviderMetadata = class;
  125. TVSCodeLens = class;
  126. TVSCodeLensProvider = class;
  127. TVSDefinitionProvider = class;
  128. TVSImplementationProvider = class;
  129. TVSTypeDefinitionProvider = class;
  130. TVSDeclarationProvider = class;
  131. TVSMarkdownString = class;
  132. TVSHover = class;
  133. TVSHoverProvider = class;
  134. TVSEvaluatableExpression = class;
  135. TVSEvaluatableExpressionProvider = class;
  136. TVSDocumentHighlight = class;
  137. TVSDocumentHighlightProvider = class;
  138. TVSSymbolInformation = class;
  139. TVSDocumentSymbol = class;
  140. TVSDocumentSymbolProvider = class;
  141. TVSDocumentSymbolProviderMetadata = class;
  142. TVSWorkspaceSymbolProvider = class;
  143. TVSReferenceContext = class;
  144. TVSReferenceProvider = class;
  145. TVSTextEdit = class;
  146. TVSWorkspaceEditEntryMetadata = class;
  147. TVSWorkspaceEdit = class;
  148. TVSSnippetString = class;
  149. TVSRenameProvider = class;
  150. TVSSemanticTokensLegend = class;
  151. TVSSemanticTokensBuilder = class;
  152. TVSSemanticTokens = class;
  153. TVSSemanticTokensEdits = class;
  154. TVSSemanticTokensEdit = class;
  155. TVSDocumentSemanticTokensProvider = class;
  156. TVSDocumentRangeSemanticTokensProvider = class;
  157. TVSFormattingOptions = class;
  158. TVSDocumentFormattingEditProvider = class;
  159. TVSDocumentRangeFormattingEditProvider = class;
  160. TVSOnTypeFormattingEditProvider = class;
  161. TVSParameterInformation = class;
  162. TVSSignatureInformation = class;
  163. TVSSignatureHelp = class;
  164. TVSSignatureHelpContext = class;
  165. TVSSignatureHelpProvider = class;
  166. TVSSignatureHelpProviderMetadata = class;
  167. TVSCompletionItem = class;
  168. TVSCompletionContext = class;
  169. TVSDocumentLink = class;
  170. TVSColor = class;
  171. TVSColorInformation = class;
  172. TVSColorPresentation = class;
  173. TVSDocumentColorProvider = class;
  174. TVSFoldingRange = class;
  175. TVSFoldingContext = class;
  176. TVSFoldingRangeProvider = class;
  177. TVSSelectionRange = class;
  178. TVSSelectionRangeProvider = class;
  179. TVSCallHierarchyItem = class;
  180. TVSCallHierarchyIncomingCall = class;
  181. TVSCallHierarchyOutgoingCall = class;
  182. TVSCallHierarchyProvider = class;
  183. TVSLinkedEditingRanges = class;
  184. TVSLinkedEditingRangeProvider = class;
  185. TVSCommentRule = class;
  186. TVSIndentationRule = class;
  187. TVSEnterAction = class;
  188. TVSOnEnterRule = class;
  189. TVSLanguageConfiguration = class;
  190. TVSWorkspaceConfiguration = class;
  191. TVSLocation = class;
  192. TVSLocationLink = class;
  193. TVSDiagnosticChangeEvent = class;
  194. TVSDiagnosticRelatedInformation = class;
  195. TVSDiagnostic = class;
  196. TVSDiagnosticCollection = class;
  197. TVSOutputChannel = class;
  198. TVSAccessibilityInformation = class;
  199. TVSStatusBarItem = class;
  200. TVSTerminal = class;
  201. TVSTerminalLinkContext = class;
  202. TVSTerminalLink = class;
  203. TVSFileDecoration = class;
  204. TVSFileDecorationProvider = class;
  205. TVSExtensionContext = class;
  206. TVSMemento = class;
  207. TVSColorTheme = class;
  208. TVSTaskPresentationOptions = class;
  209. TVSTaskGroup = class;
  210. TVSTaskDefinition = class;
  211. TVSProcessExecutionOptions = class;
  212. TVSProcessExecution = class;
  213. TVSShellQuotingOptions = class;
  214. TVSShellExecutionOptions = class;
  215. TVSShellQuotedString = class;
  216. TVSShellExecution = class;
  217. TVSCustomExecution = class;
  218. TVSRunOptions = class;
  219. TVSTask = class;
  220. TVSTaskExecution = class;
  221. TVSTaskProcessStartEvent = class;
  222. TVSTaskProcessEndEvent = class;
  223. TVSTaskFilter = class;
  224. TVSNStasks = class;
  225. TVSFileStat = class;
  226. TVSFileSystemError = class;
  227. TVSFileChangeEvent = class;
  228. TVSFileSystemProvider = class;
  229. TVSFileSystem = class;
  230. TVSWebviewPortMapping = class;
  231. TVSWebviewOptions = class;
  232. TVSWebview = class;
  233. TVSWebviewPanelOptions = class;
  234. TVSWebviewPanelOnDidChangeViewStateEvent = class;
  235. TVSWebviewView = class;
  236. TVSWebviewViewProvider = class;
  237. TVSCustomTextEditorProvider = class;
  238. TVSCustomReadonlyEditorProvider = class;
  239. TVSCustomEditorProvider = class;
  240. TVSClipboard = class;
  241. TVSNSenv = class;
  242. TVSNScommands = class;
  243. TVSWindowState = class;
  244. TVSUriHandler = class;
  245. TVSNSwindow = class;
  246. TVSTreeViewOptions = class;
  247. TVSTreeViewExpansionEvent = class;
  248. TVSTreeViewSelectionChangeEvent = class;
  249. TVSTreeViewVisibilityChangeEvent = class;
  250. TVSTreeView = class;
  251. TVSTreeDataProvider = class;
  252. TVSTreeItem = class;
  253. TVSTreeItemLabel = class;
  254. TVSTerminalOptions = class;
  255. TVSExtensionTerminalOptions = class;
  256. TVSTerminalDimensions = class;
  257. TVSTerminalExitStatus = class;
  258. TVSEnvironmentVariableMutator = class;
  259. TVSEnvironmentVariableCollection = class;
  260. TVSProgressOptions = class;
  261. TVSQuickInput = class;
  262. TVSQuickPick = class;
  263. TVSInputBox = class;
  264. TVSQuickInputButton = class;
  265. TVSQuickInputButtons = class;
  266. TVSTextDocumentContentChangeEvent = class;
  267. TVSTextDocumentChangeEvent = class;
  268. TVSTextDocumentWillSaveEvent = class;
  269. TVSFileWillCreateEvent = class;
  270. TVSFileCreateEvent = class;
  271. TVSFileWillDeleteEvent = class;
  272. TVSFileDeleteEvent = class;
  273. TVSFileWillRenameEvent = class;
  274. TVSFileRenameEvent = class;
  275. TVSWorkspaceFoldersChangeEvent = class;
  276. TVSWorkspaceFolder = class;
  277. TVSNSworkspace = class;
  278. TVSConfigurationChangeEvent = class;
  279. TVSNSlanguages = class;
  280. TVSSourceControlInputBox = class;
  281. TVSSourceControlResourceThemableDecorations = class;
  282. TVSSourceControlResourceDecorations = class;
  283. TVSSourceControlResourceState = class;
  284. TVSSourceControlResourceGroup = class;
  285. TVSSourceControl = class;
  286. TVSNSscm = class;
  287. TVSDebugProtocolMessage = class;
  288. TVSDebugProtocolSource = class;
  289. TVSDebugProtocolBreakpoint = class;
  290. TVSDebugConfiguration = class;
  291. TVSDebugSession = class;
  292. TVSDebugSessionCustomEvent = class;
  293. TVSDebugConfigurationProvider = class;
  294. TVSDebugAdapterExecutable = class;
  295. TVSDebugAdapterExecutableOptions = class;
  296. TVSDebugAdapterServer = class;
  297. TVSDebugAdapterNamedPipeServer = class;
  298. TVSDebugAdapter = class;
  299. TVSDebugAdapterInlineImplementation = class;
  300. TVSDebugAdapterDescriptorFactory = class;
  301. TVSDebugAdapterTracker = class;
  302. TVSDebugAdapterTrackerFactory = class;
  303. TVSDebugConsole = class;
  304. TVSBreakpointsChangeEvent = class;
  305. TVSBreakpoint = class;
  306. TVSSourceBreakpoint = class;
  307. TVSFunctionBreakpoint = class;
  308. TVSNSextensions = class;
  309. TVSCommentThread = class;
  310. TVSCommentAuthorInformation = class;
  311. TVSCommentReaction = class;
  312. TVSComment = class;
  313. TVSCommentReply = class;
  314. TVSCommentingRangeProvider = class;
  315. TVSCommentOptions = class;
  316. TVSCommentController = class;
  317. TVSNSComments = class;
  318. TVSAuthenticationSession = class;
  319. TVSAuthenticationSessionAccountInformation = class;
  320. TVSAuthenticationGetSessionOptions = class;
  321. TVSAuthenticationProviderInformation = class;
  322. TVSAuthenticationSessionsChangeEvent = class;
  323. TVSNSauthentication = class;
  324. TVSTaskEndEvent = class;
  325. TVSTaskStartEvent = class;
  326. TVSPseudoterminal = class;
  327. TVSExtension = class;
  328. TVSConfigurationScope = TJSObject;
  329. // Arrays
  330. TVSSelectionDynArray = array of TVSSelection;
  331. TVSRangeDynArray = array of TVSRange;
  332. TVSMarkDownStringDynArray = array of TVSRange;
  333. TVSSnippetStringDynArray = array of TVSSnippetString;
  334. TVSPositionDynArray = array of TVSPosition;
  335. TVSDisposableArray = array of TVSDisposable;
  336. TVSDiagnosticDynArray = array of TVSDiagnostic;
  337. TVSCodeActionKindDynArray = array of TVSCodeActionKind;
  338. TVSSymbolTagDynArray = Array of TVSSymbolTag;
  339. TVSDocumentSymbolDynArray = array of TVSDocumentSymbol;
  340. TVSTextEditDynArray = array of TVSTextEdit;
  341. TVSSemanticTokensEditDynArray = Array of TVSSemanticTokensEdit;
  342. TVSParameterInformationDynArray = Array of TVSParameterInformation;
  343. TVSSignatureInformationDynArray = Array of TVSSignatureInformation;
  344. TVSCompletionItemTagDynArray = Array of TVSCompletionItemTag;
  345. TVSCompletionItemDynArray = Array of TVSCompletionItem;
  346. TVSCharacterPairDynArray = Array of TStringDynArray;
  347. TVSOnEnterRuleDynArray = array of TVSOnEnterRule;
  348. TVSUriDynArray = array of TVSUri;
  349. TVSDiagnosticRelatedInformationDynArray = array of TVSDiagnosticRelatedInformation;
  350. TVSDiagnosticTagDynArray = Array of TVSDiagnosticTag;
  351. TVSShellQuotedStringDynArray = Array of TVSShellQuotedString;
  352. TVSTaskExecutionDynArray = Array of TVSTaskExecution;
  353. TVSFileChangeEventDynArray = Array of TVSFileChangeEvent;
  354. TVSWebviewPortMappingDynArray = Array of TVSWebviewPortMapping;
  355. TVSTextEditorDynArray = Array of TVSTextEditor;
  356. TVSMessageItemDynArray = ARray of TVSMessageItem;
  357. TVSThenableDynArray = Array of TVSThenable;
  358. TVSTerminalDynArray = Array of TVSTerminal;
  359. TVSQuickPickItemDynArray = Array of TVSQuickPickItem;
  360. TVSQuickInputButtonDynArray = Array of TVSQuickInputButton;
  361. TVSTextDocumentContentChangeEventDynArray = Array of TVSTextDocumentContentChangeEvent;
  362. TVSWorkspaceFolderDynArray = array of TVSWorkspaceFolder;
  363. TVSTextDocumentDynArray = Array of TVSTextDocument;
  364. TVSDocumentFilterDynArray = Array of TVSDocumentFilter;
  365. TVSSourceControlResourceStateDynArray = Array of TVSSourceControlResourceState;
  366. TVSCommandDynArray = array of TVSCommand;
  367. TVSBreakpointDynArray= Array of TVSBreakpoint;
  368. TVSExtensionDynArray = array of TVSExtension;
  369. TVSCommentDynArray = array of TVSComment;
  370. TVSCommentReactionDynArray = array of TVSCommentReaction;
  371. // Handlers
  372. TVSanyHandler = reference to function(aEvent : JSValue) : JSValue;
  373. TVSAuthenticationSessionsChangeEventHandler = reference to function(aEvent : TVSAuthenticationSessionsChangeEvent) : JSValue;
  374. TVSColorThemeHandler = reference to function(aEvent : TVSColorTheme) : JSValue;
  375. TVSConfigurationChangeEventHandler = reference to function(aEvent : TVSConfigurationChangeEvent) : JSValue;
  376. TVSDebugProtocolMessageHandler = reference to function(aEvent : TVSDebugProtocolMessage) : JSValue;
  377. TVSDiagnosticChangeEventHandler = reference to function(aEvent : TVSDiagnosticChangeEvent) : JSValue;
  378. TVSFileCreateEventHandler = reference to function(aEvent : TVSFileCreateEvent) : JSValue;
  379. TVSFileDeleteEventHandler = reference to function(aEvent : TVSFileDeleteEvent) : JSValue;
  380. TVSFileRenameEventHandler = reference to function(aEvent : TVSFileRenameEvent) : JSValue;
  381. TVSFileWillCreateEventHandler = reference to function(aEvent : TVSFileWillCreateEvent) : JSValue;
  382. TVSFileWillDeleteEventHandler = reference to function(aEvent : TVSFileWillDeleteEvent) : JSValue;
  383. TVSFileWillRenameEventHandler = reference to function(aEvent : TVSFileWillRenameEvent) : JSValue;
  384. TVSQuickInputButtonHandler = reference to function(aEvent : TVSQuickInputButton) : JSValue;
  385. TVSstringHandler = reference to function(aEvent : string) : JSValue;
  386. TVSTaskEndEventHandler = reference to function(aEvent : TVSTaskEndEvent) : JSValue;
  387. TVSTaskProcessEndEventHandler = reference to function(aEvent : TVSTaskProcessEndEvent) : JSValue;
  388. TVSTaskProcessStartEventHandler = reference to function(aEvent : TVSTaskProcessStartEvent) : JSValue;
  389. TVSTaskStartEventHandler = reference to function(aEvent : TVSTaskStartEvent) : JSValue;
  390. TVSTerminalDimensionsHandler = reference to function(aEvent : TVSTerminalDimensions) : JSValue;
  391. TVSTerminalHandler = reference to function(aEvent : TVSTerminal) : JSValue;
  392. TVSTextDocumentChangeEventHandler = reference to function(aEvent : TVSTextDocumentChangeEvent) : JSValue;
  393. TVSTextDocumentHandler = reference to function(aEvent : TVSTextDocument) : JSValue;
  394. TVSTextDocumentWillSaveEventHandler = reference to function(aEvent : TVSTextDocumentWillSaveEvent) : JSValue;
  395. TVSTextEditorOptionsChangeEventHandler = reference to function(aEvent : TVSTextEditorOptionsChangeEvent) : JSValue;
  396. TVSTextEditorSelectionChangeEventHandler = reference to function(aEvent : TVSTextEditorSelectionChangeEvent) : JSValue;
  397. TVSTextEditorHandler = reference to function(aEvent : TVSTextEditor) : JSValue;
  398. TVSTextEditorViewColumnChangeEventHandler = reference to function(aEvent : TVSTextEditorViewColumnChangeEvent) : JSValue;
  399. TVSTextEditorVisibleRangesChangeEventHandler = reference to function(aEvent : TVSTextEditorVisibleRangesChangeEvent) : JSValue;
  400. TVSTreeViewExpansionEventHandler = reference to function(aEvent : TVSTreeViewExpansionEvent) : JSValue;
  401. TVSTreeViewSelectionChangeEventHandler = reference to function(aEvent : TVSTreeViewSelectionChangeEvent) : JSValue;
  402. TVSTreeViewVisibilityChangeEventHandler = reference to function(aEvent : TVSTreeViewVisibilityChangeEvent) : JSValue;
  403. TVSvoidHandler = reference to function() : JSValue;
  404. TVSnumberHandler = reference to function(aEvent : NativeInt) : JSValue;
  405. TVSWebviewPanelOnDidChangeViewStateEventHandler = reference to function(aEvent : TVSWebviewPanelOnDidChangeViewStateEvent) : JSValue;
  406. TVSWindowStateHandler = reference to function(aEvent : TVSWindowState) : JSValue;
  407. TVSWorkspaceFoldersChangeEventHandler = reference to function(aEvent : TVSWorkspaceFoldersChangeEvent) : JSValue;
  408. TVSCommand = class external name 'Command' (TJSObject)
  409. Public
  410. title: string;
  411. TVSCommand: string;
  412. tooltip: string;
  413. arguments: TJSValueDynArray;
  414. end;
  415. TVSTextLine = class external name 'TextLine' (TJSObject)
  416. Private
  417. FlineNumber : NativeInt; external name 'lineNumber';
  418. Ftext : string; external name 'text';
  419. Frange : TVSRange; external name 'range';
  420. FrangeIncludingLineBreak : TVSRange; external name 'rangeIncludingLineBreak';
  421. FfirstNonWhitespaceCharacterIndex : NativeInt; external name 'firstNonWhitespaceCharacterIndex';
  422. FisEmptyOrWhitespace : boolean; external name 'isEmptyOrWhitespace';
  423. Public
  424. Property lineNumber : NativeInt read FlineNumber;
  425. Property text : string read Ftext;
  426. Property range : TVSRange read Frange;
  427. Property rangeIncludingLineBreak : TVSRange read FrangeIncludingLineBreak;
  428. Property firstNonWhitespaceCharacterIndex : NativeInt read FfirstNonWhitespaceCharacterIndex;
  429. Property isEmptyOrWhitespace : boolean read FisEmptyOrWhitespace;
  430. end;
  431. TVSTextDocument = class external name 'TextDocument' (TJSObject)
  432. Private
  433. Furi : TVSUri; external name 'uri';
  434. FfileName : string; external name 'fileName';
  435. FisUntitled : boolean; external name 'isUntitled';
  436. FlanguageId : string; external name 'languageId';
  437. Fversion : NativeInt; external name 'version';
  438. FisDirty : boolean; external name 'isDirty';
  439. FisClosed : boolean; external name 'isClosed';
  440. Feol : TVSEndOfLine; external name 'eol';
  441. FlineCount : NativeInt; external name 'lineCount';
  442. Public
  443. function save() : TVSThenable; // boolean
  444. function lineAt(line: NativeInt) : TVSTextLine;
  445. function lineAt(position: TVSPosition) : TVSTextLine;
  446. function offsetAt(position: TVSPosition) : NativeInt;
  447. function positionAt(offset: NativeInt) : TVSPosition;
  448. function getText(range: TVSRange) : string; overload;
  449. function getText() : string; overload;
  450. function getWordRangeAtPosition(position: TVSPosition) : TVSRange; overload;
  451. function getWordRangeAtPosition(position: TVSPosition; regex: TJSRegExp) : TVSRange; overload;
  452. function validateRange(range: TVSRange) : TVSRange;
  453. function validatePosition(position: TVSPosition) : TVSPosition;
  454. Property uri : TVSUri read Furi;
  455. Property fileName : string read FfileName;
  456. Property isUntitled : boolean read FisUntitled;
  457. Property languageId : string read FlanguageId;
  458. Property version : NativeInt read Fversion;
  459. Property isDirty : boolean read FisDirty;
  460. Property isClosed : boolean read FisClosed;
  461. Property eol : TVSEndOfLine read Feol;
  462. Property lineCount : NativeInt read FlineCount;
  463. end;
  464. TVSPositionTranslate = class external name 'Object' (TJSObject)
  465. lineDelta : NativeInt;
  466. characterDelta: NativeInt;
  467. end;
  468. TVSPositionWith = class external name 'Object' (TJSObject)
  469. line : NativeInt;
  470. character: NativeInt;
  471. end;
  472. TVSPosition = class external name 'Position' (TJSObject)
  473. Fline : NativeInt; external name 'line';
  474. Fcharacter : NativeInt; external name 'character';
  475. Public
  476. Property line : NativeInt read Fline;
  477. Property character : NativeInt read Fcharacter;
  478. constructor New(line: NativeInt; character: NativeInt);
  479. function isBefore(other: TVSPosition) : boolean;
  480. function isBeforeOrEqual(other: TVSPosition) : boolean;
  481. function isAfter(other: TVSPosition) : boolean;
  482. function isAfterOrEqual(other: TVSPosition) : boolean;
  483. function isEqual(other: TVSPosition) : boolean;
  484. function compareTo(other: TVSPosition) : NativeInt;
  485. function translate() : TVSPosition;
  486. function translate(lineDelta: NativeInt) : TVSPosition;
  487. function translate(lineDelta: NativeInt; characterDelta: NativeInt) : TVSPosition;
  488. function translate(aChange : TVSPositionTranslate): TVSPosition;
  489. function with_() : TVSPosition; overload; external name 'with';
  490. function with_(line: NativeInt) : TVSPosition; overload; external name 'with';
  491. function with_(line: NativeInt; character: NativeInt) : TVSPosition; overload; external name 'with';
  492. function with_(change: TVSPositionWith): TVSPosition;
  493. end;
  494. TVSRangeWith = class external name 'Object' (TJSObject)
  495. start : TVSPosition;
  496. end_: TVSPosition; external name 'end';
  497. end;
  498. TVSRange = class external name 'Range' (TJSObject)
  499. Private
  500. Fstart : TVSPosition; external name 'start';
  501. Fend : TVSPosition; external name 'end';
  502. Public
  503. isEmpty: boolean;
  504. isSingleLine: boolean;
  505. constructor New(aStart: TVSPosition; aEnd: TVSPosition);
  506. constructor New(aStartLine: NativeInt; aStartCharacter: NativeInt; aEndLine: NativeInt; aEndCharacter: NativeInt);
  507. function contains(position: TVSPosition) : boolean;
  508. function contains(Range: TVSRange) : boolean;
  509. function isEqual(other: TVSRange) : boolean;
  510. function intersection(range: TVSRange) : TVSRange ;
  511. function union(other: TVSRange) : TVSRange;
  512. function with_(aStart: TVSPosition; aEnd: TVSPosition) : TVSRange; overload; external name 'with';
  513. function with_(aStart: TVSPosition) : TVSRange; overload; external name 'with';
  514. function with_() : TVSRange;overload; external name 'with';
  515. function with_(change: TVSRangeWith): TVSRange;
  516. Property start : TVSPosition read Fstart;
  517. Property end_ : TVSPosition read Fend;
  518. end;
  519. TVSSelection = class external name 'Selection' (TVSRange)
  520. Public
  521. anchor: TVSPosition;
  522. active: TVSPosition;
  523. isReversed: boolean;
  524. constructor New(anchor: TVSPosition; active: TVSPosition);
  525. constructor New(anchorLine: NativeInt; anchorCharacter: NativeInt; activeLine: NativeInt; activeCharacter: NativeInt);
  526. end;
  527. TVSTextEditorSelectionChangeKind = (TextEditorSelectionChangeKind_0,Keyboard,Mouse,Command);
  528. TVSTextEditorSelectionChangeEvent = class external name 'TextEditorSelectionChangeEvent' (TJSObject)
  529. Private
  530. FtextEditor : TVSTextEditor; external name 'textEditor';
  531. Fselections : TVSSelectionDynArray; external name 'selections';
  532. Fkind : TVSTextEditorSelectionChangeKind; external name 'kind';
  533. Public
  534. Property textEditor : TVSTextEditor read FtextEditor;
  535. Property selections : TVSSelectionDynArray read Fselections;
  536. Property kind : TVSTextEditorSelectionChangeKind read Fkind;
  537. end;
  538. TVSTextEditorVisibleRangesChangeEvent = class external name 'TextEditorVisibleRangesChangeEvent' (TJSObject)
  539. Private
  540. FtextEditor : TVSTextEditor; external name 'textEditor';
  541. FvisibleRanges : TVSRangeDynArray; external name 'visibleRanges';
  542. Public
  543. Property textEditor : TVSTextEditor read FtextEditor;
  544. Property visibleRanges : TVSRangeDynArray read FvisibleRanges;
  545. end;
  546. TVSTextEditorOptionsChangeEvent = class external name 'TextEditorOptionsChangeEvent' (TJSObject)
  547. Private
  548. FtextEditor : TVSTextEditor; external name 'textEditor';
  549. Foptions : TVSTextEditorOptions; external name 'options';
  550. Public
  551. Property textEditor : TVSTextEditor read FtextEditor;
  552. Property options : TVSTextEditorOptions read Foptions;
  553. end;
  554. TVSTextEditorViewColumnChangeEvent = class external name 'TextEditorViewColumnChangeEvent' (TJSObject)
  555. Private
  556. FtextEditor : TVSTextEditor; external name 'textEditor';
  557. FviewColumn : TVSViewColumn; external name 'viewColumn';
  558. Public
  559. Property textEditor : TVSTextEditor read FtextEditor;
  560. Property viewColumn : TVSViewColumn read FviewColumn;
  561. end;
  562. TVSTextEditorOptions = class external name 'TextEditorOptions' (TJSObject)
  563. Public
  564. tabSize: NativeInt;
  565. tabSizeStr : string; external name 'tabSize';
  566. insertSpaces: boolean;
  567. insertSpacesStr: string; external name 'insertSpaces';
  568. cursorStyle: TVSTextEditorCursorStyle;
  569. lineNumbers: TVSTextEditorLineNumbersStyle;
  570. end;
  571. TVSTextEditorDecorationType = class external name 'TextEditorDecorationType' (TJSObject)
  572. Private
  573. Fkey : string; external name 'key';
  574. Public
  575. Property key : string read Fkey;
  576. procedure dispose() ;
  577. end;
  578. TVSTextDocumentShowOptions = class external name 'TextDocumentShowOptions' (TJSObject)
  579. Public
  580. viewColumn: TVSViewColumn;
  581. preserveFocus: boolean;
  582. preview: boolean;
  583. selection: TVSRange;
  584. end;
  585. TVSThemeColor = class external name 'ThemeColor' (TJSObject)
  586. Public
  587. constructor New(id: string);
  588. end;
  589. TVSThemeIcon = class external name 'ThemeIcon' (TJSObject)
  590. Private
  591. Fid : string; external name 'id';
  592. Fcolor : TVSThemeColor; external name 'color';
  593. Public
  594. class var File_: TVSThemeIcon; external name 'File';
  595. class var Folder: TVSThemeIcon;
  596. constructor New(id: string; color: TVSThemeColor);
  597. Property id : string read Fid;
  598. Property color : TVSThemeColor read Fcolor;
  599. end;
  600. TVSThemableDecorationRenderOptions = class external name 'ThemableDecorationRenderOptions' (TJSObject)
  601. Public
  602. backgroundColor: string;
  603. backgroundColorObj : TVSThemeColor; external name 'backgroundColor';
  604. outline: string;
  605. outlineColor : string;
  606. outlineColorObj: TVSThemeColor; external name 'outlineColor';
  607. outlineStyle: string;
  608. outlineWidth: string;
  609. border: string;
  610. borderColor : string;
  611. borderColorObj: TVSThemeColor; external name 'borderColor';
  612. borderRadius: string;
  613. borderSpacing: string;
  614. borderStyle: string;
  615. borderWidth: string;
  616. fontStyle: string;
  617. fontWeight: string;
  618. textDecoration: string;
  619. cursor: string;
  620. color : string;
  621. colorObj: TVSThemeColor; external name 'color';
  622. opacity: string;
  623. letterSpacing: string;
  624. gutterIconPath : string;
  625. gutterIconPathObj: TVSUri; external name 'gutterIconPath';
  626. gutterIconSize: string;
  627. overviewRulerColor : string;
  628. overviewRulerColorObj: TVSThemeColor; external name 'overviewRulerColor';
  629. before: TVSThemableDecorationAttachmentRenderOptions;
  630. after: TVSThemableDecorationAttachmentRenderOptions;
  631. end;
  632. TVSThemableDecorationAttachmentRenderOptions = class external name 'ThemableDecorationAttachmentRenderOptions' (TJSObject)
  633. Public
  634. contentText: string;
  635. contentIconPath : string;
  636. contentIconPathObj: TVSUri; external name 'contentIconPath';
  637. border: string;
  638. borderColor : string;
  639. borderColorObj: TVSThemeColor; external name 'borderColor';
  640. fontStyle: string;
  641. fontWeight: string;
  642. textDecoration: string;
  643. color : string;
  644. colorObj: TVSThemeColor; external name 'color';
  645. backgroundColor : string;
  646. backgroundColorObj: TVSThemeColor; external name 'backgroundColor';
  647. margin: string;
  648. width: string;
  649. height: string;
  650. end;
  651. TVSDecorationRenderOptions = class external name 'DecorationRenderOptions' (TVSThemableDecorationRenderOptions)
  652. Public
  653. isWholeLine: boolean;
  654. rangeBehavior: TVSDecorationRangeBehavior;
  655. overviewRulerLane: TVSOverviewRulerLane;
  656. light: TVSThemableDecorationRenderOptions;
  657. dark: TVSThemableDecorationRenderOptions;
  658. end;
  659. TVSDecorationOptions = class external name 'DecorationOptions' (TJSObject)
  660. Public
  661. range: TVSRange;
  662. hoverMessage : String;
  663. hoverMessageObj : TVSMarkdownString; external name 'hoverMessage';
  664. hoverMessageArr : TVSMarkdownStringDynArray; external name 'hoverMessage';
  665. renderOptions: TVSDecorationInstanceRenderOptions;
  666. end;
  667. TVSDecorationOptionsDynArray = Array of TVSDecorationOptions;
  668. TVSThemableDecorationInstanceRenderOptions = class external name 'ThemableDecorationInstanceRenderOptions' (TJSObject)
  669. Public
  670. before: TVSThemableDecorationAttachmentRenderOptions;
  671. after: TVSThemableDecorationAttachmentRenderOptions;
  672. end;
  673. TVSDecorationInstanceRenderOptions = class external name 'DecorationInstanceRenderOptions' (TVSThemableDecorationInstanceRenderOptions)
  674. Public
  675. light: TVSThemableDecorationInstanceRenderOptions;
  676. dark: TVSThemableDecorationInstanceRenderOptions;
  677. end;
  678. TVSTextEditorEditCallBack = Reference to procedure (editBuilder: TVSTextEditorEdit);
  679. TVSTextEditorEditOptions = class external name 'Object' (TJSObject)
  680. undoStopBefore: boolean;
  681. undoStopAfter: boolean;
  682. end;
  683. TVSTextEditor = class external name 'TextEditor' (TJSObject)
  684. Private
  685. Fdocument : TVSTextDocument; external name 'document';
  686. FvisibleRanges : TVSRangeDynArray; external name 'visibleRanges';
  687. FviewColumn : TVSViewColumn; external name 'viewColumn';
  688. Public
  689. selection: TVSSelection;
  690. selections: TVSSelectionDynArray;
  691. options: TVSTextEditorOptions;
  692. function edit(callback: TVSTextEditorEditCallBack; options: TVSTextEditorEditOptions): TVSThenable; overload; // boolean
  693. function edit(callback: TVSTextEditorEditCallBack) : TVSThenable; overload; // boolean
  694. function insertSnippet(snippet: TVSSnippetString): TVSThenable; overload; // boolean
  695. function insertSnippet(snippet: TVSSnippetString; location: TVSPosition; options: TVSTextEditorEditOptions): TVSThenable; overload; // boolean
  696. function insertSnippet(snippet: TVSSnippetString; location: TVSPosition): TVSThenable; overload; // boolean
  697. function insertSnippet(snippet: TVSSnippetString; location: TVSRange; options: TVSTextEditorEditOptions): TVSThenable; overload; // boolean
  698. function insertSnippet(snippet: TVSSnippetString; location: TVSRange): TVSThenable; overload; // boolean
  699. function insertSnippet(snippet: TVSSnippetString; location: TVSPositionDynArray): TVSThenable; overload; // boolean
  700. function insertSnippet(snippet: TVSSnippetString; location: TVSPositionDynArray; options: TVSTextEditorEditOptions): TVSThenable; overload; // boolean
  701. function insertSnippet(snippet: TVSSnippetString; location: TVSRangeDynArray; options: TVSTextEditorEditOptions): TVSThenable; overload; // boolean
  702. function insertSnippet(snippet: TVSSnippetString; location: TVSRangeDynArray): TVSThenable; overload; // boolean
  703. function insertSnippet(snippet: TVSSnippetString; options: TVSTextEditorEditOptions): TVSThenable; // boolean
  704. procedure setDecorations(decorationType: TVSTextEditorDecorationType; rangesOrOptions: TVSDecorationOptionsDynArray) ; overload;
  705. procedure setDecorations(decorationType: TVSTextEditorDecorationType; rangesOrOptions: TVSRangeDynArray) ; overload;
  706. procedure revealRange(range: TVSRange); overload;
  707. procedure revealRange(range: TVSRange; revealType: TVSTextEditorRevealType) ; overload;
  708. procedure show(column: TVSViewColumn);
  709. procedure show() ;
  710. procedure hide() ;
  711. Property document : TVSTextDocument read Fdocument;
  712. Property visibleRanges : TVSRangeDynArray read FvisibleRanges;
  713. Property viewColumn : TVSViewColumn read FviewColumn;
  714. end;
  715. TVSTextEditorEdit = class external name 'TextEditorEdit' (TJSObject)
  716. Public
  717. procedure replace(location: TVSSelection; value: string) ;overload;
  718. procedure replace(location: TVSRange; value: string) ;overload;
  719. procedure replace(location: TVSPosition; value: string) ;overload;
  720. procedure insert(location: TVSPosition; value: string) ;
  721. procedure delete(location: TVSSelection) ; overload;
  722. procedure delete(location: TVSRange) ; overload;
  723. procedure setEndOfLine(endOfLine: TVSEndOfLine) ;
  724. end;
  725. TURIChangeOptions = class external name 'Object' (TJSObject)
  726. scheme: string;
  727. authority: string;
  728. path: string;
  729. query: string;
  730. fragment: string;
  731. end;
  732. TVSUri = class external name 'Uri' (TJSObject)
  733. Private
  734. Fscheme : string; external name 'scheme';
  735. Fauthority : string; external name 'authority';
  736. Fpath : string; external name 'path';
  737. Fquery : string; external name 'query';
  738. Ffragment : string; external name 'fragment';
  739. FfsPath : string; external name 'fsPath';
  740. Public
  741. class function parse(value: string; strict: boolean) : TVSUri; overload;
  742. class function parse(value: string) : TVSUri;overload;
  743. class function file_(path: string) : TVSUri; external name 'file';
  744. class function joinPath(base: TVSUri) : TVSUri; varargs of string;
  745. constructor New(scheme: string; authority: string; path: string; query: string; fragment: string);
  746. Property scheme : string read Fscheme;
  747. Property authority : string read Fauthority;
  748. Property path : string read Fpath;
  749. Property query : string read Fquery;
  750. Property fragment : string read Ffragment;
  751. Property fsPath : string read FfsPath;
  752. function with_(change: TURIChangeOptions): TVSUri; external name 'with';
  753. function toString(skipEncoding: boolean) : string; reintroduce; overload;
  754. function toString() : string; reintroduce; overload;
  755. function toJSON() : JSValue;
  756. end;
  757. TVSCancellationToken = class external name 'CancellationToken' (TJSObject)
  758. Public
  759. isCancellationRequested: boolean;
  760. function onCancellationRequested(aHandler : TVSanyHandler) : TVSDisposable; overload;
  761. function onCancellationRequested(aHandler : TVSanyHandler; aThis : JSvalue): TVSDisposable; overload;
  762. function onCancellationRequested(aHandler : TVSanyHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  763. end;
  764. TVSCancellationTokenSource = class external name 'CancellationTokenSource' (TJSObject)
  765. Public
  766. token: TVSCancellationToken;
  767. procedure cancel() ;
  768. procedure dispose() ;
  769. end;
  770. TVSDisposable = class external name 'TVSDisposable' (TJSObject)
  771. Public
  772. function from(): TVSDisposable; varargs of TJSObject;
  773. constructor New(callOnDispose: TVSVoidHandler);
  774. function dispose() : JSValue;
  775. end;
  776. (*
  777. TVSEventEmitter<T> = class external name 'EventEmitter<T>' (TJSObject)
  778. Public
  779. function event(aHandler : TVSTHandler) : TVSDisposable; overload;
  780. function event(aHandler : TVSTHandler; aThis : JSvalue): TVSDisposable; overload;
  781. function event(aHandler : TVSTHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  782. procedure fire(data: T) ;
  783. procedure dispose() ;
  784. end;
  785. *)
  786. TVSFileSystemWatcher = class external name 'TVSFileSystemWatcher' (TVSDisposable)
  787. Public
  788. ignoreCreateEvents: boolean;
  789. ignoreChangeEvents: boolean;
  790. ignoreDeleteEvents: boolean;
  791. function onDidCreate(aHandler : TVSUriHandler) : TVSDisposable; overload;
  792. function onDidCreate(aHandler : TVSUriHandler; aThis : JSvalue): TVSDisposable; overload;
  793. function onDidCreate(aHandler : TVSUriHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  794. function onDidChange(aHandler : TVSUriHandler) : TVSDisposable; overload;
  795. function onDidChange(aHandler : TVSUriHandler; aThis : JSvalue): TVSDisposable; overload;
  796. function onDidChange(aHandler : TVSUriHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  797. function onDidDelete(aHandler : TVSUriHandler) : TVSDisposable; overload;
  798. function onDidDelete(aHandler : TVSUriHandler; aThis : JSvalue): TVSDisposable; overload;
  799. function onDidDelete(aHandler : TVSUriHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  800. end;
  801. TVSTextDocumentContentProvider = class external name 'TextDocumentContentProvider' (TJSObject)
  802. Public
  803. function onDidChange(aHandler : TVSUriHandler) : TVSDisposable; overload;
  804. function onDidChange(aHandler : TVSUriHandler; aThis : JSvalue): TVSDisposable; overload;
  805. function onDidChange(aHandler : TVSUriHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  806. function provideTextDocumentContent(uri: TVSUri; token: TVSCancellationToken) : JSValue;
  807. end;
  808. TVSQuickPickItem = class external name 'QuickPickItem' (TJSObject)
  809. Public
  810. label_: string; external name 'label';
  811. description: string;
  812. detail: string;
  813. picked: boolean;
  814. alwaysShow: boolean;
  815. end;
  816. TVSQuickPickOptions = class external name 'TVSQuickPickOptions' (TJSObject)
  817. Public
  818. matchOnDescription: boolean;
  819. matchOnDetail: boolean;
  820. placeHolder: string;
  821. ignoreFocusOut: boolean;
  822. canPickMany: boolean;
  823. function onDidSelectItem(item: TVSQuickPickItem) : JSValue;
  824. function onDidSelectItem(item: string) : JSValue;
  825. end;
  826. TVSWorkspaceFolderPickOptions = class external name 'WorkspaceFolderPickOptions' (TJSObject)
  827. Public
  828. placeHolder: string;
  829. ignoreFocusOut: boolean;
  830. end;
  831. TVSOpenDialogOptions = class external name 'OpenDialogOptions' (TJSObject)
  832. Public
  833. defaultUri: TVSUri;
  834. openLabel: string;
  835. canSelectFiles: boolean;
  836. canSelectFolders: boolean;
  837. canSelectMany: boolean;
  838. filters: TJSObject;
  839. title: string;
  840. end;
  841. TVSSaveDialogOptions = class external name 'SaveDialogOptions' (TJSObject)
  842. Public
  843. defaultUri: TVSUri;
  844. saveLabel: string;
  845. filters: TJSObject;
  846. title: string;
  847. end;
  848. TVSMessageItem = class external name 'MessageItem' (TJSObject)
  849. Public
  850. title: string;
  851. isCloseAffordance: boolean;
  852. end;
  853. TVSMessageOptions = class external name 'TVSMessageOptions' (TJSObject)
  854. Public
  855. modal: boolean;
  856. end;
  857. TVSInputBoxOptionsValidateHandler = function(S : String) : JSValue;
  858. TVSInputBoxOptions = class external name 'InputBoxOptions' (TJSObject)
  859. Public
  860. value: string;
  861. valueSelection: TNativeIntDynArray;
  862. prompt: string;
  863. placeHolder: string;
  864. password: boolean;
  865. ignoreFocusOut: boolean;
  866. validateInput : TVSInputBoxOptionsValidateHandler;
  867. end;
  868. TVSRelativePattern = class external name 'RelativePattern' (TJSObject)
  869. Public
  870. base: string;
  871. pattern: string;
  872. constructor New(base: TVSWorkspaceFolder; pattern: string);overload;
  873. constructor New(base: TVSUri; pattern: string);overload;
  874. constructor New(base: string; pattern: string);overload;
  875. end;
  876. TVSDocumentFilter = class external name 'DocumentFilter' (TJSObject)
  877. Private
  878. Flanguage : string; external name 'language';
  879. Fscheme : string; external name 'scheme';
  880. Fpattern : string; external name 'pattern';
  881. FpatternObj : TVSRelativePattern; external name 'pattern';
  882. Public
  883. Property language : string read Flanguage;
  884. Property scheme : string read Fscheme;
  885. Property pattern : string read Fpattern;
  886. Property patternObj : TVSRelativePattern read FpatternObj;
  887. end;
  888. // export type DocumentSelector = DocumentFilter | string | TDocumentFilter | stringDynArray;
  889. // export type TJSObject<T> = T | undefined | null | TVSThenable; // T | undefined | null
  890. TVSCodeActionKind = class external name 'CodeActionKind' (TJSObject)
  891. Private
  892. Fvalue : string; external name 'value';
  893. Public
  894. class var Empty: TVSCodeActionKind;
  895. class var QuickFix: TVSCodeActionKind;
  896. class var Refactor: TVSCodeActionKind;
  897. class var RefactorExtract: TVSCodeActionKind;
  898. class var RefactorInline: TVSCodeActionKind;
  899. class var RefactorRewrite: TVSCodeActionKind;
  900. class var Source: TVSCodeActionKind;
  901. class var SourceOrganizeImports: TVSCodeActionKind;
  902. class var SourceFixAll: TVSCodeActionKind;
  903. private constructor New(value: string);
  904. Property value : string read Fvalue;
  905. function append(parts: string) : TVSCodeActionKind;
  906. function intersects(other: TVSCodeActionKind) : boolean;
  907. function contains(other: TVSCodeActionKind) : boolean;
  908. end;
  909. TVSCodeActionContext = class external name 'CodeActionContext' (TJSObject)
  910. Private
  911. Fdiagnostics : TVSDiagnosticDynArray; external name 'diagnostics';
  912. Fonly : TVSCodeActionKind; external name 'only';
  913. Public
  914. Property diagnostics : TVSDiagnosticDynArray read Fdiagnostics;
  915. Property only : TVSCodeActionKind read Fonly;
  916. end;
  917. TVSCodeActionDisabled = class external name 'Object' (TJSObject)
  918. Private
  919. Freason : string; external name 'reason';
  920. Public
  921. Property reason : string read Freason;
  922. end;
  923. TVSCodeAction = class external name 'CodeAction' (TJSObject)
  924. Public
  925. title: string;
  926. edit: TVSWorkspaceEdit;
  927. diagnostics: TVSDiagnosticDynArray;
  928. Command: TVSCommand;
  929. kind: TVSCodeActionKind;
  930. isPreferred: boolean;
  931. disabled: TVSCodeActionDisabled;
  932. constructor New(title: string); overload;
  933. constructor New(title: string; kind: TVSCodeActionKind); overload;
  934. end;
  935. TVSCodeActionProvider = class external name 'TVSCodeActionProvider' (TJSObject)
  936. Public
  937. function provideCodeActions(document: TVSTextDocument; range: TVSRange; context: TVSCodeActionContext; token: TVSCancellationToken) : JSValue;
  938. function provideCodeActions(document: TVSTextDocument; range: TVSSelection; context: TVSCodeActionContext; token: TVSCancellationToken) : JSValue;
  939. function resolveCodeAction(codeAction: TVSCodeAction; token: TVSCancellationToken) : TJSObject;
  940. end;
  941. TVSCodeActionProviderMetadataDocumentationItem = class external name 'Object' (TJSObject)
  942. Fkind : TVSCodeActionKind; external name 'kind';
  943. Fcommand : TVSCommand; external name 'command';
  944. end;
  945. TVSCodeActionProviderMetadataDocumentationArray = Array of TVSCodeActionProviderMetadataDocumentationItem;
  946. TVSCodeActionProviderMetadata = class external name 'TVSCodeActionProviderMetadata' (TJSObject)
  947. Private
  948. FprovidedCodeActionKinds : TVSCodeActionKindDynArray; external name 'providedCodeActionKinds';
  949. fdocumentation : TVSCodeActionProviderMetadataDocumentationArray; external name 'documentation';
  950. Public
  951. Property providedCodeActionKinds : TVSCodeActionKindDynArray read FprovidedCodeActionKinds;
  952. property documentation: TVSCodeActionProviderMetadataDocumentationArray Read fdocumentation;
  953. end;
  954. TVSCodeLens = class external name 'CodeLens' (TJSObject)
  955. Private
  956. FisResolved : boolean; external name 'isResolved';
  957. Public
  958. range: TVSRange;
  959. command: TVSCommand;
  960. constructor New(range: TVSRange; command: TVSCommand);
  961. constructor New(range: TVSRange);
  962. Property isResolved : boolean read FisResolved;
  963. end;
  964. TVSCodeLensProvider = class external name 'TVSCodeLensProvider' (TJSObject)
  965. Public
  966. function onDidChangeCodeLenses(aHandler : TVSvoidHandler) : TVSDisposable; overload;
  967. function onDidChangeCodeLenses(aHandler : TVSvoidHandler; aThis : JSvalue): TVSDisposable; overload;
  968. function onDidChangeCodeLenses(aHandler : TVSvoidHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  969. function provideCodeLenses(document: TVSTextDocument; token: TVSCancellationToken) : JSValue;
  970. function resolveCodeLens(codeLens: TJSObject; token: TVSCancellationToken) : TJSObject;
  971. end;
  972. TVSDefinitionProvider = class external name 'DefinitionProvider' (TJSObject)
  973. Public
  974. function provideDefinition(document: TVSTextDocument; position: TVSPosition; token: TVSCancellationToken) : JSValue;
  975. end;
  976. TVSImplementationProvider = class external name 'ImplementationProvider' (TJSObject)
  977. Public
  978. function provideImplementation(document: TVSTextDocument; position: TVSPosition; token: TVSCancellationToken) : JSValue;
  979. end;
  980. TVSTypeDefinitionProvider = class external name 'TypeDefinitionProvider' (TJSObject)
  981. Public
  982. function provideTypeDefinition(document: TVSTextDocument; position: TVSPosition; token: TVSCancellationToken) : JSValue;
  983. end;
  984. TVSDeclarationProvider = class external name 'DeclarationProvider' (TJSObject)
  985. Public
  986. function provideDeclaration(document: TVSTextDocument; position: TVSPosition; token: TVSCancellationToken) : JSValue;
  987. end;
  988. TVSMarkdownString = class external name 'MarkdownString' (TJSObject)
  989. Private
  990. FsupportThemeIcons : boolean; external name 'supportThemeIcons';
  991. Public
  992. value: string;
  993. isTrusted: boolean;
  994. Property supportThemeIcons : boolean read FsupportThemeIcons;
  995. constructor New(value: string; supportThemeIcons: boolean); overload;
  996. constructor New(value: string); overload;
  997. constructor New(); overload;
  998. function appendText(value: string) : TVSMarkdownString;
  999. function appendMarkdown(value: string) : TVSMarkdownString;
  1000. function appendCodeblock(value: string; language: string) : TVSMarkdownString;
  1001. function appendCodeblock(value: string) : TVSMarkdownString;
  1002. end;
  1003. TVSHover = class external name 'Hover' (TJSObject)
  1004. Public
  1005. contents: TVSMarkdownStringDynArray;
  1006. range: TVSRange;
  1007. constructor New(contents: TVSMarkdownStringDynArray); overload;
  1008. constructor New(contents: TVSMarkdownStringDynArray; range: TVSRange); overload;
  1009. constructor New(contents: TVSMarkdownString); overload;
  1010. constructor New(contents: TVSMarkdownString; range: TVSRange) overload;
  1011. end;
  1012. TVSHoverProvider = class external name 'HoverProvider' (TJSObject)
  1013. Public
  1014. function provideHover(document: TVSTextDocument; position: TVSPosition; token: TVSCancellationToken) : JSValue;
  1015. end;
  1016. TVSEvaluatableExpression = class external name 'EvaluatableExpression' (TJSObject)
  1017. Private
  1018. Frange : TVSRange; external name 'range';
  1019. Fexpression : string; external name 'expression';
  1020. Public
  1021. Property range : TVSRange read Frange;
  1022. Property expression : string read Fexpression;
  1023. constructor New(range: TVSRange; aexpression: string); overload;
  1024. constructor New(range: TVSRange); overload;
  1025. end;
  1026. TVSEvaluatableExpressionProvider = class external name 'EvaluatableExpressionProvider' (TJSObject)
  1027. Public
  1028. function provideEvaluatableExpression(document: TVSTextDocument; position: TVSPosition; token: TVSCancellationToken) : JSValue;
  1029. end;
  1030. TVSDocumentHighlight = class external name 'DocumentHighlight' (TJSObject)
  1031. Public
  1032. range: TVSRange;
  1033. kind: TVSDocumentHighlightKind;
  1034. constructor New(range: TVSRange; kind: TVSDocumentHighlightKind); overload;
  1035. constructor New(range: TVSRange); overload;
  1036. end;
  1037. TVSDocumentHighlightProvider = class external name 'DocumentHighlightProvider' (TJSObject)
  1038. Public
  1039. function provideDocumentHighlights(document: TVSTextDocument; position: TVSPosition; token: TVSCancellationToken) : JSValue;
  1040. end;
  1041. TVSSymbolInformation = class external name 'SymbolInformation' (TJSObject)
  1042. Public
  1043. name: string;
  1044. containerName: string;
  1045. kind: TVSSymbolKind;
  1046. tags: TVSSymbolTagDynArray;
  1047. location: TVSLocation;
  1048. constructor New(name: string; kind: TVSSymbolKind; containerName: string; location: TVSLocation);
  1049. constructor New(name: string; kind: TVSSymbolKind; range: TVSRange); overload;
  1050. constructor New(name: string; kind: TVSSymbolKind; range: TVSRange; uri: TVSUri); overload;
  1051. constructor New(name: string; kind: TVSSymbolKind; range: TVSRange; uri: TVSUri; containerName: string); overload;
  1052. end;
  1053. TVSDocumentSymbol = class external name 'DocumentSymbol' (TJSObject)
  1054. Public
  1055. name: string;
  1056. detail: string;
  1057. kind: TVSSymbolKind;
  1058. tags: TVSSymbolTagDynArray;
  1059. range: TVSRange;
  1060. selectionRange: TVSRange;
  1061. children: TVSDocumentSymbolDynArray;
  1062. constructor New(name: string; detail: string; kind: TVSSymbolKind; range: TVSRange; selectionRange: TVSRange);
  1063. end;
  1064. TVSDocumentSymbolProvider = class external name 'DocumentSymbolProvider' (TJSObject)
  1065. Public
  1066. function provideDocumentSymbols(document: TVSTextDocument; token: TVSCancellationToken) : JSValue;
  1067. end;
  1068. TVSDocumentSymbolProviderMetadata = class external name 'DocumentSymbolProviderMetadata' (TJSObject)
  1069. Public
  1070. label_: string; external name 'label';
  1071. end;
  1072. TVSWorkspaceSymbolProvider = class external name 'WorkspaceSymbolProvider' (TJSObject)
  1073. Public
  1074. function provideWorkspaceSymbols(query: string; token: TVSCancellationToken) : TJSObjectDynArray;
  1075. function resolveWorkspaceSymbol(symbol: TJSObject; token: TVSCancellationToken) : JSValue;
  1076. end;
  1077. TVSReferenceContext = class external name 'ReferenceContext' (TJSObject)
  1078. Public
  1079. includeDeclaration: boolean;
  1080. end;
  1081. TVSReferenceProvider = class external name 'ReferenceProvider' (TJSObject)
  1082. Public
  1083. function provideReferences(document: TVSTextDocument; position: TVSPosition; context: TVSReferenceContext; token: TVSCancellationToken) : JSValue;
  1084. end;
  1085. TVSTextEdit = class external name 'TextEdit' (TJSObject)
  1086. Public
  1087. range: TVSRange;
  1088. newText: string;
  1089. newEol: TVSEndOfLine;
  1090. constructor New(range: TVSRange; newText: string);
  1091. class function replace(range: TVSRange; newText: string) : TVSTextEdit;
  1092. class function insert(position: TVSPosition; newText: string) : TVSTextEdit;
  1093. class function delete(range: TVSRange) : TVSTextEdit;
  1094. class function setEndOfLine(eol: TVSEndOfLine) : TVSTextEdit;
  1095. end;
  1096. TVSIconPathObject = class external name 'Object' (TJSObject)
  1097. light: TVSUri;
  1098. dark: TVSUri;
  1099. end;
  1100. TVSWorkspaceEditEntryMetadata = class external name 'WorkspaceEditEntryMetadata' (TJSObject)
  1101. Public
  1102. needsConfirmation: boolean;
  1103. label_: string; external name 'label';
  1104. description: string;
  1105. iconPath: TVSUri ;
  1106. iconPathObj : TVSIconPathObject; external name 'iconPath';
  1107. iconPathTheme : TVSThemeIcon;external name 'iconPath';
  1108. end;
  1109. TVSWorkspaceEditCreateOptions = class external name 'Object' (TJSObject)
  1110. overwrite: boolean;
  1111. ignoreIfExists: boolean;
  1112. end;
  1113. TVSWorkspaceEditDeleteOptions = class external name 'Object' (TJSObject)
  1114. recursive: boolean;
  1115. ignoreIfNotExists: boolean;
  1116. end;
  1117. TVSWorkspaceEdit = class external name 'WorkspaceEdit' (TJSObject)
  1118. Public
  1119. Fsize : NativeInt; external name 'size';
  1120. Property size : NativeInt read Fsize;
  1121. procedure replace(uri: TVSUri; range: TVSRange; newText: string; metadata: TVSWorkspaceEditEntryMetadata) ; overload;
  1122. procedure replace(uri: TVSUri; range: TVSRange; newText: string) ; overload;
  1123. procedure insert(uri: TVSUri; position: TVSPosition; newText: string; metadata: TVSWorkspaceEditEntryMetadata) ; overload;
  1124. procedure insert(uri: TVSUri; position: TVSPosition; newText: string) ; overload;
  1125. procedure delete(uri: TVSUri; range: TVSRange; metadata: TVSWorkspaceEditEntryMetadata); overload;
  1126. procedure delete(uri: TVSUri; range: TVSRange) ; overload;
  1127. function has(uri: TVSUri) : boolean;
  1128. procedure set_(uri: TVSUri; edits: TVSTextEditDynArray); external name 'set';
  1129. function get(uri: TVSUri) : TVSTextEditDynArray;
  1130. procedure createFile(uri: TVSUri); overload;
  1131. procedure createFile(uri: TVSUri; options: TVSWorkspaceEditCreateOptions); overload;
  1132. procedure createFile(uri: TVSUri; options: TVSWorkspaceEditCreateOptions; metadata: TVSWorkspaceEditEntryMetadata); overload;
  1133. procedure deleteFile(uri: TVSUri); overload;
  1134. procedure deleteFile(uri: TVSUri; options: TVSWorkspaceEditDeleteOptions); overload;
  1135. procedure deleteFile(uri: TVSUri; options: TVSWorkspaceEditDeleteOptions; metadata: TVSWorkspaceEditEntryMetadata); overload;
  1136. procedure renameFile(oldUri: TVSUri; newUri: TVSUri);overload;
  1137. procedure renameFile(oldUri: TVSUri; newUri: TVSUri; options: TVSWorkspaceEditCreateOptions);overload;
  1138. procedure renameFile(oldUri: TVSUri; newUri: TVSUri; options: TVSWorkspaceEditCreateOptions; metadata: TVSWorkspaceEditEntryMetadata);overload;
  1139. function entries() : TJSObjectDynArray;
  1140. end;
  1141. TVSSnippetStringappendPlaceholderHandler = function (snippet : TVSSnippetString) : JSValue;
  1142. TVSSnippetString = class external name 'SnippetString' (TJSObject)
  1143. Public
  1144. value: string;
  1145. constructor New(); overload;
  1146. constructor New(value: string); overload;
  1147. function appendText(aText: string) : TVSSnippetString;
  1148. function appendTabstop() : TVSSnippetString; overload;
  1149. function appendTabstop(number: NativeInt) : TVSSnippetString; overload;
  1150. function appendPlaceholder(value: string) : TVSSnippetString; overload;
  1151. function appendPlaceholder(value: string; number: NativeInt) : TVSSnippetString; overload;
  1152. function appendPlaceholder(value: TVSSnippetStringappendPlaceholderHandler) : TVSSnippetString; overload;
  1153. function appendPlaceholder(value: TVSSnippetStringappendPlaceholderHandler; number: NativeInt) : TVSSnippetString; overload;
  1154. function appendChoice(values: TstringDynArray) : TVSSnippetString; overload;
  1155. function appendChoice(values: TstringDynArray; number: NativeInt) : TVSSnippetString; overload;
  1156. function appendVariable(name: string; defaultValue: string ) : TVSSnippetString; overload;
  1157. function appendVariable(name: string; defaultValue: TVSSnippetStringappendPlaceholderHandler) : TVSSnippetString; overload;
  1158. end;
  1159. TVSRenameProvider = class external name 'RenameProvider' (TJSObject)
  1160. Public
  1161. function provideRenameEdits(document: TVSTextDocument; position: TVSPosition; newName: string; token: TVSCancellationToken) : JSValue;
  1162. function prepareRename (document: TVSTextDocument; position: TVSPosition; token: TVSCancellationToken) : JSValue;
  1163. end;
  1164. TVSSemanticTokensLegend = class external name 'SemanticTokensLegend' (TJSObject)
  1165. Private
  1166. FtokenTypes : TstringDynArray; external name 'tokenTypes';
  1167. FtokenModifiers : TstringDynArray; external name 'tokenModifiers';
  1168. Public
  1169. Property tokenTypes : TstringDynArray read FtokenTypes;
  1170. Property tokenModifiers : TstringDynArray read FtokenModifiers;
  1171. constructor New(tokenTypes: TstringDynArray; tokenModifiers: TstringDynArray);
  1172. constructor New(tokenTypes: TstringDynArray);
  1173. end;
  1174. TVSSemanticTokensBuilder = class external name 'SemanticTokensBuilder' (TJSObject)
  1175. Public
  1176. constructor New(); overload;
  1177. constructor New(legend: TVSSemanticTokensLegend); overload;
  1178. procedure push(line: NativeInt; char: NativeInt; length: NativeInt; tokenType: NativeInt) ; overload;
  1179. procedure push(line: NativeInt; char: NativeInt; length: NativeInt; tokenType: NativeInt; tokenModifiers: NativeInt) ; overload;
  1180. procedure push(range: TVSRange; tokenType: string; tokenModifiers : TStringDynArray) ; overload;
  1181. procedure push(range: TVSRange; tokenType: string) ; overload;
  1182. function build(resultId : string) : TVSSemanticTokens;
  1183. function build() : TVSSemanticTokens;
  1184. end;
  1185. TVSSemanticTokens = class external name 'SemanticTokens' (TJSObject)
  1186. Private
  1187. FresultId : string; external name 'resultId';
  1188. Fdata : TUint32DynArray; external name 'data';
  1189. Public
  1190. Property resultId : string read FresultId;
  1191. Property data : TUint32DynArray read Fdata;
  1192. constructor New(data: TUint32DynArray; resultId: string); overload;
  1193. constructor New(data: TUint32DynArray); overload;
  1194. end;
  1195. TVSSemanticTokensEdits = class external name 'SemanticTokensEdits' (TJSObject)
  1196. Private
  1197. FresultId : string; external name 'resultId';
  1198. Fedits : TVSSemanticTokensEditDynArray; external name 'edits';
  1199. Public
  1200. Property resultId : string read FresultId;
  1201. Property edits : TVSSemanticTokensEditDynArray read Fedits;
  1202. constructor New(edits: TVSSemanticTokensEditDynArray; resultId: string);
  1203. constructor New(edits: TVSSemanticTokensEditDynArray);
  1204. end;
  1205. TVSSemanticTokensEdit = class external name 'SemanticTokensEdit' (TJSObject)
  1206. Private
  1207. Fstart : NativeInt; external name 'start';
  1208. FdeleteCount : NativeInt; external name 'deleteCount';
  1209. Fdata : TUint32DynArray; external name 'data';
  1210. Public
  1211. Property start : NativeInt read Fstart;
  1212. Property deleteCount : NativeInt read FdeleteCount;
  1213. Property data : TUint32DynArray read Fdata;
  1214. constructor New(start: NativeInt; deleteCount: NativeInt; data: TUint32DynArray);
  1215. end;
  1216. TVSDocumentSemanticTokensProvider = class external name 'DocumentSemanticTokensProvider' (TJSObject)
  1217. Public
  1218. function onDidChangeSemanticTokens(aHandler : TVSvoidHandler) : TVSDisposable; overload;
  1219. function onDidChangeSemanticTokens(aHandler : TVSvoidHandler; aThis : JSvalue): TVSDisposable; overload;
  1220. function onDidChangeSemanticTokens(aHandler : TVSvoidHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  1221. function provideDocumentSemanticTokens(document: TVSTextDocument; token: TVSCancellationToken) : JSValue;
  1222. function provideDocumentSemanticTokensEdits(document: TVSTextDocument; previousResultId: string; token: TVSCancellationToken) : JSValue;
  1223. end;
  1224. TVSDocumentRangeSemanticTokensProvider = class external name 'DocumentRangeSemanticTokensProvider' (TJSObject)
  1225. Public
  1226. function provideDocumentRangeSemanticTokens(document: TVSTextDocument; range: TVSRange; token: TVSCancellationToken) : JSValue;
  1227. end;
  1228. TVSFormattingOptions = class external name 'FormattingOptions' (TJSObject)
  1229. Public
  1230. tabSize: NativeInt;
  1231. insertSpaces: boolean;
  1232. end;
  1233. TVSDocumentFormattingEditProvider = class external name 'DocumentFormattingEditProvider' (TJSObject)
  1234. Public
  1235. function provideDocumentFormattingEdits(document: TVSTextDocument; options: TVSFormattingOptions; token: TVSCancellationToken) : JSValue;
  1236. end;
  1237. TVSDocumentRangeFormattingEditProvider = class external name 'DocumentRangeFormattingEditProvider' (TJSObject)
  1238. Public
  1239. function provideDocumentRangeFormattingEdits(document: TVSTextDocument; range: TVSRange; options: TVSFormattingOptions; token: TVSCancellationToken) : JSValue;
  1240. end;
  1241. TVSOnTypeFormattingEditProvider = class external name 'OnTypeFormattingEditProvider' (TJSObject)
  1242. Public
  1243. function provideOnTypeFormattingEdits(document: TVSTextDocument; position: TVSPosition; ch: string; options: TVSFormattingOptions; token: TVSCancellationToken) : JSValue;
  1244. end;
  1245. TVSParameterInformation = class external name 'ParameterInformation' (TJSObject)
  1246. Public
  1247. label_: string; external name 'label';
  1248. labelArr : TNativeIntDynArray;
  1249. documentation: string;
  1250. documentationObj : TVSMarkdownString; external name 'documentation';
  1251. constructor New(alabel: string; documentation: string); overload;
  1252. constructor New(alabel: string; documentation: TVSMarkdownString); overload;
  1253. constructor New(alabel: string); overload;
  1254. constructor New(alabel: TNativeIntDynArray; documentation: string); overload;
  1255. constructor New(alabel: TNativeIntDynArray; documentation: TVSMarkdownString); overload;
  1256. constructor New(alabel: TNativeIntDynArray); overload;
  1257. end;
  1258. TVSSignatureInformation = class external name 'SignatureInformation' (TJSObject)
  1259. Public
  1260. label_: string; external name 'label';
  1261. documentation: string;
  1262. documentationObj: TVSMarkdownString; external name 'documentation';
  1263. parameters: TVSParameterInformationDynArray;
  1264. activeParameter: NativeInt;
  1265. constructor New(alabel: string; documentation: string); overload;
  1266. constructor New(alabel: string; documentation: TVSMarkdownString); overload;
  1267. constructor New(alabel: string); overload;
  1268. end;
  1269. TVSSignatureHelp = class external name 'SignatureHelp' (TJSObject)
  1270. Public
  1271. signatures: TVSSignatureInformationDynArray;
  1272. activeSignature: NativeInt;
  1273. activeParameter: NativeInt;
  1274. end;
  1275. TVSSignatureHelpContext = class external name 'SignatureHelpContext' (TJSObject)
  1276. Private
  1277. FtriggerKind : TVSSignatureHelpTriggerKind; external name 'triggerKind';
  1278. FtriggerCharacter : string; external name 'triggerCharacter';
  1279. FisRetrigger : boolean; external name 'isRetrigger';
  1280. FactiveSignatureHelp : TVSSignatureHelp; external name 'activeSignatureHelp';
  1281. Public
  1282. Property triggerKind : TVSSignatureHelpTriggerKind read FtriggerKind;
  1283. Property triggerCharacter : string read FtriggerCharacter;
  1284. Property isRetrigger : boolean read FisRetrigger;
  1285. Property activeSignatureHelp : TVSSignatureHelp read FactiveSignatureHelp;
  1286. end;
  1287. TVSSignatureHelpProvider = class external name 'SignatureHelpProvider' (TJSObject)
  1288. Public
  1289. function provideSignatureHelp(document: TVSTextDocument; position: TVSPosition; token: TVSCancellationToken; context: TVSSignatureHelpContext) : JSValue;
  1290. end;
  1291. TVSSignatureHelpProviderMetadata = class external name 'SignatureHelpProviderMetadata' (TJSObject)
  1292. Private
  1293. FtriggerCharacters : TStringDynArray; external name 'triggerCharacters';
  1294. FretriggerCharacters : TStringDynArray; external name 'retriggerCharacters';
  1295. Public
  1296. Property triggerCharacters : TStringDynArray read FtriggerCharacters;
  1297. Property retriggerCharacters : TStringDynArray read FretriggerCharacters;
  1298. end;
  1299. TVSCompletionItemRangeOptions = class external name 'Object' (TJSObject)
  1300. inserting: TVSRange;
  1301. replacing: TVSRange;
  1302. end;
  1303. TVSCompletionItem = class external name 'CompletionItem' (TJSObject)
  1304. Public
  1305. label_: string; external name 'label';
  1306. kind: TVSCompletionItemKind;
  1307. tags: TVSCompletionItemTagDynArray;
  1308. detail: string;
  1309. documentation: string;
  1310. documentationObj: TVSMarkdownString; external name 'documentation';
  1311. sortText: string;
  1312. filterText: string;
  1313. preselect: boolean;
  1314. insertText: string;
  1315. insertTextObj : TVSSnippetString; external name 'insertText';
  1316. range: TVSRange;
  1317. rangeObj : TVSCompletionItemRangeOptions; external name 'range';
  1318. commitCharacters: TstringDynArray;
  1319. keepWhitespace: boolean;
  1320. textEdit: TVSTextEdit;
  1321. additionalTextEdits: TVSTextEditDynArray;
  1322. command: TVSCommand;
  1323. constructor New(alabel: string); overload;
  1324. constructor New(alabel: string; kind: TVSCompletionItemKind); overload;
  1325. end;
  1326. TVSCompletionList = class external name 'CompletionList' (TJSObject)
  1327. Public
  1328. isIncomplete: boolean;
  1329. items: TVSCompletionItemDynArray;
  1330. constructor New(); overload;
  1331. constructor New(items: TVSCompletionItemDynArray); overload;
  1332. constructor New(items: TVSCOmpletionItemDynArray; isIncomplete: boolean); overload;
  1333. end;
  1334. TVSCompletionContext = class external name 'CompletionContext' (TJSObject)
  1335. Private
  1336. FtriggerKind : TVSCompletionTriggerKind; external name 'triggerKind';
  1337. FtriggerCharacter : string; external name 'triggerCharacter';
  1338. Public
  1339. Property triggerKind : TVSCompletionTriggerKind read FtriggerKind;
  1340. Property triggerCharacter : string read FtriggerCharacter;
  1341. end;
  1342. TVSCompletionItemProvider = class external name 'CompletionItemProvider' (TJSObject)
  1343. Public
  1344. function provideCompletionItems(document: TVSTextDocument; position: TVSPosition; token: TVSCancellationToken; context: TVSCompletionContext) : JSValue;
  1345. function resolveCompletionItem(item: TVSCompletionItem; token: TVSCancellationToken) : JSValue;
  1346. end;
  1347. TVSDocumentLink = class external name 'DocumentLink' (TJSObject)
  1348. Public
  1349. range: TVSRange;
  1350. target: TVSUri;
  1351. tooltip: string;
  1352. constructor New(range: TVSRange); overload;
  1353. constructor New(range: TVSRange; target: TVSUri); overload;
  1354. end;
  1355. TVSDocumentLinkProvider = class external name 'DocumentLinkProvider' (TJSObject)
  1356. Public
  1357. function provideDocumentLinks(document: TVSTextDocument; token: TVSCancellationToken) : JSValue;
  1358. function resolveDocumentLink(link: TVSDocumentLink; token: TVSCancellationToken) : JSValue;
  1359. end;
  1360. TVSColor = class external name 'Color' (TJSObject)
  1361. Private
  1362. Fred : NativeInt; external name 'red';
  1363. Fgreen : NativeInt; external name 'green';
  1364. Fblue : NativeInt; external name 'blue';
  1365. Falpha : NativeInt; external name 'alpha';
  1366. Public
  1367. Property red : NativeInt read Fred;
  1368. Property green : NativeInt read Fgreen;
  1369. Property blue : NativeInt read Fblue;
  1370. Property alpha : NativeInt read Falpha;
  1371. constructor New(red: NativeInt; green: NativeInt; blue: NativeInt; alpha: NativeInt);
  1372. end;
  1373. TVSColorInformation = class external name 'ColorInformation' (TJSObject)
  1374. Public
  1375. range: TVSRange;
  1376. color: TVSColor;
  1377. constructor New(range: TVSRange; color: TVSColor);
  1378. end;
  1379. TVSColorPresentation = class external name 'ColorPresentation' (TJSObject)
  1380. Public
  1381. label_: string; external name 'label';
  1382. textEdit: TVSTextEdit;
  1383. additionalTextEdits: TVSTextEditDynArray;
  1384. constructor New(alabel: string);
  1385. end;
  1386. TVSDocumentColorProviderContext = class external name 'Object' (TJSObject)
  1387. document: TVSTextDocument;
  1388. range: TVSRange;
  1389. end;
  1390. TVSDocumentColorProvider = class external name 'DocumentColorProvider' (TJSObject)
  1391. Public
  1392. function provideDocumentColors(document: TVSTextDocument; token: TVSCancellationToken) : JSValue;
  1393. function provideColorPresentations(color: TVSColor; context: TVSDocumentColorProviderContext; token: TVSCancellationToken): JSValue;
  1394. end;
  1395. TVSFoldingRange = class external name 'FoldingRange' (TJSObject)
  1396. Public
  1397. start: NativeInt;
  1398. end_: NativeInt; external name 'end';
  1399. kind: TVSFoldingRangeKind;
  1400. constructor New(start: NativeInt; aEnd: NativeInt); overload;
  1401. constructor New(start: NativeInt; aEnd: NativeInt; kind: TVSFoldingRangeKind); overload;
  1402. end;
  1403. TVSFoldingContext = class external name 'FoldingContext' (TJSObject)
  1404. Public
  1405. end;
  1406. TVSFoldingRangeProvider = class external name 'FoldingRangeProvider' (TJSObject)
  1407. Public
  1408. function onDidChangeFoldingRanges(aHandler : TVSvoidHandler) : TVSDisposable; overload;
  1409. function onDidChangeFoldingRanges(aHandler : TVSvoidHandler; aThis : JSvalue): TVSDisposable; overload;
  1410. function onDidChangeFoldingRanges(aHandler : TVSvoidHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  1411. function provideFoldingRanges(document: TVSTextDocument; context: TVSFoldingContext; token: TVSCancellationToken) : JSValue;
  1412. end;
  1413. TVSSelectionRange = class external name 'SelectionRange' (TJSObject)
  1414. Public
  1415. range: TVSRange;
  1416. parent: TVSSelectionRange;
  1417. constructor New(range: TVSRange);
  1418. constructor New(range: TVSRange; parent: TVSSelectionRange);
  1419. end;
  1420. TVSSelectionRangeProvider = class external name 'SelectionRangeProvider' (TJSObject)
  1421. Public
  1422. function provideSelectionRanges(document: TVSTextDocument; positions: TVSPositionDynArray; token: TVSCancellationToken) : JSValue;
  1423. end;
  1424. TVSCallHierarchyItem = class external name 'CallHierarchyItem' (TJSObject)
  1425. Public
  1426. name: string;
  1427. kind: TVSSymbolKind;
  1428. tags: TVSSymbolTagDynArray;
  1429. detail: string;
  1430. uri: TVSUri;
  1431. range: TVSRange;
  1432. selectionRange: TVSRange;
  1433. constructor New(kind: TVSSymbolKind; name: string; detail: string; uri: TVSUri; range: TVSRange; selectionRange: TVSRange);
  1434. end;
  1435. TVSCallHierarchyIncomingCall = class external name 'CallHierarchyIncomingCall' (TJSObject)
  1436. Public
  1437. from: TVSCallHierarchyItem;
  1438. fromRanges: TVSRangeDynArray;
  1439. constructor New(item: TVSCallHierarchyItem; fromRanges: TVSRangeDynArray);
  1440. end;
  1441. TVSCallHierarchyOutgoingCall = class external name 'CallHierarchyOutgoingCall' (TJSObject)
  1442. Public
  1443. to_: TVSCallHierarchyItem; external name 'to';
  1444. fromRanges: TVSRangeDynArray;
  1445. constructor New(item: TVSCallHierarchyItem; fromRanges: TVSRangeDynArray);
  1446. end;
  1447. TVSCallHierarchyProvider = class external name 'CallHierarchyProvider' (TJSObject)
  1448. Public
  1449. function prepareCallHierarchy(document: TVSTextDocument; position: TVSPosition; token: TVSCancellationToken) : JSValue;
  1450. function provideCallHierarchyIncomingCalls(item: TVSCallHierarchyItem; token: TVSCancellationToken) : JSValue;
  1451. function provideCallHierarchyOutgoingCalls(item: TVSCallHierarchyItem; token: TVSCancellationToken) : JSValue;
  1452. end;
  1453. TVSLinkedEditingRanges = class external name 'LinkedEditingRanges' (TJSObject)
  1454. Private
  1455. Franges : TVSRangeDynArray; external name 'ranges';
  1456. FwordPattern : TJSRegExp; external name 'wordPattern';
  1457. Public
  1458. constructor New(ranges: TVSRangeDynArray); overload;
  1459. constructor New(ranges: TVSRangeDynArray; wordPattern: TJSRegExp); overload;
  1460. Property ranges : TVSRangeDynArray read Franges;
  1461. Property wordPattern : TJSRegExp read FwordPattern;
  1462. end;
  1463. TVSLinkedEditingRangeProvider = class external name 'LinkedEditingRangeProvider' (TJSObject)
  1464. Public
  1465. function provideLinkedEditingRanges(document: TVSTextDocument; position: TVSPosition; token: TVSCancellationToken) : JSValue;
  1466. end;
  1467. TVSCharacterPair = TStringDynArray;
  1468. TVSCommentRule = class external name 'CommentRule' (TJSObject)
  1469. Public
  1470. lineComment: string;
  1471. blockComment: TVSCharacterPair;
  1472. end;
  1473. TVSIndentationRule = class external name 'IndentationRule' (TJSObject)
  1474. Public
  1475. decreaseIndentPattern: TJSRegexp;
  1476. increaseIndentPattern: TJSRegexp;
  1477. indentNextLinePattern: TJSRegexp;
  1478. unIndentedLinePattern: TJSRegexp;
  1479. end;
  1480. TVSEnterAction = class external name 'EnterAction' (TJSObject)
  1481. Public
  1482. indentAction: TVSIndentAction;
  1483. appendText: string;
  1484. removeText: NativeInt;
  1485. end;
  1486. TVSOnEnterRule = class external name 'OnEnterRule' (TJSObject)
  1487. Public
  1488. beforeText: TJSRegexp;
  1489. afterText: TJSRegexp;
  1490. action: TVSEnterAction;
  1491. end;
  1492. TVSLanguageConfigurationCharSupportComment = Class external name 'Object' (TJSObject)
  1493. scope: string;
  1494. open: string;
  1495. lineStart: string;
  1496. close: string;
  1497. end;
  1498. TVSLanguageConfigurationCharSupport = Class external name 'Object' (TJSObject)
  1499. brackets: JSValue;
  1500. docComment: TVSLanguageConfigurationCharSupportComment;
  1501. end;
  1502. TVSLanguageConfigurationCharPairSupportAutoClosingPairs =Class external name 'Object' (TJSObject)
  1503. open: string;
  1504. close: string;
  1505. notIn: TstringDynArray;
  1506. end;
  1507. TVSLanguageConfigurationCharPairSupport = Class external name 'Object' (TJSObject)
  1508. autoClosingPairs :TVSLanguageConfigurationCharPairSupportAutoClosingPairs;
  1509. end;
  1510. TVSLanguageConfiguration = class external name 'LanguageConfiguration' (TJSObject)
  1511. Public
  1512. comments: TVSCommentRule;
  1513. brackets: TVSCharacterPairDynArray;
  1514. wordPattern: TJSRegexp;
  1515. indentationRules: TVSIndentationRule;
  1516. onEnterRules: TVSOnEnterRuleDynArray;
  1517. __electricCharacterSupport: TVSLanguageConfigurationCharSupport;
  1518. __characterPairSupport: TVSLanguageConfigurationCharPairSupport;
  1519. end;
  1520. TVSWorkspaceConfigurationInspect = class external name 'Object' (TJSObject)
  1521. key: string;
  1522. defaultValue: JSValue;
  1523. globalValue: JSValue;
  1524. workspaceValue: JSValue;
  1525. TVSWorkspaceFolderValue: JSValue;
  1526. defaultLanguageValue: JSValue;
  1527. globalLanguageValue: JSValue;
  1528. workspaceLanguageValue: JSValue;
  1529. TVSWorkspaceFolderLanguageValue: JSValue;
  1530. languageIds: TstringDynArray;
  1531. end;
  1532. TVSWorkspaceConfiguration = class external name 'TVSWorkspaceConfiguration' (TJSObject)
  1533. Public
  1534. function get(section: string) : JSValue; overload;
  1535. function get(section: string; defaultValue: JSvalue) : JSValue;overload;
  1536. function has(section: string) : boolean;
  1537. function inspect(section: string) : TVSWorkspaceConfigurationInspect;
  1538. function update(section: string; value: JSValue) : TVSThenable; overload; // void
  1539. function update(section: string; value: JSValue; configurationTarget: TVSConfigurationTarget) : TVSThenable overload; // void
  1540. function update(section: string; value: JSValue; configurationTarget: TVSConfigurationTarget; overrideInLanguage: boolean) : TVSThenable; overload; // void
  1541. function update(section: string; value: JSValue; configurationTarget: boolean) : TVSThenable; overload; // void
  1542. function update(section: string; value: JSValue; configurationTarget: boolean; overrideInLanguage: boolean) : TVSThenable; overload; // void
  1543. end;
  1544. TVSLocation = class external name 'Location' (TJSObject)
  1545. Public
  1546. uri: TVSUri;
  1547. range: TVSRange;
  1548. constructor New(uri: TVSUri; rangeOrPosition: TVSRange); overload;
  1549. constructor New(uri: TVSUri; rangeOrPosition: TVSPosition); overload;
  1550. end;
  1551. TVSLocationLink = class external name 'LocationLink' (TJSObject)
  1552. Public
  1553. originSelectionRange: TVSRange;
  1554. targetUri: TVSUri;
  1555. targetRange: TVSRange;
  1556. targetSelectionRange: TVSRange;
  1557. end;
  1558. TVSDiagnosticChangeEvent = class external name 'DiagnosticChangeEvent' (TJSObject)
  1559. Private
  1560. Furis : TVSUriDynArray; external name 'uris';
  1561. Public
  1562. Property uris : TVSUriDynArray read Furis;
  1563. end;
  1564. TVSDiagnosticRelatedInformation = class external name 'DiagnosticRelatedInformation' (TJSObject)
  1565. Public
  1566. location: TVSLocation;
  1567. message: string;
  1568. constructor New(location: TVSLocation; message: string);
  1569. end;
  1570. TVSDiagnosticCode = class external name 'Object' (TJSObject)
  1571. value: string;
  1572. valueInt : NativeInt; external name 'value';
  1573. target: TVSUri;
  1574. end;
  1575. TVSDiagnostic = class external name 'Diagnostic' (TJSObject)
  1576. Public
  1577. range: TVSRange;
  1578. message: string;
  1579. severity: TVSDiagnosticSeverity;
  1580. source: string;
  1581. code: string;
  1582. codeInt : NativeInt;
  1583. codeObj : TVSDiagnosticCode;
  1584. relatedInformation: TVSDiagnosticRelatedInformationDynArray;
  1585. tags: TVSDiagnosticTagDynArray;
  1586. constructor New(range: TVSRange; message: string); overload;
  1587. constructor New(range: TVSRange; message: string; severity: TVSDiagnosticSeverity); overload;
  1588. end;
  1589. TVSDiagnosticCollectionCallback = reference to function (uri: TVSUri; diagnostics: TVSDiagnosticDynArray; collection: TVSDiagnosticCollection) : JSValue;
  1590. TVSDiagnosticCollection = class external name 'DiagnosticCollection' (TJSObject)
  1591. Private
  1592. Fname : string; external name 'name';
  1593. Public
  1594. Property name : string read Fname;
  1595. procedure set_(uri: TVSUri; aValue: JSValue) ; external name 'set';
  1596. procedure delete(uri: TVSUri) ;
  1597. procedure clear() ;
  1598. procedure forEach(callback: TVSDiagnosticCollectionCallback) ; overload;
  1599. procedure forEach(callback: TVSDiagnosticCollectionCallback; thisArg: JSValue) ; overload;
  1600. function get(uri: TVSUri) : TVSDiagnosticDynArray;
  1601. function has(uri: TVSUri) : boolean;
  1602. procedure dispose() ;
  1603. end;
  1604. TVSOutputChannel = class external name 'OutputChannel' (TJSObject)
  1605. Private
  1606. Fname : string; external name 'name';
  1607. Public
  1608. Property name : string read Fname;
  1609. procedure append(value: string) ;
  1610. procedure appendLine(value: string) ;
  1611. procedure clear() ;
  1612. procedure show(preserveFocus: boolean) ; overload;
  1613. procedure show(column: TVSViewColumn) ; overload;
  1614. procedure show(column: TVSViewColumn; preserveFocus: boolean) ; overload;
  1615. procedure hide() ;
  1616. procedure dispose() ;
  1617. end;
  1618. TVSAccessibilityInformation = class external name 'AccessibilityInformation' (TJSObject)
  1619. Public
  1620. label_: string; external name 'label';
  1621. role: string;
  1622. end;
  1623. TVSStatusBarItem = class external name 'TVSStatusBarItem' (TJSObject)
  1624. Private
  1625. Falignment : TVSStatusBarAlignment; external name 'alignment';
  1626. Fpriority : NativeInt; external name 'priority';
  1627. Public
  1628. text: string;
  1629. tooltip: string;
  1630. color: string;
  1631. colorObj: TVSThemeColor; external name 'color';
  1632. backgroundColor: TVSThemeColor;
  1633. command: string;
  1634. commandObj : TVSCommand ; external name 'command';
  1635. accessibilityInformation: TVSAccessibilityInformation;
  1636. procedure show() ;
  1637. procedure hide() ;
  1638. procedure dispose() ;
  1639. Property alignment : TVSStatusBarAlignment read Falignment;
  1640. Property priority : NativeInt read Fpriority;
  1641. end;
  1642. TVSProgress = class external name 'Progress' (TJSObject)
  1643. Public
  1644. procedure report(value: JSValue) ;
  1645. end;
  1646. TVSTerminal = class external name 'TVSTerminal' (TJSObject)
  1647. Private
  1648. Fname : string; external name 'name';
  1649. FprocessId : TJSPromise; external name 'processId'; // NativeInt | undefined
  1650. FcreationOptions : TVSTerminalOptions; external name 'creationOptions';
  1651. FcreationOptionsEx: TVSExtensionTerminalOptions; external name 'creationOptions';
  1652. FexitStatus : TVSTerminalExitStatus; external name 'exitStatus';
  1653. Public
  1654. Property name : string read Fname;
  1655. Property processId : TJSPromise read FprocessId;
  1656. Property creationOptions : TVSTerminalOptions read FcreationOptions;
  1657. Property creationOptionsEx : TVSExtensionTerminalOptions read FcreationOptionsEx;
  1658. Property exitStatus : TVSTerminalExitStatus read FexitStatus;
  1659. procedure sendText(text: string) ; overload;
  1660. procedure sendText(text: string; addNewLine: boolean) ; overload;
  1661. procedure show() ; overload;
  1662. procedure show(preserveFocus: boolean) ; overload;
  1663. procedure hide() ;
  1664. procedure dispose() ;
  1665. end;
  1666. TVSTerminalLinkContext = class external name 'TerminalLinkContext' (TJSObject)
  1667. Public
  1668. line: string;
  1669. terminal: TVSTerminal;
  1670. end;
  1671. TVSTerminalLinkProvider = class external name 'TerminalLinkProvider' (TJSObject)
  1672. Public
  1673. function provideTerminalLinks(context: TVSTerminalLinkContext; token: TVSCancellationToken) : JSValue;
  1674. function handleTerminalLink(link: TVSTerminalLink) : JSValue;
  1675. end;
  1676. TVSTerminalLink = class external name 'TerminalLink' (TJSObject)
  1677. Public
  1678. startIndex: NativeInt;
  1679. length: NativeInt;
  1680. tooltip: string;
  1681. end;
  1682. TVSFileDecoration = class external name 'FileDecoration' (TJSObject)
  1683. Public
  1684. badge: string;
  1685. tooltip: string;
  1686. color: TVSThemeColor;
  1687. propagate: boolean;
  1688. constructor New(); overload;
  1689. constructor New(badge: string); overload;
  1690. constructor New(badge: string; tooltip: string); overload;
  1691. constructor New(badge: string; tooltip: string; color: TVSThemeColor); overload;
  1692. end;
  1693. TVSUriDynArrayHandler = Reference to function(aEvent :TVSUriDynArray) : JSValue;
  1694. TVSFileDecorationProvider = class external name 'FileDecorationProvider' (TJSObject)
  1695. Public
  1696. Function onDidChangeFileDecorations (aHandler : TVSUriHandler) : TVSDisposable;
  1697. Function onDidChangeFileDecorations (aHandler : TVSUriDynArrayHandler) : TVSDisposable;
  1698. function provideFileDecoration(uri: TVSUri; token: TVSCancellationToken) : JSValue;
  1699. end;
  1700. TVSExtension = class external name 'Extension' (TJSObject)
  1701. Private
  1702. Fid : string; external name 'id';
  1703. FextensionUri : TVSUri; external name 'extensionUri';
  1704. FextensionPath : string; external name 'extensionPath';
  1705. FisActive : boolean; external name 'isActive';
  1706. FpackageJSON : JSValue; external name 'packageJSON';
  1707. Fexports : JSValue; external name 'exports';
  1708. Public
  1709. extensionKind: TVSExtensionKind;
  1710. function activate() : TVSThenable; // T
  1711. Property id : string read Fid;
  1712. Property extensionUri : TVSUri read FextensionUri;
  1713. Property extensionPath : string read FextensionPath;
  1714. Property isActive : boolean read FisActive;
  1715. Property packageJSON : JSValue read FpackageJSON;
  1716. Property exports_ : JSValue read Fexports;
  1717. end;
  1718. TVSExtensionContext = class external name 'ExtensionContext' (TJSObject)
  1719. Public
  1720. FworkspaceState : TVSMemento; external name 'workspaceState';
  1721. Private
  1722. FextensionUri : TVSUri; external name 'extensionUri';
  1723. FextensionPath : string; external name 'extensionPath';
  1724. FenvironmentVariableCollection : TVSEnvironmentVariableCollection; external name 'environmentVariableCollection';
  1725. FstorageUri : TVSUri ;external name 'storageUri';
  1726. FstoragePath : string ;external name 'storagePath';
  1727. FglobalStorageUri : TVSUri; external name 'globalStorageUri';
  1728. FglobalStoragePath : string; external name 'globalStoragePath';
  1729. FlogUri : TVSUri; external name 'logUri';
  1730. FlogPath : string; external name 'logPath';
  1731. FextensionMode : TVSExtensionMode; external name 'extensionMode';
  1732. Public
  1733. subscriptions : TVSDisposableArray;
  1734. globalState: TVSMemento;
  1735. Property workspaceState : TVSMemento read FworkspaceState;
  1736. Property extensionUri : TVSUri read FextensionUri;
  1737. Property extensionPath : string read FextensionPath;
  1738. Property environmentVariableCollection : TVSEnvironmentVariableCollection read FenvironmentVariableCollection;
  1739. function asAbsolutePath(relativePath: string) : string;
  1740. Property storageUri : TVSUri read FstorageUri;
  1741. Property storagePath : string read FstoragePath;
  1742. Property globalStorageUri : TVSUri read FglobalStorageUri;
  1743. Property globalStoragePath : string read FglobalStoragePath;
  1744. Property logUri : TVSUri read FlogUri;
  1745. Property logPath : string read FlogPath;
  1746. Property extensionMode : TVSExtensionMode read FextensionMode;
  1747. end;
  1748. TVSMemento = class external name 'Memento' (TJSObject)
  1749. Public
  1750. function get(key: string) : JSValue; overload;
  1751. function get(key: string; defaultValue: JSValue) : JSValue; overload;
  1752. function update(key: string; value: JSValue) : TVSThenable; // void
  1753. end;
  1754. TVSColorTheme = class external name 'ColorTheme' (TJSObject)
  1755. Private
  1756. Fkind : TVSColorThemeKind; external name 'kind';
  1757. Public
  1758. Property kind : TVSColorThemeKind read Fkind;
  1759. end;
  1760. TVSTaskPresentationOptions = class external name 'TaskPresentationOptions' (TJSObject)
  1761. Public
  1762. reveal: TVSTaskRevealKind;
  1763. echo: boolean;
  1764. focus: boolean;
  1765. panel: TVSTaskPanelKind;
  1766. showReuseMessage: boolean;
  1767. clear: boolean;
  1768. end;
  1769. TVSTaskGroup = class external name 'TaskGroup' (TJSObject)
  1770. Public
  1771. class var Clean: TVSTaskGroup;
  1772. class var Build: TVSTaskGroup;
  1773. class var Rebuild: TVSTaskGroup;
  1774. class var Test: TVSTaskGroup;
  1775. constructor New(id: string; alabel: string);
  1776. end;
  1777. TVSTaskDefinition = class external name 'TaskDefinition' (TJSObject)
  1778. Private
  1779. Ftype : string; external name 'type';
  1780. Public
  1781. Property type_ : string read Ftype;
  1782. end;
  1783. TVSProcessExecutionOptions = class external name 'ProcessExecutionOptions' (TJSObject)
  1784. Public
  1785. cwd: string;
  1786. env: TJSObject;
  1787. end;
  1788. TVSProcessExecution = class external name 'ProcessExecution' (TJSObject)
  1789. Public
  1790. process: string;
  1791. args: TStringDynArray;
  1792. options: TVSProcessExecutionOptions;
  1793. constructor New(process: string); overload;
  1794. constructor New(process: string; options: TVSProcessExecutionOptions); overload;
  1795. constructor New(process: string; args: TstringDynArray); overload;
  1796. constructor New(process: string; args: TstringDynArray; options: TVSProcessExecutionOptions); overload;
  1797. end;
  1798. TVSShellQuotingOptionsEscape = class external name 'Object' (TJSObject)
  1799. escapeChar: string;
  1800. charsToEscape: string;
  1801. end;
  1802. TVSShellQuotingOptions = class external name 'ShellQuotingOptions' (TJSObject)
  1803. Public
  1804. escape: string;
  1805. escapeObj : TVSShellQuotingOptionsEscape;
  1806. strong: string;
  1807. weak: string;
  1808. end;
  1809. TVSShellExecutionOptions = class external name 'ShellExecutionOptions' (TJSObject)
  1810. Public
  1811. executable: string;
  1812. shellArgs: TstringDynArray;
  1813. shellQuoting: TVSShellQuotingOptions;
  1814. cwd: string;
  1815. env: TJSObject;
  1816. end;
  1817. TVSShellQuotedString = class external name 'ShellQuotedString' (TJSObject)
  1818. Public
  1819. value: string;
  1820. quoting: TVSShellQuoting;
  1821. end;
  1822. TVSShellExecution = class external name 'ShellExecution' (TJSObject)
  1823. Public
  1824. constructor New(commandLine: string); overload;
  1825. constructor New(commandLine: string; options: TVSShellExecutionOptions); overload;
  1826. constructor New(command: TVSShellQuotedString; args: TVSShellQuotedStringDynArray); overload;
  1827. constructor New(command: TVSShellQuotedString; args: TStringDynArray); overload;
  1828. constructor New(command: string; args: TStringDynArray); overload;
  1829. constructor New(command: string; args: TVSShellQuotedStringDynArray); overload;
  1830. constructor New(command: TVSShellQuotedString; args: TVSShellQuotedStringDynArray; options: TVSShellExecutionOptions); overload;
  1831. constructor New(command: TVSShellQuotedString; args: TStringDynArray; options: TVSShellExecutionOptions); overload;
  1832. constructor New(command: string; args: TStringDynArray; options: TVSShellExecutionOptions); overload;
  1833. constructor New(command: string; args: TVSShellQuotedStringDynArray; options: TVSShellExecutionOptions); overload;
  1834. commandLine: string ;
  1835. command: string;
  1836. commandObj : TVSShellQuotedString;
  1837. args: TStringDynArray;
  1838. argObjs : TVSShellQuotedStringDynArray; external name 'args';
  1839. options: TVSShellExecutionOptions;
  1840. end;
  1841. TVSCustomExecutionCallback = reference to function (resolvedDefinition: TVSTaskDefinition) : TVSThenable; // TVSPseudoterminal
  1842. TVSCustomExecution = class external name 'CustomExecution' (TJSObject)
  1843. Public
  1844. constructor New(callback: TVSCustomExecutionCallback);
  1845. end;
  1846. TVSRunOptions = class external name 'RunOptions' (TJSObject)
  1847. Public
  1848. reevaluateOnRerun: boolean;
  1849. end;
  1850. TVSTask = class external name 'TVSTask' (TJSObject)
  1851. Private
  1852. Fscope : TVSTaskScope; external name 'scope';
  1853. Public
  1854. definition: TVSTaskDefinition;
  1855. name: string;
  1856. detail: string;
  1857. execution: TJSObject;
  1858. isBackground: boolean;
  1859. source: string;
  1860. group: TVSTaskGroup;
  1861. presentationOptions: TVSTaskPresentationOptions;
  1862. problemMatchers: TstringDynArray;
  1863. runOptions: TVSRunOptions;
  1864. constructor New(taskDefinition: TVSTaskDefinition; scope: TVSTaskScope; name: string; source: string); overload;
  1865. constructor New(taskDefinition: TVSTaskDefinition; scope: TVSTaskScope; name: string; source: string; execution: TVSProcessExecution); overload;
  1866. constructor New(taskDefinition: TVSTaskDefinition; scope: TVSTaskScope; name: string; source: string; execution: TVSShellExecution); overload;
  1867. constructor New(taskDefinition: TVSTaskDefinition; scope: TVSTaskScope; name: string; source: string; execution: TVSCustomExecution); overload;
  1868. constructor New(taskDefinition: TVSTaskDefinition; scope: TVSTaskScope; name: string; source: string; execution: TVSProcessExecution ; problemMatchers: string ); overload;
  1869. constructor New(taskDefinition: TVSTaskDefinition; scope: TVSTaskScope; name: string; source: string; execution: TVSShellExecution ; problemMatchers: string ); overload;
  1870. constructor New(taskDefinition: TVSTaskDefinition; scope: TVSTaskScope; name: string; source: string; execution: TVSCustomExecution ; problemMatchers: string ); overload;
  1871. constructor New(taskDefinition: TVSTaskDefinition; scope: TVSTaskScope; name: string; source: string; execution: TVSProcessExecution ; problemMatchers: TstringDynArray); overload;
  1872. constructor New(taskDefinition: TVSTaskDefinition; scope: TVSTaskScope; name: string; source: string; execution: TVSShellExecution ; problemMatchers: TstringDynArray); overload;
  1873. constructor New(taskDefinition: TVSTaskDefinition; scope: TVSTaskScope; name: string; source: string; execution: TVSCustomExecution ; problemMatchers: TstringDynArray); overload;
  1874. constructor New(taskDefinition: TVSTaskDefinition; name: string; source: string); overload;
  1875. constructor New(taskDefinition: TVSTaskDefinition; name: string; source: string; execution: TVSProcessExecution); overload;
  1876. constructor New(taskDefinition: TVSTaskDefinition; name: string; source: string; execution: TVSShellExecution); overload;
  1877. constructor New(taskDefinition: TVSTaskDefinition; name: string; source: string; execution: TVSProcessExecution; problemMatchers: string); overload;
  1878. constructor New(taskDefinition: TVSTaskDefinition; name: string; source: string; execution: TVSShellExecution; problemMatchers: string); overload;
  1879. constructor New(taskDefinition: TVSTaskDefinition; name: string; source: string; execution: TVSProcessExecution; problemMatchers: tstringDynArray); overload;
  1880. constructor New(taskDefinition: TVSTaskDefinition; name: string; source: string; execution: TVSShellExecution; problemMatchers: tstringDynArray); overload;
  1881. Property scope : TVSTaskScope read Fscope;
  1882. end;
  1883. TVSTaskProvider = class external name 'TVSTaskProvider' (TJSObject)
  1884. Public
  1885. function provideTasks(token: TVSCancellationToken) : JSValue;
  1886. function resolveTask(task: TVSTask; token: TVSCancellationToken) : JSValue;
  1887. end;
  1888. TVSTaskExecution = class external name 'TVSTaskExecution' (TJSObject)
  1889. Public
  1890. task: TVSTask;
  1891. procedure terminate() ;
  1892. end;
  1893. TVSTaskStartEvent = class external name 'Object' (TJSObject)
  1894. Private
  1895. Fexecution : TVSTaskExecution; external name 'execution';
  1896. Public
  1897. Property execution : TVSTaskExecution read Fexecution;
  1898. end;
  1899. TVSTaskEndEvent = class external name 'Object' (TJSObject)
  1900. Private
  1901. Fexecution : TVSTaskExecution; external name 'execution';
  1902. Public
  1903. Property execution : TVSTaskExecution read Fexecution;
  1904. end;
  1905. TVSTaskProcessStartEvent = class external name 'TaskProcessStartEvent' (TJSObject)
  1906. Private
  1907. Fexecution : TVSTaskExecution; external name 'execution';
  1908. FprocessId : NativeInt; external name 'processId';
  1909. Public
  1910. Property execution : TVSTaskExecution read Fexecution;
  1911. Property processId : NativeInt read FprocessId;
  1912. end;
  1913. TVSTaskProcessEndEvent = class external name 'TaskProcessEndEvent' (TJSObject)
  1914. Private
  1915. Fexecution : TVSTaskExecution; external name 'execution';
  1916. FexitCode : NativeInt ;external name 'exitCode';
  1917. Public
  1918. Property execution : TVSTaskExecution read Fexecution;
  1919. Property exitCode : NativeInt read FexitCode;
  1920. end;
  1921. TVSTaskFilter = class external name 'TaskFilter' (TJSObject)
  1922. Public
  1923. version: string;
  1924. type_: string; external name 'type';
  1925. end;
  1926. TVSNStasks = class external name 'Object' (TJSObject)
  1927. Public
  1928. taskExecutions: TVSTaskExecutionDynArray;
  1929. function registerTaskProvider(type_: string; provider: TVSTaskProvider) : TVSDisposable;
  1930. function fetchTasks() : TVSThenable; // TaskDynArray overload;
  1931. function fetchTasks(filter: TVSTaskFilter) : TVSThenable; // TaskDynArray overload;
  1932. function executeTask(task: TVSTask) : TVSThenable; // TVSTaskExecution
  1933. function onDidStartTask(aHandler : TVSTaskStartEventHandler) : TVSDisposable; overload;
  1934. function onDidStartTask(aHandler : TVSTaskStartEventHandler; aThis : JSvalue): TVSDisposable; overload;
  1935. function onDidStartTask(aHandler : TVSTaskStartEventHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  1936. function onDidEndTask(aHandler : TVSTaskEndEventHandler) : TVSDisposable; overload;
  1937. function onDidEndTask(aHandler : TVSTaskEndEventHandler; aThis : JSvalue): TVSDisposable; overload;
  1938. function onDidEndTask(aHandler : TVSTaskEndEventHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  1939. function onDidStartTaskProcess(aHandler : TVSTaskProcessStartEventHandler) : TVSDisposable; overload;
  1940. function onDidStartTaskProcess(aHandler : TVSTaskProcessStartEventHandler; aThis : JSvalue): TVSDisposable; overload;
  1941. function onDidStartTaskProcess(aHandler : TVSTaskProcessStartEventHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  1942. function onDidEndTaskProcess(aHandler : TVSTaskProcessEndEventHandler) : TVSDisposable; overload;
  1943. function onDidEndTaskProcess(aHandler : TVSTaskProcessEndEventHandler; aThis : JSvalue): TVSDisposable; overload;
  1944. function onDidEndTaskProcess(aHandler : TVSTaskProcessEndEventHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  1945. end;
  1946. TVSFileStat = class external name 'FileStat' (TJSObject)
  1947. Public
  1948. type_: TVSFileType; external name 'type';
  1949. ctime: NativeInt;
  1950. mtime: NativeInt;
  1951. size: NativeInt;
  1952. end;
  1953. TVSFileSystemError = class external name 'TVSFileSystemError' (TJSError)
  1954. Private
  1955. Fcode : string; external name 'code';
  1956. Public
  1957. class function FileNotFound() : TVSFileSystemError; overload;
  1958. class function FileNotFound(messageOrUri: string ) : TVSFileSystemError; overload;
  1959. class function FileNotFound(messageOrUri: TVSUri) : TVSFileSystemError; overload;
  1960. class function FileExists() : TVSFileSystemError; overload;
  1961. class function FileExists(messageOrUri: string) : TVSFileSystemError; overload;
  1962. class function FileExists(messageOrUri: TVSUri) : TVSFileSystemError; overload;
  1963. class function FileNotADirectory() : TVSFileSystemError; overload;
  1964. class function FileNotADirectory(messageOrUri: string) : TVSFileSystemError; overload;
  1965. class function FileNotADirectory(messageOrUri: TVSUri) : TVSFileSystemError; overload;
  1966. class function FileIsADirectory() : TVSFileSystemError; overload;
  1967. class function FileIsADirectory(messageOrUri: string ) : TVSFileSystemError; overload;
  1968. class function FileIsADirectory(messageOrUri: TVSUri) : TVSFileSystemError; overload;
  1969. class function NoPermissions() : TVSFileSystemError; overload;
  1970. class function NoPermissions(messageOrUri: string) : TVSFileSystemError; overload;
  1971. class function NoPermissions(messageOrUri: TVSUri) : TVSFileSystemError; overload;
  1972. class function Unavailable() : TVSFileSystemError; overload;
  1973. class function Unavailable(messageOrUri: string) : TVSFileSystemError; overload;
  1974. class function Unavailable(messageOrUri: TVSUri) : TVSFileSystemError; overload;
  1975. constructor New(); overload;
  1976. constructor New(messageOrUri: string); overload;
  1977. constructor New(messageOrUri: TVSUri); overload;
  1978. Property code : string read Fcode;
  1979. end;
  1980. TVSFileChangeEvent = class external name 'FileChangeEvent' (TJSObject)
  1981. Private
  1982. Ftype : TVSFileChangeType; external name 'type';
  1983. Furi : TVSUri; external name 'uri';
  1984. Public
  1985. Property type_ : TVSFileChangeType read Ftype;
  1986. Property uri : TVSUri read Furi;
  1987. end;
  1988. TVSFileChangeEventDynArrayHandler = reference to function(aEvent : TVSFileChangeEventDynArray) : JSValue;
  1989. TVSFileSystemWatchOptions = class external name 'Object' (TJSObject)
  1990. recursive: boolean;
  1991. excludes: TstringDynArray ;
  1992. end;
  1993. TVSFileSystemWriteOptions = class external name 'Object' (TJSObject)
  1994. create_: boolean; external name 'create';
  1995. overwrite: boolean;
  1996. end;
  1997. TVSFileSystemDeleteOptions = class external name 'Object' (TJSObject)
  1998. recursive: boolean;
  1999. useTrash : boolean;
  2000. end;
  2001. TVSFileSystemRenameOptions = class external name 'Object' (TJSObject)
  2002. overwrite: boolean;
  2003. end;
  2004. TVSFileSystemProvider = class external name 'TVSFileSystemProvider' (TJSObject)
  2005. Public
  2006. Function onDidChangeFile (aCallback : TVSFileChangeEventDynArrayHandler) : TVSDisposable;
  2007. function watch(uri: TVSUri; options: TVSFileSystemWatchOptions): TVSDisposable;
  2008. function stat(uri: TVSUri) : TVSThenable; // FileStat
  2009. function readDirectory(uri: TVSUri) : TVSThenable; // [string; FileType][]
  2010. function createDirectory(uri: TVSUri) : TVSThenable; // void
  2011. function readFile(uri: TVSUri) : TVSThenable; // TJSUint8Array
  2012. function writeFile(uri: TVSUri; content: TJSUint8Array; options: TVSFileSystemWriteOptions ): TVSThenable; // void
  2013. function delete(uri: TVSUri; options: TVSFileSystemDeleteOptions): TVSThenable; // void
  2014. function rename(oldUri: TVSUri; newUri: TVSUri; options: TVSFileSystemRenameOptions ) :TVSThenable; // void
  2015. function copy(source: TVSUri; destination: TVSUri; options: TVSFileSystemRenameOptions ): TVSThenable; // void
  2016. end;
  2017. TVSFileSystem = class external name 'FileSystem' (TJSObject)
  2018. Public
  2019. function stat(uri: TVSUri) : TVSThenable; // FileStat
  2020. function readDirectory(uri: TVSUri) : TVSThenable; // [string; FileType]DynArray
  2021. function createDirectory(uri: TVSUri) : TVSThenable; // void
  2022. function readFile(uri: TVSUri) : TVSThenable; // TJSUint8Array
  2023. function writeFile(uri: TVSUri; content: TJSUint8Array) : TVSThenable; // void
  2024. function delete(uri: TVSUri): TVSThenable; // void overload;
  2025. function delete(uri: TVSUri; options: TVSFileSystemRenameOptions): TVSThenable; // void overload;
  2026. function rename(source: TVSUri; target: TVSUri): TVSThenable; // void overload;
  2027. function rename(source: TVSUri; target: TVSUri; options: TVSFileSystemRenameOptions): TVSThenable; // void overload;
  2028. function copy(source: TVSUri; target: TVSUri): TVSThenable; // void overload;
  2029. function copy(source: TVSUri; target: TVSUri; options: TVSFileSystemRenameOptions): TVSThenable; // void overload;
  2030. function isWritableFileSystem(scheme: string) : boolean ;
  2031. end;
  2032. TVSWebviewPortMapping = class external name 'WebviewPortMapping' (TJSObject)
  2033. Private
  2034. FwebviewPort : NativeInt; external name 'webviewPort';
  2035. FextensionHostPort : NativeInt; external name 'extensionHostPort';
  2036. Public
  2037. Property webviewPort : NativeInt read FwebviewPort;
  2038. Property extensionHostPort : NativeInt read FextensionHostPort;
  2039. end;
  2040. TVSWebviewOptions = class external name 'WebviewOptions' (TJSObject)
  2041. Private
  2042. FenableScripts : boolean; external name 'enableScripts';
  2043. FenableCommandUris : boolean; external name 'enableCommandUris';
  2044. FlocalResourceRoots : TVSUriDynArray; external name 'localResourceRoots';
  2045. FportMapping : TVSWebviewPortMappingDynArray; external name 'portMapping';
  2046. Public
  2047. Property enableScripts : boolean read FenableScripts;
  2048. Property enableCommandUris : boolean read FenableCommandUris;
  2049. Property localResourceRoots : TVSUriDynArray read FlocalResourceRoots;
  2050. Property portMapping : TVSWebviewPortMappingDynArray read FportMapping;
  2051. end;
  2052. TVSWebview = class external name 'Webview' (TJSObject)
  2053. Private
  2054. FcspSource : string; external name 'cspSource';
  2055. Public
  2056. options: TVSWebviewOptions;
  2057. html: string;
  2058. function onDidReceiveMessage(aHandler : TVSanyHandler) : TVSDisposable; overload;
  2059. function onDidReceiveMessage(aHandler : TVSanyHandler; aThis : JSvalue): TVSDisposable; overload;
  2060. function onDidReceiveMessage(aHandler : TVSanyHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2061. function postMessage(message: JSValue) : TVSThenable; // boolean
  2062. function asWebviewUri(localResource: TVSUri) : TVSUri;
  2063. Property cspSource : string read FcspSource;
  2064. end;
  2065. TVSWebviewPanelOptions = class external name 'WebviewPanelOptions' (TJSObject)
  2066. Private
  2067. FenableFindWidget : boolean; external name 'enableFindWidget';
  2068. FretainContextWhenHidden : boolean; external name 'retainContextWhenHidden';
  2069. Public
  2070. Property enableFindWidget : boolean read FenableFindWidget;
  2071. Property retainContextWhenHidden : boolean read FretainContextWhenHidden;
  2072. end;
  2073. TVSWebviewPanel = class external name 'Object' (TJSObject)
  2074. Private
  2075. FviewType : string; external name 'viewType';
  2076. Fwebview : TVSWebview; external name 'webview';
  2077. Foptions : TVSWebviewPanelOptions; external name 'options';
  2078. FviewColumn : TVSViewColumn; external name 'viewColumn';
  2079. Factive : boolean; external name 'active';
  2080. Fvisible : boolean; external name 'visible';
  2081. Public
  2082. title: string;
  2083. iconPath: TVSUri;
  2084. iconPathObj : TVSIconPathObject; external name 'iconPath';
  2085. function onDidChangeViewState (aHandler : TVSWebviewPanelOnDidChangeViewStateEventHandler) : TVSDisposable; overload;
  2086. function onDidChangeViewState(aHandler : TVSWebviewPanelOnDidChangeViewStateEventHandler; aThis : JSvalue): TVSDisposable; overload;
  2087. function onDidChangeViewState(aHandler : TVSWebviewPanelOnDidChangeViewStateEventHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2088. function onDidDispose(aHandler : TVSvoidHandler) : TVSDisposable; overload;
  2089. function onDidDispose(aHandler : TVSvoidHandler; aThis : JSvalue): TVSDisposable; overload;
  2090. function onDidDispose(aHandler : TVSvoidHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2091. procedure reveal() ; overload;
  2092. procedure reveal(viewColumn: TVSViewColumn) ; overload;
  2093. procedure reveal(viewColumn: TVSViewColumn; preserveFocus: boolean) ; overload;
  2094. function dispose() : JSValue;
  2095. Property viewType : string read FviewType;
  2096. Property webview : TVSWebview read Fwebview;
  2097. Property options : TVSWebviewPanelOptions read Foptions;
  2098. Property viewColumn : TVSViewColumn read FviewColumn;
  2099. Property active : boolean read Factive;
  2100. Property visible : boolean read Fvisible;
  2101. end;
  2102. TVSWebviewPanelOnDidChangeViewStateEvent = class external name 'WebviewPanelOnDidChangeViewStateEvent' (TJSObject)
  2103. Private
  2104. FwebviewPanel : TVSWebviewPanel; external name 'webviewPanel';
  2105. Public
  2106. Property webviewPanel : TVSWebviewPanel read FwebviewPanel;
  2107. end;
  2108. TVSWebviewPanelSerializer = class external name 'Object' (TJSObject)
  2109. Public
  2110. function deserializeWebviewPanel(webviewPanel: TVSWebviewPanel; state: TJSObject) : TVSThenable; // void
  2111. end;
  2112. TVSWebviewView = class external name 'WebviewView' (TJSObject)
  2113. Private
  2114. FviewType : string; external name 'viewType';
  2115. Fwebview : TVSWebview; external name 'webview';
  2116. Fvisible : boolean; external name 'visible';
  2117. Public
  2118. title: string;
  2119. description: string;
  2120. function onDidChangeVisibility(aHandler : TVSvoidHandler) : TVSDisposable; overload;
  2121. function onDidChangeVisibility(aHandler : TVSvoidHandler; aThis : JSvalue): TVSDisposable; overload;
  2122. function onDidChangeVisibility(aHandler : TVSvoidHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2123. function onDidDispose(aHandler : TVSvoidHandler) : TVSDisposable; overload;
  2124. function onDidDispose(aHandler : TVSvoidHandler; aThis : JSvalue): TVSDisposable; overload;
  2125. function onDidDispose(aHandler : TVSvoidHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2126. procedure show() ; overload;
  2127. procedure show(preserveFocus: boolean) ; overload;
  2128. Property viewType : string read FviewType;
  2129. Property webview : TVSWebview read Fwebview;
  2130. Property visible : boolean read Fvisible;
  2131. end;
  2132. TVSWebviewViewResolveContext = class external name 'Object' (TJSObject)
  2133. Private
  2134. Fstate : TJSObject ;external name 'state';
  2135. Public
  2136. Property state : TJSObject read Fstate;
  2137. end;
  2138. TVSWebviewViewProvider = class external name 'WebviewViewProvider' (TJSObject)
  2139. Public
  2140. function resolveWebviewView(webviewView: TVSWebviewView; context: TVSWebviewViewResolveContext; token: TVSCancellationToken) : TVSThenable; // void
  2141. end;
  2142. TVSCustomTextEditorProvider = class external name 'CustomTextEditorProvider' (TJSObject)
  2143. Public
  2144. function resolveCustomTextEditor(document: TVSTextDocument; webviewPanel: TVSWebviewPanel; token: TVSCancellationToken) : TVSThenable; // void
  2145. end;
  2146. TVSCustomDocument = class external name 'Object' (TJSObject)
  2147. Private
  2148. Furi : TVSUri; external name 'uri';
  2149. Public
  2150. Property uri : TVSUri read Furi;
  2151. procedure dispose() ;
  2152. end;
  2153. TVSCustomDocumentEditEvent = class external name 'Object' (TJSObject)
  2154. Private
  2155. Fdocument : TVSCustomDocument; external name 'document';
  2156. Flabel : string; external name 'label';
  2157. Public
  2158. Property document : TVSCustomDocument read Fdocument;
  2159. function undo() : TVSThenable; // void
  2160. function redo() : TVSThenable; // void
  2161. Property label_ : string read Flabel;
  2162. end;
  2163. TVSCustomDocumentContentChangeEvent = class external name 'Object' (TJSObject)
  2164. Private
  2165. Fdocument : TVSCustomDocument; external name 'document';
  2166. Public
  2167. Property document : TVSCustomDocument read Fdocument;
  2168. end;
  2169. TVSCustomDocumentBackup = class external name 'Object' (TJSObject)
  2170. Private
  2171. Fid : string; external name 'id';
  2172. Public
  2173. Property id : string read Fid;
  2174. procedure delete() ;
  2175. end;
  2176. TVSCustomDocumentBackupContext = class external name 'Object' (TJSObject)
  2177. Private
  2178. Fdestination : TVSUri; external name 'destination';
  2179. Public
  2180. Property destination : TVSUri read Fdestination;
  2181. end;
  2182. TVSCustomDocumentOpenContext = class external name 'Object' (TJSObject)
  2183. Private
  2184. FbackupId : string; external name 'backupId';
  2185. Public
  2186. Property backupId : string read FbackupId;
  2187. end;
  2188. TVSCustomReadonlyEditorProvider = class external name 'CustomReadonlyEditorProvider' (TJSObject)
  2189. Public
  2190. function openCustomDocument(uri: TVSUri; openContext: TVSCustomDocumentOpenContext; token: TVSCancellationToken) : TVSThenable; // TVSCustomDocument;
  2191. function resolveCustomEditor(document: TVSCustomDocument; webviewPanel: TVSWebviewPanel; token: TVSCancellationToken) : TVSThenable; // TVSCustomDocument
  2192. end;
  2193. TVSCustomDocumentEditEventHandler = reference to function (event : TVSCustomDocumentEditEvent): JSValue;
  2194. TVSCustomEditorProvider = class external name 'CustomEditorProvider' (TVSCustomReadonlyEditorProvider)
  2195. Public
  2196. function onDidChangeCustomDocument(aHandler : TVSCustomDocumentEditEventHandler) : TVSDisposable; overload;
  2197. function onDidChangeCustomDocument(aHandler : TVSCustomDocumentEditEventHandler; aThis : JSvalue): TVSDisposable; overload;
  2198. function onDidChangeCustomDocument(aHandler : TVSCustomDocumentEditEventHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2199. function saveCustomDocument(document: TVSCustomDocument; cancellation: TVSCancellationToken) : TVSThenable; // void
  2200. function saveCustomDocumentAs(document: TVSCustomDocument; destination: TVSUri; cancellation: TVSCancellationToken) : TVSThenable; // void
  2201. function revertCustomDocument(document: TVSCustomDocument; cancellation: TVSCancellationToken) : TVSThenable; // void
  2202. function backupCustomDocument(document: TVSCustomDocument; context: TVSCustomDocumentBackupContext; cancellation: TVSCancellationToken) : TVSThenable; // CustomDocumentBackup
  2203. end;
  2204. TVSClipboard = class external name 'Clipboard' (TJSObject)
  2205. Public
  2206. function readText() : TVSThenable; // string
  2207. function writeText(value: string) : TVSThenable; // void
  2208. end;
  2209. TVSNSenv = class external name 'Object' (TJSObject)
  2210. Private
  2211. FappName: string ; external name 'appName';
  2212. FappRoot: string ; external name 'appRoot';
  2213. FuriScheme: string ; external name 'uriScheme';
  2214. Flanguage: string ; external name 'language';
  2215. Fclipboard: TVSClipboard ; external name 'clipboard';
  2216. FmachineId: string ; external name 'machineId';
  2217. FsessionId: string ; external name 'sessionId';
  2218. FremoteName: string ; external name 'remoteName';
  2219. Fshell: string ; external name 'shell';
  2220. FuiKind: TVSUIKind ; external name 'uiKind';
  2221. Public
  2222. property appName: string read fappName;
  2223. property appRoot: string read fappRoot;
  2224. property uriScheme: string read furiScheme;
  2225. property language: string read flanguage;
  2226. property clipboard: TVSClipboard read fclipboard;
  2227. property machineId: string read fmachineId;
  2228. property sessionId: string read fsessionId;
  2229. property remoteName: string read fremoteName;
  2230. property shell: string read fshell;
  2231. property uiKind: TVSUIKind read fuiKind;
  2232. function openExternal(target: TVSUri) : TVSThenable; // boolean
  2233. function asExternalUri(target: TVSUri) : TVSThenable; // TVSUri
  2234. end;
  2235. TVSRegisterCommandCallback = reference to function (args:TJSValueDynArray) : JSValue;
  2236. TVSRegisterTextEditorCommandCallback = reference to procedure (textEditor: TVSTextEditor; edit: TVSTextEditorEdit;args:TJSValueDynArray);
  2237. TVSNScommands = class external name 'Object' (TJSObject)
  2238. Public
  2239. function registerCommand(command: string; callback: TVSRegisterCommandCallback) : TVSDisposable; overload;
  2240. function registerCommand(command: string; callback: TVSRegisterCommandCallback; thisArg: JSValue) : TVSDisposable; overload;
  2241. function registerTextEditorCommand(command: string; callback: TVSRegisterTextEditorCommandCallback) : TVSDisposable; overload;
  2242. function registerTextEditorCommand(command: string; callback: TVSRegisterTextEditorCommandCallback; thisArg: JSValue) : TVSDisposable; overload;
  2243. function executeCommand(command: string) : TVSThenable; varargs; // T | undefined
  2244. function getCommands() : TVSThenable; // stringDynArray overload;
  2245. function getCommands(filterInternal: boolean) : TVSThenable; // stringDynArray overload;
  2246. end;
  2247. TVSWindowState = class external name 'WindowState' (TJSObject)
  2248. Private
  2249. Ffocused : boolean; external name 'focused';
  2250. Public
  2251. Property focused : boolean read Ffocused;
  2252. end;
  2253. TVSUriHandler = class external name 'UriHandler' (TJSObject)
  2254. Public
  2255. function handleUri(uri: TVSUri) : JSValue;
  2256. end;
  2257. TVSregisterCustomEditorProviderOptions = class external name 'Object' (TJSObject)
  2258. Private
  2259. FwebviewOptions : TVSWebviewPanelOptions; external name 'webviewOptions';
  2260. FsupportsMultipleEditorsPerDocument : boolean; external name 'supportsMultipleEditorsPerDocument';
  2261. Public
  2262. Property webviewOptions : TVSWebviewPanelOptions read FwebviewOptions;
  2263. Property supportsMultipleEditorsPerDocument : boolean read FsupportsMultipleEditorsPerDocument;
  2264. end;
  2265. TVSregisterWebviewViewProviderOptionsWebviewOptions = class external name 'Object' (TJSObject)
  2266. retainContextWhenHidden : boolean;
  2267. end;
  2268. TVSregisterWebviewViewProviderOptions = class external name 'Object' (TJSObject)
  2269. webviewOptions: TVSregisterWebviewViewProviderOptionsWebviewOptions;
  2270. end;
  2271. TVSTextEditorDynArrayHandler = reference to function (aEvent : TVSTextEditorDynArray) : JSValue;
  2272. TVSWindowcreateWebviewPanelOptions = class external name 'Object' (TJSObject)
  2273. viewColumn: TVSViewColumn;
  2274. preserveFocus: boolean ;
  2275. end;
  2276. TVSTaskProgressCallback = reference to function (progress: TVSProgress) : TVSThenable;
  2277. TVSNSWindow = class external name 'Object' (TJSObject)
  2278. private
  2279. fterminals: TVSTerminalDynArray; external name 'terminals';
  2280. Public
  2281. activeTextEditor: TVSTextEditor ;
  2282. visibleTextEditors: TVSTextEditorDynArray;
  2283. activeColorTheme: TVSColorTheme;
  2284. activeTerminal: TVSTerminal ;
  2285. state: TVSWindowState;
  2286. function onDidChangeActiveTextEditor(aHandler : TVSTextEditorHandler) : TVSDisposable; overload;
  2287. function onDidChangeActiveTextEditor(aHandler : TVSTextEditorHandler; aThis : JSvalue): TVSDisposable; overload;
  2288. function onDidChangeActiveTextEditor(aHandler : TVSTextEditorHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2289. function onDidChangeVisibleTextEditor(aHandler : TVSTextEditorDynArrayHandler) : TVSDisposable; overload;
  2290. function onDidChangeVisibleTextEditor(aHandler : TVSTextEditorDynArrayHandler; aThis : JSvalue): TVSDisposable; overload;
  2291. function onDidChangeVisibleTextEditor(aHandler : TVSTextEditorDynArrayHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2292. function onDidChangeTextEditorSelection(aHandler : TVSTextEditorSelectionChangeEventHandler) : TVSDisposable; overload;
  2293. function onDidChangeTextEditorSelection(aHandler : TVSTextEditorSelectionChangeEventHandler; aThis : JSvalue): TVSDisposable; overload;
  2294. function onDidChangeTextEditorSelection(aHandler : TVSTextEditorSelectionChangeEventHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2295. function onDidChangeTextEditorVisibleRanges(aHandler : TVSTextEditorVisibleRangesChangeEventHandler) : TVSDisposable; overload;
  2296. function onDidChangeTextEditorVisibleRanges(aHandler : TVSTextEditorVisibleRangesChangeEventHandler; aThis : JSvalue): TVSDisposable; overload;
  2297. function onDidChangeTextEditorVisibleRanges(aHandler : TVSTextEditorVisibleRangesChangeEventHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2298. function onDidChangeTextEditorOptions(aHandler : TVSTextEditorOptionsChangeEventHandler) : TVSDisposable; overload;
  2299. function onDidChangeTextEditorOptions(aHandler : TVSTextEditorOptionsChangeEventHandler; aThis : JSvalue): TVSDisposable; overload;
  2300. function onDidChangeTextEditorOptions(aHandler : TVSTextEditorOptionsChangeEventHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2301. function onDidChangeTextEditorViewColumn(aHandler : TVSTextEditorViewColumnChangeEventHandler) : TVSDisposable; overload;
  2302. function onDidChangeTextEditorViewColumn(aHandler : TVSTextEditorViewColumnChangeEventHandler; aThis : JSvalue): TVSDisposable; overload;
  2303. function onDidChangeTextEditorViewColumn(aHandler : TVSTextEditorViewColumnChangeEventHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2304. function onDidChangeActiveTerminal(aHandler : TVSTerminalHandler) : TVSDisposable; overload;
  2305. function onDidChangeActiveTerminal(aHandler : TVSTerminalHandler; aThis : JSvalue): TVSDisposable; overload;
  2306. function onDidChangeActiveTerminal(aHandler : TVSTerminalHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2307. function onDidOpenTerminal(aHandler : TVSTerminalHandler) : TVSDisposable; overload;
  2308. function onDidOpenTerminal(aHandler : TVSTerminalHandler; aThis : JSvalue): TVSDisposable; overload;
  2309. function onDidOpenTerminal(aHandler : TVSTerminalHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2310. function onDidCloseTerminal(aHandler : TVSTerminalHandler) : TVSDisposable; overload;
  2311. function onDidCloseTerminal(aHandler : TVSTerminalHandler; aThis : JSvalue): TVSDisposable; overload;
  2312. function onDidCloseTerminal(aHandler : TVSTerminalHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2313. function onDidChangeWindowState(aHandler : TVSWindowStateHandler) : TVSDisposable; overload;
  2314. function onDidChangeWindowState(aHandler : TVSWindowStateHandler; aThis : JSvalue): TVSDisposable; overload;
  2315. function onDidChangeWindowState(aHandler : TVSWindowStateHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2316. function showTextDocument(document: TVSTextDocument) : TVSThenable; // TVSTextEditor overload;
  2317. function showTextDocument(document: TVSTextDocument; column: TVSViewColumn) : TVSThenable; // TVSTextEditor overload;
  2318. function showTextDocument(document: TVSTextDocument; column: TVSViewColumn; preserveFocus: boolean) : TVSThenable; // TVSTextEditor overload;
  2319. function showTextDocument(document: TVSTextDocument; options: TVSTextDocumentShowOptions) : TVSThenable; // TVSTextEditor overload;
  2320. function showTextDocument(uri: TVSUri) : TVSThenable; // TVSTextEditor overload;
  2321. function showTextDocument(uri: TVSUri; options: TVSTextDocumentShowOptions) : TVSThenable; // TVSTextEditor overload;
  2322. function createTextEditorDecorationType(options: TVSDecorationRenderOptions) : TVSTextEditorDecorationType;
  2323. function showInformationMessage(message: string) : TVSThenable; // string | undefined
  2324. function showInformationMessage(message: string; items: TstringDynArray) : TVSThenable; // string | undefined
  2325. function showInformationMessage(message: string; options: TVSMessageOptions; items: TstringDynArray) : TVSThenable; // string | undefined
  2326. function showInformationMessage(message: string; items: TVSMessageItemDynArray) : TVSThenable; // T | undefined
  2327. function showInformationMessage(message: string; options: TVSMessageOptions; items: TVSMessageItemDynArray) : TVSThenable; // T | undefined
  2328. function showWarningMessage(message: string) : TVSThenable; // string | undefined
  2329. function showWarningMessage(message: string; items: tstringDynArray) : TVSThenable; // string | undefined
  2330. function showWarningMessage(message: string; options: TVSMessageOptions; items: TstringDynArray) : TVSThenable; // string | undefined
  2331. function showWarningMessage(message: string; items: TVSMessageItemDynArray) : TVSThenable; // T | undefined
  2332. function showWarningMessage(message: string; options: TVSMessageOptions; items: TVSMessageItemDynArray) : TVSThenable; // T | undefined
  2333. function showErrorMessage(message: string) : TVSThenable; // string | undefined
  2334. function showErrorMessage(message: string; items: tstringDynArray) : TVSThenable; // string | undefined
  2335. function showErrorMessage(message: string; options: TVSMessageOptions; titems: tstringDynArray) : TVSThenable; // string | undefined
  2336. function showErrorMessage(message: string; items: TVSMessageItemDynArray) : TVSThenable; // T | undefined
  2337. function showErrorMessage(message: string; options: TVSMessageOptions; items: TVSMessageItemDynArray) : TVSThenable; // T | undefined
  2338. function showQuickPick(items: TstringDynArray): TVSThenable; overload; // TStringDynArray
  2339. function showQuickPick(items: TVSThenableDynArray): TVSThenable; overload; // TStringDynArray
  2340. function showQuickPick(items: TstringDynArray; options: TVSQuickPickOptions): TVSThenable; overload; // TStringDynArray
  2341. function showQuickPick(items: TVSThenableDynArray; options: TVSQuickPickOptions): TVSThenable; overload; // TStringDynArray
  2342. function showQuickPick(items: TstringDynArray; options: TVSQuickPickOptions; token: TVSCancellationToken): TVSThenable; overload; // TStringDynArray
  2343. function showQuickPick(items: TVSThenableDynArray; options: TVSQuickPickOptions; token: TVSCancellationToken): TVSThenable; overload; // TStringDynArray
  2344. function showQuickPick(items: TVSQuickPickItem): TVSThenable; overload; // TStringDynArray
  2345. function showQuickPick(items: TVSQuickPickItem; options: TVSQuickPickOptions): TVSThenable; overload; // TStringDynArray
  2346. function showQuickPick(items: TVSQuickPickItem; options: TVSQuickPickOptions; token: TVSCancellationToken): TVSThenable; overload; // TStringDynArray
  2347. function showWorkspaceFolderPick() : TVSThenable; // TVSWorkspaceFolder overload;
  2348. function showWorkspaceFolderPick(options: TVSWorkspaceFolderPickOptions) : TVSThenable; // TVSWorkspaceFolder overload;
  2349. function showOpenDialog() : TVSThenable; // TVSUriDynArray overload;
  2350. function showOpenDialog(options: TVSOpenDialogOptions) : TVSThenable; // TVSUriDynArray overload;
  2351. function showSaveDialog() : TVSThenable; // TVSUri overload;
  2352. function showSaveDialog(options: TVSSaveDialogOptions) : TVSThenable; // TVSUri overload;
  2353. function showInputBox() : TVSThenable; // string overload;
  2354. function showInputBox(options: TVSInputBoxOptions) : TVSThenable; // string overload;
  2355. function showInputBox(options: TVSInputBoxOptions; token: TVSCancellationToken) : TVSThenable; // string overload;
  2356. function createQuickPick : TVSQuickPick;
  2357. function createInputBox() : TVSInputBox;
  2358. function createOutputChannel(name: string) : TVSOutputChannel;
  2359. function createWebviewPanel(viewType: string; title: string; showOptions: TVSViewColumn): TVSWebviewPanel; overload;
  2360. function createWebviewPanel(viewType: string; title: string; showOptions: TVSWindowcreateWebviewPanelOptions): TVSWebviewPanel; overload;
  2361. function createWebviewPanel(viewType: string; title: string; showOptions: TVSViewColumn;options: TVSWebviewPanelOptions): TVSWebviewPanel; overload;
  2362. function createWebviewPanel(viewType: string; title: string; showOptions: TVSWindowcreateWebviewPanelOptions;options: TVSWebviewPanelOptions): TVSWebviewPanel; overload;
  2363. function setStatusBarMessage(text: string; hideAfterTimeout: NativeInt) : TVSDisposable;
  2364. function setStatusBarMessage(text: string; hideWhenDone: TVSThenable) : TVSDisposable;
  2365. function setStatusBarMessage(text: string) : TVSDisposable;
  2366. function withScmProgress(task: TVSTaskProgressCallback) : TVSThenable;
  2367. function withProgress(options: TVSProgressOptions): TVSThenable overload;
  2368. function withProgress(options: TVSProgressOptions; task: TVSTaskProgressCallback): TVSThenable; overload;
  2369. function withProgress(options: TVSProgressOptions; task: TVSTaskProgressCallback; token: TVSCancellationToken) : TVSThenable; overload; // JSValue;
  2370. function createStatusBarItem() : TVSStatusBarItem; overload;
  2371. function createStatusBarItem(alignment: TVSStatusBarAlignment) : TVSStatusBarItem; overload;
  2372. function createStatusBarItem(alignment: TVSStatusBarAlignment; priority: NativeInt) : TVSStatusBarItem; overload;
  2373. function createTerminal() : TVSTerminal; overload;
  2374. function createTerminal(name: string) : TVSTerminal; overload;
  2375. function createTerminal(name: string; shellPath: string) : TVSTerminal; overload;
  2376. function createTerminal(name: string; shellPath: string; shellArgs: TstringDynArray) : TVSTerminal; overload;
  2377. function createTerminal(name: string; shellPath: string; shellArgs: string) : TVSTerminal; overload;
  2378. function createTerminal(options: TVSTerminalOptions) : TVSTerminal;
  2379. function createTerminal(options: TVSExtensionTerminalOptions) : TVSTerminal;
  2380. function registerTreeDataProvider(viewId: string; treeDataProvider: TVSTreeDataProvider) : TVSDisposable;
  2381. function createTreeView(viewId: string; options: TVSTreeViewOptions) : TVSTreeView;
  2382. function registerUriHandler(handler: TVSUriHandler) : TVSDisposable;
  2383. function registerWebviewPanelSerializer(viewType: string; serializer: TVSWebviewPanelSerializer) : TVSDisposable;
  2384. function registerWebviewViewProvider(viewId: string; provider: TVSWebviewViewProvider): TVSDisposable; overload;
  2385. function registerWebviewViewProvider(viewId: string; provider: TVSWebviewViewProvider; options: TVSregisterWebviewViewProviderOptions): TVSDisposable; overload;
  2386. function registerCustomEditorProvider(viewType: string; provider: TVSCustomTextEditorProvider): TVSDisposable; overload;
  2387. function registerCustomEditorProvider(viewType: string; provider: TVSCustomReadonlyEditorProvider): TVSDisposable; overload;
  2388. function registerCustomEditorProvider(viewType: string; provider: TVSCustomEditorProvider): TVSDisposable; overload;
  2389. function registerCustomEditorProvider(viewType: string; provider: TVSCustomTextEditorProvider ; options: TVSregisterCustomEditorProviderOptions): TVSDisposable; overload;
  2390. function registerCustomEditorProvider(viewType: string; provider: TVSCustomReadonlyEditorProvider ; options: TVSregisterCustomEditorProviderOptions): TVSDisposable; overload;
  2391. function registerCustomEditorProvider(viewType: string; provider: TVSCustomEditorProvider; options: TVSregisterCustomEditorProviderOptions): TVSDisposable; overload;
  2392. function registerTerminalLinkProvider(provider: TVSTerminalLinkProvider) : TVSDisposable;
  2393. function registerFileDecorationProvider(provider: TVSFileDecorationProvider) : TVSDisposable;
  2394. function onDidChangeActiveColorTheme(aHandler : TVSColorThemeHandler) : TVSDisposable; overload;
  2395. function onDidChangeActiveColorTheme(aHandler : TVSColorThemeHandler; aThis : JSvalue): TVSDisposable; overload;
  2396. function onDidChangeActiveColorTheme(aHandler : TVSColorThemeHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2397. property terminals: TVSTerminalDynArray read FTerminals;
  2398. end;
  2399. TVSTreeViewOptions = class external name 'TreeViewOptions' (TJSObject)
  2400. Public
  2401. treeDataProvider: TVSTreeDataProvider;
  2402. showCollapseAll: boolean;
  2403. canSelectMany: boolean;
  2404. end;
  2405. TVSTreeViewExpansionEvent = class external name 'TreeViewExpansionEvent' (TJSObject)
  2406. Private
  2407. Felement : JSValue; external name 'element';
  2408. Public
  2409. Property element : JSValue read Felement;
  2410. end;
  2411. TVSTreeViewSelectionChangeEvent = class external name 'TreeViewSelectionChangeEvent' (TJSObject)
  2412. Private
  2413. Fselection : TJSValueDynArray; external name 'selection';
  2414. Public
  2415. Property selection : TJSValueDynArray read Fselection;
  2416. end;
  2417. TVSTreeViewVisibilityChangeEvent = class external name 'TreeViewVisibilityChangeEvent' (TJSObject)
  2418. Private
  2419. Fvisible : boolean; external name 'visible';
  2420. Public
  2421. Property visible : boolean read Fvisible;
  2422. end;
  2423. TVSTreeViewRevealOptions = class external name 'Object' (TJSObject)
  2424. Public
  2425. select: boolean;
  2426. focus: boolean;
  2427. expand: boolean;
  2428. expandInt : NativeInt; external name 'expand';
  2429. end;
  2430. TVSTreeView = class external name 'TreeView' (TVSDisposable)
  2431. private
  2432. Fselection : TJSValueDynArray; external name 'selection';
  2433. Fvisible : boolean; external name 'visible';
  2434. Public
  2435. message: string;
  2436. title: string;
  2437. description: string;
  2438. function onDidCollapseElement(aHandler : TVSTreeViewExpansionEventHandler) : TVSDisposable; overload;
  2439. function onDidCollapseElement(aHandler : TVSTreeViewExpansionEventHandler; aThis : JSvalue): TVSDisposable; overload;
  2440. function onDidCollapseElement(aHandler : TVSTreeViewExpansionEventHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2441. function onDidExpandElement(aHandler : TVSTreeViewExpansionEventHandler) : TVSDisposable; overload;
  2442. function onDidExpandElement(aHandler : TVSTreeViewExpansionEventHandler; aThis : JSvalue): TVSDisposable; overload;
  2443. function onDidExpandElement(aHandler : TVSTreeViewExpansionEventHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2444. function onDidChangeSelection(aHandler : TVSTreeViewSelectionChangeEventHandler) : TVSDisposable; overload;
  2445. function onDidChangeSelection(aHandler : TVSTreeViewSelectionChangeEventHandler; aThis : JSvalue): TVSDisposable; overload;
  2446. function onDidChangeSelection (aHandler : TVSTreeViewSelectionChangeEventHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2447. function onDidChangeVisibility(aHandler : TVSTreeViewVisibilityChangeEventHandler) : TVSDisposable; overload;
  2448. function onDidChangeVisibility(aHandler : TVSTreeViewVisibilityChangeEventHandler; aThis : JSvalue): TVSDisposable; overload;
  2449. function onDidChangeVisibility(aHandler : TVSTreeViewVisibilityChangeEventHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2450. function reveal(element: JSValue): TVSThenable; // void overload;
  2451. function reveal(element: JSValue; options:TVSTreeViewRevealOptions): TVSThenable; // void overload;
  2452. constructor new(aCallOndispose: TVSVoidHandler);
  2453. Property selection : TJSValueDynArray read Fselection;
  2454. Property visible : boolean read Fvisible;
  2455. end;
  2456. TVSTreeDataProvider = class external name 'TreeDataProvider' (TJSObject)
  2457. Public
  2458. function onDidChangeTreeData(aHandler : TVSAnyHandler) : TVSDisposable; overload;
  2459. function onDidChangeTreeData(aHandler : TVSAnyHandler; aThis : JSvalue): TVSDisposable; overload;
  2460. function onDidChangeTreeData(aHandler : TVSAnyHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2461. function getTreeItem(element: JSValue) : JSValue; // TreeItem
  2462. function getChildren() : JSValue; overload;
  2463. function getChildren(element: JSValue) : JSValue; overload;
  2464. function getParent(element: JSValue) : JSValue;
  2465. function resolveTreeItem(item: TVSTreeItem; element: JSValue) : JSValue;
  2466. end;
  2467. TVSTreeItem = class external name 'TreeItem' (TJSObject)
  2468. Public
  2469. label_: string; external name 'label';
  2470. labelObj : TVSTreeItemLabel; external name 'label';
  2471. id: string;
  2472. iconPath: string;
  2473. iconPathUri: TVSUri; external name 'iconPath';
  2474. iconPathObj : TVSIconPathObject; external name 'iconPath';
  2475. iconPathTheme : TVSThemeIcon; external name 'iconPath';
  2476. description: string;
  2477. descriptionBool : boolean; external name 'description';
  2478. resourceUri: TVSUri;
  2479. tooltip: string;
  2480. tooltipObj : TVSMarkdownString ; external name 'tooltip';
  2481. command: TVSCommand;
  2482. collapsibleState: TVSTreeItemCollapsibleState;
  2483. contextValue: string;
  2484. accessibilityInformation: TVSAccessibilityInformation;
  2485. constructor New(alabel: TVSTreeItemLabel); overload;
  2486. constructor New(alabel: string); overload;
  2487. constructor New(alabel: string ; collapsibleState: TVSTreeItemCollapsibleState); overload;
  2488. constructor New(alabel: TVSTreeItemLabel; collapsibleState: TVSTreeItemCollapsibleState); overload;
  2489. constructor New(resourceUri: TVSUri); overload;
  2490. constructor New(resourceUri: TVSUri; collapsibleState: TVSTreeItemCollapsibleState); overload;
  2491. end;
  2492. TVSTreeItemLabel = class external name 'TreeItemLabel' (TJSObject)
  2493. Public
  2494. label_: string; external name 'label';
  2495. highlights: TJSValueDynArray;
  2496. end;
  2497. TVSTerminalOptions = class external name 'TerminalOptions' (TJSObject)
  2498. Public
  2499. name: string;
  2500. shellPath: string;
  2501. shellArgsArray : TstringDynArray; external name 'string';
  2502. shellArgs : string;
  2503. cwd : string;
  2504. cwdObj: TVSUri; external name 'cwd';
  2505. env: TJSObject;
  2506. strictEnv: boolean;
  2507. hideFromUser: boolean;
  2508. end;
  2509. TVSExtensionTerminalOptions = class external name 'ExtensionTerminalOptions' (TJSObject)
  2510. Public
  2511. name: string;
  2512. pty: TVSPseudoterminal;
  2513. end;
  2514. TVSPseudoterminal = class external name 'Object' (TJSObject)
  2515. Public
  2516. function onDidWrite(aHandler : TVSstringHandler) : TVSDisposable; overload;
  2517. function onDidWrite(aHandler : TVSstringHandler; aThis : JSvalue): TVSDisposable; overload;
  2518. function onDidWrite(aHandler : TVSstringHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2519. function onDidOverrideDimensions(aHandler : TVSTerminalDimensionsHandler) : TVSDisposable; overload;
  2520. function onDidOverrideDimensions(aHandler : TVSTerminalDimensionsHandler; aThis : JSvalue): TVSDisposable; overload;
  2521. function onDidOverrideDimensions(aHandler : TVSTerminalDimensionsHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2522. function onDidClose(aHandler : TVSNumberHandler) : TVSDisposable; overload;
  2523. function onDidClose(aHandler : TVSNumberHandler; aThis : JSvalue): TVSDisposable; overload;
  2524. function onDidClose(aHandler : TVSNumberHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2525. procedure open(initialDimensions: TVSTerminalDimensions) ;
  2526. procedure open() ;
  2527. procedure close() ;
  2528. procedure handleInput(data: string) ;
  2529. procedure setDimensions(dimensions: TVSTerminalDimensions) ;
  2530. end;
  2531. TVSTerminalDimensions = class external name 'TVSTerminalDimensions' (TJSObject)
  2532. Private
  2533. Fcolumns : NativeInt; external name 'columns';
  2534. Frows : NativeInt; external name 'rows';
  2535. Public
  2536. Property columns : NativeInt read Fcolumns;
  2537. Property rows : NativeInt read Frows;
  2538. end;
  2539. TVSTerminalExitStatus = class external name 'TerminalExitStatus' (TJSObject)
  2540. Private
  2541. Fcode : NativeInt ;external name 'code';
  2542. Public
  2543. Property code : NativeInt read Fcode;
  2544. end;
  2545. TVSEnvironmentVariableMutator = class external name 'TVSEnvironmentVariableMutator' (TJSObject)
  2546. Private
  2547. Ftype : TVSEnvironmentVariableMutatorType; external name 'type';
  2548. Fvalue : string; external name 'value';
  2549. Public
  2550. Property type_ : TVSEnvironmentVariableMutatorType read Ftype;
  2551. Property value : string read Fvalue;
  2552. end;
  2553. TVSEnvironmentVariableCallback = reference to function (variable: string; mutator: TVSEnvironmentVariableMutator; collection: TVSEnvironmentVariableCollection) : JSValue;
  2554. TVSEnvironmentVariableCollection = class external name 'EnvironmentVariableCollection' (TJSObject)
  2555. Public
  2556. persistent: boolean;
  2557. procedure replace(variable: string; value: string) ;
  2558. procedure append(variable: string; value: string) ;
  2559. procedure prepend(variable: string; value: string) ;
  2560. function get(variable: string) : TVSEnvironmentVariableMutator ;
  2561. procedure forEach(callback:TVSEnvironmentVariableCallback); overload;
  2562. procedure forEach(callback:TVSEnvironmentVariableCallback; thisArg: JSValue) ; overload;
  2563. procedure delete(variable: string) ;
  2564. procedure clear() ;
  2565. end;
  2566. TVSProgressOptionsLocationOption = class external name 'Object' (TJSObject)
  2567. viewId: string;
  2568. end;
  2569. TVSProgressOptions = class external name 'ProgressOptions' (TJSObject)
  2570. Public
  2571. location: TVSProgressLocation;
  2572. locationObj : TVSProgressOptionsLocationOption; external name 'location';
  2573. title: string;
  2574. cancellable: boolean;
  2575. end;
  2576. TVSQuickInput = class external name 'QuickInput' (TJSObject)
  2577. Public
  2578. title: string ;
  2579. step: NativeInt ;
  2580. totalSteps: NativeInt ;
  2581. enabled: boolean;
  2582. busy: boolean;
  2583. ignoreFocusOut: boolean;
  2584. procedure show() ;
  2585. procedure hide() ;
  2586. function onDidHide(aHandler : TVSvoidHandler) : TVSDisposable; overload;
  2587. function onDidHide(aHandler : TVSvoidHandler; aThis : JSvalue): TVSDisposable; overload;
  2588. function onDidHide(aHandler : TVSvoidHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2589. procedure dispose() ;
  2590. end;
  2591. // TVSQuickPickItem
  2592. TVSQuickPickItemEventHandler = reference to function(aEvent : TVSQuickPickItemDynArray) : JSValue;
  2593. TVSQuickPick = class external name 'QuickPick' (TVSQuickInput)
  2594. Public
  2595. items: TVSQuickPickItemDynArray;
  2596. canSelectMany: boolean;
  2597. matchOnDescription: boolean;
  2598. matchOnDetail: boolean;
  2599. activeItems: TVSQuickPickItemDynArray;
  2600. value: string;
  2601. placeholder: string ;
  2602. buttons: TVSQuickInputButtonDynArray;
  2603. selectedItems: TVSQuickPickItemDynArray;
  2604. function onDidChangeValue(aHandler : TVSstringHandler) : TVSDisposable; overload;
  2605. function onDidChangeValue(aHandler : TVSstringHandler; aThis : JSvalue): TVSDisposable; overload;
  2606. function onDidChangeValue(aHandler : TVSstringHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2607. function onDidAccept(aHandler : TVSvoidHandler) : TVSDisposable; overload;
  2608. function onDidAccept(aHandler : TVSvoidHandler; aThis : JSvalue): TVSDisposable; overload;
  2609. function onDidAccept(aHandler : TVSvoidHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2610. function onDidHide(aHandler : TVSvoidHandler) : TVSDisposable; overload;
  2611. function onDidHide(aHandler : TVSvoidHandler; aThis : JSvalue): TVSDisposable; overload;
  2612. function onDidHide(aHandler : TVSvoidHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2613. function onDidTriggerButton(aHandler : TVSQuickInputButtonHandler) : TVSDisposable; overload;
  2614. function onDidTriggerButton(aHandler : TVSQuickInputButtonHandler; aThis : JSvalue): TVSDisposable; overload;
  2615. function onDidTriggerButton(aHandler : TVSQuickInputButtonHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2616. function onDidChangeActive(aHandler : TVSQuickPickItemEventHandler) : TVSDisposable; overload;
  2617. function onDidChangeActive(aHandler : TVSQuickPickItemEventHandler; aThis : JSvalue): TVSDisposable; overload;
  2618. function onDidChangeActive(aHandler : TVSQuickPickItemEventHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2619. function onDidChangeSelection(aHandler : TVSQuickPickItemEventHandler) : TVSDisposable; overload;
  2620. function onDidChangeSelection(aHandler : TVSQuickPickItemEventHandler; aThis : JSvalue): TVSDisposable; overload;
  2621. function onDidChangeSelection(aHandler : TVSQuickPickItemEventHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2622. end;
  2623. // TVSQuickInput
  2624. TVSInputBox = class external name 'InputBox' (TVSQuickInput)
  2625. Public
  2626. value: string;
  2627. placeholder: string ;
  2628. password: boolean;
  2629. buttons: TVSQuickInputButtonDynArray;
  2630. prompt: string ;
  2631. validationMessage: string ;
  2632. function onDidChangeValue (aHandler : TVSstringHandler) : TVSDisposable; overload;
  2633. function onDidChangeValue(aHandler : TVSstringHandler; aThis : JSvalue): TVSDisposable; overload;
  2634. function onDidChangeValue(aHandler : TVSstringHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2635. function onDidAccept(aHandler : TVSvoidHandler) : TVSDisposable; overload;
  2636. function onDidAccept(aHandler : TVSvoidHandler; aThis : JSvalue): TVSDisposable; overload;
  2637. function onDidAccept(aHandler : TVSvoidHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2638. function onDidHide(aHandler : TVSvoidHandler) : TVSDisposable; overload;
  2639. function onDidHide(aHandler : TVSvoidHandler; aThis : JSvalue): TVSDisposable; overload;
  2640. function onDidHide(aHandler : TVSvoidHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2641. function onDidTriggerButton(aHandler : TVSQuickInputButtonHandler) : TVSDisposable; overload;
  2642. function onDidTriggerButton(aHandler : TVSQuickInputButtonHandler; aThis : JSvalue): TVSDisposable; overload;
  2643. function onDidTriggerButton(aHandler : TVSQuickInputButtonHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2644. end;
  2645. TVSQuickInputButton = class external name 'QuickInputButton' (TJSObject)
  2646. Public
  2647. iconPath: TVSUri;
  2648. iconPathObj : TVSIconPathObject; external name 'iconPath';
  2649. iconPathTheme: TVSThemeIcon; external name 'iconPath';
  2650. tooltip : string;
  2651. end;
  2652. TVSQuickInputButtons = class external name 'QuickInputButtons' (TJSObject)
  2653. Public
  2654. class var Back: TVSQuickInputButton;
  2655. end;
  2656. TVSTextDocumentContentChangeEvent = class external name 'TextDocumentContentChangeEvent' (TJSObject)
  2657. Private
  2658. Frange : TVSRange; external name 'range';
  2659. FrangeOffset : NativeInt; external name 'rangeOffset';
  2660. FrangeLength : NativeInt; external name 'rangeLength';
  2661. Ftext : string; external name 'text';
  2662. Public
  2663. Property range : TVSRange read Frange;
  2664. Property rangeOffset : NativeInt read FrangeOffset;
  2665. Property rangeLength : NativeInt read FrangeLength;
  2666. Property text : string read Ftext;
  2667. end;
  2668. TVSTextDocumentChangeEvent = class external name 'TextDocumentChangeEvent' (TJSObject)
  2669. Private
  2670. Fdocument : TVSTextDocument; external name 'document';
  2671. FcontentChanges : TVSTextDocumentContentChangeEventDynArray; external name 'contentChanges';
  2672. Public
  2673. Property document : TVSTextDocument read Fdocument;
  2674. Property contentChanges : TVSTextDocumentContentChangeEventDynArray read FcontentChanges;
  2675. end;
  2676. TVSTextDocumentWillSaveEvent = class external name 'TextDocumentWillSaveEvent' (TJSObject)
  2677. Private
  2678. Fdocument : TVSTextDocument; external name 'document';
  2679. Freason : TVSTextDocumentSaveReason; external name 'reason';
  2680. Public
  2681. Property document : TVSTextDocument read Fdocument;
  2682. Property reason : TVSTextDocumentSaveReason read Freason;
  2683. procedure waitUntil(aThenable: TVSThenable);
  2684. end;
  2685. TVSFileWillCreateEvent = class external name 'FileWillCreateEvent' (TJSObject)
  2686. Private
  2687. Ffiles : TVSUriDynArray; external name 'files';
  2688. Public
  2689. Property files : TVSUriDynArray read Ffiles;
  2690. procedure waitUntil(aThenable: TVSThenable) ;
  2691. end;
  2692. TVSFileCreateEvent = class external name 'FileCreateEvent' (TJSObject)
  2693. Private
  2694. Ffiles : TVSUriDynArray; external name 'files';
  2695. Public
  2696. Property files : TVSUriDynArray read Ffiles;
  2697. end;
  2698. TVSFileWillDeleteEvent = class external name 'FileWillDeleteEvent' (TJSObject)
  2699. Private
  2700. Ffiles : TVSUriDynArray; external name 'files';
  2701. Public
  2702. Property files : TVSUriDynArray read Ffiles;
  2703. procedure waitUntil(aThenable: TVSThenable) ;
  2704. end;
  2705. TVSFileDeleteEvent = class external name 'FileDeleteEvent' (TJSObject)
  2706. Private
  2707. Ffiles : TVSUriDynArray; external name 'files';
  2708. Public
  2709. Property files : TVSUriDynArray read Ffiles;
  2710. end;
  2711. TVSFileWillRenameObj = class external name 'Object' (TJSObject)
  2712. oldUri: TVSUri;
  2713. newUri: TVSUri;
  2714. end;
  2715. TVSFileWillRenameObjDynArray = Array of TVSFileWillRenameObj;
  2716. TVSFileWillRenameEvent = class external name 'FileWillRenameEvent' (TJSObject)
  2717. private
  2718. ffiles : TVSFileWillRenameObjDynArray; external name 'files';
  2719. Public
  2720. Property files: TVSFileWillRenameObjDynArray read ffiles;
  2721. procedure waitUntil(AThenable: TVSThenable) ;
  2722. end;
  2723. TVSFileRenameEvent = class external name 'FileRenameEvent' (TJSObject)
  2724. private
  2725. ffiles : TVSFileWillRenameObjDynArray; external name 'files';
  2726. Public
  2727. Property files: TVSFileWillRenameObjDynArray read ffiles;
  2728. end;
  2729. TVSWorkspaceFoldersChangeEvent = class external name 'WorkspaceFoldersChangeEvent' (TJSObject)
  2730. Private
  2731. Fadded : TVSWorkspaceFolderDynArray; external name 'added';
  2732. Fremoved : TVSWorkspaceFolderDynArray; external name 'removed';
  2733. Public
  2734. Property added : TVSWorkspaceFolderDynArray read Fadded;
  2735. Property removed : TVSWorkspaceFolderDynArray read Fremoved;
  2736. end;
  2737. TVSWorkspaceFolder = class external name 'WorkspaceFolder' (TJSObject)
  2738. Private
  2739. Furi : TVSUri; external name 'uri';
  2740. Fname : string; external name 'name';
  2741. Findex : NativeInt; external name 'index';
  2742. Public
  2743. Property uri : TVSUri read Furi;
  2744. Property name : string read Fname;
  2745. Property index : NativeInt read Findex;
  2746. end;
  2747. TVSworkspaceFolderObj = class external name 'Object' (TJSObject)
  2748. uri: TVSUri;
  2749. end;
  2750. TVSworkspaceFolderObjDynArray = Array of TVSworkspaceFolderObj;
  2751. TVSOpenOptions = class external name 'Object' (TJSObject)
  2752. language : string;
  2753. content : string;
  2754. end;
  2755. TVSregisterFileSystemProviderOptions = class external name 'Object' (TJSObject)
  2756. isCaseSensitive: boolean;
  2757. isReadonly: boolean
  2758. end;
  2759. TVSGlobPattern = String;
  2760. TVSNSworkspace = class external name 'Object' (TJSObject)
  2761. private
  2762. ftextDocuments: TVSTextDocumentDynArray; external name 'textDocuments';
  2763. Ffs: TVSFileSystem; external name 'fs';
  2764. FrootPath: string ; external name 'rootPath';
  2765. FworkspaceFolders: TVSWorkspaceFolderDynArray ; external name 'workspaceFolders';
  2766. Fname: string ; external name 'name';
  2767. FworkspaceFile: TVSUri ; external name 'workspaceFile';
  2768. Public
  2769. property fs: TVSFileSystem read ffs;
  2770. property rootPath: string read frootpath;
  2771. property workspaceFolders: TVSWorkspaceFolderDynArray read FworkspaceFolders;
  2772. property name: string read fname;
  2773. property workspaceFile: TVSUri read fworkspaceFile ;
  2774. function onDidChangeWorkspaceFolders(aHandler : TVSWorkspaceFoldersChangeEventHandler) : TVSDisposable; overload;
  2775. function onDidChangeWorkspaceFolders(aHandler : TVSWorkspaceFoldersChangeEventHandler; aThis : JSvalue): TVSDisposable; overload;
  2776. function onDidChangeWorkspaceFolders(aHandler : TVSWorkspaceFoldersChangeEventHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2777. function getWorkspaceFolder(uri: TVSUri) : TVSWorkspaceFolder ;
  2778. function asRelativePath(pathOrUri: string) : string; overload;
  2779. function asRelativePath(pathOrUri: TVSUri) : string; overload;
  2780. function asRelativePath(pathOrUri: string; includeWorkspaceFolder: boolean) : string; overload;
  2781. function asRelativePath(pathOrUri: TVSUri; includeWorkspaceFolder: boolean) : string; overload;
  2782. function updateWorkspaceFolders(start: NativeInt; deleteCount: NativeInt; workspaceFoldersToAdd: TVSworkspaceFolderObjDynArray): boolean; overload;
  2783. function createFileSystemWatcher(aGlobPattern: TVSGlobPattern) : TVSFileSystemWatcher; overload;
  2784. function createFileSystemWatcher(aGlobPattern: TVSGlobPattern; ignoreCreateEvents: boolean) : TVSFileSystemWatcher; overload;
  2785. function createFileSystemWatcher(aGlobPattern: TVSGlobPattern; ignoreCreateEvents: boolean; ignoreChangeEvents: boolean) : TVSFileSystemWatcher; overload;
  2786. function createFileSystemWatcher(aGlobPattern: TVSGlobPattern; ignoreCreateEvents: boolean; ignoreChangeEvents: boolean; ignoreDeleteEvents: boolean) : TVSFileSystemWatcher; overload;
  2787. function createFileSystemWatcher(aGlobPattern: TVSRelativePattern) : TVSFileSystemWatcher; overload;
  2788. function createFileSystemWatcher(aGlobPattern: TVSRelativePattern; ignoreCreateEvents: boolean) : TVSFileSystemWatcher; overload;
  2789. function createFileSystemWatcher(aGlobPattern: TVSRelativePattern; ignoreCreateEvents: boolean; ignoreChangeEvents: boolean) : TVSFileSystemWatcher; overload;
  2790. function createFileSystemWatcher(aGlobPattern: TVSRelativePattern; ignoreCreateEvents: boolean; ignoreChangeEvents: boolean; ignoreDeleteEvents: boolean) : TVSFileSystemWatcher; overload;
  2791. function findFiles(include: TVSGlobPattern) : TVSThenable; // TVSUriDynArray overload;
  2792. function findFiles(include: TVSGlobPattern; exclude: TVSGlobPattern) : TVSThenable; // TVSUriDynArray overload;
  2793. function findFiles(include: TVSGlobPattern; exclude: TVSGlobPattern; maxResults: NativeInt) : TVSThenable; // TVSUriDynArray overload;
  2794. function findFiles(include: TVSGlobPattern; exclude: TVSGlobPattern; maxResults: NativeInt; token: TVSCancellationToken) : TVSThenable; // TVSUriDynArray overload;
  2795. function findFiles(include: TVSRelativePattern) : TVSThenable; // TVSUriDynArray overload;
  2796. function findFiles(include: TVSRelativePattern; exclude: TVSGlobPattern) : TVSThenable; // TVSUriDynArray overload;
  2797. function findFiles(include: TVSRelativePattern; exclude: TVSGlobPattern; maxResults: NativeInt) : TVSThenable; // TVSUriDynArray overload;
  2798. function findFiles(include: TVSRelativePattern; exclude: TVSGlobPattern; maxResults: NativeInt; token: TVSCancellationToken) : TVSThenable; // TVSUriDynArray overload;
  2799. function findFiles(include: TVSRelativePattern; exclude: TVSRelativePattern) : TVSThenable; // TVSUriDynArray overload;
  2800. function findFiles(include: TVSRelativePattern; exclude: TVSRelativePattern; maxResults: NativeInt) : TVSThenable; // TVSUriDynArray overload;
  2801. function findFiles(include: TVSRelativePattern; exclude: TVSRelativePattern; maxResults: NativeInt; token: TVSCancellationToken) : TVSThenable; // TVSUriDynArray overload;
  2802. function findFiles(include: TVSGlobPattern; exclude: TVSRelativePattern) : TVSThenable; // TVSUriDynArray overload;
  2803. function findFiles(include: TVSGlobPattern; exclude: TVSRelativePattern; maxResults: NativeInt) : TVSThenable; // TVSUriDynArray overload;
  2804. function findFiles(include: TVSGlobPattern; exclude: TVSRelativePattern; maxResults: NativeInt; token: TVSCancellationToken) : TVSThenable; // TVSUriDynArray overload;
  2805. function saveAll() : TVSThenable; // boolean overload;
  2806. function saveAll(includeUntitled: boolean) : TVSThenable; // boolean overload;
  2807. function applyEdit(edit: TVSWorkspaceEdit) : TVSThenable; // boolean
  2808. function openTextDocument(uri: TVSUri) : TVSThenable; // TVSTextDocument
  2809. function openTextDocument(fileName: string) : TVSThenable; // TVSTextDocument
  2810. function openTextDocument(options: TVSOpenOptions): TVSThenable; // TVSTextDocument overload;
  2811. function registerTextDocumentContentProvider(scheme: string; provider: TVSTextDocumentContentProvider) : TVSDisposable;
  2812. function onDidOpenTextDocument(aHandler : TVSTextDocumentHandler) : TVSDisposable; overload;
  2813. function onDidOpenTextDocument(aHandler : TVSTextDocumentHandler; aThis : JSvalue): TVSDisposable; overload;
  2814. function onDidOpenTextDocument(aHandler : TVSTextDocumentHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2815. function onDidCloseTextDocument(aHandler : TVSTextDocumentHandler) : TVSDisposable; overload;
  2816. function onDidCloseTextDocument(aHandler : TVSTextDocumentHandler; aThis : JSvalue): TVSDisposable; overload;
  2817. function onDidCloseTextDocument(aHandler : TVSTextDocumentHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2818. function onDidChangeTextDocument(aHandler : TVSTextDocumentChangeEventHandler) : TVSDisposable; overload;
  2819. function onDidChangeTextDocument(aHandler : TVSTextDocumentChangeEventHandler; aThis : JSvalue): TVSDisposable; overload;
  2820. function onDidChangeTextDocument(aHandler : TVSTextDocumentChangeEventHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2821. function onWillSaveTextDocument(aHandler : TVSTextDocumentWillSaveEventHandler) : TVSDisposable; overload;
  2822. function onWillSaveTextDocument(aHandler : TVSTextDocumentWillSaveEventHandler; aThis : JSvalue): TVSDisposable; overload;
  2823. function onWillSaveTextDocument(aHandler : TVSTextDocumentWillSaveEventHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2824. function onDidSaveTextDocument(aHandler : TVSTextDocumentHandler) : TVSDisposable; overload;
  2825. function onDidSaveTextDocument(aHandler : TVSTextDocumentHandler; aThis : JSvalue): TVSDisposable; overload;
  2826. function onDidSaveTextDocument(aHandler : TVSTextDocumentHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2827. function onWillCreateFiles(aHandler : TVSFileWillCreateEventHandler) : TVSDisposable; overload;
  2828. function onWillCreateFiles(aHandler : TVSFileWillCreateEventHandler; aThis : JSvalue): TVSDisposable; overload;
  2829. function onWillCreateFiles(aHandler : TVSFileWillCreateEventHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2830. function onDidCreateFiles(aHandler : TVSFileCreateEventHandler) : TVSDisposable; overload;
  2831. function onDidCreateFiles(aHandler : TVSFileCreateEventHandler; aThis : JSvalue): TVSDisposable; overload;
  2832. function onDidCreateFiles(aHandler : TVSFileCreateEventHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2833. function onWillDeleteFiles(aHandler : TVSFileWillDeleteEventHandler) : TVSDisposable; overload;
  2834. function onWillDeleteFiles(aHandler : TVSFileWillDeleteEventHandler; aThis : JSvalue): TVSDisposable; overload;
  2835. function onWillDeleteFiles(aHandler : TVSFileWillDeleteEventHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2836. function onDidDeleteFiles(aHandler : TVSFileDeleteEventHandler) : TVSDisposable; overload;
  2837. function onDidDeleteFiles(aHandler : TVSFileDeleteEventHandler; aThis : JSvalue): TVSDisposable; overload;
  2838. function onDidDeleteFiles(aHandler : TVSFileDeleteEventHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2839. function onWillRenameFiles(aHandler : TVSFileWillRenameEventHandler) : TVSDisposable; overload;
  2840. function onWillRenameFiles(aHandler : TVSFileWillRenameEventHandler; aThis : JSvalue): TVSDisposable; overload;
  2841. function onWillRenameFiles(aHandler : TVSFileWillRenameEventHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2842. function onDidRenameFiles(aHandler : TVSFileRenameEventHandler) : TVSDisposable; overload;
  2843. function onDidRenameFiles(aHandler : TVSFileRenameEventHandler; aThis : JSvalue): TVSDisposable; overload;
  2844. function onDidRenameFiles(aHandler : TVSFileRenameEventHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2845. function getConfiguration() : TVSWorkspaceConfiguration; overload;
  2846. function getConfiguration(section: string) : TVSWorkspaceConfiguration; overload;
  2847. function getConfiguration(section: string ;scope: TVSConfigurationScope) : TVSWorkspaceConfiguration; overload;
  2848. function onDidChangeConfiguration(aHandler : TVSConfigurationChangeEventHandler) : TVSDisposable; overload;
  2849. function onDidChangeConfiguration(aHandler : TVSConfigurationChangeEventHandler; aThis : JSvalue): TVSDisposable; overload;
  2850. function onDidChangeConfiguration(aHandler : TVSConfigurationChangeEventHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2851. function registerTaskProvider(atype: string; provider: TVSTaskProvider) : TVSDisposable;
  2852. function registerFileSystemProvider(scheme: string; provider: TVSFileSystemProvider): TVSDisposable; overload;
  2853. function registerFileSystemProvider(scheme: string; provider: TVSFileSystemProvider; options: TVSregisterFileSystemProviderOptions): TVSDisposable; overload;
  2854. property textDocuments: TVSTextDocumentDynArray read ftextDocuments;
  2855. end;
  2856. TVSConfigurationScopeObj = class external name 'Object' (TJSObject)
  2857. uri: TVSUri;
  2858. languageId: string;
  2859. end;
  2860. TVSConfigurationChangeEvent = class external name 'ConfigurationChangeEvent' (TJSObject)
  2861. Public
  2862. function affectsConfiguration(section: string) : boolean; overload;
  2863. function affectsConfiguration(section: string; scope: TVSConfigurationScope) : boolean; overload;
  2864. end;
  2865. TVSNSlanguages = class external name 'Object' (TJSObject)
  2866. Public
  2867. function getLanguages() : TVSThenable; // stringDynArray
  2868. function setTextDocumentLanguage(document: TVSTextDocument; languageId: string) : TVSThenable; // TVSTextDocument
  2869. function match(selector: string; document: TVSTextDocument) : NativeInt;
  2870. function match(selector: tstringdynarray; document: TVSTextDocument) : NativeInt;
  2871. function match(selector: TVSDocumentFilter; document: TVSTextDocument) : NativeInt;
  2872. function match(selector: TVSDocumentFilterDynArray; document: TVSTextDocument) : NativeInt;
  2873. function onDidChangeDiagnostics(aHandler : TVSDiagnosticChangeEventHandler) : TVSDisposable; overload;
  2874. function onDidChangeDiagnostics(aHandler : TVSDiagnosticChangeEventHandler; aThis : JSvalue): TVSDisposable; overload;
  2875. function onDidChangeDiagnostics(aHandler : TVSDiagnosticChangeEventHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  2876. function getDiagnostics(resource: TVSUri) : TVSDiagnosticDynArray;
  2877. function getDiagnostics() : TVSDiagnosticDynArray;
  2878. function createDiagnosticCollection() : TVSDiagnosticCollection; overload;
  2879. function createDiagnosticCollection(name: string) : TVSDiagnosticCollection; overload;
  2880. function registerCompletionItemProvider(selector: TVSDocumentFilter; provider: TVSCompletionItemProvider; triggerCharacters: TstringDynArray) : TVSDisposable;
  2881. function registerCompletionItemProvider(selector: TVSDocumentFilterDynArray; provider: TVSCompletionItemProvider; triggerCharacters: TstringDynArray) : TVSDisposable;
  2882. function registerCompletionItemProvider(selector: string; provider: TVSCompletionItemProvider; triggerCharacters: TstringDynArray) : TVSDisposable;
  2883. function registerCompletionItemProvider(selector: TStringDynArray; provider: TVSCompletionItemProvider; triggerCharacters: TstringDynArray) : TVSDisposable;
  2884. function registerCodeActionsProvider(selector: string; provider: TVSCodeActionProvider) : TVSDisposable; overload;
  2885. function registerCodeActionsProvider(selector: TStringDynArray; provider: TVSCodeActionProvider) : TVSDisposable; overload;
  2886. function registerCodeActionsProvider(selector: TVSDocumentFilter; provider: TVSCodeActionProvider) : TVSDisposable; overload;
  2887. function registerCodeActionsProvider(selector: TVSDocumentFilterDynArray; provider: TVSCodeActionProvider) : TVSDisposable; overload;
  2888. function registerCodeActionsProvider(selector: string; provider: TVSCodeActionProvider; metadata: TVSCodeActionProviderMetadata) : TVSDisposable; overload;
  2889. function registerCodeActionsProvider(selector: TStringDynArray; provider: TVSCodeActionProvider; metadata: TVSCodeActionProviderMetadata) : TVSDisposable; overload;
  2890. function registerCodeActionsProvider(selector: TVSDocumentFilter; provider: TVSCodeActionProvider; metadata: TVSCodeActionProviderMetadata) : TVSDisposable; overload;
  2891. function registerCodeActionsProvider(selector: TVSDocumentFilterDynArray; provider: TVSCodeActionProvider; metadata: TVSCodeActionProviderMetadata) : TVSDisposable; overload;
  2892. function registerCodeLensProvider(selector: string; provider: TVSCodeLensProvider) : TVSDisposable;
  2893. function registerCodeLensProvider(selector: TStringDynArray; provider: TVSCodeLensProvider) : TVSDisposable;
  2894. function registerCodeLensProvider(selector: TVSDocumentFilter; provider: TVSCodeLensProvider) : TVSDisposable;
  2895. function registerCodeLensProvider(selector: TVSDocumentFilterDynArray; provider: TVSCodeLensProvider) : TVSDisposable;
  2896. function registerDefinitionProvider(selector: string; provider: TVSDefinitionProvider) : TVSDisposable;
  2897. function registerDefinitionProvider(selector: TStringDynArray; provider: TVSDefinitionProvider) : TVSDisposable;
  2898. function registerDefinitionProvider(selector: TVSDocumentFilter; provider: TVSDefinitionProvider) : TVSDisposable;
  2899. function registerDefinitionProvider(selector: TVSDocumentFilterDynArray; provider: TVSDefinitionProvider) : TVSDisposable;
  2900. function registerImplementationProvider(selector: string; provider: TVSImplementationProvider) : TVSDisposable;
  2901. function registerImplementationProvider(selector: TStringDynArray; provider: TVSImplementationProvider) : TVSDisposable;
  2902. function registerImplementationProvider(selector: TVSDocumentFilter; provider: TVSImplementationProvider) : TVSDisposable;
  2903. function registerImplementationProvider(selector: TVSDocumentFilterDynArray; provider: TVSImplementationProvider) : TVSDisposable;
  2904. function registerTypeDefinitionProvider(selector: string; provider: TVSTypeDefinitionProvider) : TVSDisposable;
  2905. function registerTypeDefinitionProvider(selector: TStringDynArray; provider: TVSTypeDefinitionProvider) : TVSDisposable;
  2906. function registerTypeDefinitionProvider(selector: TVSDocumentFilter; provider: TVSTypeDefinitionProvider) : TVSDisposable;
  2907. function registerTypeDefinitionProvider(selector: TVSDocumentFilterDynArray; provider: TVSTypeDefinitionProvider) : TVSDisposable;
  2908. function registerDeclarationProvider(selector: string; provider: TVSDeclarationProvider) : TVSDisposable;
  2909. function registerDeclarationProvider(selector: TStringDynArray; provider: TVSDeclarationProvider) : TVSDisposable;
  2910. function registerDeclarationProvider(selector: TVSDocumentFilter; provider: TVSDeclarationProvider) : TVSDisposable;
  2911. function registerDeclarationProvider(selector: TVSDocumentFilterDynArray; provider: TVSDeclarationProvider) : TVSDisposable;
  2912. function registerHoverProvider(selector: string; provider: TVSHoverProvider) : TVSDisposable;
  2913. function registerHoverProvider(selector: TStringDynArray; provider: TVSHoverProvider) : TVSDisposable;
  2914. function registerHoverProvider(selector: TVSDocumentFilter; provider: TVSHoverProvider) : TVSDisposable;
  2915. function registerHoverProvider(selector: TVSDocumentFilterDynArray; provider: TVSHoverProvider) : TVSDisposable;
  2916. function registerEvaluatableExpressionProvider(selector: string; provider: TVSEvaluatableExpressionProvider) : TVSDisposable;
  2917. function registerEvaluatableExpressionProvider(selector: TStringDynArray; provider: TVSEvaluatableExpressionProvider) : TVSDisposable;
  2918. function registerEvaluatableExpressionProvider(selector: TVSDocumentFilter; provider: TVSEvaluatableExpressionProvider) : TVSDisposable;
  2919. function registerEvaluatableExpressionProvider(selector: TVSDocumentFilterDynArray; provider: TVSEvaluatableExpressionProvider) : TVSDisposable;
  2920. function registerDocumentHighlightProvider(selector: string; provider: TVSDocumentHighlightProvider) : TVSDisposable;
  2921. function registerDocumentHighlightProvider(selector: TStringDynArray; provider: TVSDocumentHighlightProvider) : TVSDisposable;
  2922. function registerDocumentHighlightProvider(selector: TVSDocumentFilter; provider: TVSDocumentHighlightProvider) : TVSDisposable;
  2923. function registerDocumentHighlightProvider(selector: TVSDocumentFilterDynArray; provider: TVSDocumentHighlightProvider) : TVSDisposable;
  2924. function registerDocumentSymbolProvider(selector: string; provider: TVSDocumentSymbolProvider) : TVSDisposable; overload;
  2925. function registerDocumentSymbolProvider(selector: TStringDynArray; provider: TVSDocumentSymbolProvider) : TVSDisposable; overload;
  2926. function registerDocumentSymbolProvider(selector: TVSDocumentFilter; provider: TVSDocumentSymbolProvider) : TVSDisposable; overload;
  2927. function registerDocumentSymbolProvider(selector: TVSDocumentFilterDynArray; provider: TVSDocumentSymbolProvider) : TVSDisposable; overload;
  2928. function registerDocumentSymbolProvider(selector: string; provider: TVSDocumentSymbolProvider; metaData: TVSDocumentSymbolProviderMetadata) : TVSDisposable; overload;
  2929. function registerDocumentSymbolProvider(selector: TStringDynArray; provider: TVSDocumentSymbolProvider; metaData: TVSDocumentSymbolProviderMetadata) : TVSDisposable; overload;
  2930. function registerDocumentSymbolProvider(selector: TVSDocumentFilter; provider: TVSDocumentSymbolProvider; metaData: TVSDocumentSymbolProviderMetadata) : TVSDisposable; overload;
  2931. function registerDocumentSymbolProvider(selector: TVSDocumentFilterDynArray; provider: TVSDocumentSymbolProvider; metaData: TVSDocumentSymbolProviderMetadata) : TVSDisposable; overload;
  2932. function registerWorkspaceSymbolProvider(provider: TVSWorkspaceSymbolProvider) : TVSDisposable;
  2933. function registerReferenceProvider(selector: string; provider: TVSReferenceProvider) : TVSDisposable;
  2934. function registerReferenceProvider(selector: TStringDynArray; provider: TVSReferenceProvider) : TVSDisposable;
  2935. function registerReferenceProvider(selector: TVSDocumentFilter; provider: TVSReferenceProvider) : TVSDisposable;
  2936. function registerReferenceProvider(selector: TVSDocumentFilterDynArray; provider: TVSReferenceProvider) : TVSDisposable;
  2937. function registerRenameProvider(selector: string; provider: TVSRenameProvider) : TVSDisposable;
  2938. function registerRenameProvider(selector: TStringDynArray; provider: TVSRenameProvider) : TVSDisposable;
  2939. function registerRenameProvider(selector: TVSDocumentFilter; provider: TVSRenameProvider) : TVSDisposable;
  2940. function registerRenameProvider(selector: TVSDocumentFilterDynArray; provider: TVSRenameProvider) : TVSDisposable;
  2941. function registerDocumentSemanticTokensProvider(selector: string; provider: TVSDocumentSemanticTokensProvider; legend: TVSSemanticTokensLegend) : TVSDisposable;
  2942. function registerDocumentSemanticTokensProvider(selector: TStringDynArray; provider: TVSDocumentSemanticTokensProvider; legend: TVSSemanticTokensLegend) : TVSDisposable;
  2943. function registerDocumentSemanticTokensProvider(selector: TVSDocumentFilter; provider: TVSDocumentSemanticTokensProvider; legend: TVSSemanticTokensLegend) : TVSDisposable;
  2944. function registerDocumentSemanticTokensProvider(selector: TVSDocumentFilterDynArray; provider: TVSDocumentSemanticTokensProvider; legend: TVSSemanticTokensLegend) : TVSDisposable;
  2945. function registerDocumentRangeSemanticTokensProvider(selector: string; provider: TVSDocumentRangeSemanticTokensProvider; legend: TVSSemanticTokensLegend) : TVSDisposable;
  2946. function registerDocumentRangeSemanticTokensProvider(selector: TStringDynArray; provider: TVSDocumentRangeSemanticTokensProvider; legend: TVSSemanticTokensLegend) : TVSDisposable;
  2947. function registerDocumentRangeSemanticTokensProvider(selector: TVSDocumentFilter; provider: TVSDocumentRangeSemanticTokensProvider; legend: TVSSemanticTokensLegend) : TVSDisposable;
  2948. function registerDocumentRangeSemanticTokensProvider(selector: TVSDocumentFilterDynArray; provider: TVSDocumentRangeSemanticTokensProvider; legend: TVSSemanticTokensLegend) : TVSDisposable;
  2949. function registerDocumentFormattingEditProvider(selector: string; provider: TVSDocumentFormattingEditProvider) : TVSDisposable;
  2950. function registerDocumentFormattingEditProvider(selector: TStringDynArray; provider: TVSDocumentFormattingEditProvider) : TVSDisposable;
  2951. function registerDocumentFormattingEditProvider(selector: TVSDocumentFilter; provider: TVSDocumentFormattingEditProvider) : TVSDisposable;
  2952. function registerDocumentFormattingEditProvider(selector: TVSDocumentFilterDynArray; provider: TVSDocumentFormattingEditProvider) : TVSDisposable;
  2953. function registerDocumentRangeFormattingEditProvider(selector: string; provider: TVSDocumentRangeFormattingEditProvider) : TVSDisposable;
  2954. function registerDocumentRangeFormattingEditProvider(selector: TStringDynArray; provider: TVSDocumentRangeFormattingEditProvider) : TVSDisposable;
  2955. function registerDocumentRangeFormattingEditProvider(selector: TVSDocumentFilter; provider: TVSDocumentRangeFormattingEditProvider) : TVSDisposable;
  2956. function registerDocumentRangeFormattingEditProvider(selector: TVSDocumentFilterDynArray; provider: TVSDocumentRangeFormattingEditProvider) : TVSDisposable;
  2957. function registerOnTypeFormattingEditProvider(selector: string; provider: TVSOnTypeFormattingEditProvider; firstTriggerCharacter: string; moreTriggerCharacter: tstringDynArray) : TVSDisposable;
  2958. function registerOnTypeFormattingEditProvider(selector: TStringDynArray; provider: TVSOnTypeFormattingEditProvider; firstTriggerCharacter: string; moreTriggerCharacter: tstringDynArray) : TVSDisposable;
  2959. function registerOnTypeFormattingEditProvider(selector: TVSDocumentFilter; provider: TVSOnTypeFormattingEditProvider; firstTriggerCharacter: string; moreTriggerCharacter: tstringDynArray) : TVSDisposable;
  2960. function registerOnTypeFormattingEditProvider(selector: TVSDocumentFilterDynArray; provider: TVSOnTypeFormattingEditProvider; firstTriggerCharacter: string; moreTriggerCharacter: tstringDynArray) : TVSDisposable;
  2961. function registerSignatureHelpProvider(selector: string; provider: TVSSignatureHelpProvider; triggerCharacters: tstringDynArray) : TVSDisposable;
  2962. function registerSignatureHelpProvider(selector: TStringDynArray; provider: TVSSignatureHelpProvider; triggerCharacters: tstringDynArray) : TVSDisposable;
  2963. function registerSignatureHelpProvider(selector: TVSDocumentFilter; provider: TVSSignatureHelpProvider; triggerCharacters: tstringDynArray) : TVSDisposable;
  2964. function registerSignatureHelpProvider(selector: TVSDocumentFilterDynArray; provider: TVSSignatureHelpProvider; triggerCharacters: tstringDynArray) : TVSDisposable;
  2965. function registerSignatureHelpProvider(selector: string; provider: TVSSignatureHelpProvider; metadata: TVSSignatureHelpProviderMetadata) : TVSDisposable;
  2966. function registerSignatureHelpProvider(selector: TStringDynArray; provider: TVSSignatureHelpProvider; metadata: TVSSignatureHelpProviderMetadata) : TVSDisposable;
  2967. function registerSignatureHelpProvider(selector: TVSDocumentFilter; provider: TVSSignatureHelpProvider; metadata: TVSSignatureHelpProviderMetadata) : TVSDisposable;
  2968. function registerSignatureHelpProvider(selector: TVSDocumentFilterDynArray; provider: TVSSignatureHelpProvider; metadata: TVSSignatureHelpProviderMetadata) : TVSDisposable;
  2969. function registerDocumentLinkProvider(selector: string; provider: TVSDocumentLinkProvider) : TVSDisposable;
  2970. function registerDocumentLinkProvider(selector: TStringDynArray; provider: TVSDocumentLinkProvider) : TVSDisposable;
  2971. function registerDocumentLinkProvider(selector: TVSDocumentFilter; provider: TVSDocumentLinkProvider) : TVSDisposable;
  2972. function registerDocumentLinkProvider(selector: TVSDocumentFilterDynArray; provider: TVSDocumentLinkProvider) : TVSDisposable;
  2973. function registerColorProvider(selector: string; provider: TVSDocumentColorProvider) : TVSDisposable;
  2974. function registerColorProvider(selector: TStringDynArray; provider: TVSDocumentColorProvider) : TVSDisposable;
  2975. function registerColorProvider(selector: TVSDocumentFilter; provider: TVSDocumentColorProvider) : TVSDisposable;
  2976. function registerColorProvider(selector: TVSDocumentFilterDynArray; provider: TVSDocumentColorProvider) : TVSDisposable;
  2977. function registerFoldingRangeProvider(selector: string; provider: TVSFoldingRangeProvider) : TVSDisposable;
  2978. function registerFoldingRangeProvider(selector: TStringDynArray; provider: TVSFoldingRangeProvider) : TVSDisposable;
  2979. function registerFoldingRangeProvider(selector: TVSDocumentFilter; provider: TVSFoldingRangeProvider) : TVSDisposable;
  2980. function registerFoldingRangeProvider(selector: TVSDocumentFilterDynArray; provider: TVSFoldingRangeProvider) : TVSDisposable;
  2981. function registerSelectionRangeProvider(selector: string; provider: TVSSelectionRangeProvider) : TVSDisposable;
  2982. function registerSelectionRangeProvider(selector: TStringDynArray; provider: TVSSelectionRangeProvider) : TVSDisposable;
  2983. function registerSelectionRangeProvider(selector: TVSDocumentFilter; provider: TVSSelectionRangeProvider) : TVSDisposable;
  2984. function registerSelectionRangeProvider(selector: TVSDocumentFilterDynArray; provider: TVSSelectionRangeProvider) : TVSDisposable;
  2985. function registerCallHierarchyProvider(selector: string; provider: TVSCallHierarchyProvider) : TVSDisposable;
  2986. function registerCallHierarchyProvider(selector: TStringDynArray; provider: TVSCallHierarchyProvider) : TVSDisposable;
  2987. function registerCallHierarchyProvider(selector: TVSDocumentFilter; provider: TVSCallHierarchyProvider) : TVSDisposable;
  2988. function registerCallHierarchyProvider(selector: TVSDocumentFilterDynArray; provider: TVSCallHierarchyProvider) : TVSDisposable;
  2989. function registerLinkedEditingRangeProvider(selector: string; provider: TVSLinkedEditingRangeProvider) : TVSDisposable;
  2990. function registerLinkedEditingRangeProvider(selector: TStringDynArray; provider: TVSLinkedEditingRangeProvider) : TVSDisposable;
  2991. function registerLinkedEditingRangeProvider(selector: TVSDocumentFilter; provider: TVSLinkedEditingRangeProvider) : TVSDisposable;
  2992. function registerLinkedEditingRangeProvider(selector: TVSDocumentFilterDynArray; provider: TVSLinkedEditingRangeProvider) : TVSDisposable;
  2993. function setLanguageConfiguration(language: string; configuration: TVSLanguageConfiguration) : TVSDisposable;
  2994. end;
  2995. TVSSourceControlInputBox = class external name 'TVSSourceControlInputBox' (TJSObject)
  2996. Public
  2997. value: string;
  2998. placeholder: string;
  2999. visible: boolean;
  3000. end;
  3001. TVSQuickDiffProvider = class external name 'Object' (TJSObject)
  3002. Public
  3003. function provideOriginalResource(uri: TVSUri; token: TVSCancellationToken) : JSValue;
  3004. end;
  3005. TVSSourceControlResourceThemableDecorations = class external name 'SourceControlResourceThemableDecorations' (TJSObject)
  3006. Private
  3007. FiconPath : string;
  3008. FiconPathObj: TVSUri; external name 'iconPath';
  3009. Public
  3010. Property iconPath : string read Ficonpath;
  3011. Property iconPathObj : TVSUri read FiconPathObj;
  3012. end;
  3013. TVSSourceControlResourceDecorations = class external name 'SourceControlResourceDecorations' (TVSSourceControlResourceThemableDecorations)
  3014. Private
  3015. FstrikeThrough : boolean; external name 'strikeThrough';
  3016. Ffaded : boolean; external name 'faded';
  3017. Ftooltip : string; external name 'tooltip';
  3018. Flight : TVSSourceControlResourceThemableDecorations; external name 'light';
  3019. Fdark : TVSSourceControlResourceThemableDecorations; external name 'dark';
  3020. Public
  3021. Property strikeThrough : boolean read FstrikeThrough;
  3022. Property faded : boolean read Ffaded;
  3023. Property tooltip : string read Ftooltip;
  3024. Property light : TVSSourceControlResourceThemableDecorations read Flight;
  3025. Property dark : TVSSourceControlResourceThemableDecorations read Fdark;
  3026. end;
  3027. TVSSourceControlResourceState = class external name 'SourceControlResourceState' (TJSObject)
  3028. Private
  3029. FresourceUri : TVSUri; external name 'resourceUri';
  3030. Fcommand : TVSCommand; external name 'command';
  3031. Fdecorations : TVSSourceControlResourceDecorations; external name 'decorations';
  3032. FcontextValue : string; external name 'contextValue';
  3033. Public
  3034. Property resourceUri : TVSUri read FresourceUri;
  3035. Property command : TVSCommand read Fcommand;
  3036. Property decorations : TVSSourceControlResourceDecorations read Fdecorations;
  3037. Property contextValue : string read FcontextValue;
  3038. end;
  3039. TVSSourceControlResourceGroup = class external name 'SourceControlResourceGroup' (TJSObject)
  3040. Private
  3041. Fid : string; external name 'id';
  3042. Public
  3043. label_: string; external name 'label';
  3044. hideWhenEmpty: boolean;
  3045. resourceStates: TVSSourceControlResourceStateDynArray;
  3046. procedure dispose() ;
  3047. Property id : string read Fid;
  3048. end;
  3049. TVSSourceControl = class external name 'SourceControl' (TJSObject)
  3050. Private
  3051. Fid : string; external name 'id';
  3052. Flabel : string; external name 'label';
  3053. FrootUri : TVSUri ;external name 'rootUri';
  3054. FinputBox : TVSSourceControlInputBox; external name 'inputBox';
  3055. Public
  3056. Property id : string read Fid;
  3057. Property label_ : string read Flabel;
  3058. Property rootUri : TVSUri read FrootUri;
  3059. Property inputBox : TVSSourceControlInputBox read FinputBox;
  3060. count: NativeInt;
  3061. quickDiffProvider: TVSQuickDiffProvider;
  3062. commitTemplate: string;
  3063. acceptInputCommand: TVSCommand;
  3064. statusBarCommands: TVSCommandDynArray;
  3065. function createResourceGroup(id: string; alabel: string) : TVSSourceControlResourceGroup;
  3066. procedure dispose() ;
  3067. end;
  3068. TVSNSscm = class external name 'Object' (TJSObject)
  3069. finputBox: TVSSourceControlInputBox; external name 'inputBox';
  3070. Public
  3071. property inputBox: TVSSourceControlInputBox read finputbox;
  3072. function createSourceControl(id: string; alabel: string) : TVSSourceControl; overload;
  3073. function createSourceControl(id: string; alabel: string; rootUri: TVSUri) : TVSSourceControl; overload;
  3074. end;
  3075. TVSDebugProtocolMessage = class external name 'DebugProtocolMessage' (TJSObject)
  3076. Public
  3077. // Properties: see details [here](https://microsoft.github.io/debug-adapter-protocol/specification#Base_Protocol_ProtocolMessage).
  3078. end;
  3079. TVSDebugProtocolSource = class external name 'DebugProtocolSource' (TJSObject)
  3080. Public
  3081. // Properties: see details [here](https://microsoft.github.io/debug-adapter-protocol/specification#Types_Source).
  3082. end;
  3083. TVSDebugProtocolBreakpoint = class external name 'DebugProtocolBreakpoint' (TJSObject)
  3084. Public
  3085. // Properties: see details [here](https://microsoft.github.io/debug-adapter-protocol/specification#Types_Breakpoint).
  3086. end;
  3087. TVSDebugConfiguration = class external name 'TVSDebugConfiguration' (TJSObject)
  3088. Public
  3089. type_: string; external name 'type';
  3090. name: string;
  3091. request: string;
  3092. end;
  3093. TVSDebugSession = class external name 'TVSDebugSession' (TJSObject)
  3094. Private
  3095. Fid : string; external name 'id';
  3096. Ftype : string; external name 'type';
  3097. FworkspaceFolder : TVSWorkspaceFolder ;external name 'workspaceFolder';
  3098. Fconfiguration : TVSDebugConfiguration; external name 'configuration';
  3099. Public
  3100. name: string;
  3101. function customRequest(command: string) : TVSThenable; // any overload;
  3102. function customRequest(command: string; args: JSValue) : TVSThenable; // any overload;
  3103. function getDebugProtocolBreakpoint(breakpoint: TVSBreakpoint) : TVSThenable; // DebugProtocolBreakpoint | undefined
  3104. Property id : string read Fid;
  3105. Property type_ : string read Ftype;
  3106. Property workspaceFolder : TVSWorkspaceFolder read FworkspaceFolder;
  3107. Property configuration : TVSDebugConfiguration read Fconfiguration;
  3108. end;
  3109. TVSDebugSessionCustomEvent = class external name 'DebugSessionCustomEvent' (TJSObject)
  3110. Private
  3111. Fsession : TVSDebugSession; external name 'session';
  3112. Fevent : string; external name 'event';
  3113. Fbody : JSValue; external name 'body';
  3114. Public
  3115. Property session : TVSDebugSession read Fsession;
  3116. Property event : string read Fevent;
  3117. Property body : JSValue read Fbody;
  3118. end;
  3119. TVSDebugConfigurationProvider = class external name 'DebugConfigurationProvider' (TJSObject)
  3120. Public
  3121. function provideDebugConfigurations() : JSValue; overload;
  3122. function provideDebugConfigurations(folder: TVSWorkspaceFolder) : JSValue overload;
  3123. function provideDebugConfigurations(folder: TVSWorkspaceFolder; token: TVSCancellationToken) : JSValue; overload;
  3124. function resolveDebugConfiguration(folder: TVSWorkspaceFolder; debugConfiguration: TVSDebugConfiguration) : JSValue; overload;
  3125. function resolveDebugConfiguration(folder: TVSWorkspaceFolder; debugConfiguration: TVSDebugConfiguration; token: TVSCancellationToken) : JSValue; overload;
  3126. function resolveDebugConfigurationWithSubstitutedVariables(folder: TVSWorkspaceFolder; debugConfiguration: TVSDebugConfiguration) : JSValue; overload;
  3127. function resolveDebugConfigurationWithSubstitutedVariables(folder: TVSWorkspaceFolder; debugConfiguration: TVSDebugConfiguration; token: TVSCancellationToken) : JSValue; overload;
  3128. end;
  3129. TVSDebugAdapterExecutable = class external name 'DebugAdapterExecutable' (TJSObject)
  3130. Private
  3131. Fcommand : string; external name 'command';
  3132. Fargs : TstringDynArray; external name 'args';
  3133. Foptions : TVSDebugAdapterExecutableOptions; external name 'options';
  3134. Public
  3135. constructor New(command: string); overload;
  3136. constructor New(command: string; args: tstringDynArray); overload;
  3137. constructor New(command: string; args: tstringDynArray; options: TVSDebugAdapterExecutableOptions); overload;
  3138. Property command : string read Fcommand;
  3139. Property args : TstringDynArray read Fargs;
  3140. Property options : TVSDebugAdapterExecutableOptions read Foptions;
  3141. end;
  3142. TVSDebugAdapterExecutableOptions = class external name 'DebugAdapterExecutableOptions' (TJSObject)
  3143. Public
  3144. env: TJSObject;
  3145. cwd: string;
  3146. end;
  3147. TVSDebugAdapterServer = class external name 'DebugAdapterServer' (TJSObject)
  3148. Private
  3149. Fport : NativeInt; external name 'port';
  3150. Fhost : string; external name 'host';
  3151. Public
  3152. Property port : NativeInt read Fport;
  3153. Property host : string read Fhost;
  3154. constructor New(aport: NativeInt); overload;
  3155. constructor New(aport: NativeInt; ahost: string); overload;
  3156. end;
  3157. TVSDebugAdapterNamedPipeServer = class external name 'DebugAdapterNamedPipeServer' (TJSObject)
  3158. Private
  3159. Fpath : string; external name 'path';
  3160. Public
  3161. Property path : string read Fpath;
  3162. constructor New(path: string);
  3163. end;
  3164. TVSDebugAdapter = class external name 'DebugAdapter' (TVSDisposable)
  3165. Public
  3166. function onDidSendMessage(aHandler : TVSDebugProtocolMessageHandler) : TVSDisposable; overload;
  3167. function onDidSendMessage(aHandler : TVSDebugProtocolMessageHandler; aThis : JSvalue): TVSDisposable; overload;
  3168. function onDidSendMessage(aHandler : TVSDebugProtocolMessageHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  3169. procedure handleMessage(message: TVSDebugProtocolMessage) ;
  3170. end;
  3171. TVSDebugAdapterInlineImplementation = class external name 'DebugAdapterInlineImplementation' (TJSObject)
  3172. Public
  3173. constructor New(aimplementation: TVSDebugAdapter);
  3174. end;
  3175. // export type DebugAdapterDescriptor = DebugAdapterExecutable | DebugAdapterServer | DebugAdapterNamedPipeServer | DebugAdapterInlineImplementation;
  3176. TVSDebugAdapterDescriptor = TJSObject;
  3177. TVSDebugAdapterDescriptorFactory = class external name 'DebugAdapterDescriptorFactory' (TJSObject)
  3178. Public
  3179. function createDebugAdapterDescriptor(session: TVSDebugSession; executable: TVSDebugAdapterExecutable) : JSValue;
  3180. end;
  3181. TVSDebugAdapterTracker = class external name 'DebugAdapterTracker' (TJSObject)
  3182. Public
  3183. procedure onWillStartSession() ;
  3184. procedure onWillReceiveMessage(message: JSValue) ;
  3185. procedure onDidSendMessage(message: JSValue) ;
  3186. procedure onWillStopSession() ;
  3187. procedure onError(error: TJSError) ;
  3188. procedure onExit(code: NativeInt; signal: string) ;
  3189. procedure onExit(code: NativeInt) ;
  3190. end;
  3191. TVSDebugAdapterTrackerFactory = class external name 'DebugAdapterTrackerFactory' (TJSObject)
  3192. Public
  3193. function createDebugAdapterTracker(session: TVSDebugSession) : JSValue;
  3194. end;
  3195. TVSDebugConsole = class external name 'DebugConsole' (TJSObject)
  3196. Public
  3197. procedure append(value: string) ;
  3198. procedure appendLine(value: string) ;
  3199. end;
  3200. TVSBreakpointsChangeEvent = class external name 'BreakpointsChangeEvent' (TJSObject)
  3201. Private
  3202. Fadded : TVSBreakpointDynArray; external name 'added';
  3203. Fremoved : TVSBreakpointDynArray; external name 'removed';
  3204. Fchanged : TVSBreakpointDynArray; external name 'changed';
  3205. Public
  3206. Property added : TVSBreakpointDynArray read Fadded;
  3207. Property removed : TVSBreakpointDynArray read Fremoved;
  3208. Property changed : TVSBreakpointDynArray read Fchanged;
  3209. end;
  3210. TVSBreakpoint = class external name 'Breakpoint' (TJSObject)
  3211. Private
  3212. Fid : string; external name 'id';
  3213. Fenabled : boolean; external name 'enabled';
  3214. Fcondition : string; external name 'condition';
  3215. FhitCondition : string; external name 'hitCondition';
  3216. FlogMessage : string; external name 'logMessage';
  3217. Public
  3218. Property id : string read Fid;
  3219. Property enabled : boolean read Fenabled;
  3220. Property condition : string read Fcondition;
  3221. Property hitCondition : string read FhitCondition;
  3222. Property logMessage : string read FlogMessage;
  3223. protected constructor New(); overload;
  3224. protected constructor New(enabled: boolean); overload;
  3225. protected constructor New(enabled: boolean; condition: string); overload;
  3226. protected constructor New(enabled: boolean; condition: string; hitCondition: string); overload;
  3227. protected constructor New(enabled: boolean; condition: string; hitCondition: string; logMessage: string); overload;
  3228. end;
  3229. TVSSourceBreakpoint = class external name 'SourceBreakpoint' (TVSBreakpoint)
  3230. Private
  3231. Flocation : TVSLocation; external name 'location';
  3232. Public
  3233. Property location : TVSLocation read Flocation;
  3234. constructor New(location: TVSLocation); overload;
  3235. constructor New(location: TVSLocation; enabled: boolean); overload;
  3236. constructor New(location: TVSLocation; enabled: boolean; condition: string); overload;
  3237. constructor New(location: TVSLocation; enabled: boolean; condition: string; hitCondition: string); overload;
  3238. constructor New(location: TVSLocation; enabled: boolean; condition: string; hitCondition: string; logMessage: string); overload;
  3239. end;
  3240. TVSFunctionBreakpoint = class external name 'FunctionBreakpoint' (TVSBreakpoint)
  3241. Private
  3242. FfunctionName : string; external name 'functionName';
  3243. Public
  3244. Property functionName : string read FfunctionName;
  3245. constructor New(functionName: string); overload;
  3246. constructor New(functionName: string; enabled: boolean); overload;
  3247. constructor New(functionName: string; enabled: boolean; condition: string); overload;
  3248. constructor New(functionName: string; enabled: boolean; condition: string; hitCondition: string); overload;
  3249. constructor New(functionName: string; enabled: boolean; condition: string; hitCondition: string; logMessage: string); overload;
  3250. end;
  3251. TVSNSextensions = class external name 'Object' (TJSObject)
  3252. Private
  3253. fall: TVSExtensionDynArray; external name 'all';
  3254. Public
  3255. function getExtension(extensionId: string) : TVSExtension ;
  3256. function onDidChange(aHandler : TVSvoidHandler) : TVSDisposable; overload;
  3257. function onDidChange(aHandler : TVSvoidHandler; aThis : JSvalue): TVSDisposable; overload;
  3258. function onDidChange(aHandler : TVSvoidHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  3259. property all: TVSExtensionDynArray read FAll;
  3260. end;
  3261. TVSCommentThread = class external name 'CommentThread' (TJSObject)
  3262. Private
  3263. Furi : TVSUri; external name 'uri';
  3264. Public
  3265. Property uri : TVSUri read Furi;
  3266. range: TVSRange;
  3267. comments: TVSCommentDynArray;
  3268. collapsibleState: TVSCommentThreadCollapsibleState;
  3269. canReply: boolean;
  3270. contextValue: string;
  3271. label_: string; external name 'label';
  3272. procedure dispose() ;
  3273. end;
  3274. TVSCommentAuthorInformation = class external name 'CommentAuthorInformation' (TJSObject)
  3275. Public
  3276. name: string;
  3277. iconPath: TVSUri;
  3278. end;
  3279. TVSCommentReaction = class external name 'CommentReaction' (TJSObject)
  3280. Private
  3281. Flabel : string; external name 'label';
  3282. FiconPath : string; external name 'iconPath';
  3283. FiconPathObj: TVSUri; external name 'iconPath';
  3284. Fcount : NativeInt; external name 'count';
  3285. FauthorHasReacted : boolean; external name 'authorHasReacted';
  3286. Public
  3287. Property label_ : string read Flabel;
  3288. Property iconPath : string read FiconPath;
  3289. Property iconPathObj : TVSUri read FiconPathObj;
  3290. Property count : NativeInt read Fcount;
  3291. Property authorHasReacted : boolean read FauthorHasReacted;
  3292. end;
  3293. TVSComment = class external name 'Comment' (TJSObject)
  3294. Public
  3295. body: string;
  3296. bodyObj : TVSMarkdownString; external name 'body';
  3297. mode: TVSCommentMode;
  3298. author: TVSCommentAuthorInformation;
  3299. contextValue: string;
  3300. reactions: TVSCommentReactionDynArray;
  3301. label_: string; external name 'label';
  3302. end;
  3303. TVSCommentReply = class external name 'CommentReply' (TJSObject)
  3304. Public
  3305. thread: TVSCommentThread;
  3306. text: string;
  3307. end;
  3308. TVSCommentingRangeProvider = class external name 'CommentingRangeProvider' (TJSObject)
  3309. Public
  3310. function provideCommentingRanges(document: TVSTextDocument; token: TVSCancellationToken) : JSValue;
  3311. end;
  3312. TVSCommentOptions = class external name 'CommentOptions' (TJSObject)
  3313. Public
  3314. prompt: string;
  3315. placeHolder: string;
  3316. end;
  3317. TVSCommentReactionHandler = reference to function (comment: TVSComment; reaction: TVSCommentReaction) : TJSPromise;
  3318. TVSCommentController = class external name 'CommentController' (TJSObject)
  3319. Private
  3320. Fid : string; external name 'id';
  3321. Flabel : string; external name 'label';
  3322. Public
  3323. options: TVSCommentOptions;
  3324. commentingRangeProvider: TVSCommentingRangeProvider;
  3325. reactionHandler: TVSCommentReactionHandler;
  3326. function createCommentThread(uri: TVSUri; range: TVSRange; comments: TVSCommentDynArray) : TVSCommentThread;
  3327. procedure dispose() ;
  3328. Property id : string read Fid;
  3329. Property label_ : string read Flabel;
  3330. end;
  3331. TVSNScomments = class external name 'Object' (TJSObject)
  3332. Public
  3333. function createCommentController(id: string; alabel: string) : TVSCommentController;
  3334. end;
  3335. TVSAuthenticationSession = class external name 'AuthenticationSession' (TJSObject)
  3336. Private
  3337. Fid : string; external name 'id';
  3338. FaccessToken : string; external name 'accessToken';
  3339. Faccount : TVSAuthenticationSessionAccountInformation; external name 'account';
  3340. Fscopes : TStringDynArray; external name 'scopes';
  3341. Public
  3342. Property id : string read Fid;
  3343. Property accessToken : string read FaccessToken;
  3344. Property account : TVSAuthenticationSessionAccountInformation read Faccount;
  3345. Property scopes : TStringDynArray read Fscopes;
  3346. end;
  3347. TVSAuthenticationSessionAccountInformation = class external name 'AuthenticationSessionAccountInformation' (TJSObject)
  3348. Private
  3349. Fid : string; external name 'id';
  3350. Flabel : string; external name 'label';
  3351. Public
  3352. Property id : string read Fid;
  3353. Property label_ : string read Flabel;
  3354. end;
  3355. TVSAuthenticationGetSessionOptions = class external name 'AuthenticationGetSessionOptions' (TJSObject)
  3356. Public
  3357. createIfNone: boolean;
  3358. clearSessionPreference: boolean;
  3359. end;
  3360. TVSAuthenticationProviderInformation = class external name 'AuthenticationProviderInformation' (TJSObject)
  3361. Private
  3362. Fid : string; external name 'id';
  3363. Flabel : string; external name 'label';
  3364. Public
  3365. Property id : string read Fid;
  3366. Property label_ : string read Flabel;
  3367. end;
  3368. TVSAuthenticationSessionsChangeEvent = class external name 'AuthenticationSessionsChangeEvent' (TJSObject)
  3369. private
  3370. Fprovider : TVSAuthenticationProviderInformation; external name 'provider';
  3371. Public
  3372. Property provider : TVSAuthenticationProviderInformation read Fprovider;
  3373. end;
  3374. TVSNSauthentication = class external name 'Object' (TJSObject)
  3375. Public
  3376. function getSession(providerId: string; scopes: tstringDynArray; options: TVSAuthenticationGetSessionOptions): TVSThenable; // AuthenticationSession
  3377. function getSession(providerId: string; scopes: tstringDynArray) : TVSThenable; // AuthenticationSession overload;
  3378. function onDidChangeSessions(aHandler : TVSAuthenticationSessionsChangeEventHandler) : TVSDisposable; overload;
  3379. function onDidChangeSessions(aHandler : TVSAuthenticationSessionsChangeEventHandler; aThis : JSvalue): TVSDisposable; overload;
  3380. function onDidChangeSessions(aHandler : TVSAuthenticationSessionsChangeEventHandler; aThis : JSvalue; aDisposables : TVSDisposableArray): TVSDisposable; overload;
  3381. end;
  3382. TVSCode = Class external name 'Object' (TJSObject)
  3383. Private
  3384. FVersion : string; external name 'version';
  3385. Ftasks : TVSNStasks; external name 'tasks';
  3386. Fenv : TVSNSenv; external name 'env';
  3387. Fcommands : TVSNScommands; external name 'commands';
  3388. Fwindow : TVSNSwindow; external name 'window';
  3389. Fworkspace : TVSNSworkspace; external name 'workspace';
  3390. Flanguages : TVSNSlanguages; external name 'languages';
  3391. Fscm : TVSNSscm; external name 'scm';
  3392. Fextensions : TVSNSextensions; external name 'extensions';
  3393. Fcomments : TVSNSComments; external name 'comments';
  3394. Fauthentication : TVSNSauthentication; external name 'authentication';
  3395. Public
  3396. Property version : string Read FVersion;
  3397. property tasks : TVSNStasks read Ftasks;
  3398. property env : TVSNSenv read Fenv;
  3399. property commands : TVSNScommands read Fcommands;
  3400. property window : TVSNSwindow read Fwindow;
  3401. property workspace : TVSNSworkspace read Fworkspace;
  3402. property languages : TVSNSlanguages read Flanguages;
  3403. property scm : TVSNSscm read Fscm;
  3404. property extensions : TVSNSextensions read Fextensions;
  3405. property comments : TVSNSComments read fcomments;
  3406. property authentication : TVSNSauthentication read Fauthentication;
  3407. end;
  3408. Var
  3409. vscode : TVSCode; external name 'vscode';
  3410. implementation
  3411. end.